diff options
Diffstat (limited to 'konsole/doc/VT100')
-rw-r--r-- | konsole/doc/VT100/Makefile.am | 3 | ||||
-rw-r--r-- | konsole/doc/VT100/MoreText | 98 | ||||
-rw-r--r-- | konsole/doc/VT100/Table.Codes | 1879 | ||||
-rw-r--r-- | konsole/doc/VT100/Table.Graphic | 32 | ||||
-rw-r--r-- | konsole/doc/VT100/Table.VT52 | 40 | ||||
-rw-r--r-- | konsole/doc/VT100/awk.table.graphic | 30 | ||||
-rw-r--r-- | konsole/doc/VT100/cmds.pro | 61 | ||||
-rw-r--r-- | konsole/doc/VT100/db.trans | 190 | ||||
-rwxr-xr-x | konsole/doc/VT100/db2.pl | 49 | ||||
-rwxr-xr-x | konsole/doc/VT100/genDocument | 257 | ||||
-rwxr-xr-x | konsole/doc/VT100/genPl.pl | 300 | ||||
-rwxr-xr-x | konsole/doc/VT100/genTC.pl | 434 | ||||
-rw-r--r-- | konsole/doc/VT100/konsole1.gif | bin | 0 -> 1582 bytes | |||
-rw-r--r-- | konsole/doc/VT100/konsole2.gif | bin | 0 -> 1813 bytes | |||
-rwxr-xr-x | konsole/doc/VT100/t.pl | 17 | ||||
-rw-r--r-- | konsole/doc/VT100/techref.html | 4681 | ||||
-rw-r--r-- | konsole/doc/VT100/vt100.gif | 401 |
17 files changed, 8472 insertions, 0 deletions
diff --git a/konsole/doc/VT100/Makefile.am b/konsole/doc/VT100/Makefile.am new file mode 100644 index 000000000..04367ed5e --- /dev/null +++ b/konsole/doc/VT100/Makefile.am @@ -0,0 +1,3 @@ +EXTRA_DIST = Table.Codes Table.Graphic Table.VT52 \ + awk.table.graphic db.trans db2.pl genTC.pl t.pl \ + vt100.gif konsole1.gif konsole2.gif techref.html diff --git a/konsole/doc/VT100/MoreText b/konsole/doc/VT100/MoreText new file mode 100644 index 000000000..e8804236f --- /dev/null +++ b/konsole/doc/VT100/MoreText @@ -0,0 +1,98 @@ +The refinement discussed here so far, is implemented in the +overall structure of the program: + + + Operations -------------X + Screen(s) + Protocol / | + Shell X------------X Emulation | + \ V + Widget + Events X------------------ + + +Part Application Protocol Data model Visualization + User Events + +Files TEShell.C TEmulation.C Screen.C TEWidget.C + TEVt102.C + +Types TEShell Emulation TEScreen TEWidget + + + +The abstract data type, in which the text is represented and +manipulated by a set of operations is + + +------------------------------------------------------------------ + +On the first glance, the terminal consists of the following +parts: + +- A screen to display characters to the user on a rectangular area. +- A keyboard to accept the user keypresses. +- A bidirectional serial connection, on which the application + sends the text to be displayed to the terminal and on which + the user's key pressed are forwarded to the application. +- The application that actually run on the terminal. + +More formally our terminal model consists of +- a character screen : a matrix [Lines,Columns] -> Character +- a current visual pointer position (cursor). +- a set of operations by which the screen can be manipulated +- a set of events (mainly keystrokes) +- two streams on which bytes are exchanged between the + application and the terminal which are used to communicate + the operations and events between the two end points. +- an initial state. + + 0 (columns) V--- Columns-1 + +-----------------------+ + | | 0 + | text on | + | the screen | + | | (lines) + | | + | | + | | Lines-1 + +-----------------------+ + + +For adressing purpose, we call the (columnNo,lineNo) pair a "position" + +- protocol == collection of operations and their encoding. + +Beschreibung + +- Strom von Kommandos und Anfragen +- Strom von Ereignissen und Antworten + +- HostToTerminalStream + : Sequence(Command U Request) + +- Type Command-Tokens + : Prn(Char) - literal(Character) - 1 char subset + : Ctl(Char) - 0-parm command + : Esc(Char) - 0-parm command + : Csi(Char,Args) - fix & flex num parm command + - some are sub-commands + : Pri(Char,Args) <: Csi("?",Char,Args) - fix & flex num parm command + - some are sub-commands + : Hsh(Char) - 0-parm command + : Scs(A,B) - 2-parm num command + : Vt5(A,B) - 2-parm num command + +- command definition + + : name(parm:Type<:Integer) + + : setFgColor(color) + : setBgColor(color) + : setReverse(bool) + : setBold(bool) + : setBlink(bool) + +------------------------------------------------------------------ + + diff --git a/konsole/doc/VT100/Table.Codes b/konsole/doc/VT100/Table.Codes new file mode 100644 index 000000000..6ece0f4bf --- /dev/null +++ b/konsole/doc/VT100/Table.Codes @@ -0,0 +1,1879 @@ +############################################################################## +# # +# [Table.Codes] Concept Data Base # +# # +# Copyright (c) 1998 by Lars Doelle <lars.doelle@on-line.de> # +# This file is part of Konsole # +############################################################################## + +# This is work in progress. The overall goal is to link the documentation of +# konsole closely to it's source. Further, the source could be organize such +# that the emulation dependent parts are separated from everything else. +# If this goal is matched, the emulation independent parts have to undergo +# documentation, also. +# +# Refere to [db.trans] for not-yet-integrated stuff. +# +# What has to be done in any case is to merge db.trans into this file and to +# make a script that extracts it again. From db.trans, we then generate parts +# of the decoder (the semantic assignment). +# +# db2.pl contains as script able to slit TEScreen.C into the emulation +# (in)dependent parts due to [db.trans]. +# +# A like thing has to be done for TEmuVt102.C/h and for TEScreen.h. +# +# The missing link in the moment is a proper handling of all the Ps arguments +# that refere to different routines (subfunction of an esc code). + +## Section Text ############## + +Introduction.html + <h2>Introduction</h2> + <p> + In a traditional UNIX installation a single machine (host) served + several users by means of terminals attached to this host by a serial + cable. These terminals (end points) where specialized devices, either + regular ttys (printer with keyboard) or later more sophisticated + things with cathode ray tubes. + <p> + <center><img src="konsole2.gif"></center> + <p> + Today, hardware has become so cheap, that each single user could + be provided with a complete host/display combination for the former + price of a terminal. + <p> + Additional, and here we come to the X in the emulation, display + devices have become graphical while the original terminal where + only able to show characters but not graphics. + <p> + To allow programs designed for the original configuration to be + used in the contemporary setup, "terminal emulations" where invented. + In these emulations, the whole original setup is simulated. + <p> + The serial cable is folded into the operating system as a sort of + loop back device, and a program, the terminal emulation, uses modern + means of graphical user interfaces to behave like an earlier terminal. + To complete the picture, the host in the diagram is replaced by the + application that runs in the emulation (typically a shell or an old + editor). So, terminal emulations are in fact interfaces to character + oriented applications. + <p> + This document describes the implementations of a program named + "konsole", which is such an X terminal emulation. Since konsole + is distributed under the GPL, meaning that it's source code is + available to whoever likes to hack on it, the program would be + incomplete without a proper introduction into the code and it's + concepts. Thus, this text is to complement the program and the + source with the remaining informations to make a complete product. + <p> + <h2>A first refinement</h2> + <p> + Before we can come to the actual implementation, quite some + notions have to be introduced. We have to get us an idea what + a terminal emulation does in more detail. + <p> + To this end, a simple model of the terminal and it's operation + is given, which is later extended and refined as we come deeper + into matter and implementation. + <p> + At some level conception, a terminal can be described as a + (abstract) data model. This means it has some type of state + together with operations on that data type. These operations + are somehow encoded to be passed over the serial line. + <p> + The concrete model is often loosely named the "emulation", + the specific encoding chosen, the "protocol". + <p> + There are two principle models in use. The first, stream like + one, which is related to a tty, consideres the terminal as an + indefinit long and wide sheet of paper on which a printer head + types the characters that come in over the line. Typical examples + are shell scripts, make and other programs producing sequential + protocols of their activity. Their basic data type is a list of + list of characters. + <p> + The second principle model is used by applications written + especially for crt devices, so called full screen applications. + These treat the terminal as a matrix of characters where each + position can be individually addressed and written to. Typical + representatives are full screen editors like vi and emacs, + file managers like mc and mail readers like mutt. + <p> + Though the second model is newer, it's age does not imply a + preference. To the contrary, both models have a right for their + own and are both to be supported. The first model is fully + expressed within konsole in form of it's ref:history buffer. + <p> + Note, that although the second model definitely build on the + first one in almost any respect, it cannot fully express it, + since it introduces a finite line length, while the first + model works with indefinite lines. + <p> + Since application with both view of things are typically run + within the same session, some effort has been made within + konsole to maintain both ideas simultaniously, but only with + limited success so far. + <p> + In both models, the notion of a current position (historically + a printer's head, nowadays visualized by a cursor) is present. + "Printing" a character at the current position and advancing + the head together with the starting a new line are the most + fundamental operations of the emulation. + <p> + The full screen model basically adds the possibility to position + the cursor and to overwrite and clear the screen. + <p> + A plethora of additional (more or less useful) commands are + then added on this by every specific emulation, see below for + the awful details. + <p> + <!-- BEGIN: new section about the codes --> + <h2>Parts of the model</h2> + <p> + <it>All the following in this section is an outline</it>. + <p> + Parts of the terminal description + <ul> + <li>State + <br>This is mainly the screen, the cursor (including it's graphical state) + and some hidden mode variables. Note that the state cannot be investigated + by the attached host. + <li>Interface + <br>That's what goes over the wire. Beside being related to objects, this + appears so closely related to contemporal process communication, that + it might be discussed in likely terms. + <br>We have information flowing in both directions. On could destinguist + between: + <li>Commands + <br>These are "calls" of the terminals interface by the host which cause + some change of the terminals state, but do not end in a response. + <li>Requests + <br>These are "calls" of the terminals interface by the host which do not cause + any change of the terminals state, but end in a response of the terminal. + Clearly, requests are somehow used to investigate the state of the terminal. + <li>Events + <br>These are signals from the terminal caused by the user affecting the + mouse or keyboard to the host. + <li>Replys + <br>These are send by the terminal as a result of a Request from the hosts. + <li>Encoding/Decoding + </ul> + +Sequences.html + Conceptually, the commands to the terminal emulation are encoded if form + of byte sequences to meet the restrictions of the transport media. These + sequences have pretty different originations and therefore the format of + the sequences are inhomogenous. + <p> + Refering both to their origin and form, one can group the overall encoding + schemes as follows: + <p> + <table> + <tr><td width=20% bgcolor=#d0d0d0>Name</td><td width=20% bgcolor=#d0d0d0>Pattern</td><td bgcolor=#d0d0d0>Scope</td><td bgcolor=#d0d0d0>Comment</td></tr> + <tr><td>Printable Ascii Characters</td><td>32..126</td><td>ASCII ECMA</td> + <td>This is the most original pattern of all. The characters to be + displayed are passed over the chanel and are interpreted by the + terminal (emulation) as instructions to display the corresponding + glyph of the ascii character set. Contempory emulations include the + upper half (128..255) of the extentions to the national ascii character + sets, also.</td></tr> + <tr><td>Ascii Control Characters</td><td>0..26,28..31,127</td><td>ASCII ECMA</td> + <td>Ascii defines some non-printable, but format effecting characters, too. + Depending on the emulation, at least some of them are given a meaning. + The typically implemented ones are those that are handled by a teletype + like device.</td></tr> + <tr><td>Simple Escape Sequence</td><td><b>ESC</b> <i>C</i></td><td>ECMA</td> + <td>These sequences are made up from an <b>ESC</b> character followed by + exactly one other character in the range ???..???.</td></tr> + <tr><td>CSI Sequence</td> + <td><b>ESC</b> <b>[</b> <i>Parameters</i> {<i>I</i>} <i>C</i></td> + <td>ECMA</td> + <td></td></tr> + <tr><td colspan=4> + <p> + The remaining codes are nonstandard but traditionalized hacks. + <p> + </td></tr> + <tr><td>DEC hacks</td> + <td><b>ESC</b> <i>C</i> <i>D</i></td> + <td>VT100</td> + <td></td></tr> + <tr><td>XTERM hacks</td> + <td><b>ESC ]</b> <i>Pn</i> <b>;</b> <i>text</i> <b>BEL</b></td> + <td>XTERM</td> + <td></td> + <tr><td colspan=4> + <p> + VT52 uses a different (incompatible) set of escape codes. VT100 includes + the VT52 emulation as a mode. + <p> + </td></tr> + </tr> + <tr><td>Simple Escape Sequence</td><td><b>ESC</b> <i>C</i></td><td>VT52</td> + <td></td></tr> + <tr><td>Complex Escape Sequence</td><td><b>ESC</b> <b>Y</b> <i>X</i> <i>Y</i></td><td>VT52</td> + <td></td></tr> + . + </table> + . + <h3>More on Control Sequences</h3> + . + <h4>Control Characters</h4> + . + Control characters (codes 0x00 - 0x1f inclusive) are specifically excluded + from the control sequence syntax, but may be embedded within a control + sequence. Embedded control characters are executed as soon as they are + encountered by a VT100. The processing of the control sequence then + continues with the next character received. The exceptions are: + if the <a href=#ESC>ESC</a> character occurs, the current control sequence + is aborted, and a new one commences beginning with the <a href=#ESC>ESC</a> + just received. If the character <a href=#CAN>CAN</a> (0x0c) or the + character <a href=#SUB>SUB</a> (0x0e) occurs, + the current control sequence is aborted. The ability to embed control + characters allows the synchronization characters XON and XOFF to be + interpreted properly without affecting the control sequence. + <p> + . + <h4>CSI Sequences</h4> + . + <dl> + <dt>Control Sequence Introducer (CSI): + <dd>An escape sequence that provides + supplementary controls and is itself a prefix affecting the + interpretation of a limited number of contiguous characters. + In the VT100, the CSI is: <ESC>[ + . + <dt>Parameter: + <dd>1. A string of zero or more decimal characters which + represent a single value. Leading zeros are ignored. The + decimal characters have a range of 0 (060) to 9 (071). + <br>2. The value so represented. + . + <dt>Numeric Parameter: + <dd>A parameter that represents a number, designated by Pn. + . + <dt>Selective Parameter: + <dd>A parameter that selects a subfunction from a + specified set of subfunctions, designated by Ps. In general, a + control sequence with more than one selective parameter causes + the same effect as several control sequences, each with one + selective parameter, e.g., CSI Psa; Psb; Psc F is identical to + CSI Psa F CSI Psb F CSI Psc F. + . + <dt>Parameter String: + <dd>A string of parameters separated by a semicolon. + . + <dt>Default: + <dd> A function-dependent value that is assumed when no explicit + value, or a value of 0, is specified. + . + <dt>Final character: + <dd>A character whose bit combination terminates an escape or control sequence. + </dl> + . + <em>EXAMPLE</em>: Control sequence to turn off all character attributes, then + turn on underscore and blink attributes (<a href=#SGR>SGR</a>). + . + <center><img src="konsole1.gif"></center> + <p> + The octal representation of this string is: + <pre> + 033 0133 060 073 064 073 065 0155 + <ESC> [ 0 ; 4 ; 5 m + </pre> + . + Alternate sequences which will accomplish the same thing: + . + <ul> + <li><code><ESC>[;4;m </code> + <li><code><ESC>[m </code> + <br><code><ESC>[4m </code> + <br><code><ESC>[5m </code> + <li><code><ESC>[0;04;005m</code> + </ul> + . + <h4>DEC hacks</h4> + . + These form two groups of commands. + <p> + In one first the first character is a hash (<em>#</em>) and the following a digit. + This command group is used to denote VT100 specific instructions and can + safely be sonsidered to be obsolete. See + <a href=#DECALN>DECALN</a>, + <a href=#DECDHLB>DECDHLB</a>, + <a href=#DECDHLT>DECDHLT</a>, + <a href=#DECDWL>DECDWL</a> and + <a href=#DECSWL>DECSWL</a>. + <p> + The second one is used to specify character set mappings (see <a + href=#SCS>SCS</a>). A CSI instruction to do this is specified in ECMA, + and this should be used as a replacement. + . + <h4>XTERM hacks</h4> + +ConceptDB.html + <i>The following text is a collection of several sorts of definitions and + explainations. It is incomplete in many respects and a working draft. + </i> + . + <p> + All of the following control sequences are transmitted from the Host to + VT100 unless otherwise noted. All of the control sequences are a subset of + those defined in ANSI X 3.64 1977 and ANSI X 3.41 1974. + <p> + The following text conforms to these formatting conventions: + <ul> + <li>Individual character literals are set in bold face. Ascii representation + is used throughout, so <b>ESC</b> means the binary value of 27 and + <b>[</b> a value of 91. + . + <li>Parameters are indicated by italic type faces. + <li>Parameter types usually are indicated as one of: + <table> + <tr><td><i>Pn </i></td><td>A string of digits representing a numerical value.</td></tr> + <tr><td><i>Ps </i></td><td>A character that selects an item from a list.</td></tr> + <tr><td><i>a-z</i></td><td>Any lowercase sequence of one or more + characters represent a value to be + entered (as in <i>Pn</i>), and the name in the + will be referred to in explanatory text.</td></tr> + </table> + . + <li>Spaces are used only to improve readability, they do not occure in the + control sequences unless otherwise indicated. + . + </ul> + . + <p> + The following attributes below have the following meaning: + <ul> + <li>VT100 - This code is known to VT100. + <li>ANSI - This code is defined by ANSI. + <li>DEC - This code is DEC private. + <li>Command - Sent from host to the terminal. <b>FIXME:</b>add Inquiery. + <li>Reply - Sent from terminal to the host (as response to an Inquiery). + <li>Event - Sent from terminal to the host (caused by a user activity). + <li>Mode - The entry is a mode. + </ul> + +Operations.html + <p> + <ul> + <li>Host to Terminal (Commands,Requests) + <ul> + <li>Commands + <ul> + <li>Character Display Operation + <li>Rendition related status + <li>Cursor + <li>Cursor related status + <li>Edit + <li>Miscellaneous + <li>General mode setting + <li>Miscellaneous status + <li>VT52 + <li>Not implemented + <li>Ignored + </ul> + <li>Requests + </ul> + <li>Terminal to Host (Replies, Events) + <ul> + <li>Replies + <li>Events + </ul> + <li>Modes + <ul> + <li>Modes + </ul> + </ul> + +## Keyboard ################################################################# + +KEYBOARD.head Keyboard Events +KEYBOARD.emus KONSOLE +KEYBOARD.sect Event +KEYBOARD.text + FIXME. explain +KEYBOARD.table.Codes + Key|Code:4 + AltButton|"\033" + Return|MODE_NewLine ? "\r\n" : "\r" + Backspace|MODE_BsHack ? "\x7f" : "\x08" + Delete|MODE_BsHack ? "\033[3~" : "\x7f" + Up|!MODE_Ansi ?"\033A" : MODE_AppCuKeys ?"\033OA" : "\033[A" + Down|!MODE_Ansi ?"\033B" : MODE_AppCuKeys ?"\033OB" : "\033[B" + Right|!MODE_Ansi ?"\033C" : MODE_AppCuKeys ?"\033OC" : "\033[C" + Left|!MODE_Ansi ?"\033D" : MODE_AppCuKeys ?"\033OD" : "\033[D" + F1|Xterm? "\033[11~": "\033[[A" + F2|Xterm? "\033[12~": "\033[[B" + F3|Xterm? "\033[13~": "\033[[C" + F4|Xterm? "\033[14~": "\033[[D" + F5|Xterm? "\033[15~": "\033[[E" + F6|"\033[17~" + F7|"\033[18~" + F8|"\033[19~" + F9|"\033[20~" + F10|"\033[21~" + F11|"\033[23~" + F12|"\033[24~" + Home|"\033[7~" + End|"\033[8~" + Prior|"\033[5~" + Next|"\033[6~" + Insert|"\033[2~" + Control_Space|"\x00" + Control_Print|reportAnswerBack() + Ascii|Character + +MOUSE.head Mouse Events +MOUSE.emus KONSOLE +MOUSE.sect Event +MOUSE.text + FIXME. explain + +CHA.head Cursor Horizontal Absolute +CHA.emus ECMA KONSOLE +CHA.sect Command.Cursor +CHA.code CSI|G|{Pn} +CHA.text + FIXME. explain +CHA.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|xterm|scr|setCursorX|p|see above + +DCH.head Delete Character +DCH.emus ECMA KONSOLE +DCH.sect Command.Delete +DCH.code CSI|P|{Pn} +DCH.text + FIXME. explain +DCH.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|xterm|scr|deleteChars|p|see above + +DECRST.head DEC Private Reset Mode +DECRST.emus VT100 KONSOLE +DECRST.sect Command.SetMode +DECRST.code PRI|l|{Ps;...} +DECRST.text + FIXME. explain +DECRST.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + 1|VT100|emu|resetMode|MODE_AppCuKeys|Meaning + 2|VT100|emu|resetMode|MODE_Ansi|Meaning + 3|VT100|emu|setColumns|80|Meaning + 4|VT100|emu|Ignored||Meaning + 5|VT100|scr|resetMode|MODE_Screen|Meaning + 6|VT100|scr|resetMode|MODE_Origin|Meaning + 7|VT100|scr|resetMode|MODE_Wrap|Meaning + 8|VT100|emu|Ignored||Meaning + 9|VT100|emu|Ignored||Meaning + 25|VT100|emu|resetMode|MODE_Cursor|Meaning + 47|xterm|emu|resetMode|MODE_AppScreen|Meaning + 1000|xterm|emu|resetMode|MODE_Mouse1000|Meaning + 1001|xterm|emu|Ignored||Meaning + 1047|xterm|emu|resetMode|MODE_AppScreen|Meaning + 1048|xterm|scr|restoreCursor||Meaning + +DECSET.head DEC Private Set Mode +DECSET.emus VT100 KONSOLE +DECSET.sect Command.SetMode +DECSET.code PRI|h|{Ps;...} +DECSET.text + FIXME. explain +DECSET.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + 1|VT100|emu|setMode|MODE_AppCuKeys|Meaning + 3|VT100|emu|setColumns|132|Meaning + 4|VT100|emu|Ignored||Meaning + 5|VT100|scr|setMode|MODE_Screen|Meaning + 6|VT100|scr|setMode|MODE_Origin|Meaning + 7|VT100|scr|setMode|MODE_Wrap|Meaning + 8|VT100|emu|Ignored||Meaning + 9|VT100|emu|Ignored||Meaning + 25|VT100|emu|setMode|MODE_Cursor|Meaning + 47|xterm|emu|setMode|MODE_AppScreen|Meaning + 1000|xterm|emu|setMode|MODE_Mouse1000|Meaning + 1001|xterm|emu|Ignored||Meaning + 1047|xterm|emu|setMode|MODE_AppScreen|Meaning + 1048|xterm|scr|saveCursor||Meaning + +DL.head Delete Line +DL.emus ECMA KONSOLE +DL.sect Command.Delete +DL.code CSI|M|{Pn} +DL.text + FIXME. explain +DL.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|konsole|scr|deleteLines|p|see above + +ECH.head Erase Character +ECH.emus ECMA KONSOLE +ECH.sect Command.Erase +ECH.code CSI|X|{Pn} +ECH.text + FIXME. explain +ECH.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|konsole|scr|eraseChars|p|see above + +ICH.head Insert Character +ICH.emus ECMA KONSOLE +ICH.sect Command.Insert +ICH.code CSI|@|{Pn} +ICH.text + FIXME. explain +ICH.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|konsole|scr|insertChars|p|see above + +IL.head Insert Line +IL.emus KONSOLE +IL.sect Command.Insert +IL.code CSI|L|{Pn} +IL.text + FIXME. explain +IL.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|xterm|scr|insertLines|p|see above + +LS2.head Lock Shift Two +LS2.emus KONSOLE +LS2.sect Command.RenderMode +LS2.code ESC|n| +LS2.text + FIXME. explain +LS2.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|xterm|scr|useCharset|2|see above + +LS3.head Lock Shift Three +LS3.emus KONSOLE +LS3.sect Command.RenderMode +LS3.code ESC|o| +LS3.text + FIXME. explain +LS3.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|xterm|scr|useCharset|3|see above + +MC.head Media Copy +MC.emus ECMA VT100 +MC.sect Command.NoImp +MC.code CSI|i|{Pn} +MC.text + FIXME. explain +MC.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + 0|VT100|emu|Ignored||Meaning + +VPA.head Vertical Position Absolute +VPA.emus ECMA KONSOLE +VPA.sect Command.Cursor +VPA.code CSI|d|{Pn} +VPA.text + FIXME. explain +VPA.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|xterm|scr|setCursorY|p|see above + +XTERESTORE.head XTerm Private Restore Mode +XTERESTORE.emus XTERM KONSOLE +XTERESTORE.sect Command.SetMode +XTERESTORE.code PRI|r|{Ps;...} +XTERESTORE.text + FIXME. explain +XTERESTORE.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + 1|xterm|emu|restoreMode|MODE_AppCuKeys|Meaning + 6|xterm|scr|restoreMode|MODE_Origin|Meaning + 7|xterm|scr|restoreMode|MODE_Wrap|Meaning + 1000|xterm|emu|restoreMode|MODE_Mouse1000|Meaning + 1001|xterm|emu|Ignored||Meaning + +XTESAVE.head XTerm Private Save Mode +XTESAVE.emus XTERM KONSOLE +XTESAVE.sect Command.SetMode +XTESAVE.code PRI|s|{Ps;...} +XTESAVE.text + FIXME. explain +XTESAVE.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + 1|xterm|emu|saveMode|MODE_AppCuKeys|Meaning + 6|xterm|scr|saveMode|MODE_Origin|Meaning + 7|xterm|scr|saveMode|MODE_Wrap|Meaning + 1000|xterm|emu|saveMode|MODE_Mouse1000|Meaning + 1001|xterm|emu|Ignored||Meaning + +NUL.head Null +NUL.emus VT100 XTERM Linux KONSOLE +NUL.sect Command.Ignored +NUL.code CTL|0x00| +NUL.text + NUL is used as media- or time-fill. It is ignored by Konsole, but may + be sensible for devices which requiere a recognizable amount of time + to complete some commands (e.g. form feed on a non-buffering printing + device). +NUL.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|Ignored||see above + +SOH.head Start Of Heading +SOH.emus VT100 XTERM Linux KONSOLE +SOH.sect Command.Ignored +SOH.code CTL|0x01| +SOH.text + Ignored +SOH.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|Ignored||see above + +STX.head Start Of Text +STX.emus VT100 XTERM Linux KONSOLE +STX.sect Command.Ignored +STX.code CTL|0x02| +STX.text + Ignored +STX.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|Ignored||see above + +ETX.head End Of Text +ETX.emus VT100 XTERM Linux KONSOLE +ETX.sect Command.Ignored +ETX.code CTL|0x03| +ETX.text + Ignored +ETX.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|Ignored||see above + +EOT.head End Of Transmission +EOT.emus VT100 XTERM Linux KONSOLE +EOT.sect Command.Ignored +EOT.code CTL|0x04| +EOT.text + Ignored +EOT.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|Ignored||see above + +ENQ.head Enquiry +ENQ.emus VT100 +ENQ.sect Command.Request +ENQ.code CTL|0x05| +ENQ.text + Transmit the ANSWERBACK message. The answerback message can be loaded + in SET-UP B (i.e. is a configurable string). +ENQ.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|reportAnswerBack||see above + +ACK.head Acknowledge +ACK.emus VT100 XTERM Linux KONSOLE +ACK.sect Command.Ignored +ACK.code CTL|0x06| +ACK.text + Ignored +ACK.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|Ignored||see above + +BEL.head Bell +BEL.emus VT100 +BEL.sect Command +BEL.code CTL|0x07| +BEL.text + Sound bell +BEL.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|gui|Bell||see above + +BS.head Back Space +BS.emus VT100 +BS.sect Command.Cursor +BS.code CTL|0x08| +BS.text + Move cursor to the left one position, unless it is at the left + margin, in which case no action is taken. +BS.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|scr|BackSpace||see above + +HT.head Horizontal Tabulation +HT.emus VT100 +HT.sect Command.Cursor +HT.code CTL|0x09| +HT.text + Move cursor to the next tab stop, or to the right margin + if no further tabs are set. +HT.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|scr|Tabulate||see above + +LF.head Line Feed +LF.emus VT100 +LF.sect Command.Cursor +LF.code CTL|0x0a| +LF.text + Causes either a line feed or new line operation (See \ref:LNM.) +LF.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|NewLine||see above + +VT.head Vertical Tabulation +VT.emus VT100 +VT.sect Command.Cursor +VT.code CTL|0x0b| +VT.text + Same as \ref:LF. +VT.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|NewLine||see above + +FF.head Form Feed +FF.emus VT100 +FF.sect Command.Cursor +FF.code CTL|0x0c| +FF.text + Same as \ref:LF. +FF.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|NewLine||see above + +CR.head Carriage Return +CR.emus VT100 +CR.sect Command.Cursor +CR.code CTL|0x0d| +CR.text + Move the cursor to the left margin of the current line. +CR.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|scr|Return||see above + +LS0.head Lock Shift Zero (Shift Out - SO) +LS0.emus VT100 +LS0.sect Command.RenderMode +LS0.code CTL|0x0e| +LS0.text + Invoke the G1 character set, as designated by the \ref:SCS control sequence. +LS0.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|scr|useCharset|1|see above + +LS1.head Lock Shift One (Shift In - SI) +LS1.emus VT100 +LS1.sect Command.RenderMode +LS1.code CTL|0x0f| +LS1.text + Invoke the G0 character set, as selected by the <ESC>( sequence. +LS1.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|scr|useCharset|0|see above + +DLE.head Data Link Escape +DLE.emus VT100 XTERM Linux KONSOLE +DLE.sect Command.Ignored +DLE.code CTL|0x10| +DLE.text + Ignored +DLE.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|Ignored||see above + +DC1.head Device Control One +DC1.emus VT100 +DC1.sect Ignored +DC1.code CTL|0x11| +DC1.text + Causes terminal to resume transmission (XON). +DC1.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|Ignored||see above + +DC2.head Device Control Two +DC2.emus VT100 XTERM Linux KONSOLE +DC2.sect Command.Ignored +DC2.code CTL|0x12| +DC2.text + Ignored +DC2.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|Ignored||see above + +DC3.head Device Control Three +DC3.emus VT100 XTERM Linux KONSOLE +DC3.sect Command.Ignored +DC3.code CTL|0x13| +DC3.text + Causes terminal to stop transmitting all codes except XOFF and XON (XOFF). +DC3.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|Ignored||see above + +DC4.head Device Control Four +DC4.emus VT100 XTERM Linux KONSOLE +DC4.sect Command.Ignored +DC4.code CTL|0x14| +DC4.text + Ignored +DC4.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|Ignored||see above + +NAK.head Negative Acknowledge +NAK.emus VT100 XTERM Linux KONSOLE +NAK.sect Command.Ignored +NAK.code CTL|0x15| +NAK.text + Ignored +NAK.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|Ignored||see above + +SYN.head Synchronous Idle +SYN.emus VT100 XTERM Linux KONSOLE +SYN.sect Command.Ignored +SYN.code CTL|0x16| +SYN.text + Ignored +SYN.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|Ignored||see above + +ETB.head End Of Transmission Block +ETB.emus VT100 XTERM Linux KONSOLE +ETB.sect Command.Ignored +ETB.code CTL|0x17| +ETB.text + Ignored +ETB.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|Ignored||see above + +CAN.head Cancel +CAN.emus VT100 +CAN.sect Command +CAN.code CTL|0x18| +CAN.text + If sent during a control sequence, the sequence id immediately + terminated and not executed. It also causes the error character + (checkerboard) to be displayed. +CAN.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|scr|ShowCharacter|2|see above + +EM.head End Of Medium +EM.emus VT100 XTERM Linux KONSOLE +EM.sect Command.Ignored +EM.code CTL|0x19| +EM.text + Ignored +EM.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|Ignored||see above + +SUB.head Substitute +SUB.emus VT100 +SUB.sect Command +SUB.code CTL|0x1a| +SUB.text + Same as \ref:CAN. +SUB.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|scr|ShowCharacter|2|see above + +ESC.head Escape +ESC.emus ECMA VT100 +ESC.sect Ignored +ESC.code CTL|0x1b| +ESC.text + Introduces a control sequence. +ESC.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|Ignored||see above + +FS.head File Separator (IS4 - Information Separator Four) +FS.emus VT100 XTERM Linux KONSOLE +FS.sect Command.Ignored +FS.code CTL|0x1c| +FS.text + Ignored +FS.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|Ignored||see above + +GS.head Group Separator (IS3 - Information Separator Three) +GS.emus VT100 XTERM Linux KONSOLE +GS.sect Command.Ignored +GS.code CTL|0x1d| +GS.text + Ignored +GS.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|Ignored||see above + +RS.head Record Separator (IS2 - Information Separator Two) +RS.emus VT100 XTERM Linux KONSOLE +RS.sect Command.Ignored +RS.code CTL|0x1e| +RS.text + Ignored +RS.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|Ignored||see above + +US.head Unit Separator (IS1 - Information Separator One) +US.emus VT100 XTERM Linux KONSOLE +US.sect Command.Ignored +US.code CTL|0x1f| +US.text + Ignored +US.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|Ignored||see above + +DEL.head Delete Character +DEL.emus VT100 +DEL.sect Command.Ignored +DEL.code DEL|| +DEL.text + Ignored + +CPR.head Cursor Position Report +CPR.emus ECMA VT100 +CPR.sect Reply +CPR.code CSI|R|{Pn;Pn} +CPR.dflt 1 1 +CPR.text + The CPR sequence reports the active position by means of the + parameters. This sequence has two parameter values, the first + specifying the line and the second specifying the column. The default + condition with no parameters present, or parameters of 0, is equivalent + to a cursor at home position. + . + The numbering of the lines depends upon the state of the Origin Mode + (\ref:DECOM). + . + This control sequence is sent in reply to a device status report + (\ref:DSRREQ) command sent from the host. + +CUB.head Cursor Backward +CUB.emus ECMA VT100 +CUB.sect Command.Cursor Event +CUB.code CSI|D|{Pn} +CUB.dflt 1 +CUB.text + Moves the cursor to the left. The distance moved is + determined by the parameter. If the parameter missing, zero, or one, + the cursor is moved one position. The cursor cannot be moved past the + left margin. +CUB.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|scr|cursorLeft|p|see above + +CUD.head Cursor Down +CUD.emus ECMA VT100 +CUD.sect Command.Cursor Event +CUD.code CSI|B|{Pn} +CUD.dflt 1 +CUD.text + Moves the cursor down a number of lines as specified in the parameter + without changing columns. The cursor cannot be moved past the bottom + margin. +CUD.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|scr|cursorDown|p|see above + +CUF.head Cursor Foreward +CUF.emus ECMA VT100 +CUF.sect Command.Cursor Event +CUF.code CSI|C|{Pn} +CUF.dflt 1 +CUF.text + Moves the cursor to the right a number of positions + specified in the parameter. The cursor cannot be moved past the right + margin. +CUF.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|scr|cursorRight|p|see above + +CUP.head Cursor Position +CUP.emus ECMA VT100 +CUP.sect Command.Cursor +CUP.code CSI|H|{Pn;Pn} +CUP.dflt 1 1 +CUP.text + Moves the curor to the position specified by the + parameters. The first parameter specifies the line, and the second + specifies the column. A value of zero for either line or column moves + the cursor to the first line or column in the display. The default + string (<ESC>H) homes the cursor. In the VT100, this command behaves + identically to it's format effector counterpart, \ref:HVP. + . + The numbering of the lines depends upon the state of the Origin Mode + (\ref:DECOM). +CUP.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|scr|setCursorYX|p,q|see above + +CUU.head Cursor Up +CUU.emus ECMA VT100 +CUU.sect Command.Cursor Event +CUU.code CSI|A|{Pn} +CUU.dflt 1 +CUU.text + Moves the cursor up without changing columns. The cursor is moved up a + number of lines as indicated by the parameter. The cursor cannot be + moved beyond the top margin. +CUU.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|scr|cursorUp|p|see above + +DA.head Device Attributes Request +DA.emus ECMA VT100 +DA.sect Command.Request +DA.code CSI|c|{Pn} +DA.dflt 0 +DA.text + The host requests the VT100 to send a DA sequence to indentify + itself. This is done by sending the DA sequence with no parameters, + or with a parameter of zero. + The device replies by (\ref:DECDA). +DA.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|reportTerminalType||see above + +DECDA.head Device Attributes Reply +DECDA.emus VT100 +DECDA.sect Reply +DECDA.code PRI|c|{1;Pn} +DECDA.text + Response to the \ref:DA request (VT100 to host) is generated + by the VT100 as a DECDA control sequence with the numeric parameters as + follows: +DECDA.table.Pn + Pn|Meaning:4 + 0|No options + 1|Processor Option (STP) + 2|Advanced Video Option (AVO) + 3|AVO and STP + 4|Graphics Option (GPO) + 5|GPO and STP + 6|GPO and AVO + +DECALN.head Screen Alignment Display +DECALN.emus VT100 +DECALN.sect Command +DECALN.code HSH|8| +DECALN.text + Causes the VT100 to fill it's screen with + uppercase Es for screen focus and alignment. +DECALN.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|scr|helpAlign||see above + +DECANM.head ANSI/VT52 Mode +DECANM.emus VT100 +DECANM.sect Mode +DECANM.text + This is a private parameter to the \ref:SM and \ref:RM + control sequences. The + reset state causes only VT52 compatible escape sequences to be + recognized. The set state causes only ANSI compatible escape sequences + to be recognized. See the entries for \ref:MODES, \ref:SM, \ref:RM + and \ref:VT52ANSI. + +DECARM.head Auto Repeat Mode +DECARM.emus VT100 +DECARM.sect Mode +DECARM.text + This is a private parameter to the \ref:SM and \ref:RM + control sequences. The + reset state causes no keyboard keys to auto-repeat, the set state + causes most of them to. See \ref:MODES, \ref:SM and \ref:RM. + +DECAWM.head Autowrap Mode +DECAWM.emus VT100 +DECAWM.sect Mode +DECAWM.text + This is a private parameter to the \ref:SM and \ref:RM + control sequences. The + reset state prevents the cursor from moving when characters are + received while at the right margin. The set state causes these + characters to advance to the next line, causing a scroll up if required + and permitted. See \ref:MODES, \ref:SM, and + \ref:RM. + +DECCKM.head Cursor Keys Mode +DECCKM.emus VT100 +DECCKM.sect Mode +DECCKM.text + This is a private parameter to the \ref:SM and \ref:RM + control requences. This + mode is only effective when the terminal is in keypad application mode + (\ref:DECKPAM) and the ANSI/VT52 mode (\ref:DECANM) + is set. Under these + conditions, if this mode is reset, the cursor keys will send ANSI + cursor control commands. If setm the cursor keys will send application + function commands. See \ref:MODES, \ref:RM, and + \ref:SM. + +DECCOLM.head Column Mode +DECCOLM.emus VT100 +DECCOLM.sect Mode +DECCOLM.text + This is a private parameter to the \ref:SM and \ref:RM + control sequences. The + reset state causes an 80 column screen to be used. The set state + causes a 132 column screen to be used. See \ref:MODES, + \ref:RM, and \ref:SM. + +DECDHLT.head Double Height Line (Top) +DECDHLT.emus VT100 +DECDHLT.sect Command.NoImp +DECDHLT.code HSH|3| +DECDHLT.text + Cause the line containing the cursor to become the top half of a + double-height, double width line. + If the line was single width single height, all + characters to the right of the center of the screen will be lost. The + cursor remains over the same character position, unless it would be to + the right of the right margin, in which case it is moved to the right + margin. + . + \ref:DECDHLB and \ref:DECDHLT + should be used in pairs on adjacent lines with each line containing the + same character string. +DECDHLT.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|Ignored||see above + +DECDHLB.head Double Height Line (Bottom) +DECDHLB.emus VT100 +DECDHLB.sect Command.NoImp +DECDHLB.code HSH|4| +DECDHLB.text + This sequence cause the line containing the cursor to become the + bottom half of a double-height, double width line. + If the line was single width single height, all + characters to the right of the center of the screen will be lost. The + cursor remains over the same character position, unless it would be to + the right of the right margin, in which case it is moved to the right + margin. + . + \ref:DECDHLB and \ref:DECDHLT + should be used in pairs on adjacent lines with each line containing the + same character string. +DECDHLB.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|Ignored||see above + +DECDWL.head Double Width Line +DECDWL.emus VT100 +DECDWL.sect Command.NoImp +DECDWL.code HSH|6| +DECDWL.text + This causes the line that contains the cursor to become double-width + single height. If the line was single width, all characters ro the + right of the center of the screen will be lost. The cursor remains + over the same character position, unless it would be to the right of + the right margin, in which case it is moved to the right margin. +DECDWL.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|Ignored||see above + +DECID.head Identify Terminal +DECID.emus VT100 +DECID.sect Command.Request +DECID.code ESC|Z| +DECID.text + This sequence causes the same response as the \ref:DA sequence. This + sequence will not be supported in future models. +DECID.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|reportTerminalType||see above + +DECINLM.head Interlace Mode +DECINLM.emus VT100 +DECINLM.sect Mode +DECINLM.text + This is a private parameter to the \ref:RM and \ref:SM + control sequences. The + reset state (non-interlace) causes the video processor to display 240 + scan lines per frame. The set state causes the video processor to + display 480 scan lines per screen. See \ref:MODES, + \ref:RM, and \ref:SM. + +DECKPAM.head Keypad Application Mode +DECKPAM.emus VT100 +DECKPAM.sect Command.Mode Mode +DECKPAM.code ESC|=| +DECKPAM.text + The auxiliary keypad keys will transmit control sequences. +DECKPAM.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|setMode|MODE_AppKeyPad|see above + +DECKPNM.head Keypad Numeric Mode +DECKPNM.emus VT100 +DECKPNM.sect Mode Command.Mode +DECKPNM.code ESC|>| +DECKPNM.text + The auxiliary keypad keys will send ASCII codes corresponding to the + characters engraved on their keys. +DECKPNM.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|resetMode|MODE_AppKeyPad|see above + +DECLL.head Load LEDs +DECLL.emus VT100 +DECLL.sect Command.NoImp +DECLL.code CSI|q|{Ps;...} +DECLL.dflt 0 +DECLL.text + Load the four programmable LEDs on the keyboard according to the parameter(s). +DECLL.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + 0|VT100|emu|Ignore||Clear all LEDs + 1|VT100|emu|Ignore||Light LED 1 + 2|VT100|emu|Ignore||Light LED 2 + 3|VT100|emu|Ignore||Light LED 3 + 4|VT100|emu|Ignore||Light LED 4 + +DECOM.head Origin Mode +DECOM.emus VT100 +DECOM.sect Mode +DECOM.text + This is a private parameter to \ref:SM and \ref:RM + control sequences. The reset + state causes the origin (or home position) to be the upper left + character position of the screen. Line and column numbers are, + therefore, independent of current margin settings. The cursor may be + positioned outside the margins with a cursor position (\ref:CUP) or + horizontal and vertical position (\ref:HVP) control. + . + The set state causes the origin to be at the upper left character + position within the current margins. Line and column numbers are, + therefore, relative to the current margin settings. The cursor cannot + be positioned outside of the margins. + . + The cursor is moved to the new home position when this mode is set or + reset. Lines and columns are numbered consecutively, with the origin + being line 1, column 1. + +DECRC.head Restore Cursor +DECRC.emus VT100 +DECRC.sect Command.CursMode +DECRC.code ESC|8| +DECRC.text + This sequence causes the previously saved cursor position, graphic + rendition, and character set to be restored. +DECRC.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|scr|restoreCursor||see above + +DECREPTPARM.head Report Terminal Parameters +DECREPTPARM.emus ECMA VT100 +DECREPTPARM.sect Reply +DECREPTPARM.code CSI|x|{sol;par;nbits;xspd;rspd;cmul;flags} +DECREPTPARM.text + This sequence is generated by the VT100 to notify the host of the + status of selected terminal parameters. The status sequence may be + sent when requested by the host (via \ref:DECREQTPARM) + or at the terminal's + discretion. On power up or reset, the VT100 is inhibited from sending + unsolicited reports. + . + The meanings of the sequence parameters are: +DECREPTPARM.table.sol + sol|Meaning:4 + 1|This message is a report. + 2|This message is a report, and the terminal is only reporting on request. +DECREPTPARM.table.par + par|Meaning:4 + 1|No parity set + 4|Parity set and odd + 5|Parity set and even +DECREPTPARM.table.nbits + nbits|Meaning:4 + 1|8 bits per character + 2|7 bits per character +DECREPTPARM.table.speed(xspd,rspd) + speed|Meaning (xspd,rspd):4 + 0|Speed set to 50 bps + 8|Speed set to 75 bps + 16|Speed set to 110 bps + 24|Speed set to 134.5 bps + 32|Speed set to 150 bps + 40|Speed set to 200 bps + 48|Speed set to 300 bps + 56|Speed set to 600 bps + 64|Speed set to 1200 bps + 72|Speed set to 1800 bps + 80|Speed set to 2000 bps + 88|Speed set to 2400 bps + 96|Speed set to 3600 bps + 104|Speed set to 4800 bps + 112|Speed set to 9600 bps + 120|Speed set tp 19200 bps +DECREPTPARM.table.cmul + cmul|Meaning:4 + 1|The bit rate multiplier is 16 +DECREPTPARM.table.flags + flags|Meaning:4 + 0-15|This value communicates the four switch values in block 5 of SET-UP B, which are only visible to the user when an STP option is installed. + +DECREQTPARM.head Request Terminal Parameters +DECREQTPARM.emus ECMA VT100 +DECREQTPARM.sect Command.Request +DECREQTPARM.code CSI|x|{Ps} +DECREQTPARM.text + The host sends this sequence to request the VT100 to send a + \ref:DECREPTPARM + sequence back. {Ps} can be either 0 or 1. If 0, the terminal will be + allowed to send unsolicited \ref:DECREPTPARMs. + These reports will be generated each time the terminal exits the SET-UP mode. + If {Ps} is 1, then the terminal will only generate + \ref:DECREPTPARMs in response to a request. +DECREQTPARM.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + 0|VT100|emu|reportTerminalParms|2|Meaning + 1|VT100|emu|reportTerminalParms|3|Meaning + +DECSC.head Save Cursor +DECSC.emus VT100 +DECSC.sect Command.CursMode +DECSC.code ESC|7| +DECSC.text + Causes the cursor position, graphic rendition, and character set to be + saved. (See \ref:DECRC) +DECSC.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|scr|saveCursor||see above + +DECSCLM.head Scrolling Mode +DECSCLM.emus VT100 +DECSCLM.sect Mode +DECSCLM.text + This is a private parameter to \ref:RM and \ref:SM + control sequences. The reset + state causes scrolls to "jump" instantaneuously one line at a time. + The set state causes the scrolls to be "smooth", and scrolls at a + maximum rate of siz lines/sec. See \ref:MODES, + \ref:RM, and \ref:SM. + +DECSCNM.head Screen Mode +DECSCNM.emus VT100 +DECSCNM.sect Mode +DECSCNM.text + This is a private parameter to \ref:RM and \ref:SM + control sequences. The reset + state causes the screen to be black with white characters; the set + state causes the screen to be white with black characters. + See \ref:MODES, \ref:RM, and \ref:SM. + +DECSTBM.head Set Top and Bottom Margins +DECSTBM.emus VT100 +DECSTBM.sect Command.CursMode +DECSTBM.code CSI|r|{Pn;Pn} +DECSTBM.dflt 1 ScreenLines +DECSTBM.text + This sequence sets the top and bottom margins to define the scrolling + region. The first parameter is the line number of the first line in + the scrolling region; the second parameter is the line number of the + bottom line of the scrolling region. + . + Default is the entire screen (no margins). + The minimum region allowed is two lines, i.e., the top line + must be less than the bottom. The cursor is placed in the home + position (See \ref:DECOM). +DECSTBM.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|scr|setMargins|p,q|see above + +DECSWL.head Single-width Line +DECSWL.emus VT100 +DECSWL.sect Command.NoImp +DECSWL.code HSH|5| +DECSWL.text + This causes the line which contains the cursor to become single-width, + single-height. The cursor remains on the same character position. + This is the default condition for all new lines on the screen. +DECSWL.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|Ignored||see above + +DECTST.head Invoke Confidence Test +DECTST.emus ECMA VT100 +DECTST.sect Command +DECTST.code CSI|y|{2;Ps} +DECTST.text + Ps is the parameter indicating the test to be done. It is computed by + taking the weight indicated for each desired test and adding them + together. If Ps is 0, no test is performed but the VT100 is reset. +DECTST.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|Ignored||see above +DECTST.table.Weight + Weight|Meaning:4 + 1|POST (ROM checksum, RAM NVR, keyboardm and AVO) + 2|Data Loop Back (Loopback connector required) + 3|EIA Modem Control Test (Loopback connector req.) + 4|Repeat Testing until failure + +DSRREQ.head Device Status Report +DSRREQ.emus ECMA VT100 +DSRREQ.sect Command.Request +DSRREQ.code CSI|n|{Ps} +DSRREQ.text + Requests status of the VT100 according to the following parameters. +DSRREQ.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + 5|VT100|emu|reportStatus||Report Status (using a \ref:DSRREP control sequence) + 6|VT100|emu|reportCursorPosition||Report Active Position (using a \ref:CPR sequence) + +DSRREP.head Device Status Report Reply +DSRREP.emus ECMA VT100 +DSRREP.sect Reply +DSRREP.code CSI|n|{Status} +DSRREP.text + Reports the general status of the VT100 according to the + following parameters. + . + DSRREP with a parameter of 0 or 3 is always sent as a response to a + requesting \ref:DSRREQ with a parameter of 5. +DSRREP.table.Status + Status|Meaning:3 + 0|Ready, no faults detected + 3|Malfunction detected + +ED.head Erase in Display +ED.emus ECMA VT100 +ED.sect Command.Erase +ED.code CSI|J|{Ps} +ED.dflt 0 +ED.text + This sequence erases some or all of the characters in the display + according to the parameter. Any complete line erased by this sequence + will return that line to single width mode. +ED.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + 0|VT100|scr|clearToEndOfScreen||Erase from the cursor to the end of the screen. + 1|VT100|scr|clearToBeginOfScreen||Erase from the start of the screen to the cursor. + 2|VT100|scr|clearEntireScreen||Erase the entire screen. + +EL.head Erase in Line +EL.emus ECMA VT100 +EL.sect Command.Erase +EL.code CSI|K|{Ps} +EL.dflt 0 +EL.text + Erases some or all characters in the active line, according to the + parameter. +EL.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + 0|VT100|scr|clearToEndOfLine||Erase from cursor to the end of the line. + 1|VT100|scr|clearToBeginOfLine||Erase from the start of the line to the cursor. + 2|VT100|scr|clearEntireLine||Erase the entire line. + +HTS.head Horizontal Tab Set +HTS.emus ECMA VT100 +HTS.sect Command.CursMode +HTS.code ESC|H| +HTS.text + Set a tab stop at the current cursor position. +HTS.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|scr|changeTabStop|TRUE|see above + +HVP.head Horizontal and Vertical Position +HVP.emus ECMA VT100 +HVP.sect Command.Cursor +HVP.code CSI|f|{Pn;Pn} +HVP.dflt 1 1 +HVP.text + Moves the cursor to the position specified by the parameters. The + first parameter specifies the line, and the second specifies the + column. A parameter of 0 or 1 causes the active position to move to + the first line or column in the display. In the VT100, this control + behaves identically with it's editor counterpart, \ref:CUP. + The numbering of hte lines depends upon the state of the Origin Mode + (\ref:DECOM). +HVP.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|scr|setCursorYX|p,q|see above + +IND.head Index +IND.emus ECMA VT100 +IND.sect Command.Cursor +IND.code ESC|D| +IND.text + This sequence causes the cursor to move downward one line without + changing the column. If the cursor is at the bottom margin, a scroll + up is performed. +IND.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|scr|index||see above + +LNM.head Line Feed/New Line Mode +LNM.emus ECMA VT100 +LNM.sect Mode +LNM.text + This is a parameter to \ref:SM and \ref:RM control sequences. + The reset state + causes the interpretation of the \ref:LF character to imply only vertical + movement of the cursor and causes the RETURN key to send the single + code \ref:CR. + . + The set state causes the \ref:LF character to imply movement + to the first position of the following line, and causes the RETURN key + to send the code pair \ref:CR \ref:LF. This is the New Line option. + . + This mode does not affect the Index (\ref:IND) or the next line + (\ref:NEL) format effectors. + +NEL.head Next Line +NEL.emus ECMA VT100 +NEL.sect Command.Cursor +NEL.code ESC|E| +NEL.text + This causes the cursor to move to the first position of the next line + down. If the cursor is on the bottom line, a scroll is performed. +NEL.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|scr|NextLine||see above + +PRINT.head Printable Characters +PRINT.emus ECMA VT100 +PRINT.sect Command.Display +PRINT.code PRN||{0x20..0x7e,0xa0..0xff} +PRINT.text + Printable characters are basically displayed. They my cause a line + wrap when the cursor is already located at the end of the line. + . + The VT100 has a unique way to do this by producing a line wrap before + the character would be displayed on the next line. This feature allows + to print at the rightmost column without producing an implicit line feed. +PRINT.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|scr|ShowCharacter|p|see above + +RI.head Reverse Index +RI.emus ECMA VT100 +RI.sect Command.Cursor +RI.code ESC|M| +RI.text + Move the cursor up one line without changing columns. If the cursor is + on the top line, a scroll down is performed. +RI.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|scr|reverseIndex||see above + +RIS.head Reset to Initial State +RIS.emus ECMA VT100 +RIS.sect Command.Mode +RIS.code ESC|c| +RIS.text + Resets the VT100 to the state is has upon power up. This also causes + the execution of the POST and signal INT H to be asserted briefly. +RIS.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|resetTerminal||see above + +RM.head Reset Mode +RM.emus ECMA VT100 +RM.sect Command.SetMode +RM.code CSI|l|{Ps;...} +RM.text + Resets one or more VT100 modes as specified by each selective parameter + in the parameter string. Each mode to be reset is specified by a + separate parameter. See \ref:MODES and \ref:SM. +RM.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + 4|xterm|scr|resetMode|MODE_Insert|Meaning + 20|VT100|emu|resetMode|MODE_NewLine|\ref:LNM + +SCS.head Select Character Set +SCS.emus ECMA VT100 +SCS.sect Command.RenderMode +SCS.code SCS||{Pc;Cs} +SCS.text + The appropriate D0 and G1 character sets are designated from one of the + five possible sets. The G0 and G1 sets are invoked by the characters + \ref:LS1 and \ref:LS0, respectively. + . + The United Kingdom and ASCII sets conform to the "ISO international + register of character sets to be used with escape sequences". The + other sets are private character sets. Special graphics means that the + graphic characters fpr the codes 0137 to 0176 are replaced with other + characters. The specified character set will be used until another SCS + is received. +SCS.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT100|emu|setCharset|p-'(',q|see above +SCS.table.Pc + Pc|Character Selection:4 + (|Select G0 Set + )|Select G1 Set +SCS.table.Cs + Cs|Character Set:4 + A|United Kingdom Set + B|ASCII Set + 0|Special Graphics + 1|Alternate Character ROM (Standard Character Set) + 2|Alternate Character ROM (Special Graphics) + +SGR.head Select Graphic Rendition +SGR.emus ECMA VT100 +SGR.sect Command.RenderMode +SGR.code CSI|m|{Ps;...} +SGR.text + Invoke the graphic rendition specified by the parameter(s). All + following characters transmitted to the VT100 are rendered according + to the parameter(s) until the next occurrence of an SGR. + . + All other parameter values are ignored. + . + Without the Advanced Video Option, only one type of character attribute + is possible, as determined by the cursor selection; in that case + specifying either underscore or reverse will activate the currently + selected attribute. +SGR.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + 0|VT100|scr|setDefaultRendition||Attributes Off + 1|VT100|scr|setRendition|RE_BOLD|Bold or increased intensity + 4|VT100|scr|setRendition|RE_UNDERLINE|Underscore + 5|VT100|scr|setRendition|RE_BLINK|Blink + 7|VT100|scr|setRendition|RE_REVERSE|Negative (reverse) image + 10|konsole|emu|Ignored||Meaning + 11|konsole|emu|Ignored||Meaning + 12|konsole|emu|Ignored||Meaning + 22|VT100|scr|resetRendition|RE_BOLD|Meaning + 24|VT100|scr|resetRendition|RE_UNDERLINE|Meaning + 25|VT100|scr|resetRendition|RE_BLINK|Meaning + 27|VT100|scr|resetRendition|RE_REVERSE|Meaning + 30|xterm|scr|setForeColor|0|Meaning + 31|xterm|scr|setForeColor|1|Meaning + 32|xterm|scr|setForeColor|2|Meaning + 33|xterm|scr|setForeColor|3|Meaning + 34|xterm|scr|setForeColor|4|Meaning + 35|xterm|scr|setForeColor|5|Meaning + 36|xterm|scr|setForeColor|6|Meaning + 37|xterm|scr|setForeColor|7|Meaning + 39|xterm|scr|setForeColorToDefault||Meaning + 40|xterm|scr|setBackColor|0|Meaning + 41|xterm|scr|setBackColor|1|Meaning + 42|xterm|scr|setBackColor|2|Meaning + 43|xterm|scr|setBackColor|3|Meaning + 44|xterm|scr|setBackColor|4|Meaning + 45|xterm|scr|setBackColor|5|Meaning + 46|xterm|scr|setBackColor|6|Meaning + 47|xterm|scr|setBackColor|7|Meaning + 49|xterm|scr|setBackColorToDefault||Meaning + 90|xterm|scr|setForeColor|8|Meaning + 91|xterm|scr|setForeColor|9|Meaning + 92|xterm|scr|setForeColor|10|Meaning + 93|xterm|scr|setForeColor|11|Meaning + 94|xterm|scr|setForeColor|12|Meaning + 95|xterm|scr|setForeColor|13|Meaning + 96|xterm|scr|setForeColor|14|Meaning + 97|xterm|scr|setForeColor|15|Meaning + 100|xterm|scr|setBackColor|8|Meaning + 101|xterm|scr|setBackColor|9|Meaning + 102|xterm|scr|setBackColor|10|Meaning + 103|xterm|scr|setBackColor|11|Meaning + 104|xterm|scr|setBackColor|12|Meaning + 105|xterm|scr|setBackColor|13|Meaning + 106|xterm|scr|setBackColor|14|Meaning + 107|xterm|scr|setBackColor|15|Meaning + +SM.head Set Mode +SM.emus ECMA VT100 +SM.sect Command.SetMode +SM.code CSI|h|{Ps;...} +SM.text + Causes one or more modes to be set within the VT100 as specified by + each selective parameter string. Each mode to be set is specified by a + seperate parameter. A mode is considered set until it is reset by a + Reset Mode (\ref:RM) control sequence. + See \ref:RM and \ref:MODES. +SM.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + 4|VT100|scr|setMode|MODE_Insert|Meaning + 20|VT100|emu|setMode|MODE_NewLine|\ref:LNM + +TBC.head Tabulation Clear +TBC.emus ECMA VT100 +TBC.sect Command.CursMode +TBC.code CSI|g|{Ps} +TBC.text + If the parameter is missing or 0, this will clear the tab stop at the + cursor's position. If it is 3, this will clear all of the tab stops. + Any other parameter is ignored. +TBC.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + 0|VT100|scr|changeTabStop|FALSE|Meaning + 3|VT100|scr|clearTabStops||Meaning + +############################################################################## +# # +# VT52 # +# # +############################################################################## + +VT52ANSI.head VT52 ANSI Ansi Mode +VT52ANSI.emus VT100 XTERM VT52 KONSOLE +VT52ANSI.sect Command.Mode +VT52ANSI.code ESC|<| +VT52ANSI.text + This is an extension to the VT52 commands to embed the emulation into VT100. + It allows to return back to VT100 emulation (ANSI mode). + See also \ref:DECANM and \ref:SM. +VT52ANSI.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT52|emu|setMode|MODE_Ansi|see above + +VT52CUB.head VT52 Cursor Back +VT52CUB.emus KONSOLE +VT52CUB.sect Command.VT52 +VT52CUB.code ESC|D| +VT52CUB.text + See \ref:CUB. +VT52CUB.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT52|scr|cursorLeft|1|see above + +VT52CUD.head VT52 Cursor Down +VT52CUD.emus KONSOLE +VT52CUD.sect Command.VT52 +VT52CUD.code ESC|B| +VT52CUD.text + See \ref:CUD. +VT52CUD.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT52|scr|cursorDown|1|see above + +VT52CUF.head VT52 Cursor Forward +VT52CUF.emus KONSOLE +VT52CUF.sect Command.VT52 +VT52CUF.code ESC|C| +VT52CUF.text + See \ref:CUF. +VT52CUF.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT52|scr|cursorRight|1|see above + +VT52CUP.head VT52 Cursor Position +VT52CUP.emus KONSOLE +VT52CUP.sect Command.VT52 +VT52CUP.code VT5||{X;Y} +VT52CUP.text + Line and column numbers for direct cursor address are single + character codes whose values are the desired number plus + 37 (in Octal). Line and column numbers start at 1. +VT52CUP.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT52|scr|setCursorYX|p-31,q-31|see above + +VT52CUU.head VT52 Cursor Up +VT52CUU.emus KONSOLE +VT52CUU.sect Command.VT52 +VT52CUU.code ESC|A| +VT52CUU.text + See \ref:CUU. +VT52CUU.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT52|scr|cursorUp|1|see above + +VT52EDL.head VT52 Clear To End Of Line +VT52EDL.emus KONSOLE +VT52EDL.sect Command.VT52 +VT52EDL.code ESC|K| +VT52EDL.text + FIXME. explain +VT52EDL.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT52|scr|clearToEndOfLine||see above + +VT52EDS.head VT52 Clear To End Of Screen +VT52EDS.emus KONSOLE +VT52EDS.sect Command.VT52 +VT52EDS.code ESC|J| +VT52EDS.text + FIXME. explain +VT52EDS.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT52|scr|clearToEndOfScreen||see above + +VT52CUH.head VT52 Cursor Home +VT52CUH.emus KONSOLE +VT52CUH.sect Command.VT52 +VT52CUH.code ESC|H| +VT52CUH.text + FIXME. explain +VT52CUH.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT52|scr|setCursorYX|1,1|see above + +VT52KPAM.head VT52 Enter alternate keypad mode +VT52KPAM.emus KONSOLE +VT52KPAM.sect Command.VT52 +VT52KPAM.code ESC|=| +VT2KPAM.text + FIXME. explain +VT52KPAM.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT52|emu|setMode|MODE_AppKeyPad|see above + +VT52KPNM.head VT52 Exit alternate keypad mode +VT52KPNM.emus KONSOLE +VT52KPNM.sect Command.VT52 +VT52KPNM.code ESC|>| +VT52KPNM.text + FIXME. explain +VT52KPNM.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT52|emu|resetMode|MODE_AppKeyPad|see above + +VT52REP.head VT52 Report Terminal Type +VT52REP.emus KONSOLE +VT52REP.sect Command.VT52 +VT52REP.code ESC|Z| +VT52REP.text + Response to ESC Z is ESC / Z. +VT52REP.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT52|emu|reportTerminalType||see above + +VT52RI.head VT52 Reverse Index +VT52RI.emus KONSOLE +VT52RI.sect Command.VT52 +VT52RI.code ESC|I| +VT52RI.text + FIXME. explain +VT52RI.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT52|scr|reverseIndex||see above + +VT52SCSF.head VT52 Select special graphics character set +VT52SCSF.emus KONSOLE +VT52SCSF.sect Command.VT52 +VT52SCSF.code ESC|F| +VT52SCSF.text + FIXME. explain +VT52SCSF.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT52|scr|setAndUseCharset|0,'0'|see above + +VT52SCSG.head VT52 Select ASCII character set +VT52SCSG.emus KONSOLE +VT52SCSG.sect Command.VT52 +VT52SCSG.code ESC|G| +VT52SCSG.text + FIXME. explain +VT52SCSG.table.XPS + Subcode|Emulation|Scope|Operation|Args|Meaning + N/A|VT52|scr|setAndUseCharset|0,'B'|see above diff --git a/konsole/doc/VT100/Table.Graphic b/konsole/doc/VT100/Table.Graphic new file mode 100644 index 000000000..afc159564 --- /dev/null +++ b/konsole/doc/VT100/Table.Graphic @@ -0,0 +1,32 @@ +Blank +Diamond +Checkerboard +Digraph: (HT) +Digraph: (FF) +Digraph: (CR) +Digraph: (LF) +Degree Symbol: ° ++/- Symbol: ± +Digraph: (NL) +Digraph: (VT) +Lower-right corner +Upper-right corner +Upper-left corner +Lower-left corner +Crossing lines (+) +Horiz Line - scan 1 +Horiz Line - scan 3 +Horiz Line - scan 5 +Horiz Line - scan 7 +Horiz Line - scan 9 +Left "T" (|-) +Right "T" (-|) +Bottom "T" (|_) +Top "T" (T) +Vertical Bar (|) +Less/Equal: ≤ +Graeter/Egual: ≥ +Pi symbol: π +Not equal: ≠ +UK pound symbol: £ +Centered dot: · diff --git a/konsole/doc/VT100/Table.VT52 b/konsole/doc/VT100/Table.VT52 new file mode 100644 index 000000000..d6faca3d2 --- /dev/null +++ b/konsole/doc/VT100/Table.VT52 @@ -0,0 +1,40 @@ +VT52 Compatible Mode + +: VT52A Cursor Up +c ESC A +: VT52b Cursor Down +c ESC B +: VT52C Cursor Right +c ESC C +: VT52D Cursor Left +c ESC D +: VT52F Select Special Graphics character set +c ESC F +: VT52G Select ASCII character set +c ESC G +: VT52H Cursor to home +c ESC H +: VT52I Reverse line feed +c ESC I +: VT52J Erase to end of screen +c ESC J +: VT52K Erase to end of line +c ESC K +: VT52Y Direct cursor address +c ESC Y {l} {c} +h + Line and column numbers for direct cursor address are single + character codes whose values are the desired number plus + 37 (in Octal). Line and column numbers start at 1. +e +: VT52Z Identify +c ESC Z +h + Response to ESC Z is ESC / Z. +e +: VT52KBAM Enter alternate keypad mode +c ESC = +: VT52KEAM Exit alternate keypad mode +c ESC > +: VT52AM Enter ANSI mode +c ESC < diff --git a/konsole/doc/VT100/awk.table.graphic b/konsole/doc/VT100/awk.table.graphic new file mode 100644 index 000000000..f27aae29e --- /dev/null +++ b/konsole/doc/VT100/awk.table.graphic @@ -0,0 +1,30 @@ +function header() +{ + printf("<tr><td>Octal<br>Code </td>\n"); + printf(" <td>ASCII<br>Graphic</td>\n"); + printf(" <td>Special Graphic </td></tr>\n"); + printf("<tr><td><hr></td>\n"); + printf(" <td><hr></td>\n"); + printf(" <td><hr></td></tr>\n"); +} + +BEGIN { + color = "" # " bgcolor=lightblue" + printf("<center>\n"); + printf("<table cellspacing=30>\n"); + printf("<tr><td><table>"); + header(); +} + { + +# printf("%04o %s %c %s %s\n",NR-1+95,$1,NR-1+95,$2,$3); + if (NR > 1 && NR % 16 == 1) { printf("</td></table></td><td><table>"); header(); } + printf("<tr><td%s>%04o</td>\n",color,NR-1+95); + printf(" <td%s align=center>%c</td>\n",color,NR-1+95); + printf(" <td%s>%s</td></tr>\n",color,$0); +} +END { + printf("</td></tr></table>\n"); + printf("</table>\n"); + printf("</center>\n"); +} diff --git a/konsole/doc/VT100/cmds.pro b/konsole/doc/VT100/cmds.pro new file mode 100644 index 000000000..35fec3ab2 --- /dev/null +++ b/konsole/doc/VT100/cmds.pro @@ -0,0 +1,61 @@ +?- consult('dicts.pro'). + +test :- dict(X,_), check(X), fail; true. +test1 :- findall(A,head(A,_),R), sort(R,Res), print(Res), nl, fail. + +check([_,head]) :- !. /* TITLE */ +check([_,emus]) :- !. /* List Word */ +check([_,dflt]) :- !. /* List NumberOrWord */ +check([_,sect]) :- !. /* List Word // Dotted Name */ +check([_,code]) :- !. /* [ TYP, ("Char"/none/Numb), [arg, ...] ] */ +check([_,text]) :- !. /* [ String/nl/ref(Sym) ... ] */ + +check([_,table,'XPS']) :- !. /* interpretation */ + +/*Other (type) tables */ +/*check([_,table,_]) :- !, print(X), nl.*/ + +check(X) :- !, print(X), nl. + +/* ----------- */ +/* State: We're closer to make up a proper data model. + Todo: + - put the type/value definitions listed in 'test' + to a more appropriate place. + - clearify section material. + - make a model and a consistency checker. + - make a report generator. + - integrate 'TEScreen.C' functions +*/ + + +head(Name,Title) :- dict([Name,head],Title). +emus(Name,Emus) :- dict([Name,emus],Emus). +dflt(Name,Defaults) :- dict([Name,dflt],Defaults). +sect(Name,DottedSect) :- dict([Name,sect],DottedSect). +code(Name,Code) :- dict([Name,code],Desc), tcode(Desc,Code). +text(Name,Text) :- dict([Name,text],Text). + +tcode(['PRN',none,[]],prn) :- !. +tcode(['DEL',none,[]],ctl(127)) :- !. +tcode(['CTL',Num,[]],ctl(Num)) :- !. +tcode(['ESC',Chr,[]],esc(Chr)) :- !. +tcode(['HSH',Chr,[]],esc(Chr)) :- !. +tcode(['CSI',Chr,[P,'...']],csi(Chr,list(P))) :- !. +tcode(['CSI',Chr,Parm],csi(Chr,Parm)) :- !. +tcode(['PRI',Chr,[P,'...']],pri(Chr,list(P))) :- !. +tcode(['PRI',Chr,Parm],pri(Chr,Parm)) :- !. +tcode(['SCS',none,[A,B]],scs([A,B])) :- !. +tcode(['VT5',none,[X,Y]],vt5([X,Y])) :- !. +tcode(P,P) :- writef("\n - fail\n %t \n\n",[P]). + +pheads :- + head(N,T), + writef("%w - %s\n",[N,T]), + fail; true. + +pcodes :- + code(N,P), + writef("%w - %t\n",[N,P]), + fail; true. + diff --git a/konsole/doc/VT100/db.trans b/konsole/doc/VT100/db.trans new file mode 100644 index 000000000..7fe21ef27 --- /dev/null +++ b/konsole/doc/VT100/db.trans @@ -0,0 +1,190 @@ +TY_CHR___|PRINT|||scr|ShowCharacter|p +TY_CTL___|NUL|'@'|||| +TY_CTL___|SOH|'A'|||| +TY_CTL___|STX|'B'|||| +TY_CTL___|ETX|'C'|||| +TY_CTL___|EOT|'D'|||| +TY_CTL___|ENQ|'E'||emu|reportAnswerBack| +TY_CTL___|ACK|'F'|||| +TY_CTL___|BEL|'G'||gui|Bell| +TY_CTL___|BS|'H'||scr|BackSpace| +TY_CTL___|HT|'I'||scr|Tabulate| +TY_CTL___|LF|'J'||emu|NewLine| +TY_CTL___|VT|'K'||emu|NewLine| +TY_CTL___|FF|'L'||emu|NewLine| +TY_CTL___|CR|'M'||scr|Return| +TY_CTL___|LS0|'N'||scr|useCharset|1 +TY_CTL___|LS1|'O'||scr|useCharset|0 +TY_CTL___|DLE|'P'|||| +TY_CTL___|DC1|'Q'|||| +TY_CTL___|DC2|'R'|||| +TY_CTL___|DC3|'S'|||| +TY_CTL___|DC4|'T'|||| +TY_CTL___|NAK|'U'|||| +TY_CTL___|SYN|'V'|||| +TY_CTL___|ETB|'W'|||| +TY_CTL___|CAN|'X'||scr|ShowCharacter|2 +TY_CTL___|EM|'Y'|||| +TY_CTL___|SUB|'Z'||scr|ShowCharacter|2 +TY_CTL___|ESC|'['|||| +TY_CTL___|FS|'\\'|||| +TY_CTL___|GS|']'|||| +TY_CTL___|RS|'^'|||| +TY_CTL___|US|'_'|||| +TY_ESC___|IND|'D'||scr|index| +TY_ESC___|NEL|'E'||scr|NextLine| +TY_ESC___|HTS|'H'||scr|changeTabStop|TRUE +TY_ESC___|RI|'M'||scr|reverseIndex| +TY_ESC___|DECID|'Z'||emu|reportTerminalType| +TY_ESC___|RIS|'c'||emu|resetTerminal| +TY_ESC___|LS2|'n'||scr|useCharset|2 +TY_ESC___|LS3|'o'||scr|useCharset|3 +TY_ESC___|DECSC|'7'||scr|saveCursor| +TY_ESC___|DECRC|'8'||scr|restoreCursor| +TY_ESC___|DECKPAM|'='||emu|setMode|MODE_AppKeyPad +TY_ESC___|DECKPNM|'>'||emu|resetMode|MODE_AppKeyPad +TY_ESC___|DECANSI|'<'||emu|setMode|MODE_Ansi +TY_ESC_CS|SCS|||emu|setCharset|p-'(',q +TY_ESC_DE|DECDHLT|'3'|||| +TY_ESC_DE|DECDHLB|'4'|||| +TY_ESC_DE|DECSWL|'5'|||| +TY_ESC_DE|DECDWL|'6'|||| +TY_ESC_DE|DECALN|'8'||scr|helpAlign| +TY_CSI_PS|EL|'K'|0|scr|clearToEndOfLine| +TY_CSI_PS|EL|'K'|1|scr|clearToBeginOfLine| +TY_CSI_PS|EL|'K'|2|scr|clearEntireLine| +TY_CSI_PS|ED|'J'|0|scr|clearToEndOfScreen| +TY_CSI_PS|ED|'J'|1|scr|clearToBeginOfScreen| +TY_CSI_PS|ED|'J'|2|scr|clearEntireScreen| +TY_CSI_PS|TBC|'g'|0|scr|changeTabStop|FALSE +TY_CSI_PS|TBC|'g'|3|scr|clearTabStops| +TY_CSI_PS|SM|'h'|4|scr|setMode|MODE_Insert +TY_CSI_PS|SM|'h'|20|emu|setMode|MODE_NewLine +TY_CSI_PS|MC|'i'|0||| +TY_CSI_PS|RM|'l'|4|scr|resetMode|MODE_Insert +TY_CSI_PS|RM|'l'|20|emu|resetMode|MODE_NewLine +TY_CSI_PS|SGR|'m'|0|scr|setDefaultRendition| +TY_CSI_PS|SGR|'m'|1|scr|setRendition|RE_BOLD +TY_CSI_PS|SGR|'m'|4|scr|setRendition|RE_UNDERLINE +TY_CSI_PS|SGR|'m'|5|scr|setRendition|RE_BLINK +TY_CSI_PS|SGR|'m'|7|scr|setRendition|RE_REVERSE +TY_CSI_PS|SGR|'m'|10||| +TY_CSI_PS|SGR|'m'|11||| +TY_CSI_PS|SGR|'m'|12||| +TY_CSI_PS|SGR|'m'|22|scr|resetRendition|RE_BOLD +TY_CSI_PS|SGR|'m'|24|scr|resetRendition|RE_UNDERLINE +TY_CSI_PS|SGR|'m'|25|scr|resetRendition|RE_BLINK +TY_CSI_PS|SGR|'m'|27|scr|resetRendition|RE_REVERSE +TY_CSI_PS|SGR|'m'|30|scr|setForeColor|0 +TY_CSI_PS|SGR|'m'|31|scr|setForeColor|1 +TY_CSI_PS|SGR|'m'|32|scr|setForeColor|2 +TY_CSI_PS|SGR|'m'|33|scr|setForeColor|3 +TY_CSI_PS|SGR|'m'|34|scr|setForeColor|4 +TY_CSI_PS|SGR|'m'|35|scr|setForeColor|5 +TY_CSI_PS|SGR|'m'|36|scr|setForeColor|6 +TY_CSI_PS|SGR|'m'|37|scr|setForeColor|7 +TY_CSI_PS|SGR|'m'|39|scr|setForeColorToDefault| +TY_CSI_PS|SGR|'m'|40|scr|setBackColor|0 +TY_CSI_PS|SGR|'m'|41|scr|setBackColor|1 +TY_CSI_PS|SGR|'m'|42|scr|setBackColor|2 +TY_CSI_PS|SGR|'m'|43|scr|setBackColor|3 +TY_CSI_PS|SGR|'m'|44|scr|setBackColor|4 +TY_CSI_PS|SGR|'m'|45|scr|setBackColor|5 +TY_CSI_PS|SGR|'m'|46|scr|setBackColor|6 +TY_CSI_PS|SGR|'m'|47|scr|setBackColor|7 +TY_CSI_PS|SGR|'m'|49|scr|setBackColorToDefault| +TY_CSI_PS|SGR|'m'|90|scr|setForeColor|8 +TY_CSI_PS|SGR|'m'|91|scr|setForeColor|9 +TY_CSI_PS|SGR|'m'|92|scr|setForeColor|10 +TY_CSI_PS|SGR|'m'|93|scr|setForeColor|11 +TY_CSI_PS|SGR|'m'|94|scr|setForeColor|12 +TY_CSI_PS|SGR|'m'|95|scr|setForeColor|13 +TY_CSI_PS|SGR|'m'|96|scr|setForeColor|14 +TY_CSI_PS|SGR|'m'|97|scr|setForeColor|15 +TY_CSI_PS|SGR|'m'|100|scr|setBackColor|8 +TY_CSI_PS|SGR|'m'|101|scr|setBackColor|9 +TY_CSI_PS|SGR|'m'|102|scr|setBackColor|10 +TY_CSI_PS|SGR|'m'|103|scr|setBackColor|11 +TY_CSI_PS|SGR|'m'|104|scr|setBackColor|12 +TY_CSI_PS|SGR|'m'|105|scr|setBackColor|13 +TY_CSI_PS|SGR|'m'|106|scr|setBackColor|14 +TY_CSI_PS|SGR|'m'|107|scr|setBackColor|15 +TY_CSI_PS|DSR|'n'|5|emu|reportStatus| +TY_CSI_PS|DSR|'n'|6|emu|reportCursorPosition| +TY_CSI_PS|DECLL|'q'|0||| +TY_CSI_PS|DECLL|'q'|1||| +TY_CSI_PS|DECLL|'q'|2||| +TY_CSI_PS|DECLL|'q'|3||| +TY_CSI_PS|DECLL|'q'|4||| +TY_CSI_PS|DECREQTPARM|'x'|0|emu|reportTerminalParms|2 +TY_CSI_PS|DECREQTPARM|'x'|1|emu|reportTerminalParms|3 +TY_CSI_PN|ICH|'@'||scr|insertChars|p +TY_CSI_PN|CUU|'A'||scr|cursorUp|p +TY_CSI_PN|CUD|'B'||scr|cursorDown|p +TY_CSI_PN|CUF|'C'||scr|cursorRight|p +TY_CSI_PN|CUB|'D'||scr|cursorLeft|p +TY_CSI_PN|CHA|'G'||scr|setCursorX|p +TY_CSI_PN|CUP|'H'||scr|setCursorYX|p,q +TY_CSI_PN|IL|'L'||scr|insertLines|p +TY_CSI_PN|DL|'M'||scr|deleteLines|p +TY_CSI_PN|DCH|'P'||scr|deleteChars|p +TY_CSI_PN|ECH|'X'||scr|eraseChars|p +TY_CSI_PN|DA|'c'||emu|reportTerminalType| +TY_CSI_PN|VPA|'d'||scr|setCursorY|p +TY_CSI_PN|HVP|'f'||scr|setCursorYX|p,q +TY_CSI_PN|DECSTBM|'r'||scr|setMargins|p,q +TY_CSI_PN|DECTST|'y'|||| +TY_CSI_PR|DECSET|'h'|1|emu|setMode|MODE_AppCuKeys +TY_CSI_PR|DECSET|'h'|3|emu|setColumns|132 +TY_CSI_PR|DECSET|'h'|4||| +TY_CSI_PR|DECSET|'h'|5|scr|setMode|MODE_Screen +TY_CSI_PR|DECSET|'h'|6|scr|setMode|MODE_Origin +TY_CSI_PR|DECSET|'h'|7|scr|setMode|MODE_Wrap +TY_CSI_PR|DECSET|'h'|8||| +TY_CSI_PR|DECSET|'h'|9||| +TY_CSI_PR|DECSET|'h'|25|emu|setMode|MODE_Cursor +TY_CSI_PR|DECSET|'h'|47|emu|setMode|MODE_AppScreen +TY_CSI_PR|DECSET|'h'|1000|emu|setMode|MODE_Mouse1000 +TY_CSI_PR|DECSET|'h'|1001||| +TY_CSI_PR|DECSET|'h'|1047|emu|setMode|MODE_AppScreen +TY_CSI_PR|DECSET|'h'|1048|scr|saveCursor| +TY_CSI_PR|DECRST|'l'|1|emu|resetMode|MODE_AppCuKeys +TY_CSI_PR|DECRST|'l'|2|emu|resetMode|MODE_Ansi +TY_CSI_PR|DECRST|'l'|3|emu|setColumns|80 +TY_CSI_PR|DECRST|'l'|4||| +TY_CSI_PR|DECRST|'l'|5|scr|resetMode|MODE_Screen +TY_CSI_PR|DECRST|'l'|6|scr|resetMode|MODE_Origin +TY_CSI_PR|DECRST|'l'|7|scr|resetMode|MODE_Wrap +TY_CSI_PR|DECRST|'l'|8||| +TY_CSI_PR|DECRST|'l'|9||| +TY_CSI_PR|DECRST|'l'|25|emu|resetMode|MODE_Cursor +TY_CSI_PR|DECRST|'l'|47|emu|resetMode|MODE_AppScreen +TY_CSI_PR|DECRST|'l'|1000|emu|resetMode|MODE_Mouse1000 +TY_CSI_PR|DECRST|'l'|1001||| +TY_CSI_PR|DECRST|'l'|1047|emu|resetMode|MODE_AppScreen +TY_CSI_PR|DECRST|'l'|1048|scr|restoreCursor| +TY_CSI_PR|XTESAVE|'s'|1|emu|saveMode|MODE_AppCuKeys +TY_CSI_PR|XTESAVE|'s'|6|scr|saveMode|MODE_Origin +TY_CSI_PR|XTESAVE|'s'|7|scr|saveMode|MODE_Wrap +TY_CSI_PR|XTESAVE|'s'|1000|emu|saveMode|MODE_Mouse1000 +TY_CSI_PR|XTESAVE|'s'|1001||| +TY_CSI_PR|XTERESTORE|'r'|1|emu|restoreMode|MODE_AppCuKeys +TY_CSI_PR|XTERESTORE|'r'|6|scr|restoreMode|MODE_Origin +TY_CSI_PR|XTERESTORE|'r'|7|scr|restoreMode|MODE_Wrap +TY_CSI_PR|XTERESTORE|'r'|1000|emu|restoreMode|MODE_Mouse1000 +TY_CSI_PR|XTERESTORE|'r'|1001||| +TY_VT52__|VT52CUU|'A'||scr|cursorUp|1 +TY_VT52__|VT52CUD|'B'||scr|cursorDown|1 +TY_VT52__|VT52CUF|'C'||scr|cursorRight|1 +TY_VT52__|VT52CUB|'D'||scr|cursorLeft|1 +TY_VT52__|VT52SCSF|'F'||scr|setAndUseCharset|0,'0' +TY_VT52__|VT52SCSG|'G'||scr|setAndUseCharset|0,'B' +TY_VT52__|VT52CUH|'H'||scr|setCursorYX|1,1 +TY_VT52__|VT52RI|'I'||scr|reverseIndex| +TY_VT52__|VT52EDS|'J'||scr|clearToEndOfScreen| +TY_VT52__|VT52EDL|'K'||scr|clearToEndOfLine| +TY_VT52__|VT52CUP|'Y'||scr|setCursorYX|p-31,q-31 +TY_VT52__|VT52REP|'Z'||emu|reportTerminalType| +TY_VT52__|VT52ANSI|'<'||emu|setMode|MODE_Ansi +TY_VT52__|VT52KPAM|'='||emu|setMode|MODE_AppKeyPad +TY_VT52__|VT52KPNM|'>'||emu|resetMode|MODE_AppKeyPad diff --git a/konsole/doc/VT100/db2.pl b/konsole/doc/VT100/db2.pl new file mode 100755 index 000000000..f961e5d31 --- /dev/null +++ b/konsole/doc/VT100/db2.pl @@ -0,0 +1,49 @@ +#!/usr/bin/perl -w + +$ops = "db.trans"; +$src = "../../src/TEScreen.C"; +$res1 = ">TEScreen.p1"; +$res2 = ">TEScreen.p2"; + +open(OPS, $ops) || die "cannot open file '" . $ops . "'."; + +my $tbl = {}; +while (<OPS>) +{ + chop; # strip record separator + my @Fld = split('\|', $_); + if ($Fld[2] && $Fld[2] eq 'scr') + { + $tbl->{$Fld[3]} = 1; + } +} +#foreach $p (sort keys %$tbl) +#{ +# print $p, "\n"; +#} + +open(SRC, $src) || die "cannot open file '" . $src . "'."; +open(RES1, $res1) || die "cannot open file '" . $res1 . "'."; +open(RES2, $res2) || die "cannot open file '" . $res2 . "'."; +my $control = 0; +while (<SRC>) +{ + chop; + if ( /void TEScreen::(.*)\((.*)\)/ && exists $tbl->{$1} ) + { + print RES1 "\n"; + $control = 1; + } + if ($control) + { + print RES1 $_, "\n"; + } + else + { + print RES2 $_, "\n"; + } + if ( /^}$/ ) + { + $control = 0; + } +} diff --git a/konsole/doc/VT100/genDocument b/konsole/doc/VT100/genDocument new file mode 100755 index 000000000..4ecee0996 --- /dev/null +++ b/konsole/doc/VT100/genDocument @@ -0,0 +1,257 @@ +#!/bin/sh +RES=techref.html + +function header +{ +cat << etx >> $RES +<h2> +<table width=100%> +<tr><td align=center bgcolor=#d0d0d0></td></tr> +<tr><td align=center bgcolor=#d0d0d0>$1</td></tr> +<tr><td align=center bgcolor=#d0d0d0></td></tr> +</table> +</h2> +etx +} + +cat > $RES /dev/null + +# -- HTML Header -------------------------------------------------------------------- + +cat >> $RES << etx +<html> +<head> +<title>VT100</title> +<!-- NOTE: this page is generated using the "genDocument" script --> +</head> +<body bgcolor=white> + +<hr> + +etx + +# -- Editors Notes ------------------------------------------------------------------ + +cat >> $RES << etx + +<h1><center>VT100</center></h1> +<center><img src="vt100.gif"></center> + +<it>Please note that this text is under construction.</it> + +<h2>Preface</h2> + +This document accompanies the Konsole program, which is a terminal emulation +for the X Windows System. Since material about the extend and precise semantics +of the emulatation intended to be handled by this programs is hard to find on the +internet today, it came out nessesary to include a more precise specification within +their release. +Hopefully, this helps to clearify the relation to the VT100, VT102, Linux, XTerm +and ansi.sys (ANSI-BBS) terminals, which are the target of these programs. Further, +it specifies which codes are interpreted by them, and what has been omitted. +<p> +To begin with, all of the above call themselfes "ANSI" emulations, which makes this +notion pretty vage. "ANSI" referes here to the American National Standards +Institute's documents X3.41-1974 and X3.64-1977. DEC partially implemented this +standart in their VT100 terminal, with some additions. The VT102 is a later extention +of that. Both the Linux console and the XTerm emulation implement most of VT102, +with some additions. MS stepped in later and produced another ANSI emulation, +<code>ansi.sys</code>, for their OS, which became of some relevance in BBS style +telecommunication programs. One can view this as a small subset of the VT100 +emulation, with some additions, of cause. +This situation is further confused by the fact, that often many versions of the +above terminals and emulations are out, one able to do a little more or less then +the other. +<p> +<hr> +<p> +I'm working towards a +close integration of the konsole's source code with this document, but it +is still a long way to go. +<p> +Currently, the body of this document is mainly a concept data base, that +referes to the VT100 component of the emulation. Though the codes accepted by +konsole are now clearly indicated, a comparison to the xterm and Linux console +emulation is missing. +<p> +The konsole emulation sources is not linked closely with it's documentation, +and, also accurate at the time of writing, it can still fall slightly appart, +though the codes accepted and produced by konsole should be properly listed. +Work is currently in progress to fix this issue. + + + +<h2>Notes & todos</h2> +<ul> +<li>Include complete reference on keyboard material. +<li>Check for explaination of out-of-bound values. +<li>Include VT52, VT102, XTERM, LINUX-console codes +<li>Make the whole document more concept oriented +<li>See the section <em>Method of description</em>, below +<li>Derive some summarizing lists. +</ul> +<hr> +etx + + +# -- Codes -------------------------------------------------------------------------- + +./genTC.pl >> $RES + + +header "On VT100" + +cat >> $RES << etx + +The VT100 is an upward and downward software-compatible terminal; +that is, previous Digital video terminals have Digital's private standards +for control sequences. The American National Standards Institute has since +standardized escape and control sequences in terminals in documents X3.41-1974 +and X3.64-1977. +<p> +The VT100 is compatible with both the previous Digital standard and +ANSI standards. Customers may use existing Digital software designed around +the VT52 or new VT100 software. The VT100 has a "VT52 compatible" mode in +which the VT100 responds to control sequences like a VT52. In this mode, most +of the new VT100 features cannot be used. +<p> +Throughout this document references will be made to "VT52 mode" or +"ANSI mode". These two terms are used to indicate the VT100's software +compatibility. +<p> +<em>NOTE</em>: The ANSI standards allow the manufacturer flexibility in implementing +each function. This document describes how the VT100 will respond to the +implemented ANSI central function. +<p> + +etx + +header "Modes" + +cat >> $RES << etx +<a name=#MODES></a> + + +The Following is a list of VT100 modes which may be changed with Set +Mode (SM) and Reset Mode (RM) controls. + +<h3>ANSI Specified Modes</h3> + +<table border=1> +<tr><td>Parameter</td><td>Mnemonic</td><td>Function</td></tr> +<tr><td><hr></td><td><hr></td><td><hr></td></tr> +<tr><td>0 </td><td> </td><td>Error (Ignored)</td></tr> +<tr><td>20 </td><td>LNM </td><td>Line Feed/New Line Mode</td></tr> +</table> + + +<h3>DEC Private Modes</h3> + +If the first character in the parameter string is ? (077), the +parameters are interpreted as DEC private parameters according to the +following: + +<table border=1> +<tr><td>Parameter</td><td>Mnemonic</td><td>Function +<tr><td><hr></td><td><hr></td><td><hr></td></tr> +<tr><td>0</td><td> </td><td>Error (Ignored)</td></tr> +<tr><td>1</td><td><a href=#DECCKM >DECCKM </a></td><td>Cursor Key </td></tr> +<tr><td>2</td><td><a href=#DECANM >DECANM </a></td><td>ANSI/VT52 </td></tr> +<tr><td>3</td><td><a href=#DECCOLM>DECCOLM</a></td><td>Column </td></tr> +<tr><td>4</td><td><a href=#DECSCLM>DECSCLM</a></td><td>Scrolling </td></tr> +<tr><td>5</td><td><a href=#DECSCNM>DECSCNM</a></td><td>Screen </td></tr> +<tr><td>6</td><td><a href=#DECOM >DECOM </a></td><td>Origin </td></tr> +<tr><td>7</td><td><a href=#DECAWM >DECAWM </a></td><td>Auto Wrap </td></tr> +<tr><td>8</td><td><a href=#DECARM>DECARM </a></td><td>Auto Repeat </td></tr> +<tr><td>9</td><td><a href=#DECINLM>DECINLM</a></td><td>Interlace </td></tr> +</table> + +Any other parameter values are ignored. + +<p> +The following modes, which are specified in the ANSI standard, may be +considered to be permanently set, permanently reset, or not applicable, +as noted. + +<table border=1> +<tr><td>Mnemonic</td><td>Function </td><td>State</td></tr> + +<tr><td>CRM </td><td>Control Representation </td><td>Reset</td></tr> +<tr><td>EBM </td><td>Editing Boundary </td><td>Reset</td></tr> +<tr><td>ERM </td><td>Erasure </td><td>Set </td></tr> +<tr><td>FEAM </td><td>Format Effector Action </td><td>Reset</td></tr> +<tr><td>FETM </td><td>Format Effector Transfer </td><td>Reset</td></tr> +<tr><td>GATM </td><td>Guarded Area Transfer </td><td>NA </td></tr> +<tr><td>HEM </td><td>Horizontal Editing </td><td>NA </td></tr> +<tr><td>IRM </td><td>Insertion-replacement </td><td>Reset</td></tr> +<tr><td>KAM </td><td>Keyboard Action </td><td>Reset</td></tr> +<tr><td>MATM </td><td>Multiple area transfer </td><td>NA </td></tr> +<tr><td>PUM </td><td>Positioning Unit </td><td>Reset</td></tr> +<tr><td>SATM </td><td>Selected Area Transfer </td><td>NA </td></tr> +<tr><td>SRTM </td><td>Status Reporting Transfer</td><td>Reset</td></tr> +<tr><td>TSM </td><td>Tabulation Stop </td><td>Reset</td></tr> +<tr><td>TTM </td><td>Transfer Termination </td><td>NA </td></tr> +<tr><td>VEM </td><td>Vertical Editing </td><td>NA </td></tr> +</table> +etx + +# -- Keyboard Codes ----------------------------------------------------------------- + +cat >> $RES << etx +<h2>Keyboard Codes</h2> + +The notation <ESC> denotes a single ASCII Escape character, 1Bx. + +<table border=1> +<tr> +<td>Cursor Key</td> +<td>VT52 mode</td> +<td>ANSI mode w/cursor <br> key mode reset</td> +<td>ANSI mode w/cursor <br> key mode set</td> +</tr> +<tr><td>UP </td><td><ESC>A</td><td><ESC>[A</td><td><ESC>OA</td></tr> +<tr><td>DOWN </td><td><ESC>B</td><td><ESC>[B</td><td><ESC>OB</td></tr> +<tr><td>RIGHT</td><td><ESC>C</td><td><ESC>[C</td><td><ESC>OC</td></tr> +<tr><td>LEFT </td><td><ESC>D</td><td><ESC>[D</td><td><ESC>OD</td></tr> +</table> +etx + + +# -- Graphics Characters ------------------------------------------------------------ + +cat >> $RES << etx +<h2>Special Graphics Characters</h2> + +If the Special Graphics set is selected, the graphics for ASCII codes +0137 through 0176 will be replaced according to the following table (see the +<a href=#SCS>SCS</a> control sequence). +etx + + +awk -f awk.table.graphic < Table.Graphic >> $RES + + +cat >> $RES << etx +<em>NOTE 1</em>: Codes 0152-0156 and 0164-0170 are used to draw rectangular grids" each +piece of this set is contiguous with other so the lines formed will be +unbroken. +<p> +<em>NOTE 2</em>: Codes 0157-0163 give better vertical resolution than dashes and +underlines when drawing graphs; using these segments, 120 x 132 resolution may +be obtained in 132 column mode with the Advanced Video Option installed. +<p> + +<h2>References</h2> +<p> +<hr> +<small> +This text is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +<p> +<a href="mailto:lars.doelle@on-line.de">Lars Dölle</a>, 1998 +</small> + +</body> +</html> +etx diff --git a/konsole/doc/VT100/genPl.pl b/konsole/doc/VT100/genPl.pl new file mode 100755 index 000000000..0a3bb648e --- /dev/null +++ b/konsole/doc/VT100/genPl.pl @@ -0,0 +1,300 @@ +#!/usr/bin/perl -w +use strict; + +my $source = "Table.Codes"; + +my $html = 1; +my $test = 0; + +# Syntax ----------------------------------------------------------------------- +# +# Dotted.Name Text +# Dotted.Name +# Text +# Lines +# +# The dotted names have to be unique. Conceptually, they form a tree. +# + +# Data Model ------------------------------------------------------------------ + +# This is currently pretty wierd. +# +# Empirically, we have +# +# NAME.head TitleLine +# NAME.emus { EmuName ... } +# NAME.dflt { Number|'ScreenLines' ... } +# NAME.sect DottedWord +# +# NAME.code <Typ>|<Ide>|<Parm> +# NAME.text +# <text with some special tricks> +# NAME.table.TAB +# <"|"-separated head line> +# <"|"-separated data rows> +# +# TABs +# - .XPS, used for instructions with subcodes +# Subcode|Emulation|Scope|Operation|Parameter|Meaning +# - .XEX, used for individual codes +# Instruction|Scope|Operation|Parameter +# +# Alternative +# - .impl Scope|Operation|Parameters +# - .subc.SUBCODE.impl +# - .subc.SUBCODE.attr +# - .subc.SUBCODE.head + +# ----------------------------------------------------------------------------- +# ----------------------------------------------------------------------------- +# Analyze Source -------------------------------------------------------------- +# ----------------------------------------------------------------------------- +# ----------------------------------------------------------------------------- + +my $all = {}; + +my $state = 0; +my $name = ''; +my $value = ''; + +sub parse +{ + sub chkstate + { my ($expect,$lineno,$line) = @_; + if ($state != $expect) + { + print STDERR "$source($lineno): line unexpected in state $state. : $line\n"; + } + } + + sub reduce + { + $all->{$name} = $value; + $state = 0; + $value = ''; + } + + open(CODES, $source) || die "cannot open file '" . $source . "'."; + while (<CODES>) + { + chop; # strip record separator + my @Fld = split(' ', $_); + + if ($#Fld == -1) + { + reduce() if $state != 0; + } + elsif (substr($_, 0, 1) eq '#') + { + ; #ignore + } + elsif (substr($_, 0, 1) eq ' ') + { &chkstate(1,$.,$_); + $value .= ($value eq "" ? "" : "\n") . $_; #FIXME: unchop + } + else + { + reduce() if $state != 0; + $name = $Fld[0]; + if ($#Fld == 0) + { + $state = 1; + } + else + { + $value = join ' ', @Fld[1..$#Fld]; + reduce(); + } + } + } + reduce() if ($state == 1); + chkstate(0,$.,$_); + + return $all; +} + +# ----------------------------------------------------------------------------- +# ----------------------------------------------------------------------------- +# Analyze Source -------------------------------------------------------------- +# ----------------------------------------------------------------------------- +# ----------------------------------------------------------------------------- + +sub clausify +{ + my ($t) = @_; + my $p; + my $word; + foreach $p (keys %$t) + { + my $flag = 0; + print("dict(["); + foreach $word (split('\.', $p)) + { + print(", ") if ($flag); + print("\'$word\'"); + $flag = 1; + } + print("], "); + my @Fld = split('\.', $p); + # + # head + # + if ($#Fld == 1 && $Fld[1] eq 'head') + { + print "\"",$t->{$p},"\""; + } + # + # emus + # + elsif ($#Fld == 1 && $Fld[1] eq 'emus') + { + my $emu; + $flag = 0; + print("["); + foreach $emu (split(' ', $t->{$p})) + { + print ", " if ($flag); + print "\'$emu\'"; + $flag = 1; + } + print("]"); + } + # + # dflt + # + elsif ($#Fld == 1 && $Fld[1] eq 'dflt') + { + my $dflt; + $flag = 0; + print("["); + foreach $dflt (split(' ', $t->{$p})) + { + print ", " if ($flag); + print $dflt if (length($dflt) == 1); + print "\'$dflt\'" if (length($dflt) > 1); + $flag = 1; + } + print("]"); + } + # + # sect + # + elsif ($#Fld == 1 && $Fld[1] eq 'sect') + { + my $sect; + $flag = 0; + print("["); + foreach $sect (split('\.', $t->{$p})) + { + print ", " if ($flag); + print "\'$sect\'"; + $flag = 1; + } + print("]"); + } + # + # code + # + elsif ($#Fld == 1 && $Fld[1] eq 'code') + { + my @Code = split('\|', $t->{$p}); + print("["); + print("\'$Code[0]\', "); + if ($#Code > 0 && $Code[1] ne '') + { + print("\"$Code[1]\", ") if ($Code[0] ne 'CTL'); + printf("%d, ",eval($Code[1])) if ($Code[0] eq 'CTL'); + } + else + { + print("none, ") + } + if ($#Code == 2 && $Code[2] ne '' && $Code[0] ne 'PRN') + { + $_ = $Code[2]; + s/{/['/; + s/}/']/; + s/;/','/g; + s/'([0-9]+)'/$1/g; + print $_; + } + else + { + print "[]"; + } + print("]"); + } + # + # text + # + elsif ($#Fld == 1 && $Fld[1] eq 'text') + { + my $text; + $flag = 0; + print("["); + foreach $text (split('\n', $t->{$p})) + { + print ", " if ($flag); + $_ = $text; + s/^ //; + s/"/\\"/g; + s/\\ref:([A-Z0-9]+)/", ref('$1'), "/g; + print "\n \"$_\"" if ($_ ne '.'); + print "\n nl" if ($_ eq '.'); + $flag = 1; + } + print("]"); + } + # + # table.* - subcodes + # + #elsif ($#Fld == 2 && $Fld[1] eq 'table' && $Fld[2] eq 'XPS') + elsif ($#Fld >= 1 && $Fld[1] eq 'table') + { + my $text; + $flag = 0; + print("["); + foreach $text (split('\n', $t->{$p})) + { + print ",\n " if ($flag); + $_ = $text; + s/^ //; + my $flag2 = 0; + my $col; + print("["); + foreach $col (split('\|', $_)) + { + print ", " if ($flag2); + $_ = $col; + s/'/\\'/g; + print "\'$_\'"; + $flag2 = 1; + } + print("]"); + $flag = 1; + } + print("]"); + } + # + # other (text, tables) + # + else + { + print("other"); + } + print(").\n"); + } +} + +# ----------------------------------------------------------------------------- +# ----------------------------------------------------------------------------- +# MAIN ------------------------------------------------------------------------ +# ----------------------------------------------------------------------------- +# ----------------------------------------------------------------------------- + +my $t = parse(); +my $p; +my $table = 0; + +clausify($t); diff --git a/konsole/doc/VT100/genTC.pl b/konsole/doc/VT100/genTC.pl new file mode 100755 index 000000000..a3a7c5669 --- /dev/null +++ b/konsole/doc/VT100/genTC.pl @@ -0,0 +1,434 @@ +#!/usr/bin/perl -w +use strict; + +my $source = "Table.Codes"; + +my $html = 1; +my $test = 0; + +# Syntax ----------------------------------------------------------------------- +# +# Dotted.Name Text +# Dotted.Name +# Text +# Lines +# +# The dotted names have to be unique. Conceptually, they form a tree. +# + +# Data Model ------------------------------------------------------------------ + +# This is currently pretty wierd. +# +# Empirically, we have +# +# NAME.head <Title Line> +# NAME.attr { lots ... } +# NAME.dflt Value ... +# NAME.code <Typ>|<Ide>|<Parm> +# NAME.text +# <text with some special tricks> +# NAME.table.TAB +# <"|"-separated head line> +# <"|"-separated data rows> +# +# Section.html +# <html-text> +# +# TABs +# - .XPS, used for instructions with subcodes +# Subcode|Emulation|Scope|Operation|Parameter|Meaning + +# ----------------------------------------------------------------------------- +# ----------------------------------------------------------------------------- +# Analyze Source -------------------------------------------------------------- +# ----------------------------------------------------------------------------- +# ----------------------------------------------------------------------------- + +my $all = {}; + +my $state = 0; +my $name = ''; +my $value = ''; + +sub parse +{ + sub chkstate + { my ($expect,$lineno,$line) = @_; + if ($state != $expect) + { + print STDERR "$source($lineno): line unexpected in state $state. : $line\n"; + } + } + + sub reduce + { + $all->{$name} = $value; + $state = 0; + $value = ''; + } + + open(CODES, $source) || die "cannot open file '" . $source . "'."; + while (<CODES>) + { + chop; # strip record separator + my @Fld = split(' ', $_); + + if ($#Fld == -1) + { + reduce() if $state != 0; + } + elsif (substr($_, 0, 1) eq '#') + { + ; #ignore + } + elsif (substr($_, 0, 1) eq ' ') + { &chkstate(1,$.,$_); + $value .= ($value eq "" ? "" : "\n") . $_; #FIXME: unchop + } + else + { + reduce() if $state != 0; + $name = $Fld[0]; + if ($#Fld == 0) + { + $state = 1; + } + else + { + $value = join ' ', @Fld[1..$#Fld]; + reduce(); + } + } + } + reduce() if ($state == 1); + chkstate(0,$.,$_); + + return $all; +} + +# ----------------------------------------------------------------------------- +# ----------------------------------------------------------------------------- +# Html Layout ----------------------------------------------------------------- +# ----------------------------------------------------------------------------- +# ----------------------------------------------------------------------------- + +sub head +{ + if ($html) + { + print "<table>\n"; + print "<tr><td width=10%%><td><td><td><td><td><td width=40%%>\n"; + } +} + +sub tail +{ + if ($html) + { + print "</table>\n"; + } +} + +my $color1 = " bgcolor=\"#D0D0D0\""; # table head // section head +my $color2 = " bgcolor=\"#5BA5B2\""; # table body (even) +my $color3 = " bgcolor=\"#5188B2\""; # table body (odd) +my $color4 = ""; # code, default +my $color5 = ""; # text + +sub txt2Html +{ + my ($Doku) = @_; + $_ = $Doku; + s/</</g; + s/>/>/g; + s/\\ref:([A-Z0-9]+)/<a href=#$1>$1<\/a>/g; + s/\n \.\n/\n <p>\n/g; + return $_; +} + +sub layout +{ my ($Name, $Head, $Code, $Doku, $Dflt, $Attr) = @_; + if ($html) + { + + print "<tr><td><p></td></tr>\n"; + + print "<tr><td $color1><a name=$Name>$Name</a>\n"; + if ($Attr eq '') + { + print " <td $color1 colspan=6><b>$Head</b>\n"; + } + else + { + print " <td colspan=5 $color1><b>$Head</b>\n"; + print " <td $color1>$Attr\n"; + } + + if ($Code ne '') + { + my @Part = split('\|',$Code); + my $Type = $Part[0]; + my $Indi = $#Part > 0 ? $Part[1] : ""; + my $Parm = $#Part > 1 ? $Part[2] : ""; + $Code = $Parm if $Type eq 'PRN'; + $Code = $Indi if $Type eq 'CTL'; + $Code = "ESC $Indi" if $Type eq 'ESC'; + $Code = "0x7f" if $Type eq 'DEL'; + $Code = "ESC # $Indi" if $Type eq 'HSH'; + $Code = "ESC $Parm" if $Type eq 'SCS'; + $Code = "ESC Y $Parm" if $Type eq 'VT5'; + $Code = "ESC [ $Parm $Indi" if $Type eq 'CSI'; + $Code = "ESC [ ? $Parm $Indi" if $Type eq 'PRI'; + print "<tr><td><p></td>\n"; + print "<tr><td>\n"; + print " <td colspan=5 $color4>", codeToHtml($Code), "\n"; + print " <td $color4>Default: $Dflt\n" if ($Dflt ne ''); + } + + print "<tr><td><p></td>\n"; + print "<tr><td></td>\n"; +# $_ = $Doku; +# s/</</g; +# s/>/>/g; +# s/\\ref:([A-Z0-9]+)/<a href=#$1>$1<\/a>/g; +# s/\n \.\n/\n <p>\n/g; + print " <td $color5 colspan=6>"; + print txt2Html($Doku); + print "\n"; + } + if ($test) + { + print "NAME: $Name\n"; + print "TEXT: $Head\n"; + print "CODE: $Code\n"; + print "ATTR: $Attr\n"; + print "DFLT: $Dflt\n"; + # print "DOCU: $Doku\n"; + } +} + +sub codeToHtml +{ my ($code) = @_; + my $res = '<code>'; + foreach (split(' ', $code)) + { + /^\{(.*)\}$/ && do { $res .= " <em>$1</em>"; next; }; + /^<$/ && do { $res .= ' <b><</b>'; next; }; + /^>$/ && do { $res .= ' <b>></b>'; next; }; + $res .= " <b>$_</b>"; + } + return $res . '</code>'; +} + +# ----------------------------------------------------------------------------- + +sub secthead +{ my ($Title) = @_; +print "<h2>\n"; +print "<table width=100%>\n"; +print "<tr><td align=center bgcolor=#d0d0d0></td></tr>\n"; +print "<tr><td align=center bgcolor=#d0d0d0>$Title</td></tr>\n"; +print "<tr><td align=center bgcolor=#d0d0d0></td></tr>\n"; +print "</table>\n"; +print "</h2>\n"; +} + +sub layout2 +{ my ($Name, $Head, $Code) = @_; + my @Part = split('\|',$Code); + my $Type = $#Part > -1 ? $Part[0] : ""; + my $Indi = $#Part > 0 ? $Part[1] : ""; + my $Parm = $#Part > 1 ? $Part[2] : ""; + if ($Type eq 'CTL') + { + $_ = $Indi; + s/0x00/@/; s/0x01/A/; s/0x02/B/; s/0x03/C/; + s/0x04/D/; s/0x05/E/; s/0x06/F/; s/0x07/G/; + s/0x08/H/; s/0x09/I/; s/0x0a/J/; s/0x0b/K/; + s/0x0c/L/; s/0x0d/M/; s/0x0e/N/; s/0x0f/O/; + s/0x10/P/; s/0x11/Q/; s/0x12/R/; s/0x13/S/; + s/0x14/T/; s/0x15/U/; s/0x16/V/; s/0x17/W/; + s/0x18/X/; s/0x19/Y/; s/0x1a/Z/; s/0x1b/[/; + s/0x1c/\\/; s/0x1d/]/; s/0x1e/^/; s/0x1f/_/; + $Indi = $_; + } + print "<tr>\n"; + print "<td $color1><a href=#$Name>$Name</a>\n"; + print "<td $color1>$Type\n"; + print "<td $color1>$Indi\n"; + print "<td $color1>$Parm\n"; + print "<td $color1>$Head\n"; +} + +sub layoutTable +{ + my ($Head, $t, $Include) = @_; + my $p; +print "<tr><td colspan=5><h3>$Head</h3>\n"; +foreach $p (sort keys %$t) +{ + my @Fld = split('\.', $p); + if ($#Fld == 1 && $Fld[1] eq 'head') + { + my $name = $Fld[0]; + my $head = $t->{$p}; + my $attr = exists $t->{"$name.sect"}?$t->{"$name.sect"}:""; + if ($attr =~ /$Include/) + { + layout2( $name, $head, exists $t->{"$name.code"}?$t->{"$name.code"}:""); + } + } +} +} + +sub sortTest +{ + my ($t) = @_; + my $p; + my $s = {}; + my $n = {}; + my $curr = ""; + foreach $p (keys %$t) + { + my @Fld = split('\.', $p); + if ($#Fld == 1 && $Fld[1] eq 'head') + { + my $name = $Fld[0]; + if (exists $t->{"$name.code"}) + { + $s->{$t->{"$name.code"}} = $name; + } + } + } + print "<table>\n"; + foreach $p (sort keys %$s) + { + my $name = $s->{$p}; + my @Fld = split('\|', $p); + if ($Fld[0] ne $curr) + { + print "<tr><td colspan=5><h3>$Fld[0] codes</h3>\n"; + } + $curr = $Fld[0]; + layout2($name,$t->{"$name.head"},$p); + } + print "</table>\n"; +} + +sub htmlsect +{ + my ($h) = @_; + $_ = $all->{"$h.html"}; + s/\n \.\n/\n <p>\n/g; + print "$_\n"; +} + +# ----------------------------------------------------------------------------- +# ----------------------------------------------------------------------------- +# MAIN ------------------------------------------------------------------------ +# ----------------------------------------------------------------------------- +# ----------------------------------------------------------------------------- + +my $t = parse(); +my $p; +my $table = 0; + +# ------------------------------- +htmlsect("Introduction"); +# ------------------------------- +secthead("Control Sequences"); +htmlsect("Sequences"); +# ------------------------------- +secthead("Host to Terminal (Instructions by Code)"); +sortTest($t); +# ------------------------------- +secthead("Host to Terminal (Instructions by Group)"); +htmlsect("Operations"); +print "<table>\n"; +layoutTable("Commands (Character Display Operation)",$t,"Command\.Display"); +layoutTable("Commands (Rendition related status)",$t,"Command\.RenderMode"); +layoutTable("Commands (Cursor)",$t,"Command\.Cursor"); +layoutTable("Commands (Cursor related status)",$t,"Command\.CursMode"); +layoutTable("Commands (Edit)",$t,"Command\.Erase|Command\.Insert|Command.\Delete"); +layoutTable("Commands (Miscellaneous)",$t,"Command[^.]|Command\$"); +layoutTable("Commands (General mode setting)",$t,"Command\.SetMode"); +layoutTable("Commands (Miscellaneous status)",$t,"Command\.Mode"); +layoutTable("Commands (VT52)",$t,"Command\.VT52"); +layoutTable("Commands (Not implemented)",$t,"Command\.NoImp"); +layoutTable("Commands (Ignored)",$t,"Command\.Ignored"); +layoutTable("Commands (Requests)",$t,"Command\.Request"); +print "</table>\n"; +# ------------------------------- +secthead("Terminal to Host"); +print "<table>\n"; +layoutTable("Replies",$t,"Reply"); +layoutTable("Events",$t,"Event"); +# ------------------------------- +print "</table>\n"; +secthead("Modes"); +print "<table>\n"; +layoutTable("Modes",$t,"Mode"); +#print "<h3>Other Codes</h3>\n"; +print "</table>\n"; +# ------------------------------- +secthead("Appendix A - Notion Details"); +htmlsect("ConceptDB"); +# ------------------------------- + +head(); +foreach $p (sort keys %$t) +{ + my @Fld = split('\.', $p); + if ($#Fld == 1 && $Fld[1] eq 'head') + { +# print "</table>\n" if ($table); + my $name = $Fld[0]; + my $head = $t->{$p}; + layout( $name, $head, + exists $t->{"$name.code"}?$t->{"$name.code"}:"", + exists $t->{"$name.text"}?$t->{"$name.text"}:"", + exists $t->{"$name.dflt"}?$t->{"$name.dflt"}:"", + exists $t->{"$name.emus"}?$t->{"$name.emus"}:"" ); + $table = 0; + } + if ($html && $#Fld == 2 && $Fld[1] eq 'table') + { + my $lines = $t->{$p}; + my $line; + my $field; + my @fldspan = (); + my $ln = 0; + print "<tr><td><p></td></tr>\n"; +# print "<tr><td $color1>$Fld[2]</td><td $color1>Meaning</td></tr>\n"; + foreach $line (split('\n', $lines)) + { + my $fn = 0; + @fldspan = split('\|',$line) if ($ln == 0); + print "<tr>\n"; + print "<td></td>\n"; + foreach $field (split('\|',$line)) + { + if ($ln == 0) + { + my @Parts = split(":",$field); + $field = $Parts[0]; + $fldspan[$fn] = ($#Parts > 0) ? $Parts[1] : 1; + } + print "<td"; + printf(" colspan=%s",$fldspan[$fn]); + print " $color1" if ($ln == 0); + print " $color2" if ($ln > 0 && $ln % 2 == 0); + print " $color3" if ($ln > 0 && $ln % 2 == 1); + print ">"; + print txt2Html($field); + print "</td>"; + $fn += 1; + } + print "</tr>\n"; + $ln += 1; + } + $table = 1; + } +} +tail(); diff --git a/konsole/doc/VT100/konsole1.gif b/konsole/doc/VT100/konsole1.gif Binary files differnew file mode 100644 index 000000000..832c2dc65 --- /dev/null +++ b/konsole/doc/VT100/konsole1.gif diff --git a/konsole/doc/VT100/konsole2.gif b/konsole/doc/VT100/konsole2.gif Binary files differnew file mode 100644 index 000000000..eb2cdb4d0 --- /dev/null +++ b/konsole/doc/VT100/konsole2.gif diff --git a/konsole/doc/VT100/t.pl b/konsole/doc/VT100/t.pl new file mode 100755 index 000000000..b0d9dc8e5 --- /dev/null +++ b/konsole/doc/VT100/t.pl @@ -0,0 +1,17 @@ +#!/usr/bin/perl + +# This script is here only as a pattern for maintainance works. +# It has changing contents and is of no use to anyone but me. + +$source = "Table.Codes"; + +open(CODES, $source) || die "cannot open file '" . $source . "'."; + +while (<CODES>) +{ + if (/^attr/) + { + s/VT100/VT100 ANSI/ if (!/DEC/); + } + print $_; +} diff --git a/konsole/doc/VT100/techref.html b/konsole/doc/VT100/techref.html new file mode 100644 index 000000000..6e36f39e5 --- /dev/null +++ b/konsole/doc/VT100/techref.html @@ -0,0 +1,4681 @@ +<html> +<head> +<title>VT100</title> +<!-- NOTE: this page is generated using the "genDocument" script --> +</head> +<body bgcolor=white> + +<hr> + + +<h1><center>VT100</center></h1> +<center><img src="vt100.gif"></center> + +<it>Please note that this text is under construction.</it> + +<h2>Preface</h2> + +This document accompanies the Konsole program, which is a terminal emulation +for the X Windows System. Since material about the extend and precise semantics +of the emulatation intended to be handled by this programs is hard to find on the +internet today, it came out nessesary to include a more precise specification within +their release. +Hopefully, this helps to clearify the relation to the VT100, VT102, Linux, XTerm +and ansi.sys (ANSI-BBS) terminals, which are the target of these programs. Further, +it specifies which codes are interpreted by them, and what has been omitted. +<p> +To begin with, all of the above call themselfes "ANSI" emulations, which makes this +notion pretty vage. "ANSI" referes here to the American National Standards +Institute's documents X3.41-1974 and X3.64-1977. DEC partially implemented this +standart in their VT100 terminal, with some additions. The VT102 is a later extension +of that. Both the Linux console and the XTerm emulation implement most of VT102, +with some additions. MS stepped in later and produced another ANSI emulation, +<code>ansi.sys</code>, for their OS, which became of some relevance in BBS style +telecommunication programs. One can view this as a small subset of the VT100 +emulation, with some additions, of cause. +This situation is further confused by the fact, that often many versions of the +above terminals and emulations are out, one able to do a little more or less then +the other. +<p> +<hr> +<p> +I'm working towards a +close integration of the konsole's source code with this document, but it +is still a long way to go. +<p> +Currently, the body of this document is mainly a concept data base, that +referes to the VT100 component of the emulation. Though the codes accepted by +konsole are now clearly indicated, a comparison to the xterm and Linux console +emulation is missing. +<p> +The konsole emulation sources is not linked closely with it's documentation, +and, also accurate at the time of writing, it can still fall slightly appart, +though the codes accepted and produced by konsole should be properly listed. +Work is currently in progress to fix this issue. + + + +<h2>Notes & todos</h2> +<ul> +<li>Include complete reference on keyboard material. +<li>Check for explaination of out-of-bound values. +<li>Include VT52, VT102, XTERM, LINUX-console codes +<li>Make the whole document more concept oriented +<li>See the section <em>Method of description</em>, below +<li>Derive some summarizing lists. +</ul> +<hr> + <h2>Introduction</h2> + <p> + In a traditional UNIX installation a single machine (host) served + several users by means of terminals attached to this host by a serial + cable. These terminals (end points) where specialized devices, either + regular ttys (printer with keyboard) or later more sophisticated + things with cathode ray tubes. + <p> + <center><img src="konsole2.gif"></center> + <p> + Today, hardware has become so cheap, that each single user could + be provided with a complete host/display combination for the former + price of a terminal. + <p> + Additional, and here we come to the X in the emulation, display + devices have become graphical while the original terminal where + only able to show characters but not graphics. + <p> + To allow programs designed for the original configuration to be + used in the contemporary setup, "terminal emulations" where invented. + In these emulations, the whole original setup is simulated. + <p> + The serial cable is folded into the operating system as a sort of + loop back device, and a program, the terminal emulation, uses modern + means of graphical user interfaces to behave like an earlier terminal. + To complete the picture, the host in the diagram is replaced by the + application that runs in the emulation (typically a shell or an old + editor). So, terminal emulations are in fact interfaces to character + oriented applications. + <p> + This document describes the implementations of a program named + "konsole", which is such an X terminal emulation. Since konsole + is distributed under the GPL, meaning that it's source code is + available to whoever likes to hack on it, the program would be + incomplete without a proper introduction into the code and it's + concepts. Thus, this text is to complement the program and the + source with the remaining informations to make a complete product. + <p> + <h2>A first refinement</h2> + <p> + Before we can come to the actual implementation, quite some + notions have to be introduced. We have to get us an idea what + a terminal emulation does in more detail. + <p> + To this end, a simple model of the terminal and it's operation + is given, which is later extended and refined as we come deeper + into matter and implementation. + <p> + At some level conception, a terminal can be described as a + (abstract) data model. This means it has some type of state + together with operations on that data type. These operations + are somehow encoded to be passed over the serial line. + <p> + The concrete model is often loosely named the "emulation", + the specific encoding chosen, the "protocol". + <p> + There are two principle models in use. The first, stream like + one, which is related to a tty, consideres the terminal as an + indefinit long and wide sheet of paper on which a printer head + types the characters that come in over the line. Typical examples + are shell scripts, make and other programs producing sequential + protocols of their activity. Their basic data type is a list of + list of characters. + <p> + The second principle model is used by applications written + especially for crt devices, so called full screen applications. + These treat the terminal as a matrix of characters where each + position can be individually addressed and written to. Typical + representatives are full screen editors like vi and emacs, + file managers like mc and mail readers like mutt. + <p> + Though the second model is newer, it's age does not imply a + preference. To the contrary, both models have a right for their + own and are both to be supported. The first model is fully + expressed within konsole in form of it's ref:history buffer. + <p> + Note, that although the second model definitely build on the + first one in almost any respect, it cannot fully express it, + since it introduces a finite line length, while the first + model works with indefinite lines. + <p> + Since application with both view of things are typically run + within the same session, some effort has been made within + konsole to maintain both ideas simultaniously, but only with + limited success so far. + <p> + In both models, the notion of a current position (historically + a printer's head, nowadays visualized by a cursor) is present. + "Printing" a character at the current position and advancing + the head together with the starting a new line are the most + fundamental operations of the emulation. + <p> + The full screen model basically adds the possibility to position + the cursor and to overwrite and clear the screen. + <p> + A plethora of additional (more or less useful) commands are + then added on this by every specific emulation, see below for + the awful details. + <p> + <!-- BEGIN: new section about the codes --> + <h2>Parts of the model</h2> + <p> + <it>All the following in this section is an outline</it>. + <p> + Parts of the terminal description + <ul> + <li>State + <br>This is mainly the screen, the cursor (including it's graphical state) + and some hidden mode variables. Note that the state cannot be investigated + by the attached host. + <li>Interface + <br>That's what goes over the wire. Beside being related to objects, this + appears so closely related to contemporal process communication, that + it might be discussed in likely terms. + <br>We have information flowing in both directions. On could destinguist + between: + <li>Commands + <br>These are "calls" of the terminals interface by the host which cause + some change of the terminals state, but do not end in a response. + <li>Requests + <br>These are "calls" of the terminals interface by the host which do not cause + any change of the terminals state, but end in a response of the terminal. + Clearly, requests are somehow used to investigate the state of the terminal. + <li>Events + <br>These are signals from the terminal caused by the user affecting the + mouse or keyboard to the host. + <li>Replys + <br>These are send by the terminal as a result of a Request from the hosts. + <li>Encoding/Decoding + </ul> +<h2> +<table width=100%> +<tr><td align=center bgcolor=#d0d0d0></td></tr> +<tr><td align=center bgcolor=#d0d0d0>Control Sequences</td></tr> +<tr><td align=center bgcolor=#d0d0d0></td></tr> +</table> +</h2> + Conceptually, the commands to the terminal emulation are encoded if form + of byte sequences to meet the restrictions of the transport media. These + sequences have pretty different originations and therefore the format of + the sequences are inhomogenous. + <p> + Refering both to their origin and form, one can group the overall encoding + schemes as follows: + <p> + <table> + <tr><td width=20% bgcolor=#d0d0d0>Name</td><td width=20% bgcolor=#d0d0d0>Pattern</td><td bgcolor=#d0d0d0>Scope</td><td bgcolor=#d0d0d0>Comment</td></tr> + <tr><td>Printable Ascii Characters</td><td>32..126</td><td>ASCII ECMA</td> + <td>This is the most original pattern of all. The characters to be + displayed are passed over the chanel and are interpreted by the + terminal (emulation) as instructions to display the corresponding + glyph of the ascii character set. Contempory emulations include the + upper half (128..255) of the extentions to the national ascii character + sets, also.</td></tr> + <tr><td>Ascii Control Characters</td><td>0..26,28..31,127</td><td>ASCII ECMA</td> + <td>Ascii defines some non-printable, but format effecting characters, too. + Depending on the emulation, at least some of them are given a meaning. + The typically implemented ones are those that are handled by a teletype + like device.</td></tr> + <tr><td>Simple Escape Sequence</td><td><b>ESC</b> <i>C</i></td><td>ECMA</td> + <td>These sequences are made up from an <b>ESC</b> character followed by + exactly one other character in the range ???..???.</td></tr> + <tr><td>CSI Sequence</td> + <td><b>ESC</b> <b>[</b> <i>Parameters</i> {<i>I</i>} <i>C</i></td> + <td>ECMA</td> + <td></td></tr> + <tr><td colspan=4> + <p> + The remaining codes are nonstandard but traditionalized hacks. + <p> + </td></tr> + <tr><td>DEC hacks</td> + <td><b>ESC</b> <i>C</i> <i>D</i></td> + <td>VT100</td> + <td></td></tr> + <tr><td>XTERM hacks</td> + <td><b>ESC ]</b> <i>Pn</i> <b>;</b> <i>text</i> <b>BEL</b></td> + <td>XTERM</td> + <td></td> + <tr><td colspan=4> + <p> + VT52 uses a different (incompatible) set of escape codes. VT100 includes + the VT52 emulation as a mode. + <p> + </td></tr> + </tr> + <tr><td>Simple Escape Sequence</td><td><b>ESC</b> <i>C</i></td><td>VT52</td> + <td></td></tr> + <tr><td>Complex Escape Sequence</td><td><b>ESC</b> <b>Y</b> <i>X</i> <i>Y</i></td><td>VT52</td> + <td></td></tr> + <p> + </table> + <p> + <h3>More on Control Sequences</h3> + <p> + <h4>Control Characters</h4> + <p> + Control characters (codes 0x00 - 0x1f inclusive) are specifically excluded + from the control sequence syntax, but may be embedded within a control + sequence. Embedded control characters are executed as soon as they are + encountered by a VT100. The processing of the control sequence then + continues with the next character received. The exceptions are: + if the <a href=#ESC>ESC</a> character occurs, the current control sequence + is aborted, and a new one commences beginning with the <a href=#ESC>ESC</a> + just received. If the character <a href=#CAN>CAN</a> (0x0c) or the + character <a href=#SUB>SUB</a> (0x0e) occurs, + the current control sequence is aborted. The ability to embed control + characters allows the synchronization characters XON and XOFF to be + interpreted properly without affecting the control sequence. + <p> + <p> + <h4>CSI Sequences</h4> + <p> + <dl> + <dt>Control Sequence Introducer (CSI): + <dd>An escape sequence that provides + supplementary controls and is itself a prefix affecting the + interpretation of a limited number of contiguous characters. + In the VT100, the CSI is: <ESC>[ + <p> + <dt>Parameter: + <dd>1. A string of zero or more decimal characters which + represent a single value. Leading zeros are ignored. The + decimal characters have a range of 0 (060) to 9 (071). + <br>2. The value so represented. + <p> + <dt>Numeric Parameter: + <dd>A parameter that represents a number, designated by Pn. + <p> + <dt>Selective Parameter: + <dd>A parameter that selects a subfunction from a + specified set of subfunctions, designated by Ps. In general, a + control sequence with more than one selective parameter causes + the same effect as several control sequences, each with one + selective parameter, e.g., CSI Psa; Psb; Psc F is identical to + CSI Psa F CSI Psb F CSI Psc F. + <p> + <dt>Parameter String: + <dd>A string of parameters separated by a semicolon. + <p> + <dt>Default: + <dd> A function-dependent value that is assumed when no explicit + value, or a value of 0, is specified. + <p> + <dt>Final character: + <dd>A character whose bit combination terminates an escape or control sequence. + </dl> + <p> + <em>EXAMPLE</em>: Control sequence to turn off all character attributes, then + turn on underscore and blink attributes (<a href=#SGR>SGR</a>). + <p> + <center><img src="konsole1.gif"></center> + <p> + The octal representation of this string is: + <pre> + 033 0133 060 073 064 073 065 0155 + <ESC> [ 0 ; 4 ; 5 m + </pre> + <p> + Alternate sequences which will accomplish the same thing: + <p> + <ul> + <li><code><ESC>[;4;m </code> + <li><code><ESC>[m </code> + <br><code><ESC>[4m </code> + <br><code><ESC>[5m </code> + <li><code><ESC>[0;04;005m</code> + </ul> + <p> + <h4>DEC hacks</h4> + <p> + These form two groups of commands. + <p> + In one first the first character is a hash (<em>#</em>) and the following a digit. + This command group is used to denote VT100 specific instructions and can + safely be sonsidered to be obsolete. See + <a href=#DECALN>DECALN</a>, + <a href=#DECDHLB>DECDHLB</a>, + <a href=#DECDHLT>DECDHLT</a>, + <a href=#DECDWL>DECDWL</a> and + <a href=#DECSWL>DECSWL</a>. + <p> + The second one is used to specify character set mappings (see <a + href=#SCS>SCS</a>). A CSI instruction to do this is specified in ECMA, + and this should be used as a replacement. + <p> + <h4>XTERM hacks</h4> +<h2> +<table width=100%> +<tr><td align=center bgcolor=#d0d0d0></td></tr> +<tr><td align=center bgcolor=#d0d0d0>Host to Terminal (Instructions by Code)</td></tr> +<tr><td align=center bgcolor=#d0d0d0></td></tr> +</table> +</h2> +<table> +<tr><td colspan=5><h3>CSI codes</h3> +<tr> +<td bgcolor="#D0D0D0"><a href=#ICH>ICH</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">@ +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Insert Character +<tr> +<td bgcolor="#D0D0D0"><a href=#CUU>CUU</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">A +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Cursor Up +<tr> +<td bgcolor="#D0D0D0"><a href=#CUD>CUD</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">B +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Cursor Down +<tr> +<td bgcolor="#D0D0D0"><a href=#CUF>CUF</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">C +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Cursor Foreward +<tr> +<td bgcolor="#D0D0D0"><a href=#CUB>CUB</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">D +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Cursor Backward +<tr> +<td bgcolor="#D0D0D0"><a href=#CHA>CHA</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">G +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Cursor Horizontal Absolute +<tr> +<td bgcolor="#D0D0D0"><a href=#CUP>CUP</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">H +<td bgcolor="#D0D0D0">{Pn;Pn} +<td bgcolor="#D0D0D0">Cursor Position +<tr> +<td bgcolor="#D0D0D0"><a href=#ED>ED</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">J +<td bgcolor="#D0D0D0">{Ps} +<td bgcolor="#D0D0D0">Erase in Display +<tr> +<td bgcolor="#D0D0D0"><a href=#EL>EL</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">K +<td bgcolor="#D0D0D0">{Ps} +<td bgcolor="#D0D0D0">Erase in Line +<tr> +<td bgcolor="#D0D0D0"><a href=#IL>IL</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">L +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Insert Line +<tr> +<td bgcolor="#D0D0D0"><a href=#DL>DL</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">M +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Delete Line +<tr> +<td bgcolor="#D0D0D0"><a href=#DCH>DCH</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">P +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Delete Character +<tr> +<td bgcolor="#D0D0D0"><a href=#CPR>CPR</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">R +<td bgcolor="#D0D0D0">{Pn;Pn} +<td bgcolor="#D0D0D0">Cursor Position Report +<tr> +<td bgcolor="#D0D0D0"><a href=#ECH>ECH</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">X +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Erase Character +<tr> +<td bgcolor="#D0D0D0"><a href=#DA>DA</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">c +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Device Attributes Request +<tr> +<td bgcolor="#D0D0D0"><a href=#VPA>VPA</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">d +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Vertical Position Absolute +<tr> +<td bgcolor="#D0D0D0"><a href=#HVP>HVP</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">f +<td bgcolor="#D0D0D0">{Pn;Pn} +<td bgcolor="#D0D0D0">Horizontal and Vertical Position +<tr> +<td bgcolor="#D0D0D0"><a href=#TBC>TBC</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">g +<td bgcolor="#D0D0D0">{Ps} +<td bgcolor="#D0D0D0">Tabulation Clear +<tr> +<td bgcolor="#D0D0D0"><a href=#SM>SM</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">h +<td bgcolor="#D0D0D0">{Ps;...} +<td bgcolor="#D0D0D0">Set Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#MC>MC</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">i +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Media Copy +<tr> +<td bgcolor="#D0D0D0"><a href=#RM>RM</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">l +<td bgcolor="#D0D0D0">{Ps;...} +<td bgcolor="#D0D0D0">Reset Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#SGR>SGR</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">m +<td bgcolor="#D0D0D0">{Ps;...} +<td bgcolor="#D0D0D0">Select Graphic Rendition +<tr> +<td bgcolor="#D0D0D0"><a href=#DSRREQ>DSRREQ</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">n +<td bgcolor="#D0D0D0">{Ps} +<td bgcolor="#D0D0D0">Device Status Report +<tr> +<td bgcolor="#D0D0D0"><a href=#DSRREP>DSRREP</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">n +<td bgcolor="#D0D0D0">{Status} +<td bgcolor="#D0D0D0">Device Status Report Reply +<tr> +<td bgcolor="#D0D0D0"><a href=#DECLL>DECLL</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">q +<td bgcolor="#D0D0D0">{Ps;...} +<td bgcolor="#D0D0D0">Load LEDs +<tr> +<td bgcolor="#D0D0D0"><a href=#DECSTBM>DECSTBM</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">r +<td bgcolor="#D0D0D0">{Pn;Pn} +<td bgcolor="#D0D0D0">Set Top and Bottom Margins +<tr> +<td bgcolor="#D0D0D0"><a href=#DECREQTPARM>DECREQTPARM</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">x +<td bgcolor="#D0D0D0">{Ps} +<td bgcolor="#D0D0D0">Request Terminal Parameters +<tr> +<td bgcolor="#D0D0D0"><a href=#DECREPTPARM>DECREPTPARM</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">x +<td bgcolor="#D0D0D0">{sol;par;nbits;xspd;rspd;cmul;flags} +<td bgcolor="#D0D0D0">Report Terminal Parameters +<tr> +<td bgcolor="#D0D0D0"><a href=#DECTST>DECTST</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">y +<td bgcolor="#D0D0D0">{2;Ps} +<td bgcolor="#D0D0D0">Invoke Confidence Test +<tr><td colspan=5><h3>CTL codes</h3> +<tr> +<td bgcolor="#D0D0D0"><a href=#NUL>NUL</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">@ +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Null +<tr> +<td bgcolor="#D0D0D0"><a href=#SOH>SOH</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">A +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Start Of Heading +<tr> +<td bgcolor="#D0D0D0"><a href=#STX>STX</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">B +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Start Of Text +<tr> +<td bgcolor="#D0D0D0"><a href=#ETX>ETX</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">C +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">End Of Text +<tr> +<td bgcolor="#D0D0D0"><a href=#EOT>EOT</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">D +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">End Of Transmission +<tr> +<td bgcolor="#D0D0D0"><a href=#ENQ>ENQ</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">E +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Enquiry +<tr> +<td bgcolor="#D0D0D0"><a href=#ACK>ACK</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">F +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Acknowledge +<tr> +<td bgcolor="#D0D0D0"><a href=#BEL>BEL</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">G +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Bell +<tr> +<td bgcolor="#D0D0D0"><a href=#BS>BS</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">H +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Back Space +<tr> +<td bgcolor="#D0D0D0"><a href=#HT>HT</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">I +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Horizontal Tabulation +<tr> +<td bgcolor="#D0D0D0"><a href=#LF>LF</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">J +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Line Feed +<tr> +<td bgcolor="#D0D0D0"><a href=#VT>VT</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">K +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Vertical Tabulation +<tr> +<td bgcolor="#D0D0D0"><a href=#FF>FF</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">L +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Form Feed +<tr> +<td bgcolor="#D0D0D0"><a href=#CR>CR</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">M +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Carriage Return +<tr> +<td bgcolor="#D0D0D0"><a href=#LS0>LS0</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">N +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Lock Shift Zero (Shift Out - SO) +<tr> +<td bgcolor="#D0D0D0"><a href=#LS1>LS1</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">O +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Lock Shift One (Shift In - SI) +<tr> +<td bgcolor="#D0D0D0"><a href=#DLE>DLE</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">P +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Data Link Escape +<tr> +<td bgcolor="#D0D0D0"><a href=#DC1>DC1</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">Q +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Device Control One +<tr> +<td bgcolor="#D0D0D0"><a href=#DC2>DC2</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">R +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Device Control Two +<tr> +<td bgcolor="#D0D0D0"><a href=#DC3>DC3</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">S +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Device Control Three +<tr> +<td bgcolor="#D0D0D0"><a href=#DC4>DC4</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">T +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Device Control Four +<tr> +<td bgcolor="#D0D0D0"><a href=#NAK>NAK</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">U +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Negative Acknowledge +<tr> +<td bgcolor="#D0D0D0"><a href=#SYN>SYN</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">V +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Synchronous Idle +<tr> +<td bgcolor="#D0D0D0"><a href=#ETB>ETB</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">W +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">End Of Transmission Block +<tr> +<td bgcolor="#D0D0D0"><a href=#CAN>CAN</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">X +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Cancel +<tr> +<td bgcolor="#D0D0D0"><a href=#EM>EM</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">Y +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">End Of Medium +<tr> +<td bgcolor="#D0D0D0"><a href=#SUB>SUB</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">Z +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Substitute +<tr> +<td bgcolor="#D0D0D0"><a href=#ESC>ESC</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">[ +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Escape +<tr> +<td bgcolor="#D0D0D0"><a href=#FS>FS</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">\ +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">File Separator (IS4 - Information Separator Four) +<tr> +<td bgcolor="#D0D0D0"><a href=#GS>GS</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">] +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Group Separator (IS3 - Information Separator Three) +<tr> +<td bgcolor="#D0D0D0"><a href=#RS>RS</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">^ +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Record Separator (IS2 - Information Separator Two) +<tr> +<td bgcolor="#D0D0D0"><a href=#US>US</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">_ +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Unit Separator (IS1 - Information Separator One) +<tr><td colspan=5><h3>DEL codes</h3> +<tr> +<td bgcolor="#D0D0D0"><a href=#DEL>DEL</a> +<td bgcolor="#D0D0D0">DEL +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Delete Character +<tr><td colspan=5><h3>ESC codes</h3> +<tr> +<td bgcolor="#D0D0D0"><a href=#DECSC>DECSC</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">7 +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Save Cursor +<tr> +<td bgcolor="#D0D0D0"><a href=#DECRC>DECRC</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">8 +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Restore Cursor +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52ANSI>VT52ANSI</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">< +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">VT52 ANSI Ansi Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52KPAM>VT52KPAM</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">= +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">VT52 Enter alternate keypad mode +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52KPNM>VT52KPNM</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">VT52 Exit alternate keypad mode +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52CUU>VT52CUU</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">A +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">VT52 Cursor Up +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52CUD>VT52CUD</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">B +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">VT52 Cursor Down +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52CUF>VT52CUF</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">C +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">VT52 Cursor Forward +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52CUB>VT52CUB</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">D +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">VT52 Cursor Back +<tr> +<td bgcolor="#D0D0D0"><a href=#NEL>NEL</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">E +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Next Line +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52SCSF>VT52SCSF</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">F +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">VT52 Select special graphics character set +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52SCSG>VT52SCSG</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">G +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">VT52 Select ASCII character set +<tr> +<td bgcolor="#D0D0D0"><a href=#HTS>HTS</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">H +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Horizontal Tab Set +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52RI>VT52RI</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">I +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">VT52 Reverse Index +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52EDS>VT52EDS</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">J +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">VT52 Clear To End Of Screen +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52EDL>VT52EDL</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">K +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">VT52 Clear To End Of Line +<tr> +<td bgcolor="#D0D0D0"><a href=#RI>RI</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">M +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Reverse Index +<tr> +<td bgcolor="#D0D0D0"><a href=#DECID>DECID</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">Z +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Identify Terminal +<tr> +<td bgcolor="#D0D0D0"><a href=#RIS>RIS</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">c +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Reset to Initial State +<tr> +<td bgcolor="#D0D0D0"><a href=#LS2>LS2</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">n +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Lock Shift Two +<tr> +<td bgcolor="#D0D0D0"><a href=#LS3>LS3</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">o +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Lock Shift Three +<tr><td colspan=5><h3>HSH codes</h3> +<tr> +<td bgcolor="#D0D0D0"><a href=#DECDHLT>DECDHLT</a> +<td bgcolor="#D0D0D0">HSH +<td bgcolor="#D0D0D0">3 +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Double Height Line (Top) +<tr> +<td bgcolor="#D0D0D0"><a href=#DECDHLB>DECDHLB</a> +<td bgcolor="#D0D0D0">HSH +<td bgcolor="#D0D0D0">4 +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Double Height Line (Bottom) +<tr> +<td bgcolor="#D0D0D0"><a href=#DECSWL>DECSWL</a> +<td bgcolor="#D0D0D0">HSH +<td bgcolor="#D0D0D0">5 +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Single-width Line +<tr> +<td bgcolor="#D0D0D0"><a href=#DECDWL>DECDWL</a> +<td bgcolor="#D0D0D0">HSH +<td bgcolor="#D0D0D0">6 +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Double Width Line +<tr> +<td bgcolor="#D0D0D0"><a href=#DECALN>DECALN</a> +<td bgcolor="#D0D0D0">HSH +<td bgcolor="#D0D0D0">8 +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Screen Alignment Display +<tr><td colspan=5><h3>PRI codes</h3> +<tr> +<td bgcolor="#D0D0D0"><a href=#DECDA>DECDA</a> +<td bgcolor="#D0D0D0">PRI +<td bgcolor="#D0D0D0">c +<td bgcolor="#D0D0D0">{1;Pn} +<td bgcolor="#D0D0D0">Device Attributes Reply +<tr> +<td bgcolor="#D0D0D0"><a href=#DECSET>DECSET</a> +<td bgcolor="#D0D0D0">PRI +<td bgcolor="#D0D0D0">h +<td bgcolor="#D0D0D0">{Ps;...} +<td bgcolor="#D0D0D0">DEC Private Set Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#DECRST>DECRST</a> +<td bgcolor="#D0D0D0">PRI +<td bgcolor="#D0D0D0">l +<td bgcolor="#D0D0D0">{Ps;...} +<td bgcolor="#D0D0D0">DEC Private Reset Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#XTERESTORE>XTERESTORE</a> +<td bgcolor="#D0D0D0">PRI +<td bgcolor="#D0D0D0">r +<td bgcolor="#D0D0D0">{Ps;...} +<td bgcolor="#D0D0D0">XTerm Private Restore Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#XTESAVE>XTESAVE</a> +<td bgcolor="#D0D0D0">PRI +<td bgcolor="#D0D0D0">s +<td bgcolor="#D0D0D0">{Ps;...} +<td bgcolor="#D0D0D0">XTerm Private Save Mode +<tr><td colspan=5><h3>PRN codes</h3> +<tr> +<td bgcolor="#D0D0D0"><a href=#PRINT>PRINT</a> +<td bgcolor="#D0D0D0">PRN +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">{0x20..0x7e,0xa0..0xff} +<td bgcolor="#D0D0D0">Printable Characters +<tr><td colspan=5><h3>SCS codes</h3> +<tr> +<td bgcolor="#D0D0D0"><a href=#SCS>SCS</a> +<td bgcolor="#D0D0D0">SCS +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">{Pc;Cs} +<td bgcolor="#D0D0D0">Select Character Set +<tr><td colspan=5><h3>VT5 codes</h3> +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52CUP>VT52CUP</a> +<td bgcolor="#D0D0D0">VT5 +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">{X;Y} +<td bgcolor="#D0D0D0">VT52 Cursor Position +</table> +<h2> +<table width=100%> +<tr><td align=center bgcolor=#d0d0d0></td></tr> +<tr><td align=center bgcolor=#d0d0d0>Host to Terminal (Instructions by Group)</td></tr> +<tr><td align=center bgcolor=#d0d0d0></td></tr> +</table> +</h2> + <p> + <ul> + <li>Host to Terminal (Commands,Requests) + <ul> + <li>Commands + <ul> + <li>Character Display Operation + <li>Rendition related status + <li>Cursor + <li>Cursor related status + <li>Edit + <li>Miscellaneous + <li>General mode setting + <li>Miscellaneous status + <li>VT52 + <li>Not implemented + <li>Ignored + </ul> + <li>Requests + </ul> + <li>Terminal to Host (Replies, Events) + <ul> + <li>Replies + <li>Events + </ul> + <li>Modes + <ul> + <li>Modes + </ul> + </ul> +<table> +<tr><td colspan=5><h3>Commands (Character Display Operation)</h3> +<tr> +<td bgcolor="#D0D0D0"><a href=#PRINT>PRINT</a> +<td bgcolor="#D0D0D0">PRN +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">{0x20..0x7e,0xa0..0xff} +<td bgcolor="#D0D0D0">Printable Characters +<tr><td colspan=5><h3>Commands (Rendition related status)</h3> +<tr> +<td bgcolor="#D0D0D0"><a href=#LS0>LS0</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">N +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Lock Shift Zero (Shift Out - SO) +<tr> +<td bgcolor="#D0D0D0"><a href=#LS1>LS1</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">O +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Lock Shift One (Shift In - SI) +<tr> +<td bgcolor="#D0D0D0"><a href=#LS2>LS2</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">n +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Lock Shift Two +<tr> +<td bgcolor="#D0D0D0"><a href=#LS3>LS3</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">o +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Lock Shift Three +<tr> +<td bgcolor="#D0D0D0"><a href=#SCS>SCS</a> +<td bgcolor="#D0D0D0">SCS +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">{Pc;Cs} +<td bgcolor="#D0D0D0">Select Character Set +<tr> +<td bgcolor="#D0D0D0"><a href=#SGR>SGR</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">m +<td bgcolor="#D0D0D0">{Ps;...} +<td bgcolor="#D0D0D0">Select Graphic Rendition +<tr><td colspan=5><h3>Commands (Cursor)</h3> +<tr> +<td bgcolor="#D0D0D0"><a href=#BS>BS</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">H +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Back Space +<tr> +<td bgcolor="#D0D0D0"><a href=#CHA>CHA</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">G +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Cursor Horizontal Absolute +<tr> +<td bgcolor="#D0D0D0"><a href=#CR>CR</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">M +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Carriage Return +<tr> +<td bgcolor="#D0D0D0"><a href=#CUB>CUB</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">D +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Cursor Backward +<tr> +<td bgcolor="#D0D0D0"><a href=#CUD>CUD</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">B +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Cursor Down +<tr> +<td bgcolor="#D0D0D0"><a href=#CUF>CUF</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">C +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Cursor Foreward +<tr> +<td bgcolor="#D0D0D0"><a href=#CUP>CUP</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">H +<td bgcolor="#D0D0D0">{Pn;Pn} +<td bgcolor="#D0D0D0">Cursor Position +<tr> +<td bgcolor="#D0D0D0"><a href=#CUU>CUU</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">A +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Cursor Up +<tr> +<td bgcolor="#D0D0D0"><a href=#FF>FF</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">L +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Form Feed +<tr> +<td bgcolor="#D0D0D0"><a href=#HT>HT</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">I +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Horizontal Tabulation +<tr> +<td bgcolor="#D0D0D0"><a href=#HVP>HVP</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">f +<td bgcolor="#D0D0D0">{Pn;Pn} +<td bgcolor="#D0D0D0">Horizontal and Vertical Position +<tr> +<td bgcolor="#D0D0D0"><a href=#IND>IND</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">D +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Index +<tr> +<td bgcolor="#D0D0D0"><a href=#LF>LF</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">J +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Line Feed +<tr> +<td bgcolor="#D0D0D0"><a href=#NEL>NEL</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">E +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Next Line +<tr> +<td bgcolor="#D0D0D0"><a href=#RI>RI</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">M +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Reverse Index +<tr> +<td bgcolor="#D0D0D0"><a href=#VPA>VPA</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">d +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Vertical Position Absolute +<tr> +<td bgcolor="#D0D0D0"><a href=#VT>VT</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">K +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Vertical Tabulation +<tr><td colspan=5><h3>Commands (Cursor related status)</h3> +<tr> +<td bgcolor="#D0D0D0"><a href=#DECRC>DECRC</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">8 +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Restore Cursor +<tr> +<td bgcolor="#D0D0D0"><a href=#DECSC>DECSC</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">7 +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Save Cursor +<tr> +<td bgcolor="#D0D0D0"><a href=#DECSTBM>DECSTBM</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">r +<td bgcolor="#D0D0D0">{Pn;Pn} +<td bgcolor="#D0D0D0">Set Top and Bottom Margins +<tr> +<td bgcolor="#D0D0D0"><a href=#HTS>HTS</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">H +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Horizontal Tab Set +<tr> +<td bgcolor="#D0D0D0"><a href=#TBC>TBC</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">g +<td bgcolor="#D0D0D0">{Ps} +<td bgcolor="#D0D0D0">Tabulation Clear +<tr><td colspan=5><h3>Commands (Edit)</h3> +<tr> +<td bgcolor="#D0D0D0"><a href=#DCH>DCH</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">P +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Delete Character +<tr> +<td bgcolor="#D0D0D0"><a href=#DL>DL</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">M +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Delete Line +<tr> +<td bgcolor="#D0D0D0"><a href=#ECH>ECH</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">X +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Erase Character +<tr> +<td bgcolor="#D0D0D0"><a href=#ED>ED</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">J +<td bgcolor="#D0D0D0">{Ps} +<td bgcolor="#D0D0D0">Erase in Display +<tr> +<td bgcolor="#D0D0D0"><a href=#EL>EL</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">K +<td bgcolor="#D0D0D0">{Ps} +<td bgcolor="#D0D0D0">Erase in Line +<tr> +<td bgcolor="#D0D0D0"><a href=#ICH>ICH</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">@ +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Insert Character +<tr> +<td bgcolor="#D0D0D0"><a href=#IL>IL</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">L +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Insert Line +<tr><td colspan=5><h3>Commands (Miscellaneous)</h3> +<tr> +<td bgcolor="#D0D0D0"><a href=#BEL>BEL</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">G +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Bell +<tr> +<td bgcolor="#D0D0D0"><a href=#CAN>CAN</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">X +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Cancel +<tr> +<td bgcolor="#D0D0D0"><a href=#DECALN>DECALN</a> +<td bgcolor="#D0D0D0">HSH +<td bgcolor="#D0D0D0">8 +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Screen Alignment Display +<tr> +<td bgcolor="#D0D0D0"><a href=#DECTST>DECTST</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">y +<td bgcolor="#D0D0D0">{2;Ps} +<td bgcolor="#D0D0D0">Invoke Confidence Test +<tr> +<td bgcolor="#D0D0D0"><a href=#SUB>SUB</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">Z +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Substitute +<tr><td colspan=5><h3>Commands (General mode setting)</h3> +<tr> +<td bgcolor="#D0D0D0"><a href=#DECRST>DECRST</a> +<td bgcolor="#D0D0D0">PRI +<td bgcolor="#D0D0D0">l +<td bgcolor="#D0D0D0">{Ps;...} +<td bgcolor="#D0D0D0">DEC Private Reset Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#DECSET>DECSET</a> +<td bgcolor="#D0D0D0">PRI +<td bgcolor="#D0D0D0">h +<td bgcolor="#D0D0D0">{Ps;...} +<td bgcolor="#D0D0D0">DEC Private Set Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#RM>RM</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">l +<td bgcolor="#D0D0D0">{Ps;...} +<td bgcolor="#D0D0D0">Reset Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#SM>SM</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">h +<td bgcolor="#D0D0D0">{Ps;...} +<td bgcolor="#D0D0D0">Set Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#XTERESTORE>XTERESTORE</a> +<td bgcolor="#D0D0D0">PRI +<td bgcolor="#D0D0D0">r +<td bgcolor="#D0D0D0">{Ps;...} +<td bgcolor="#D0D0D0">XTerm Private Restore Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#XTESAVE>XTESAVE</a> +<td bgcolor="#D0D0D0">PRI +<td bgcolor="#D0D0D0">s +<td bgcolor="#D0D0D0">{Ps;...} +<td bgcolor="#D0D0D0">XTerm Private Save Mode +<tr><td colspan=5><h3>Commands (Miscellaneous status)</h3> +<tr> +<td bgcolor="#D0D0D0"><a href=#DECKPAM>DECKPAM</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">= +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Keypad Application Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#DECKPNM>DECKPNM</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Keypad Numeric Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#RIS>RIS</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">c +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Reset to Initial State +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52ANSI>VT52ANSI</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">< +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">VT52 ANSI Ansi Mode +<tr><td colspan=5><h3>Commands (VT52)</h3> +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52CUB>VT52CUB</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">D +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">VT52 Cursor Back +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52CUD>VT52CUD</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">B +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">VT52 Cursor Down +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52CUF>VT52CUF</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">C +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">VT52 Cursor Forward +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52CUH>VT52CUH</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">H +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">VT52 Cursor Home +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52CUP>VT52CUP</a> +<td bgcolor="#D0D0D0">VT5 +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">{X;Y} +<td bgcolor="#D0D0D0">VT52 Cursor Position +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52CUU>VT52CUU</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">A +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">VT52 Cursor Up +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52EDL>VT52EDL</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">K +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">VT52 Clear To End Of Line +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52EDS>VT52EDS</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">J +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">VT52 Clear To End Of Screen +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52KPAM>VT52KPAM</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">= +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">VT52 Enter alternate keypad mode +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52KPNM>VT52KPNM</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">VT52 Exit alternate keypad mode +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52REP>VT52REP</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">Z +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">VT52 Report Terminal Type +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52RI>VT52RI</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">I +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">VT52 Reverse Index +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52SCSF>VT52SCSF</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">F +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">VT52 Select special graphics character set +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52SCSG>VT52SCSG</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">G +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">VT52 Select ASCII character set +<tr><td colspan=5><h3>Commands (Not implemented)</h3> +<tr> +<td bgcolor="#D0D0D0"><a href=#DECDHLB>DECDHLB</a> +<td bgcolor="#D0D0D0">HSH +<td bgcolor="#D0D0D0">4 +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Double Height Line (Bottom) +<tr> +<td bgcolor="#D0D0D0"><a href=#DECDHLT>DECDHLT</a> +<td bgcolor="#D0D0D0">HSH +<td bgcolor="#D0D0D0">3 +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Double Height Line (Top) +<tr> +<td bgcolor="#D0D0D0"><a href=#DECDWL>DECDWL</a> +<td bgcolor="#D0D0D0">HSH +<td bgcolor="#D0D0D0">6 +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Double Width Line +<tr> +<td bgcolor="#D0D0D0"><a href=#DECLL>DECLL</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">q +<td bgcolor="#D0D0D0">{Ps;...} +<td bgcolor="#D0D0D0">Load LEDs +<tr> +<td bgcolor="#D0D0D0"><a href=#DECSWL>DECSWL</a> +<td bgcolor="#D0D0D0">HSH +<td bgcolor="#D0D0D0">5 +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Single-width Line +<tr> +<td bgcolor="#D0D0D0"><a href=#MC>MC</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">i +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Media Copy +<tr><td colspan=5><h3>Commands (Ignored)</h3> +<tr> +<td bgcolor="#D0D0D0"><a href=#ACK>ACK</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">F +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Acknowledge +<tr> +<td bgcolor="#D0D0D0"><a href=#DC2>DC2</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">R +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Device Control Two +<tr> +<td bgcolor="#D0D0D0"><a href=#DC3>DC3</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">S +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Device Control Three +<tr> +<td bgcolor="#D0D0D0"><a href=#DC4>DC4</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">T +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Device Control Four +<tr> +<td bgcolor="#D0D0D0"><a href=#DEL>DEL</a> +<td bgcolor="#D0D0D0">DEL +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Delete Character +<tr> +<td bgcolor="#D0D0D0"><a href=#DLE>DLE</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">P +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Data Link Escape +<tr> +<td bgcolor="#D0D0D0"><a href=#EM>EM</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">Y +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">End Of Medium +<tr> +<td bgcolor="#D0D0D0"><a href=#EOT>EOT</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">D +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">End Of Transmission +<tr> +<td bgcolor="#D0D0D0"><a href=#ETB>ETB</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">W +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">End Of Transmission Block +<tr> +<td bgcolor="#D0D0D0"><a href=#ETX>ETX</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">C +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">End Of Text +<tr> +<td bgcolor="#D0D0D0"><a href=#FS>FS</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">\ +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">File Separator (IS4 - Information Separator Four) +<tr> +<td bgcolor="#D0D0D0"><a href=#GS>GS</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">] +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Group Separator (IS3 - Information Separator Three) +<tr> +<td bgcolor="#D0D0D0"><a href=#NAK>NAK</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">U +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Negative Acknowledge +<tr> +<td bgcolor="#D0D0D0"><a href=#NUL>NUL</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">@ +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Null +<tr> +<td bgcolor="#D0D0D0"><a href=#RS>RS</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">^ +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Record Separator (IS2 - Information Separator Two) +<tr> +<td bgcolor="#D0D0D0"><a href=#SOH>SOH</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">A +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Start Of Heading +<tr> +<td bgcolor="#D0D0D0"><a href=#STX>STX</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">B +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Start Of Text +<tr> +<td bgcolor="#D0D0D0"><a href=#SYN>SYN</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">V +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Synchronous Idle +<tr> +<td bgcolor="#D0D0D0"><a href=#US>US</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">_ +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Unit Separator (IS1 - Information Separator One) +<tr><td colspan=5><h3>Commands (Requests)</h3> +<tr> +<td bgcolor="#D0D0D0"><a href=#DA>DA</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">c +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Device Attributes Request +<tr> +<td bgcolor="#D0D0D0"><a href=#DECID>DECID</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">Z +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Identify Terminal +<tr> +<td bgcolor="#D0D0D0"><a href=#DECREQTPARM>DECREQTPARM</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">x +<td bgcolor="#D0D0D0">{Ps} +<td bgcolor="#D0D0D0">Request Terminal Parameters +<tr> +<td bgcolor="#D0D0D0"><a href=#DSRREQ>DSRREQ</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">n +<td bgcolor="#D0D0D0">{Ps} +<td bgcolor="#D0D0D0">Device Status Report +<tr> +<td bgcolor="#D0D0D0"><a href=#ENQ>ENQ</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">E +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Enquiry +</table> +<h2> +<table width=100%> +<tr><td align=center bgcolor=#d0d0d0></td></tr> +<tr><td align=center bgcolor=#d0d0d0>Terminal to Host</td></tr> +<tr><td align=center bgcolor=#d0d0d0></td></tr> +</table> +</h2> +<table> +<tr><td colspan=5><h3>Replies</h3> +<tr> +<td bgcolor="#D0D0D0"><a href=#CPR>CPR</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">R +<td bgcolor="#D0D0D0">{Pn;Pn} +<td bgcolor="#D0D0D0">Cursor Position Report +<tr> +<td bgcolor="#D0D0D0"><a href=#DECDA>DECDA</a> +<td bgcolor="#D0D0D0">PRI +<td bgcolor="#D0D0D0">c +<td bgcolor="#D0D0D0">{1;Pn} +<td bgcolor="#D0D0D0">Device Attributes Reply +<tr> +<td bgcolor="#D0D0D0"><a href=#DECREPTPARM>DECREPTPARM</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">x +<td bgcolor="#D0D0D0">{sol;par;nbits;xspd;rspd;cmul;flags} +<td bgcolor="#D0D0D0">Report Terminal Parameters +<tr> +<td bgcolor="#D0D0D0"><a href=#DSRREP>DSRREP</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">n +<td bgcolor="#D0D0D0">{Status} +<td bgcolor="#D0D0D0">Device Status Report Reply +<tr><td colspan=5><h3>Events</h3> +<tr> +<td bgcolor="#D0D0D0"><a href=#CUB>CUB</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">D +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Cursor Backward +<tr> +<td bgcolor="#D0D0D0"><a href=#CUD>CUD</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">B +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Cursor Down +<tr> +<td bgcolor="#D0D0D0"><a href=#CUF>CUF</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">C +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Cursor Foreward +<tr> +<td bgcolor="#D0D0D0"><a href=#CUU>CUU</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">A +<td bgcolor="#D0D0D0">{Pn} +<td bgcolor="#D0D0D0">Cursor Up +<tr> +<td bgcolor="#D0D0D0"><a href=#KEYBOARD>KEYBOARD</a> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Keyboard Events +<tr> +<td bgcolor="#D0D0D0"><a href=#MOUSE>MOUSE</a> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Mouse Events +</table> +<h2> +<table width=100%> +<tr><td align=center bgcolor=#d0d0d0></td></tr> +<tr><td align=center bgcolor=#d0d0d0>Modes</td></tr> +<tr><td align=center bgcolor=#d0d0d0></td></tr> +</table> +</h2> +<table> +<tr><td colspan=5><h3>Modes</h3> +<tr> +<td bgcolor="#D0D0D0"><a href=#DECANM>DECANM</a> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">ANSI/VT52 Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#DECARM>DECARM</a> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Auto Repeat Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#DECAWM>DECAWM</a> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Autowrap Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#DECCKM>DECCKM</a> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Cursor Keys Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#DECCOLM>DECCOLM</a> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Column Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#DECINLM>DECINLM</a> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Interlace Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#DECKPAM>DECKPAM</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">= +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Keypad Application Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#DECKPNM>DECKPNM</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Keypad Numeric Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#DECOM>DECOM</a> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Origin Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#DECRC>DECRC</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">8 +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Restore Cursor +<tr> +<td bgcolor="#D0D0D0"><a href=#DECRST>DECRST</a> +<td bgcolor="#D0D0D0">PRI +<td bgcolor="#D0D0D0">l +<td bgcolor="#D0D0D0">{Ps;...} +<td bgcolor="#D0D0D0">DEC Private Reset Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#DECSC>DECSC</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">7 +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Save Cursor +<tr> +<td bgcolor="#D0D0D0"><a href=#DECSCLM>DECSCLM</a> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Scrolling Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#DECSCNM>DECSCNM</a> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Screen Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#DECSET>DECSET</a> +<td bgcolor="#D0D0D0">PRI +<td bgcolor="#D0D0D0">h +<td bgcolor="#D0D0D0">{Ps;...} +<td bgcolor="#D0D0D0">DEC Private Set Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#DECSTBM>DECSTBM</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">r +<td bgcolor="#D0D0D0">{Pn;Pn} +<td bgcolor="#D0D0D0">Set Top and Bottom Margins +<tr> +<td bgcolor="#D0D0D0"><a href=#HTS>HTS</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">H +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Horizontal Tab Set +<tr> +<td bgcolor="#D0D0D0"><a href=#LNM>LNM</a> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Line Feed/New Line Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#LS0>LS0</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">N +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Lock Shift Zero (Shift Out - SO) +<tr> +<td bgcolor="#D0D0D0"><a href=#LS1>LS1</a> +<td bgcolor="#D0D0D0">CTL +<td bgcolor="#D0D0D0">O +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Lock Shift One (Shift In - SI) +<tr> +<td bgcolor="#D0D0D0"><a href=#LS2>LS2</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">n +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Lock Shift Two +<tr> +<td bgcolor="#D0D0D0"><a href=#LS3>LS3</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">o +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Lock Shift Three +<tr> +<td bgcolor="#D0D0D0"><a href=#RIS>RIS</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">c +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">Reset to Initial State +<tr> +<td bgcolor="#D0D0D0"><a href=#RM>RM</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">l +<td bgcolor="#D0D0D0">{Ps;...} +<td bgcolor="#D0D0D0">Reset Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#SCS>SCS</a> +<td bgcolor="#D0D0D0">SCS +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">{Pc;Cs} +<td bgcolor="#D0D0D0">Select Character Set +<tr> +<td bgcolor="#D0D0D0"><a href=#SGR>SGR</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">m +<td bgcolor="#D0D0D0">{Ps;...} +<td bgcolor="#D0D0D0">Select Graphic Rendition +<tr> +<td bgcolor="#D0D0D0"><a href=#SM>SM</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">h +<td bgcolor="#D0D0D0">{Ps;...} +<td bgcolor="#D0D0D0">Set Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#TBC>TBC</a> +<td bgcolor="#D0D0D0">CSI +<td bgcolor="#D0D0D0">g +<td bgcolor="#D0D0D0">{Ps} +<td bgcolor="#D0D0D0">Tabulation Clear +<tr> +<td bgcolor="#D0D0D0"><a href=#VT52ANSI>VT52ANSI</a> +<td bgcolor="#D0D0D0">ESC +<td bgcolor="#D0D0D0">< +<td bgcolor="#D0D0D0"> +<td bgcolor="#D0D0D0">VT52 ANSI Ansi Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#XTERESTORE>XTERESTORE</a> +<td bgcolor="#D0D0D0">PRI +<td bgcolor="#D0D0D0">r +<td bgcolor="#D0D0D0">{Ps;...} +<td bgcolor="#D0D0D0">XTerm Private Restore Mode +<tr> +<td bgcolor="#D0D0D0"><a href=#XTESAVE>XTESAVE</a> +<td bgcolor="#D0D0D0">PRI +<td bgcolor="#D0D0D0">s +<td bgcolor="#D0D0D0">{Ps;...} +<td bgcolor="#D0D0D0">XTerm Private Save Mode +</table> +<h2> +<table width=100%> +<tr><td align=center bgcolor=#d0d0d0></td></tr> +<tr><td align=center bgcolor=#d0d0d0>Appendix A - Notion Details</td></tr> +<tr><td align=center bgcolor=#d0d0d0></td></tr> +</table> +</h2> + <i>The following text is a collection of several sorts of definitions and + explainations. It is incomplete in many respects and a working draft. + </i> + . + <p> + All of the following control sequences are transmitted from the Host to + VT100 unless otherwise noted. All of the control sequences are a subset of + those defined in ANSI X 3.64 1977 and ANSI X 3.41 1974. + <p> + The following text conforms to these formatting conventions: + <ul> + <li>Individual character literals are set in bold face. Ascii representation + is used throughout, so <b>ESC</b> means the binary value of 27 and + <b>[</b> a value of 91. + <p> + <li>Parameters are indicated by italic type faces. + <li>Parameter types usually are indicated as one of: + <table> + <tr><td><i>Pn </i></td><td>A string of digits representing a numerical value.</td></tr> + <tr><td><i>Ps </i></td><td>A character that selects an item from a list.</td></tr> + <tr><td><i>a-z</i></td><td>Any lowercase sequence of one or more + characters represent a value to be + entered (as in <i>Pn</i>), and the name in the + will be referred to in explanatory text.</td></tr> + </table> + <p> + <li>Spaces are used only to improve readability, they do not occure in the + control sequences unless otherwise indicated. + <p> + </ul> + <p> + <p> + The following attributes below have the following meaning: + <ul> + <li>VT100 - This code is known to VT100. + <li>ANSI - This code is defined by ANSI. + <li>DEC - This code is DEC private. + <li>Command - Sent from host to the terminal. <b>FIXME:</b>add Inquiery. + <li>Reply - Sent from terminal to the host (as response to an Inquiery). + <li>Event - Sent from terminal to the host (caused by a user activity). + <li>Mode - The entry is a mode. + </ul> +<table> +<tr><td width=10%%><td><td><td><td><td><td width=40%%> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=ACK>ACK</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Acknowledge</b> + <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x06</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Ignored +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=BEL>BEL</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Bell</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x07</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Sound bell +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">gui</td><td colspan=1 bgcolor="#5188B2">Bell</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=BS>BS</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Back Space</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x08</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Move cursor to the left one position, unless it is at the left + margin, in which case no action is taken. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">BackSpace</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=CAN>CAN</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Cancel</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x18</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> If sent during a control sequence, the sequence id immediately + terminated and not executed. It also causes the error character + (checkerboard) to be displayed. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">ShowCharacter</td><td colspan=1 bgcolor="#5188B2">2</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=CHA>CHA</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Cursor Horizontal Absolute</b> + <td bgcolor="#D0D0D0">ECMA KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>G</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> FIXME. explain +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setCursorX</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=CPR>CPR</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Cursor Position Report</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn;Pn</em> <b>R</b></code> + <td >Default: 1 1 +<tr><td><p></td> +<tr><td></td> + <td colspan=6> The CPR sequence reports the active position by means of the + parameters. This sequence has two parameter values, the first + specifying the line and the second specifying the column. The default + condition with no parameters present, or parameters of 0, is equivalent + to a cursor at home position. + <p> + The numbering of the lines depends upon the state of the Origin Mode + (<a href=#DECOM>DECOM</a>). + <p> + This control sequence is sent in reply to a device status report + (<a href=#DSRREQ>DSRREQ</a>) command sent from the host. +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=CR>CR</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Carriage Return</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x0d</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Move the cursor to the left margin of the current line. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">Return</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=CUB>CUB</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Cursor Backward</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>D</b></code> + <td >Default: 1 +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Moves the cursor to the left. The distance moved is + determined by the parameter. If the parameter missing, zero, or one, + the cursor is moved one position. The cursor cannot be moved past the + left margin. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">cursorLeft</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=CUD>CUD</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Cursor Down</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>B</b></code> + <td >Default: 1 +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Moves the cursor down a number of lines as specified in the parameter + without changing columns. The cursor cannot be moved past the bottom + margin. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">cursorDown</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=CUF>CUF</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Cursor Foreward</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>C</b></code> + <td >Default: 1 +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Moves the cursor to the right a number of positions + specified in the parameter. The cursor cannot be moved past the right + margin. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">cursorRight</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=CUP>CUP</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Cursor Position</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn;Pn</em> <b>H</b></code> + <td >Default: 1 1 +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Moves the curor to the position specified by the + parameters. The first parameter specifies the line, and the second + specifies the column. A value of zero for either line or column moves + the cursor to the first line or column in the display. The default + string (<ESC>H) homes the cursor. In the VT100, this command behaves + identically to it's format effector counterpart, <a href=#HVP>HVP</a>. + <p> + The numbering of the lines depends upon the state of the Origin Mode + (<a href=#DECOM>DECOM</a>). +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setCursorYX</td><td colspan=1 bgcolor="#5188B2">p,q</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=CUU>CUU</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Cursor Up</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>A</b></code> + <td >Default: 1 +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Moves the cursor up without changing columns. The cursor is moved up a + number of lines as indicated by the parameter. The cursor cannot be + moved beyond the top margin. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">cursorUp</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DA>DA</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Device Attributes Request</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>c</b></code> + <td >Default: 0 +<tr><td><p></td> +<tr><td></td> + <td colspan=6> The host requests the VT100 to send a DA sequence to indentify + itself. This is done by sending the DA sequence with no parameters, + or with a parameter of zero. + The device replies by (<a href=#DECDA>DECDA</a>). +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">reportTerminalType</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DC1>DC1</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Device Control One</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x11</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Causes terminal to resume transmission (XON). +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DC2>DC2</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Device Control Two</b> + <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x12</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Ignored +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DC3>DC3</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Device Control Three</b> + <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x13</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Causes terminal to stop transmitting all codes except XOFF and XON (XOFF). +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DC4>DC4</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Device Control Four</b> + <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x14</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Ignored +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DCH>DCH</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Delete Character</b> + <td bgcolor="#D0D0D0">ECMA KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>P</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> FIXME. explain +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">deleteChars</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DECALN>DECALN</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Screen Alignment Display</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>#</b> <b>8</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Causes the VT100 to fill it's screen with + uppercase Es for screen focus and alignment. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">helpAlign</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DECANM>DECANM</a> + <td colspan=5 bgcolor="#D0D0D0"><b>ANSI/VT52 Mode</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td></td> + <td colspan=6> This is a private parameter to the <a href=#SM>SM</a> and <a href=#RM>RM</a> + control sequences. The + reset state causes only VT52 compatible escape sequences to be + recognized. The set state causes only ANSI compatible escape sequences + to be recognized. See the entries for <a href=#MODES>MODES</a>, <a href=#SM>SM</a>, <a href=#RM>RM</a> + and <a href=#VT52ANSI>VT52ANSI</a>. +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DECARM>DECARM</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Auto Repeat Mode</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td></td> + <td colspan=6> This is a private parameter to the <a href=#SM>SM</a> and <a href=#RM>RM</a> + control sequences. The + reset state causes no keyboard keys to auto-repeat, the set state + causes most of them to. See <a href=#MODES>MODES</a>, <a href=#SM>SM</a> and <a href=#RM>RM</a>. +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DECAWM>DECAWM</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Autowrap Mode</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td></td> + <td colspan=6> This is a private parameter to the <a href=#SM>SM</a> and <a href=#RM>RM</a> + control sequences. The + reset state prevents the cursor from moving when characters are + received while at the right margin. The set state causes these + characters to advance to the next line, causing a scroll up if required + and permitted. See <a href=#MODES>MODES</a>, <a href=#SM>SM</a>, and + <a href=#RM>RM</a>. +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DECCKM>DECCKM</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Cursor Keys Mode</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td></td> + <td colspan=6> This is a private parameter to the <a href=#SM>SM</a> and <a href=#RM>RM</a> + control requences. This + mode is only effective when the terminal is in keypad application mode + (<a href=#DECKPAM>DECKPAM</a>) and the ANSI/VT52 mode (<a href=#DECANM>DECANM</a>) + is set. Under these + conditions, if this mode is reset, the cursor keys will send ANSI + cursor control commands. If setm the cursor keys will send application + function commands. See <a href=#MODES>MODES</a>, <a href=#RM>RM</a>, and + <a href=#SM>SM</a>. +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DECCOLM>DECCOLM</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Column Mode</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td></td> + <td colspan=6> This is a private parameter to the <a href=#SM>SM</a> and <a href=#RM>RM</a> + control sequences. The + reset state causes an 80 column screen to be used. The set state + causes a 132 column screen to be used. See <a href=#MODES>MODES</a>, + <a href=#RM>RM</a>, and <a href=#SM>SM</a>. +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DECDA>DECDA</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Device Attributes Reply</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <b>?</b> <em>1;Pn</em> <b>c</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Response to the <a href=#DA>DA</a> request (VT100 to host) is generated + by the VT100 as a DECDA control sequence with the numeric parameters as + follows: +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Pn</td><td colspan=4 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=4 bgcolor="#5188B2">No options</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 1</td><td colspan=4 bgcolor="#5BA5B2">Processor Option (STP)</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 2</td><td colspan=4 bgcolor="#5188B2">Advanced Video Option (AVO)</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 3</td><td colspan=4 bgcolor="#5BA5B2">AVO and STP</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 4</td><td colspan=4 bgcolor="#5188B2">Graphics Option (GPO)</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 5</td><td colspan=4 bgcolor="#5BA5B2">GPO and STP</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 6</td><td colspan=4 bgcolor="#5188B2">GPO and AVO</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DECDHLB>DECDHLB</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Double Height Line (Bottom)</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>#</b> <b>4</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> This sequence cause the line containing the cursor to become the + bottom half of a double-height, double width line. + If the line was single width single height, all + characters to the right of the center of the screen will be lost. The + cursor remains over the same character position, unless it would be to + the right of the right margin, in which case it is moved to the right + margin. + <p> + <a href=#DECDHLB>DECDHLB</a> and <a href=#DECDHLT>DECDHLT</a> + should be used in pairs on adjacent lines with each line containing the + same character string. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DECDHLT>DECDHLT</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Double Height Line (Top)</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>#</b> <b>3</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Cause the line containing the cursor to become the top half of a + double-height, double width line. + If the line was single width single height, all + characters to the right of the center of the screen will be lost. The + cursor remains over the same character position, unless it would be to + the right of the right margin, in which case it is moved to the right + margin. + <p> + <a href=#DECDHLB>DECDHLB</a> and <a href=#DECDHLT>DECDHLT</a> + should be used in pairs on adjacent lines with each line containing the + same character string. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DECDWL>DECDWL</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Double Width Line</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>#</b> <b>6</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> This causes the line that contains the cursor to become double-width + single height. If the line was single width, all characters ro the + right of the center of the screen will be lost. The cursor remains + over the same character position, unless it would be to the right of + the right margin, in which case it is moved to the right margin. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DECID>DECID</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Identify Terminal</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>Z</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> This sequence causes the same response as the <a href=#DA>DA</a> sequence. This + sequence will not be supported in future models. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">reportTerminalType</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DECINLM>DECINLM</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Interlace Mode</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td></td> + <td colspan=6> This is a private parameter to the <a href=#RM>RM</a> and <a href=#SM>SM</a> + control sequences. The + reset state (non-interlace) causes the video processor to display 240 + scan lines per frame. The set state causes the video processor to + display 480 scan lines per screen. See <a href=#MODES>MODES</a>, + <a href=#RM>RM</a>, and <a href=#SM>SM</a>. +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DECKPAM>DECKPAM</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Keypad Application Mode</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>=</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> The auxiliary keypad keys will transmit control sequences. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">setMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppKeyPad</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DECKPNM>DECKPNM</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Keypad Numeric Mode</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>></b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> The auxiliary keypad keys will send ASCII codes corresponding to the + characters engraved on their keys. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">resetMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppKeyPad</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DECLL>DECLL</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Load LEDs</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Ps;...</em> <b>q</b></code> + <td >Default: 0 +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Load the four programmable LEDs on the keyboard according to the parameter(s). +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignore</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Clear all LEDs</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 1</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">Ignore</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Light LED 1</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 2</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignore</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Light LED 2</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 3</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">Ignore</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Light LED 3</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 4</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignore</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Light LED 4</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DECOM>DECOM</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Origin Mode</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td></td> + <td colspan=6> This is a private parameter to <a href=#SM>SM</a> and <a href=#RM>RM</a> + control sequences. The reset + state causes the origin (or home position) to be the upper left + character position of the screen. Line and column numbers are, + therefore, independent of current margin settings. The cursor may be + positioned outside the margins with a cursor position (<a href=#CUP>CUP</a>) or + horizontal and vertical position (<a href=#HVP>HVP</a>) control. + <p> + The set state causes the origin to be at the upper left character + position within the current margins. Line and column numbers are, + therefore, relative to the current margin settings. The cursor cannot + be positioned outside of the margins. + <p> + The cursor is moved to the new home position when this mode is set or + reset. Lines and columns are numbered consecutively, with the origin + being line 1, column 1. +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DECRC>DECRC</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Restore Cursor</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>8</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> This sequence causes the previously saved cursor position, graphic + rendition, and character set to be restored. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">restoreCursor</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DECREPTPARM>DECREPTPARM</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Report Terminal Parameters</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>sol;par;nbits;xspd;rspd;cmul;flags</em> <b>x</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> This sequence is generated by the VT100 to notify the host of the + status of selected terminal parameters. The status sequence may be + sent when requested by the host (via <a href=#DECREQTPARM>DECREQTPARM</a>) + or at the terminal's + discretion. On power up or reset, the VT100 is inhibited from sending + unsolicited reports. + <p> + The meanings of the sequence parameters are: +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> cmul</td><td colspan=4 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 1</td><td colspan=4 bgcolor="#5188B2">The bit rate multiplier is 16</td></tr> +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> flags</td><td colspan=4 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 0-15</td><td colspan=4 bgcolor="#5188B2">This value communicates the four switch values in block 5 of SET-UP B, which are only visible to the user when an STP option is installed.</td></tr> +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> nbits</td><td colspan=4 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 1</td><td colspan=4 bgcolor="#5188B2">8 bits per character</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 2</td><td colspan=4 bgcolor="#5BA5B2">7 bits per character</td></tr> +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> par</td><td colspan=4 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 1</td><td colspan=4 bgcolor="#5188B2">No parity set</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 4</td><td colspan=4 bgcolor="#5BA5B2">Parity set and odd</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 5</td><td colspan=4 bgcolor="#5188B2">Parity set and even</td></tr> +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> sol</td><td colspan=4 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 1</td><td colspan=4 bgcolor="#5188B2">This message is a report.</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 2</td><td colspan=4 bgcolor="#5BA5B2">This message is a report, and the terminal is only reporting on request.</td></tr> +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> speed</td><td colspan=4 bgcolor="#D0D0D0">Meaning (xspd,rspd)</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=4 bgcolor="#5188B2">Speed set to 50 bps</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 8</td><td colspan=4 bgcolor="#5BA5B2">Speed set to 75 bps</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 16</td><td colspan=4 bgcolor="#5188B2">Speed set to 110 bps</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 24</td><td colspan=4 bgcolor="#5BA5B2">Speed set to 134.5 bps</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 32</td><td colspan=4 bgcolor="#5188B2">Speed set to 150 bps</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 40</td><td colspan=4 bgcolor="#5BA5B2">Speed set to 200 bps</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 48</td><td colspan=4 bgcolor="#5188B2">Speed set to 300 bps</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 56</td><td colspan=4 bgcolor="#5BA5B2">Speed set to 600 bps</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 64</td><td colspan=4 bgcolor="#5188B2">Speed set to 1200 bps</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 72</td><td colspan=4 bgcolor="#5BA5B2">Speed set to 1800 bps</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 80</td><td colspan=4 bgcolor="#5188B2">Speed set to 2000 bps</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 88</td><td colspan=4 bgcolor="#5BA5B2">Speed set to 2400 bps</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 96</td><td colspan=4 bgcolor="#5188B2">Speed set to 3600 bps</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 104</td><td colspan=4 bgcolor="#5BA5B2">Speed set to 4800 bps</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 112</td><td colspan=4 bgcolor="#5188B2">Speed set to 9600 bps</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 120</td><td colspan=4 bgcolor="#5BA5B2">Speed set tp 19200 bps</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DECREQTPARM>DECREQTPARM</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Request Terminal Parameters</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Ps</em> <b>x</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> The host sends this sequence to request the VT100 to send a + <a href=#DECREPTPARM>DECREPTPARM</a> + sequence back. {Ps} can be either 0 or 1. If 0, the terminal will be + allowed to send unsolicited <a href=#DECREPTPARM>DECREPTPARM</a>s. + These reports will be generated each time the terminal exits the SET-UP mode. + If {Ps} is 1, then the terminal will only generate + <a href=#DECREPTPARM>DECREPTPARM</a>s in response to a request. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">reportTerminalParms</td><td colspan=1 bgcolor="#5188B2">2</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 1</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">reportTerminalParms</td><td colspan=1 bgcolor="#5BA5B2">3</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DECRST>DECRST</a> + <td colspan=5 bgcolor="#D0D0D0"><b>DEC Private Reset Mode</b> + <td bgcolor="#D0D0D0">VT100 KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <b>?</b> <em>Ps;...</em> <b>l</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> FIXME. explain +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 1</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">resetMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppCuKeys</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 2</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">resetMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Ansi</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 3</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">setColumns</td><td colspan=1 bgcolor="#5188B2">80</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 4</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">Ignored</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 5</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">resetMode</td><td colspan=1 bgcolor="#5188B2">MODE_Screen</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 6</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">resetMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Origin</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 7</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">resetMode</td><td colspan=1 bgcolor="#5188B2">MODE_Wrap</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 8</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">Ignored</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 9</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 25</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">resetMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Cursor</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 47</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">resetMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppScreen</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 1000</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">resetMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Mouse1000</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 1001</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 1047</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">resetMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_AppScreen</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 1048</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">restoreCursor</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DECSC>DECSC</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Save Cursor</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>7</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Causes the cursor position, graphic rendition, and character set to be + saved. (See <a href=#DECRC>DECRC</a>) +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">saveCursor</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DECSCLM>DECSCLM</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Scrolling Mode</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td></td> + <td colspan=6> This is a private parameter to <a href=#RM>RM</a> and <a href=#SM>SM</a> + control sequences. The reset + state causes scrolls to "jump" instantaneuously one line at a time. + The set state causes the scrolls to be "smooth", and scrolls at a + maximum rate of siz lines/sec. See <a href=#MODES>MODES</a>, + <a href=#RM>RM</a>, and <a href=#SM>SM</a>. +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DECSCNM>DECSCNM</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Screen Mode</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td></td> + <td colspan=6> This is a private parameter to <a href=#RM>RM</a> and <a href=#SM>SM</a> + control sequences. The reset + state causes the screen to be black with white characters; the set + state causes the screen to be white with black characters. + See <a href=#MODES>MODES</a>, <a href=#RM>RM</a>, and <a href=#SM>SM</a>. +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DECSET>DECSET</a> + <td colspan=5 bgcolor="#D0D0D0"><b>DEC Private Set Mode</b> + <td bgcolor="#D0D0D0">VT100 KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <b>?</b> <em>Ps;...</em> <b>h</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> FIXME. explain +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 1</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">setMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppCuKeys</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 3</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">setColumns</td><td colspan=1 bgcolor="#5BA5B2">132</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 4</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 5</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Screen</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 6</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setMode</td><td colspan=1 bgcolor="#5188B2">MODE_Origin</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 7</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Wrap</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 8</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 9</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">Ignored</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 25</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">setMode</td><td colspan=1 bgcolor="#5188B2">MODE_Cursor</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 47</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">setMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_AppScreen</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 1000</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">setMode</td><td colspan=1 bgcolor="#5188B2">MODE_Mouse1000</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 1001</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">Ignored</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 1047</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">setMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppScreen</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 1048</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">saveCursor</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DECSTBM>DECSTBM</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Set Top and Bottom Margins</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn;Pn</em> <b>r</b></code> + <td >Default: 1 ScreenLines +<tr><td><p></td> +<tr><td></td> + <td colspan=6> This sequence sets the top and bottom margins to define the scrolling + region. The first parameter is the line number of the first line in + the scrolling region; the second parameter is the line number of the + bottom line of the scrolling region. + <p> + Default is the entire screen (no margins). + The minimum region allowed is two lines, i.e., the top line + must be less than the bottom. The cursor is placed in the home + position (See <a href=#DECOM>DECOM</a>). +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setMargins</td><td colspan=1 bgcolor="#5188B2">p,q</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DECSWL>DECSWL</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Single-width Line</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>#</b> <b>5</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> This causes the line which contains the cursor to become single-width, + single-height. The cursor remains on the same character position. + This is the default condition for all new lines on the screen. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DECTST>DECTST</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Invoke Confidence Test</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>2;Ps</em> <b>y</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Ps is the parameter indicating the test to be done. It is computed by + taking the weight indicated for each desired test and adding them + together. If Ps is 0, no test is performed but the VT100 is reset. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Weight</td><td colspan=4 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 1</td><td colspan=4 bgcolor="#5188B2">POST (ROM checksum, RAM NVR, keyboardm and AVO)</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 2</td><td colspan=4 bgcolor="#5BA5B2">Data Loop Back (Loopback connector required)</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 3</td><td colspan=4 bgcolor="#5188B2">EIA Modem Control Test (Loopback connector req.)</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 4</td><td colspan=4 bgcolor="#5BA5B2">Repeat Testing until failure</td></tr> +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DEL>DEL</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Delete Character</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x7f</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Ignored +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DL>DL</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Delete Line</b> + <td bgcolor="#D0D0D0">ECMA KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>M</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> FIXME. explain +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">konsole</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">deleteLines</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DLE>DLE</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Data Link Escape</b> + <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x10</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Ignored +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DSRREP>DSRREP</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Device Status Report Reply</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Status</em> <b>n</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Reports the general status of the VT100 according to the + following parameters. + <p> + DSRREP with a parameter of 0 or 3 is always sent as a response to a + requesting <a href=#DSRREQ>DSRREQ</a> with a parameter of 5. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Status</td><td colspan=3 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=3 bgcolor="#5188B2">Ready, no faults detected</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 3</td><td colspan=3 bgcolor="#5BA5B2">Malfunction detected</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=DSRREQ>DSRREQ</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Device Status Report</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Ps</em> <b>n</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Requests status of the VT100 according to the following parameters. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 5</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">reportStatus</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Report Status (using a <a href=#DSRREP>DSRREP</a> control sequence)</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 6</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">reportCursorPosition</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Report Active Position (using a <a href=#CPR>CPR</a> sequence)</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=ECH>ECH</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Erase Character</b> + <td bgcolor="#D0D0D0">ECMA KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>X</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> FIXME. explain +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">konsole</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">eraseChars</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=ED>ED</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Erase in Display</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Ps</em> <b>J</b></code> + <td >Default: 0 +<tr><td><p></td> +<tr><td></td> + <td colspan=6> This sequence erases some or all of the characters in the display + according to the parameter. Any complete line erased by this sequence + will return that line to single width mode. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">clearToEndOfScreen</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Erase from the cursor to the end of the screen.</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 1</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">clearToBeginOfScreen</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Erase from the start of the screen to the cursor.</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 2</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">clearEntireScreen</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Erase the entire screen.</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=EL>EL</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Erase in Line</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Ps</em> <b>K</b></code> + <td >Default: 0 +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Erases some or all characters in the active line, according to the + parameter. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">clearToEndOfLine</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Erase from cursor to the end of the line.</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 1</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">clearToBeginOfLine</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Erase from the start of the line to the cursor.</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 2</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">clearEntireLine</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Erase the entire line.</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=EM>EM</a> + <td colspan=5 bgcolor="#D0D0D0"><b>End Of Medium</b> + <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x19</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Ignored +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=ENQ>ENQ</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Enquiry</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x05</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Transmit the ANSWERBACK message. The answerback message can be loaded + in SET-UP B (i.e. is a configurable string). +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">reportAnswerBack</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=EOT>EOT</a> + <td colspan=5 bgcolor="#D0D0D0"><b>End Of Transmission</b> + <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x04</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Ignored +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=ESC>ESC</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Escape</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x1b</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Introduces a control sequence. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=ETB>ETB</a> + <td colspan=5 bgcolor="#D0D0D0"><b>End Of Transmission Block</b> + <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x17</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Ignored +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=ETX>ETX</a> + <td colspan=5 bgcolor="#D0D0D0"><b>End Of Text</b> + <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x03</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Ignored +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=FF>FF</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Form Feed</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x0c</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Same as <a href=#LF>LF</a>. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">NewLine</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=FS>FS</a> + <td colspan=5 bgcolor="#D0D0D0"><b>File Separator (IS4 - Information Separator Four)</b> + <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x1c</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Ignored +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=GS>GS</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Group Separator (IS3 - Information Separator Three)</b> + <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x1d</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Ignored +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=HT>HT</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Horizontal Tabulation</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x09</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Move cursor to the next tab stop, or to the right margin + if no further tabs are set. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">Tabulate</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=HTS>HTS</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Horizontal Tab Set</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>H</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Set a tab stop at the current cursor position. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">changeTabStop</td><td colspan=1 bgcolor="#5188B2">TRUE</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=HVP>HVP</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Horizontal and Vertical Position</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn;Pn</em> <b>f</b></code> + <td >Default: 1 1 +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Moves the cursor to the position specified by the parameters. The + first parameter specifies the line, and the second specifies the + column. A parameter of 0 or 1 causes the active position to move to + the first line or column in the display. In the VT100, this control + behaves identically with it's editor counterpart, <a href=#CUP>CUP</a>. + The numbering of hte lines depends upon the state of the Origin Mode + (<a href=#DECOM>DECOM</a>). +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setCursorYX</td><td colspan=1 bgcolor="#5188B2">p,q</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=ICH>ICH</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Insert Character</b> + <td bgcolor="#D0D0D0">ECMA KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>@</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> FIXME. explain +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">konsole</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">insertChars</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=IL>IL</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Insert Line</b> + <td bgcolor="#D0D0D0">KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>L</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> FIXME. explain +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">insertLines</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=IND>IND</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Index</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>D</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> This sequence causes the cursor to move downward one line without + changing the column. If the cursor is at the bottom margin, a scroll + up is performed. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">index</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=KEYBOARD>KEYBOARD</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Keyboard Events</b> + <td bgcolor="#D0D0D0">KONSOLE +<tr><td><p></td> +<tr><td></td> + <td colspan=6> FIXME. explain +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Key</td><td colspan=4 bgcolor="#D0D0D0">Code</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> AltButton</td><td colspan=4 bgcolor="#5188B2">"\033"</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> Return</td><td colspan=4 bgcolor="#5BA5B2">MODE_NewLine ? "\r\n" : "\r"</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> Backspace</td><td colspan=4 bgcolor="#5188B2">MODE_BsHack ? "\x7f" : "\x08"</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> Delete</td><td colspan=4 bgcolor="#5BA5B2">MODE_BsHack ? "\033[3~" : "\x7f"</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> Up</td><td colspan=4 bgcolor="#5188B2">!MODE_Ansi ?"\033A" : MODE_AppCuKeys ?"\033OA" : "\033[A"</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> Down</td><td colspan=4 bgcolor="#5BA5B2">!MODE_Ansi ?"\033B" : MODE_AppCuKeys ?"\033OB" : "\033[B"</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> Right</td><td colspan=4 bgcolor="#5188B2">!MODE_Ansi ?"\033C" : MODE_AppCuKeys ?"\033OC" : "\033[C"</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> Left</td><td colspan=4 bgcolor="#5BA5B2">!MODE_Ansi ?"\033D" : MODE_AppCuKeys ?"\033OD" : "\033[D"</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> F1</td><td colspan=4 bgcolor="#5188B2">Xterm? "\033[11~": "\033[[A"</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> F2</td><td colspan=4 bgcolor="#5BA5B2">Xterm? "\033[12~": "\033[[B"</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> F3</td><td colspan=4 bgcolor="#5188B2">Xterm? "\033[13~": "\033[[C"</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> F4</td><td colspan=4 bgcolor="#5BA5B2">Xterm? "\033[14~": "\033[[D"</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> F5</td><td colspan=4 bgcolor="#5188B2">Xterm? "\033[15~": "\033[[E"</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> F6</td><td colspan=4 bgcolor="#5BA5B2">"\033[17~"</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> F7</td><td colspan=4 bgcolor="#5188B2">"\033[18~"</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> F8</td><td colspan=4 bgcolor="#5BA5B2">"\033[19~"</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> F9</td><td colspan=4 bgcolor="#5188B2">"\033[20~"</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> F10</td><td colspan=4 bgcolor="#5BA5B2">"\033[21~"</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> F11</td><td colspan=4 bgcolor="#5188B2">"\033[23~"</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> F12</td><td colspan=4 bgcolor="#5BA5B2">"\033[24~"</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> Home</td><td colspan=4 bgcolor="#5188B2">"\033[7~"</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> End</td><td colspan=4 bgcolor="#5BA5B2">"\033[8~"</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> Prior</td><td colspan=4 bgcolor="#5188B2">"\033[5~"</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> Next</td><td colspan=4 bgcolor="#5BA5B2">"\033[6~"</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> Insert</td><td colspan=4 bgcolor="#5188B2">"\033[2~"</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> Control_Space</td><td colspan=4 bgcolor="#5BA5B2">"\x00"</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> Control_Print</td><td colspan=4 bgcolor="#5188B2">reportAnswerBack()</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> Ascii</td><td colspan=4 bgcolor="#5BA5B2">Character</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=LF>LF</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Line Feed</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x0a</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Causes either a line feed or new line operation (See <a href=#LNM>LNM</a>.) +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">NewLine</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=LNM>LNM</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Line Feed/New Line Mode</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td></td> + <td colspan=6> This is a parameter to <a href=#SM>SM</a> and <a href=#RM>RM</a> control sequences. + The reset state + causes the interpretation of the <a href=#LF>LF</a> character to imply only vertical + movement of the cursor and causes the RETURN key to send the single + code <a href=#CR>CR</a>. + <p> + The set state causes the <a href=#LF>LF</a> character to imply movement + to the first position of the following line, and causes the RETURN key + to send the code pair <a href=#CR>CR</a> <a href=#LF>LF</a>. This is the New Line option. + <p> + This mode does not affect the Index (<a href=#IND>IND</a>) or the next line + (<a href=#NEL>NEL</a>) format effectors. +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=LS0>LS0</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Lock Shift Zero (Shift Out - SO)</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x0e</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Invoke the G1 character set, as designated by the <a href=#SCS>SCS</a> control sequence. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">useCharset</td><td colspan=1 bgcolor="#5188B2">1</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=LS1>LS1</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Lock Shift One (Shift In - SI)</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x0f</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Invoke the G0 character set, as selected by the <ESC>( sequence. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">useCharset</td><td colspan=1 bgcolor="#5188B2">0</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=LS2>LS2</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Lock Shift Two</b> + <td bgcolor="#D0D0D0">KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>n</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> FIXME. explain +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">useCharset</td><td colspan=1 bgcolor="#5188B2">2</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=LS3>LS3</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Lock Shift Three</b> + <td bgcolor="#D0D0D0">KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>o</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> FIXME. explain +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">useCharset</td><td colspan=1 bgcolor="#5188B2">3</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=MC>MC</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Media Copy</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>i</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> FIXME. explain +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=MOUSE>MOUSE</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Mouse Events</b> + <td bgcolor="#D0D0D0">KONSOLE +<tr><td><p></td> +<tr><td></td> + <td colspan=6> FIXME. explain +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=NAK>NAK</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Negative Acknowledge</b> + <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x15</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Ignored +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=NEL>NEL</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Next Line</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>E</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> This causes the cursor to move to the first position of the next line + down. If the cursor is on the bottom line, a scroll is performed. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">NextLine</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=NUL>NUL</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Null</b> + <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x00</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> NUL is used as media- or time-fill. It is ignored by Konsole, but may + be sensible for devices which requiere a recognizable amount of time + to complete some commands (e.g. form feed on a non-buffering printing + device). +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=PRINT>PRINT</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Printable Characters</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <em>0x20..0x7e,0xa0..0xff</em></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Printable characters are basically displayed. They my cause a line + wrap when the cursor is already located at the end of the line. + <p> + The VT100 has a unique way to do this by producing a line wrap before + the character would be displayed on the next line. This feature allows + to print at the rightmost column without producing an implicit line feed. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">ShowCharacter</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=RI>RI</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Reverse Index</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>M</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Move the cursor up one line without changing columns. If the cursor is + on the top line, a scroll down is performed. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">reverseIndex</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=RIS>RIS</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Reset to Initial State</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>c</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Resets the VT100 to the state is has upon power up. This also causes + the execution of the POST and signal INT H to be asserted briefly. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">resetTerminal</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=RM>RM</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Reset Mode</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Ps;...</em> <b>l</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Resets one or more VT100 modes as specified by each selective parameter + in the parameter string. Each mode to be reset is specified by a + separate parameter. See <a href=#MODES>MODES</a> and <a href=#SM>SM</a>. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 4</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">resetMode</td><td colspan=1 bgcolor="#5188B2">MODE_Insert</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 20</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">resetMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_NewLine</td><td colspan=1 bgcolor="#5BA5B2"><a href=#LNM>LNM</a></td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=RS>RS</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Record Separator (IS2 - Information Separator Two)</b> + <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x1e</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Ignored +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=SCS>SCS</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Select Character Set</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <em>Pc;Cs</em></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> The appropriate D0 and G1 character sets are designated from one of the + five possible sets. The G0 and G1 sets are invoked by the characters + <a href=#LS1>LS1</a> and <a href=#LS0>LS0</a>, respectively. + <p> + The United Kingdom and ASCII sets conform to the "ISO international + register of character sets to be used with escape sequences". The + other sets are private character sets. Special graphics means that the + graphic characters fpr the codes 0137 to 0176 are replaced with other + characters. The specified character set will be used until another SCS + is received. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Cs</td><td colspan=4 bgcolor="#D0D0D0">Character Set</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> A</td><td colspan=4 bgcolor="#5188B2">United Kingdom Set</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> B</td><td colspan=4 bgcolor="#5BA5B2">ASCII Set</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=4 bgcolor="#5188B2">Special Graphics</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 1</td><td colspan=4 bgcolor="#5BA5B2">Alternate Character ROM (Standard Character Set)</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 2</td><td colspan=4 bgcolor="#5188B2">Alternate Character ROM (Special Graphics)</td></tr> +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Pc</td><td colspan=4 bgcolor="#D0D0D0">Character Selection</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> (</td><td colspan=4 bgcolor="#5188B2">Select G0 Set</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> )</td><td colspan=4 bgcolor="#5BA5B2">Select G1 Set</td></tr> +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">setCharset</td><td colspan=1 bgcolor="#5188B2">p-'(',q</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=SGR>SGR</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Select Graphic Rendition</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Ps;...</em> <b>m</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Invoke the graphic rendition specified by the parameter(s). All + following characters transmitted to the VT100 are rendered according + to the parameter(s) until the next occurrence of an SGR. + <p> + All other parameter values are ignored. + <p> + Without the Advanced Video Option, only one type of character attribute + is possible, as determined by the cursor selection; in that case + specifying either underscore or reverse will activate the currently + selected attribute. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setDefaultRendition</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Attributes Off</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 1</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setRendition</td><td colspan=1 bgcolor="#5BA5B2">RE_BOLD</td><td colspan=1 bgcolor="#5BA5B2">Bold or increased intensity</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 4</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setRendition</td><td colspan=1 bgcolor="#5188B2">RE_UNDERLINE</td><td colspan=1 bgcolor="#5188B2">Underscore</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 5</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setRendition</td><td colspan=1 bgcolor="#5BA5B2">RE_BLINK</td><td colspan=1 bgcolor="#5BA5B2">Blink</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 7</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setRendition</td><td colspan=1 bgcolor="#5188B2">RE_REVERSE</td><td colspan=1 bgcolor="#5188B2">Negative (reverse) image</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 10</td><td colspan=1 bgcolor="#5BA5B2">konsole</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">Ignored</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 11</td><td colspan=1 bgcolor="#5188B2">konsole</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 12</td><td colspan=1 bgcolor="#5BA5B2">konsole</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">Ignored</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 22</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">resetRendition</td><td colspan=1 bgcolor="#5188B2">RE_BOLD</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 24</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">resetRendition</td><td colspan=1 bgcolor="#5BA5B2">RE_UNDERLINE</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 25</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">resetRendition</td><td colspan=1 bgcolor="#5188B2">RE_BLINK</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 27</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">resetRendition</td><td colspan=1 bgcolor="#5BA5B2">RE_REVERSE</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 30</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setForeColor</td><td colspan=1 bgcolor="#5188B2">0</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 31</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setForeColor</td><td colspan=1 bgcolor="#5BA5B2">1</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 32</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setForeColor</td><td colspan=1 bgcolor="#5188B2">2</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 33</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setForeColor</td><td colspan=1 bgcolor="#5BA5B2">3</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 34</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setForeColor</td><td colspan=1 bgcolor="#5188B2">4</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 35</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setForeColor</td><td colspan=1 bgcolor="#5BA5B2">5</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 36</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setForeColor</td><td colspan=1 bgcolor="#5188B2">6</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 37</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setForeColor</td><td colspan=1 bgcolor="#5BA5B2">7</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 39</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setForeColorToDefault</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 40</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setBackColor</td><td colspan=1 bgcolor="#5BA5B2">0</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 41</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setBackColor</td><td colspan=1 bgcolor="#5188B2">1</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 42</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setBackColor</td><td colspan=1 bgcolor="#5BA5B2">2</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 43</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setBackColor</td><td colspan=1 bgcolor="#5188B2">3</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 44</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setBackColor</td><td colspan=1 bgcolor="#5BA5B2">4</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 45</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setBackColor</td><td colspan=1 bgcolor="#5188B2">5</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 46</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setBackColor</td><td colspan=1 bgcolor="#5BA5B2">6</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 47</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setBackColor</td><td colspan=1 bgcolor="#5188B2">7</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 49</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setBackColorToDefault</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 90</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setForeColor</td><td colspan=1 bgcolor="#5188B2">8</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 91</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setForeColor</td><td colspan=1 bgcolor="#5BA5B2">9</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 92</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setForeColor</td><td colspan=1 bgcolor="#5188B2">10</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 93</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setForeColor</td><td colspan=1 bgcolor="#5BA5B2">11</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 94</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setForeColor</td><td colspan=1 bgcolor="#5188B2">12</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 95</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setForeColor</td><td colspan=1 bgcolor="#5BA5B2">13</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 96</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setForeColor</td><td colspan=1 bgcolor="#5188B2">14</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 97</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setForeColor</td><td colspan=1 bgcolor="#5BA5B2">15</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 100</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setBackColor</td><td colspan=1 bgcolor="#5188B2">8</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 101</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setBackColor</td><td colspan=1 bgcolor="#5BA5B2">9</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 102</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setBackColor</td><td colspan=1 bgcolor="#5188B2">10</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 103</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setBackColor</td><td colspan=1 bgcolor="#5BA5B2">11</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 104</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setBackColor</td><td colspan=1 bgcolor="#5188B2">12</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 105</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setBackColor</td><td colspan=1 bgcolor="#5BA5B2">13</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 106</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setBackColor</td><td colspan=1 bgcolor="#5188B2">14</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 107</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setBackColor</td><td colspan=1 bgcolor="#5BA5B2">15</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=SM>SM</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Set Mode</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Ps;...</em> <b>h</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Causes one or more modes to be set within the VT100 as specified by + each selective parameter string. Each mode to be set is specified by a + seperate parameter. A mode is considered set until it is reset by a + Reset Mode (<a href=#RM>RM</a>) control sequence. + See <a href=#RM>RM</a> and <a href=#MODES>MODES</a>. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 4</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setMode</td><td colspan=1 bgcolor="#5188B2">MODE_Insert</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 20</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">setMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_NewLine</td><td colspan=1 bgcolor="#5BA5B2"><a href=#LNM>LNM</a></td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=SOH>SOH</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Start Of Heading</b> + <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x01</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Ignored +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=STX>STX</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Start Of Text</b> + <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x02</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Ignored +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=SUB>SUB</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Substitute</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x1a</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Same as <a href=#CAN>CAN</a>. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">ShowCharacter</td><td colspan=1 bgcolor="#5188B2">2</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=SYN>SYN</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Synchronous Idle</b> + <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x16</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Ignored +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=TBC>TBC</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Tabulation Clear</b> + <td bgcolor="#D0D0D0">ECMA VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Ps</em> <b>g</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> If the parameter is missing or 0, this will clear the tab stop at the + cursor's position. If it is 3, this will clear all of the tab stops. + Any other parameter is ignored. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">changeTabStop</td><td colspan=1 bgcolor="#5188B2">FALSE</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 3</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">clearTabStops</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=US>US</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Unit Separator (IS1 - Information Separator One)</b> + <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x1f</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Ignored +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=VPA>VPA</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Vertical Position Absolute</b> + <td bgcolor="#D0D0D0">ECMA KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>d</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> FIXME. explain +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setCursorY</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=VT>VT</a> + <td colspan=5 bgcolor="#D0D0D0"><b>Vertical Tabulation</b> + <td bgcolor="#D0D0D0">VT100 +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>0x0b</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Same as <a href=#LF>LF</a>. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">NewLine</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=VT52ANSI>VT52ANSI</a> + <td colspan=5 bgcolor="#D0D0D0"><b>VT52 ANSI Ansi Mode</b> + <td bgcolor="#D0D0D0">VT100 XTERM VT52 KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b><</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> This is an extension to the VT52 commands to embed the emulation into VT100. + It allows to return back to VT100 emulation (ANSI mode). + See also <a href=#DECANM>DECANM</a> and <a href=#SM>SM</a>. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">setMode</td><td colspan=1 bgcolor="#5188B2">MODE_Ansi</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=VT52CUB>VT52CUB</a> + <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Cursor Back</b> + <td bgcolor="#D0D0D0">KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>D</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> See <a href=#CUB>CUB</a>. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">cursorLeft</td><td colspan=1 bgcolor="#5188B2">1</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=VT52CUD>VT52CUD</a> + <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Cursor Down</b> + <td bgcolor="#D0D0D0">KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>B</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> See <a href=#CUD>CUD</a>. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">cursorDown</td><td colspan=1 bgcolor="#5188B2">1</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=VT52CUF>VT52CUF</a> + <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Cursor Forward</b> + <td bgcolor="#D0D0D0">KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>C</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> See <a href=#CUF>CUF</a>. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">cursorRight</td><td colspan=1 bgcolor="#5188B2">1</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=VT52CUH>VT52CUH</a> + <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Cursor Home</b> + <td bgcolor="#D0D0D0">KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>H</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> FIXME. explain +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setCursorYX</td><td colspan=1 bgcolor="#5188B2">1,1</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=VT52CUP>VT52CUP</a> + <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Cursor Position</b> + <td bgcolor="#D0D0D0">KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>Y</b> <em>X;Y</em></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Line and column numbers for direct cursor address are single + character codes whose values are the desired number plus + 37 (in Octal). Line and column numbers start at 1. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setCursorYX</td><td colspan=1 bgcolor="#5188B2">p-31,q-31</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=VT52CUU>VT52CUU</a> + <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Cursor Up</b> + <td bgcolor="#D0D0D0">KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>A</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> See <a href=#CUU>CUU</a>. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">cursorUp</td><td colspan=1 bgcolor="#5188B2">1</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=VT52EDL>VT52EDL</a> + <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Clear To End Of Line</b> + <td bgcolor="#D0D0D0">KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>K</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> FIXME. explain +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">clearToEndOfLine</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=VT52EDS>VT52EDS</a> + <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Clear To End Of Screen</b> + <td bgcolor="#D0D0D0">KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>J</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> FIXME. explain +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">clearToEndOfScreen</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=VT52KPAM>VT52KPAM</a> + <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Enter alternate keypad mode</b> + <td bgcolor="#D0D0D0">KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>=</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">setMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppKeyPad</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=VT52KPNM>VT52KPNM</a> + <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Exit alternate keypad mode</b> + <td bgcolor="#D0D0D0">KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>></b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> FIXME. explain +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">resetMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppKeyPad</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=VT52REP>VT52REP</a> + <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Report Terminal Type</b> + <td bgcolor="#D0D0D0">KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>Z</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> Response to ESC Z is ESC / Z. +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">reportTerminalType</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=VT52RI>VT52RI</a> + <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Reverse Index</b> + <td bgcolor="#D0D0D0">KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>I</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> FIXME. explain +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">reverseIndex</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=VT52SCSF>VT52SCSF</a> + <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Select special graphics character set</b> + <td bgcolor="#D0D0D0">KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>F</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> FIXME. explain +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setAndUseCharset</td><td colspan=1 bgcolor="#5188B2">0,'0'</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=VT52SCSG>VT52SCSG</a> + <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Select ASCII character set</b> + <td bgcolor="#D0D0D0">KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>G</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> FIXME. explain +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setAndUseCharset</td><td colspan=1 bgcolor="#5188B2">0,'B'</td><td colspan=1 bgcolor="#5188B2">see above</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=XTERESTORE>XTERESTORE</a> + <td colspan=5 bgcolor="#D0D0D0"><b>XTerm Private Restore Mode</b> + <td bgcolor="#D0D0D0">XTERM KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <b>?</b> <em>Ps;...</em> <b>r</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> FIXME. explain +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 1</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">restoreMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppCuKeys</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 6</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">restoreMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Origin</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 7</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">restoreMode</td><td colspan=1 bgcolor="#5188B2">MODE_Wrap</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 1000</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">restoreMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Mouse1000</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 1001</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr><td><p></td></tr> +<tr><td bgcolor="#D0D0D0"><a name=XTESAVE>XTESAVE</a> + <td colspan=5 bgcolor="#D0D0D0"><b>XTerm Private Save Mode</b> + <td bgcolor="#D0D0D0">XTERM KONSOLE +<tr><td><p></td> +<tr><td> + <td colspan=5 ><code> <b>ESC</b> <b>[</b> <b>?</b> <em>Ps;...</em> <b>s</b></code> +<tr><td><p></td> +<tr><td></td> + <td colspan=6> FIXME. explain +<tr><td><p></td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 1</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">saveMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppCuKeys</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 6</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">saveMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Origin</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 7</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">saveMode</td><td colspan=1 bgcolor="#5188B2">MODE_Wrap</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5BA5B2"> 1000</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">saveMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Mouse1000</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr> +<tr> +<td></td> +<td colspan=1 bgcolor="#5188B2"> 1001</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr> +</table> +<h2> +<table width=100%> +<tr><td align=center bgcolor=#d0d0d0></td></tr> +<tr><td align=center bgcolor=#d0d0d0>On VT100</td></tr> +<tr><td align=center bgcolor=#d0d0d0></td></tr> +</table> +</h2> + +The VT100 is an upward and downward software-compatible terminal; +that is, previous Digital video terminals have Digital's private standards +for control sequences. The American National Standards Institute has since +standardized escape and control sequences in terminals in documents X3.41-1974 +and X3.64-1977. +<p> +The VT100 is compatible with both the previous Digital standard and +ANSI standards. Customers may use existing Digital software designed around +the VT52 or new VT100 software. The VT100 has a "VT52 compatible" mode in +which the VT100 responds to control sequences like a VT52. In this mode, most +of the new VT100 features cannot be used. +<p> +Throughout this document references will be made to "VT52 mode" or +"ANSI mode". These two terms are used to indicate the VT100's software +compatibility. +<p> +<em>NOTE</em>: The ANSI standards allow the manufacturer flexibility in implementing +each function. This document describes how the VT100 will respond to the +implemented ANSI central function. +<p> + +<h2> +<table width=100%> +<tr><td align=center bgcolor=#d0d0d0></td></tr> +<tr><td align=center bgcolor=#d0d0d0>Modes</td></tr> +<tr><td align=center bgcolor=#d0d0d0></td></tr> +</table> +</h2> +<a name=#MODES></a> + + +The Following is a list of VT100 modes which may be changed with Set +Mode (SM) and Reset Mode (RM) controls. + +<h3>ANSI Specified Modes</h3> + +<table border=1> +<tr><td>Parameter</td><td>Mnemonic</td><td>Function</td></tr> +<tr><td><hr></td><td><hr></td><td><hr></td></tr> +<tr><td>0 </td><td> </td><td>Error (Ignored)</td></tr> +<tr><td>20 </td><td>LNM </td><td>Line Feed/New Line Mode</td></tr> +</table> + + +<h3>DEC Private Modes</h3> + +If the first character in the parameter string is ? (077), the +parameters are interpreted as DEC private parameters according to the +following: + +<table border=1> +<tr><td>Parameter</td><td>Mnemonic</td><td>Function +<tr><td><hr></td><td><hr></td><td><hr></td></tr> +<tr><td>0</td><td> </td><td>Error (Ignored)</td></tr> +<tr><td>1</td><td><a href=#DECCKM >DECCKM </a></td><td>Cursor Key </td></tr> +<tr><td>2</td><td><a href=#DECANM >DECANM </a></td><td>ANSI/VT52 </td></tr> +<tr><td>3</td><td><a href=#DECCOLM>DECCOLM</a></td><td>Column </td></tr> +<tr><td>4</td><td><a href=#DECSCLM>DECSCLM</a></td><td>Scrolling </td></tr> +<tr><td>5</td><td><a href=#DECSCNM>DECSCNM</a></td><td>Screen </td></tr> +<tr><td>6</td><td><a href=#DECOM >DECOM </a></td><td>Origin </td></tr> +<tr><td>7</td><td><a href=#DECAWM >DECAWM </a></td><td>Auto Wrap </td></tr> +<tr><td>8</td><td><a href=#DECARM>DECARM </a></td><td>Auto Repeat </td></tr> +<tr><td>9</td><td><a href=#DECINLM>DECINLM</a></td><td>Interlace </td></tr> +</table> + +Any other parameter values are ignored. + +<p> +The following modes, which are specified in the ANSI standard, may be +considered to be permanently set, permanently reset, or not applicable, +as noted. + +<table border=1> +<tr><td>Mnemonic</td><td>Function </td><td>State</td></tr> + +<tr><td>CRM </td><td>Control Representation </td><td>Reset</td></tr> +<tr><td>EBM </td><td>Editing Boundary </td><td>Reset</td></tr> +<tr><td>ERM </td><td>Erasure </td><td>Set </td></tr> +<tr><td>FEAM </td><td>Format Effector Action </td><td>Reset</td></tr> +<tr><td>FETM </td><td>Format Effector Transfer </td><td>Reset</td></tr> +<tr><td>GATM </td><td>Guarded Area Transfer </td><td>NA </td></tr> +<tr><td>HEM </td><td>Horizontal Editing </td><td>NA </td></tr> +<tr><td>IRM </td><td>Insertion-replacement </td><td>Reset</td></tr> +<tr><td>KAM </td><td>Keyboard Action </td><td>Reset</td></tr> +<tr><td>MATM </td><td>Multiple area transfer </td><td>NA </td></tr> +<tr><td>PUM </td><td>Positioning Unit </td><td>Reset</td></tr> +<tr><td>SATM </td><td>Selected Area Transfer </td><td>NA </td></tr> +<tr><td>SRTM </td><td>Status Reporting Transfer</td><td>Reset</td></tr> +<tr><td>TSM </td><td>Tabulation Stop </td><td>Reset</td></tr> +<tr><td>TTM </td><td>Transfer Termination </td><td>NA </td></tr> +<tr><td>VEM </td><td>Vertical Editing </td><td>NA </td></tr> +</table> +<h2>Keyboard Codes</h2> + +The notation <ESC> denotes a single ASCII Escape character, 1Bx. + +<table border=1> +<tr> +<td>Cursor Key</td> +<td>VT52 mode</td> +<td>ANSI mode w/cursor <br> key mode reset</td> +<td>ANSI mode w/cursor <br> key mode set</td> +</tr> +<tr><td>UP </td><td><ESC>A</td><td><ESC>[A</td><td><ESC>OA</td></tr> +<tr><td>DOWN </td><td><ESC>B</td><td><ESC>[B</td><td><ESC>OB</td></tr> +<tr><td>RIGHT</td><td><ESC>C</td><td><ESC>[C</td><td><ESC>OC</td></tr> +<tr><td>LEFT </td><td><ESC>D</td><td><ESC>[D</td><td><ESC>OD</td></tr> +</table> +<h2>Special Graphics Characters</h2> + +If the Special Graphics set is selected, the graphics for ASCII codes +0137 through 0176 will be replaced according to the following table (see the +<a href=#SCS>SCS</a> control sequence). +<center> +<table cellspacing=30> +<tr><td><table><tr><td>Octal<br>Code </td> + <td>ASCII<br>Graphic</td> + <td>Special Graphic </td></tr> +<tr><td><hr></td> + <td><hr></td> + <td><hr></td></tr> +<tr><td>0137</td> + <td align=center>_</td> + <td>Blank</td></tr> +<tr><td>0140</td> + <td align=center>`</td> + <td>Diamond</td></tr> +<tr><td>0141</td> + <td align=center>a</td> + <td>Checkerboard</td></tr> +<tr><td>0142</td> + <td align=center>b</td> + <td>Digraph: (HT)</td></tr> +<tr><td>0143</td> + <td align=center>c</td> + <td>Digraph: (FF)</td></tr> +<tr><td>0144</td> + <td align=center>d</td> + <td>Digraph: (CR)</td></tr> +<tr><td>0145</td> + <td align=center>e</td> + <td>Digraph: (LF)</td></tr> +<tr><td>0146</td> + <td align=center>f</td> + <td>Degree Symbol: °</td></tr> +<tr><td>0147</td> + <td align=center>g</td> + <td>+/- Symbol: ±</td></tr> +<tr><td>0150</td> + <td align=center>h</td> + <td>Digraph: (NL)</td></tr> +<tr><td>0151</td> + <td align=center>i</td> + <td>Digraph: (VT)</td></tr> +<tr><td>0152</td> + <td align=center>j</td> + <td>Lower-right corner</td></tr> +<tr><td>0153</td> + <td align=center>k</td> + <td>Upper-right corner</td></tr> +<tr><td>0154</td> + <td align=center>l</td> + <td>Upper-left corner</td></tr> +<tr><td>0155</td> + <td align=center>m</td> + <td>Lower-left corner</td></tr> +<tr><td>0156</td> + <td align=center>n</td> + <td>Crossing lines (+)</td></tr> +</td></table></td><td><table><tr><td>Octal<br>Code </td> + <td>ASCII<br>Graphic</td> + <td>Special Graphic </td></tr> +<tr><td><hr></td> + <td><hr></td> + <td><hr></td></tr> +<tr><td>0157</td> + <td align=center>o</td> + <td>Horiz Line - scan 1</td></tr> +<tr><td>0160</td> + <td align=center>p</td> + <td>Horiz Line - scan 3</td></tr> +<tr><td>0161</td> + <td align=center>q</td> + <td>Horiz Line - scan 5</td></tr> +<tr><td>0162</td> + <td align=center>r</td> + <td>Horiz Line - scan 7</td></tr> +<tr><td>0163</td> + <td align=center>s</td> + <td>Horiz Line - scan 9</td></tr> +<tr><td>0164</td> + <td align=center>t</td> + <td>Left "T" (|-)</td></tr> +<tr><td>0165</td> + <td align=center>u</td> + <td>Right "T" (-|)</td></tr> +<tr><td>0166</td> + <td align=center>v</td> + <td>Bottom "T" (|_)</td></tr> +<tr><td>0167</td> + <td align=center>w</td> + <td>Top "T" (T)</td></tr> +<tr><td>0170</td> + <td align=center>x</td> + <td>Vertical Bar (|)</td></tr> +<tr><td>0171</td> + <td align=center>y</td> + <td>Less/Equal: ≤</td></tr> +<tr><td>0172</td> + <td align=center>z</td> + <td>Graeter/Egual: ≥</td></tr> +<tr><td>0173</td> + <td align=center>{</td> + <td>Pi symbol: π</td></tr> +<tr><td>0174</td> + <td align=center>|</td> + <td>Not equal: ≠</td></tr> +<tr><td>0175</td> + <td align=center>}</td> + <td>UK pound symbol: £</td></tr> +<tr><td>0176</td> + <td align=center>~</td> + <td>Centered dot: ·</td></tr> +</td></tr></table> +</table> +</center> +<em>NOTE 1</em>: Codes 0152-0156 and 0164-0170 are used to draw rectangular grids" each +piece of this set is contiguous with other so the lines formed will be +unbroken. +<p> +<em>NOTE 2</em>: Codes 0157-0163 give better vertical resolution than dashes and +underlines when drawing graphs; using these segments, 120 x 132 resolution may +be obtained in 132 column mode with the Advanced Video Option installed. +<p> + +<h2>References</h2> +<p> +<hr> +<small> +This text is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +<p> +<a href="mailto:lars.doelle@on-line.de">Lars Dölle</a>, 1998 +</small> + +</body> +</html> diff --git a/konsole/doc/VT100/vt100.gif b/konsole/doc/VT100/vt100.gif new file mode 100644 index 000000000..0d3e21d49 --- /dev/null +++ b/konsole/doc/VT100/vt100.gif @@ -0,0 +1,401 @@ +/* XPM */ +static char*vt100[]={ +"188 161 237 2", +".N c #5d5d5d", +"bA c #040404", +".f c #f4f4f4", +".Y c #9b9b9b", +"Qt c None", +"#Z c #424242", +".w c #d9d9d9", +"#W c #808080", +"aF c #272727", +"bq c #bebebe", +".M c #656565", +"bz c #0c0c0c", +"aI c #a3a3a3", +"#h c #4a4a4a", +".x c #e1e1e1", +"a2 c #888888", +"ao c #2f2f2f", +"bK c #c6c6c6", +"#. c #6d6d6d", +"bt c #141414", +".3 c #ababab", +"aT c #525252", +".Z c #e9e9e9", +"aX c #909090", +"#M c #373737", +"aP c #cecece", +"#x c #757575", +"aK c #1c1c1c", +"#s c #b3b3b3", +"ag c #5a5a5a", +"bC c #010101", +".s c #f1f1f1", +"ba c #989898", +"#2 c #3f3f3f", +"ac c #d6d6d6", +".H c #7d7d7d", +"av c #242424", +"bL c #bbbbbb", +".P c #626262", +".F c #a0a0a0", +"#J c #474747", +".p c #dedede", +"ae c #858585", +"ar c #2c2c2c", +"#r c #c3c3c3", +".R c #6a6a6a", +"bg c #111111", +"az c #a8a8a8", +"#e c #4f4f4f", +".i c #e6e6e6", +"a5 c #8d8d8d", +"#P c #343434", +"#q c #cbcbcb", +"#A c #727272", +"aW c #191919", +"bh c #b0b0b0", +"#D c #575757", +".e c #eeeeee", +"ad c #959595", +"#k c #3c3c3c", +".B c #d3d3d3", +".6 c #7a7a7a", +"aL c #212121", +"#7 c #b8b8b8", +"#a c #5f5f5f", +"bF c #060606", +".# c #f6f6f6", +"bd c #9d9d9d", +"#H c #444444", +".v c #dbdbdb", +"b# c #828282", +"aE c #292929", +"bp c #c0c0c0", +".L c #676767", +"bj c #a5a5a5", +"#g c #4c4c4c", +".j c #e3e3e3", +"a1 c #8a8a8a", +"at c #313131", +".1 c #c8c8c8", +".8 c #6f6f6f", +"bl c #161616", +"#R c #adadad", +"#E c #545454", +".A c #ebebeb", +"#p c #929292", +"#j c #393939", +"ai c #d0d0d0", +".I c #777777", +"aM c #1e1e1e", +"bx c #b5b5b5", +".U c #5c5c5c", +"bG c #030303", +".g c #f3f3f3", +".4 c #9a9a9a", +"#3 c #414141", +"aa c #d8d8d8", +"af c #7f7f7f", +"au c #262626", +".D c #bdbdbd", +".V c #646464", +"be c #a2a2a2", +"#0 c #494949", +".k c #e0e0e0", +"a0 c #878787", +"aD c #2e2e2e", +"bH c #c5c5c5", +".K c #6c6c6c", +"bu c #131313", +"bs c #aaaaaa", +"#f c #515151", +".c c #e8e8e8", +".G c #8f8f8f", +"#4 c #363636", +"aB c #cdcdcd", +".7 c #747474", +"aJ c #1b1b1b", +"bO c #b2b2b2", +"a. c #595959", +"bB c #000000", +".0 c #f0f0f0", +"a9 c #979797", +"#I c #3e3e3e", +"ah c #d5d5d5", +"a4 c #7c7c7c", +"aR c #232323", +"bI c #bababa", +".T c #616161", +"bD c #080808", +"bi c #9f9f9f", +"#1 c #464646", +".r c #dddddd", +"aY c #848484", +"aC c #2b2b2b", +"ax c #c2c2c2", +"## c #696969", +"aH c #a7a7a7", +"#F c #4e4e4e", +".n c #e5e5e5", +"a6 c #8c8c8c", +"#N c #333333", +".C c #cacaca", +".9 c #717171", +".E c #afafaf", +"#d c #565656", +".h c #ededed", +"#u c #949494", +"#L c #3b3b3b", +"#5 c #d2d2d2", +"#y c #797979", +"aO c #202020", +"#T c #b7b7b7", +"#b c #5e5e5e", +"bE c #050505", +".a c #f5f5f5", +"bc c #9c9c9c", +"#n c #434343", +".y c #dadada", +"#9 c #818181", +"as c #282828", +"bN c #bfbfbf", +".W c #666666", +"bw c #0d0d0d", +"#t c #a4a4a4", +"#Y c #4b4b4b", +".m c #e2e2e2", +".5 c #898989", +"aw c #303030", +"#S c #c7c7c7", +"#C c #6e6e6e", +"#8 c #acacac", +"ak c #535353", +".d c #eaeaea", +"aS c #919191", +"#Q c #383838", +"ap c #cfcfcf", +"#w c #767676", +"aQ c #1d1d1d", +"bP c #b4b4b4", +"bJ c #5b5b5b", +"by c #020202", +".z c #f2f2f2", +"bb c #999999", +"#i c #404040", +"ab c #d7d7d7", +"#v c #7e7e7e", +".2 c #bcbcbc", +".O c #636363", +"bv c #0a0a0a", +"bf c #a1a1a1", +"#G c #484848", +".l c #dfdfdf", +"aZ c #868686", +"al c #2d2d2d", +"bM c #c4c4c4", +"#B c #6b6b6b", +"bn c #a9a9a9", +"an c #505050", +".u c #e7e7e7", +"a7 c #8e8e8e", +"#m c #353535", +"br c #cccccc", +"#z c #737373", +"bo c #1a1a1a", +"aG c #b1b1b1", +"#c c #585858", +".b c #efefef", +"#V c #969696", +"#K c #3d3d3d", +"aq c #d4d4d4", +".X c #7b7b7b", +"am c #b9b9b9", +".S c #606060", +"aj c #9e9e9e", +"#o c #454545", +".q c #dcdcdc", +"a3 c #838383", +"aA c #2a2a2a", +"bm c #c1c1c1", +".Q c #686868", +"bk c #0f0f0f", +"#U c #a6a6a6", +"#X c #4d4d4d", +".o c #e4e4e4", +"b. c #8b8b8b", +"#O c #323232", +"#6 c #c9c9c9", +".J c #707070", +"aN c #171717", +"bQ c #aeaeae", +"aU c #555555", +".t c #ececec", +"a8 c #939393", +"#l c #3a3a3a", +"ay c #d1d1d1", +"aV c #787878", +"a# c #b6b6b6", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.a.b.b.c.d.b.e.bQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.#.f.f.f.g.e.h.c.i.j.k.l.m.k.l.l.m.l.k.m.n.m.m.m.o.o.m.m.k.o.m.m.k.l.l.k.k.k.m.k.k.p.k.q.k.k.m.l.m.j.o.o.m.m.r.jQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.f.f.f.f.f.a.#.f.f.#.f.s.s.b.t.u.o.l.v.w.v.r.l.l.m.m.m.j.x.x.m.m.m.o.o.o.o.o.i.i.c.i.u.i.n.n.i.o.o.o.j.o.j.o.j.m.m.x.m.x.m.k.x.x.m.m.k.k.m.m.o.o.o.o.o.m.m.x.yQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.g.g.g.s.z.g.s.h.A.h.u.u.o.o.k.j.o.m.j.x.q.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.M.O.Q.R.L.M.R.O.S.T.U.V.V.M.W.J.X.Y.y.Z.u.i.n.u.i.i.u.u.u.u.i.u.n.o.m.m.m.r.k.k.x.m.x.x.m.m.m.m.x.x.r.q.wQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.f.g.a.g.s.0.h.h.A.i.o.o.m.m.m.o.o.o.m.v.B.1.2.3.4.5.6.7.8.9#.#..K#..K.K#.##.R#.#..W.L.V####.P.O#a.N#a#b#c#d#e#f#g#h#i#j#k#l#j#m#n#o#o#h#p.b.Z.i.i.u.i.i.n.i.i.o.o.j.n.j.o.j.o.j.o.j.o.m.l.m.k.l.q.q.r.r.r.w.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.#.#.f.a.a.a.z.g.h.h.A.u.o.o.u.j.o.n.j.j.o.r.y#q#r#s#t#u#v.6#w#x#v#y#x#x#w.7#x#z.K#A#.#B.Q#..Q#.#C.K#C.K.V.V#D#E#F#g#G#G#h#o#H#I#J#n#n#o#G#n#K#L#i#M#N#O#M#P#O#L#Q#L#k#i#H#R.A.u.u.n.i.o.i.o.o.n.o.m.m.m.l.k.m.x.x.m.k.m.m.x.l.k.p.q.q.r.v.w.yQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.#.g.f.z.f.b.h.A.A.d.i.i.i.i.i.i.u.n.o.v.B#S#T#U#V#W#y#z.7#A.7.K#A#x#x.9#x.9.J#C.9.9#x.9#.#z#C.8#B.R.Q.N#c#d#D#D#F#f#F#X#Y#n#i#Z#0#1#I#i#i#K#2#I#Q#3#3#o#k#1#i#H#I#i#Q#L#Q#M#4#j#Q#4#L#M#i#K#2#I#J#5.i.o.m.o.m.k.l.l.r.r.q.r.l.p.k.q.q.r.r.r.l.v.r.q.v.y.y.v.q.y.v.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQt.s.0.h.h.t.A.t.t.Z.Z.d.c.c.u.i.w#5#6#7#8#V#9#x.8.R.V.R#..8#.#A.9#.#..K#C#.#C.K.J.K.J#B.8#A.9.M.Q.T.M.V.V.O#da.#c#F#F#0#g#H#n#I#k#i#k#i#i#o#Z#Z#i#i#n#j#L#M#k#Q#Q#M#l#Q#k#n#i#2#Z#H#i#1#2#K#k#k#L#k#i#L#j#o#2#k#2#K#L#Ha#.o.o.m.k.l.q.r.v.q.v.w.q.v.y.y.w.w.y.waa.w.w.y.w.wab.wac.w.w.y.y.xQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQt.g.b.h.e.b.e.h.A.h.A.t.t.d.Z.m#sadaeaf.7.6#A#B.V.W.Uag.P#b.V.R#..J#z#x.8##.L.R.V.Q#..R.L.S.O.Q##.U.U#c#F#h#f#f#e#0#Y#n#0#X#X#0#Y#3#i#3#l#2#l#I#4#L#I#Z#K#3#i#K#Z#i#n#n#2#l#Q#4#N#I#K#M#i#k#L#M#I#i#m#L#i#i#i#m#N#4#l#M#i#K#J#p.r.k.p.q.r.q.r.q.q.q.r.r.yaaab.y.v.w.wab.w.waaaaaaabababaaabahab.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQt.b.b.0.s.0.0.0.0.0.0.b.b.t.A.c.mai#Taj#v.S.S.R.L.T.V.T.V.S.M.Q.O#.#..L#..R.V#..T#a.Oakak#f#e#Y#n#X#0#F#H#h#Y#Z#h#h#X#1#g#K#n#n#n#Q#3#n#2#l#Q#K#k#I#i#i#Q#m#K#2#n#H#L#n#Z#l#L#Z#2#n#k#l#I#l#Mal#m#n#4#j#i#i#K#3#k#I#M#M#L#4#Q.O.y.x.r.q.q.y.w.w.y.w.y.w.w.w.w.w.w.q.w.w.waaacabahahahacab.w.w.w.rQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQt.b.e.e.e.h.e.b.h.b.e.h.h.h.h.h.b.h.h.b.h.h.h.t.d.u.qam#2#Y#G#Y#Gan#g#X#1#h#han#h#Y#h#H#1#n#3#i#2#i#n#o#J#i#Yan#2#Z#K#K#2#2#n#2#2#K#l#L#M#i#K#n#K#j#kao#j#K#2#k#l#4#m#Z#i#l#Q#N#O#n#J#Z#n#l#3#k#i#j#k#i#L#j#I#2#i#2#M#M#M#i#i#l#nap.r.v.y.yaaabab.w.wababaaaqabacabacahababab.Baq.Babababac.yab.y.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQt.b.A.t.t.A.A.t.A.A.d.A.h.A.h.A.A.A.h.h.t.e.h.b.s.h.d.Z.n.5ar#m#P#M#L#m#L#i#3#Z#i#o#Z#3#2#i#4#M#l#I#L#K#i#H#i#3#n#2#i#n#n#i#n#H#k#H#3#o#l#L#i#l#3#n#M#N#Q#P#Q#k#K#L#M#k#K#n#k#i#m#i#m#P#M#j#i#2#Z#P#n#n#3#n#L#2#I#i#l#jas#Parat#l#S.yaaababahacacaqahahacahab.Bababacabahah.B.Baqaq.Bahahahabab.waaQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.f.b.h.A.A.t.h.t.A.h.h.t.t.h.h.d.A.d.A.A.A.A.h.A.z.b.d.Z.Z.r#vauavaw#K#L#Z#i#J#3#l#i#n#o#2#N#l#L#K#L#M#i#Q#3#j#M#k#i#m#L#I#j#4#j#Q#Qao#N#4#m#2at#m#m#Q#i#I#l#K#M#L#N#K#P#N#4#O#m#M#i#3#2#j#M#4#2#i#K#i#i#k#k#N#2#i#K#I#Pasatal#4#Oaxaaac.Baq.B.Bay#5#5ai#5ah#5ahahabaq.BahahaqabahahahaaababacacahaaQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.#.h.d.A.A.h.t.h.h.h.h.h.t.t.t.t.A.A.A.A.A.h.h.h.b.0.Z.u.i.lazaA#4#K#1#L#K#i#L#I#L#k#j#H#K#i#Z#2#2#L#2#2#G#L#4#Nal#4#P#Q#2#l#P#l#l#H#I#3#l#P#O#Pao#j#4#Q#j#I#j#K#j#4at#K#Oaoaw#M#Oalao#m#M#K#m#1#L#j#k#2#Q#Q#L#P#4#j#l#L#l#M#m#O#l.Dacaqaqahahah.B#5.Baiapaiap#5.B.Bahahahacah.BacacahaqaqahahacahacQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.#.h.A.Z.h.A.A.h.h.h.h.h.h.t.t.t.t.A.A.h.A.t.A.A.h.0.d.i.n.oaBaraC#L#3#P#Z#J#m#L#K#3#n#L#K#2#j#L#m#m#M#P#M#P#P#2#k#L#L#i#l#M#I#k#2#j#i#K#i#L#lat#Q#m#PaD#kaE#P#2#N#P#O#m#P#Mar#m#mao#N#P#i#l#j#Q#l#L#K#l#K#K#3#i#4#k#L#Nar#4#mat#M.2ahahah.B.B.B#5.B.Baiay.B#5ah.B.Bahah.Bah.B.Baqabahaaabac.wahaqabQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.#.h.t.A.h.A.d.h.A.h.t.t.Z.A.A.A.A.A.A.Z.d.A.A.h.t.0.A.n.o.o.v#fao#M#k#M#2#lat#4#m#n#Q#Oar#Oaw#k#4#4#P#2#i#j#I#i#j#1#k#Z#M#l#L#I#K#3#i#M#i#k#i#l#mawao#4#i#P#M#n#l#k#Mao#4#l#M#O#l#K#O#M#P#M#O#l#2#P#M#MaCaDataoawaDaAaF#m#j#M#MaCaGabaqah.B#5#5.B.B#5ah#5.B#5.B#5.Bayaiayaqah.Bacahabaaababahahahah.sQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.#.e.d.d.d.d.Z.Z.d.d.t.t.A.d.A.A.Z.t.t.t.A.i.t.h.h.b.t.x.j.jabaH#4#jat#P#i#k#N#L#M#2#2#Q#M#L#2#3#j#Z#I#k#K#i#i#K#i#k#2#K#N#N#Q#k#K#I#L#L#H#j#3#l#l#4#L#2#j#K#l#jaw#l#I#P#M#m#jatawaC#OalaCaEaFaCaoasauararaoaFaAavaralawaA#L#Q#4alaIah.B.Bayai#5#5.B#5ai.Bayaiaiai#5.B#5aqahahahacabahaaac.Bacahaqac.AQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.#.t.d.Z.d.d.A.Z.Z.t.h.A.t.t.t.d.A.t.A.A.t.t.h.h.h.h.A.j.m.mac.B#Q#K#g#J#h#h#1#P#4#j#l#L#i#Q#m#M#m#P#j#L#4#4#n#k#M#4#j#m#j#2#i#Q#j#i#L#P#P#N#i#i#L#4#K#Q#maDaoaDaDaCasasaAaJaKavaLaJaMaKaAaJaNasaEaoaAaAaKavauaNaOaJasasauaA#Oas#k.4.B.B#5aiai.Bai#5#5#5#5apaPapapapai#5#5ah.B.B.Baqahabacaqah.Baqah.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.#.A.Z.t.d.c.Z.Z.Z.Z.A.t.A.h.h.e.h.h.h.t.h.h.t.t.A.t.Z.m.x.jab.w#k#1#n#o#Z#i#iat#Q#Q#I#m#K#O#Nalat#P#P#P#L#j#l#L#L#i#k#i#2#kaw#MaD#lat#j#j#M#P#N#P#PataDatavauaCauaEaFaQaRaOatalal#NaraDararaD#PaDar#O#2#L#L#NaMararaQ#maCaCaDaDaEaS.Baiaiapapaiaiai.Baiapaiaiaiai.B#5aiaqah.B.B.Baqayahabahahahac.w.oQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.#.h.Z.Z.Z.Z.Z.Z.d.d.d.A.A.h.h.h.A.A.t.A.A.A.h.h.h.h.A.o.m.maa.r#l#N#O#P#L#K#2#Q#Q#O#L#K#N#l#I#L#Z#i#i#o#k#L#L#M#4#4al#3#m#PaoaAalatar#jao#OaraCalao#OawawaDaEataAaD#OaCaw#M#l#k#L#n#g#h#YaT#X#X#XanaUag#DaU#JaMar#MaD#m#P#Q#4aoawae#5.B#5aiaiaiapaBaiaiaiapaiaiaiaiaiay.B.B.B.Bah.B.Bahabahaqaq.Bab.mQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.a.A.A.A.A.A.Z.Z.A.t.t.t.d.h.t.t.h.A.A.t.t.t.t.t.h.h.c.m.x.m.w.r#OaA#maA#M#2#H#3#k#M#3#4#O#M#2#I#2#M#m#O#j#N#MaFaOaOalavavaFawavalaLalatasaw#M#4#3#nanaU.P.O.W#..7.9.I#A#z#x#x#x#z#w.6.XaV#w#A#A.8#.aV#A.I.7.8aW#N#j#k#O#k#K#PaoaE#x#5.Baqaiahai#5apap#5apaPaiaPapaiaiai#5.B#5#5ay#5.Baiay.BahacahacaaQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.#.Z.Z.Z.Z.Z.d.t.A.A.A.h.t.h.t.t.A.h.h.t.h.h.h.h.h.h.Z.x.k.l.q.x#iar#Q#QaX#J#1awat#malatas#4awaEalaEaraEaLaEatawataC#jaw#I#o#X#e.U.O#..8.7#v.X#9#9aYaZafa0.5aea1aea2aYaea2aZaYa3afaY#Waea3#v#va4#v#va2afafaV.6aDau#O#Mat#M#4#m#PaC.Lap.B.B#5#5aiaiapaPaBaBaPapapaiai#5.Baq#5.B.Bai.Bay.B.B.B#5ahababaaQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.#.A.Z.t.A.t.A.A.A.A.A.A.A.t.A.A.A.A.A.t.t.t.h.h.A.h.o.p.l.l.r.r#bataEa5#GaCaJaJaWaRaEaLaCatataw#l#P#l#Y#Gak#b#B#A#wafaeaea1a6a7a6.G.Gad#ua7#paSa7#p#pa8a9aSa7a6a5a5a5.5a0.5.5a2b..5a0aYa2a0aZaZa3aYa0a0a0b#b##XaL#KaDaoaO#MaCau#P#d#q#5.B.Bayaiapayaiap#5aiapai#5aiayayayai#5#5ai.Bai.Baiah.B#5ahab.wQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.a.d.d.d.A.A.d.A.t.A.A.t.h.A.A.A.A.A.h.A.d.h.h.h.h.h.i.k.q.r.q.y#vao#N#W#Iasaoaw#l#i#i#Eag.V#..I.X#9a3a6.Ga7a5#pa7adadad.4#V#Vbabbbaad.4bb#Va9#uad#uba#Vad#V#Vadbaa9a9ad#p#Vada5#Va5a5a5a6a2a2a6a6a0aXa0aZa3a3.VaJaDat#4aAaAaFaKaO#L.Cah#5ai#5aiaiaPapapapapai#5#5ay.B#5#5#5aq.Bai#5ai#5ay.BayahahacabQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.g.Z.d.A.A.A.d.A.t.A.d.Z.d.Z.A.d.A.d.Z.Z.A.A.t.h.A.t.u.l.q.q.r.w#uaEaw#kar#O#Kag.Ha0a7#p.G#ua9bbbbbc.4bbbc.4bd.4ajbd.4bd.FajbdbebdbdaIbfaIaj.4.Y.4.4.Ybc.4.4bbad#V#uad#uaXaS#p#uaS#paSa5a7a5b.a5.5.5a0.5aeaf#W#xbg#NasaDaw#NaraCaF#N#Saq#5ay#5aiaiaiaiapapapapai.B#qaiaiaiap.B#5ai#5ay.B#5.Baq#5.BaqabQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.g.c.Z.A.A.t.A.A.d.Z.Z.d.c.c.Z.d.Z.d.A.Z.d.A.A.A.A.d.u.l.r.q.q#5bharal#J#l#l.Ra6.4bibi.Ybd.4bcbd.YbdbcajajbdaIaIbf.F#taI#U.F#UaIaI#t#tbjajajbiajbdbdbdbbbdbb.4bb#V.4a9.4bbad#V#u#ua7#pa5a6a1a6a5a6a2a6.5a3#va4.7bkauasataDalalaEaO#P#r#5aiaiai#5aBapapapayai#5aiai#5.B.Bah.Baiaiapaiai.Bap.Baqah.B#5#5.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.f.A.A.A.d.A.A.d.d.h.A.A.d.d.c.Z.Z.Z.A.A.Z.A.A.Z.d.Z.n.q.q.q.qaB#raE#P#G#m#F#vadbcbjbjbj.F#tbfbebj#UbjaIaIbj#U#t.FbebjbjbebjaI#t#t#tbj#U#tbeaI.Fbeaj.Y.4ba#V#Vbaba#ua8ba#Vadada8#u#p#paSa6a6b.a1a2.5a0a1aeaYb##yaFaLavaEauavaoblaMaFbmaqayaiaiaiapapapapaiaiaiap#5ap#5#5.B.Baiaiai#5apay#5.Babah.Bahaq.rQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.f.Z.Z.Z.d.Z.d.d.A.A.A.A.A.A.Z.c.A.Z.c.c.Z.Z.d.d.Z.A.i.r.q.q.w#q#6#PataT#Q#daf#u#taHaH#Ubjbe#Ubj#tbj#U#t#U#U#Uaz#t#U#tbnazaHbn#t#U#Uaz#tbe#tbiaj.F.4.Y.4a9bbbbba#Va9adbb#ua8a8#uaX.GaSaSa7b.b..5aeaZ.5a2aZ#W#v.6aAbobgaQaOaAasblau#Pbp.BayaiaP#5.B#5aiaiaiaiaPapaiapai#5#5ai#5.Baiaiaiaq.Baiaqahay.B.B.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.s.Z.A.A.d.Z.Z.Z.Z.d.c.Z.Z.Z.Z.A.d.A.Z.Z.Z.A.c.d.d.c.i.q.v.q.q.CaBavaoan#Q#faZba#UbnaH#UaH#Ubjbn#U#t#t#U#Uaz#t#Ubj#t#t#U#U#tbj#U#U#UaIbe#UaIbibdbd.4aj.4bb.4bbbbbababa#V#V#uba#V#pa7#pa5aX.G.G.5.5a0aZaeaY#Wa3.X#ZauaOaKblaQasblbkaEbq#5aiapaiaiaiapapapaiapai#5#5.B.B#5#5.B.B.B.Baiai#5#5.B#5.B.B.B#5.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.s.Z.Z.d.A.A.c.d.Z.A.A.Z.d.Z.Z.Z.c.c.u.u.u.c.u.u.c.c.o.q.y.q.ybracal#maU#I#fb#bibjazbs#UaH#Ubsbnbn#Ubnbnbn#UbnbnbnbjaH#t#tbe#taIaIbe#taIbfaI.Ybe.4aj.4.4a9bbbb#ubbad#ua9a9ad#u#u#u#paXa7aS.GaSa5b.aZa0aYaYafa4.IanbkaKaFaObtaKblaMaLbqayaiapaPapaBapaPapaiaiaiai.B.B.B.B#5#5#5#5ai#5#5#5ah.B#5ahahaqahaaQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.0.Z.Z.A.A.Z.d.c.c.d.Z.A.Z.Z.Z.Z.Z.d.c.c.i.u.u.u.c.u.o.q.y.y.w#q.waraD#h#l#f#9aj#Ubn#Ubjbn#UaHaHbjbj#Ubnazbnbn#U#Ubn#U#t#Ubj#Ubn#U#Ubj#t#Ubfaj.4.4bbaj.Ybb.4ad.4bb#Vbabba9ad#paSa7a7a7b.a5a6.5b..5a2a0a3#W#W#v.X#dboaJaQaLavaRboaJbo.2aibraBaBaBaPapapaiapaiayaiai.Baq.B#5.B#5.B#5aq#5.Bahah.B.BahabaqabQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.s.Z.d.Z.d.Z.u.Z.u.c.u.A.Z.d.Z.Z.u.c.u.u.i.u.i.u.u.u.o.y.w.v.v#5.waDao#K#m#ia4baazaH#UbjbjaI#Ubjbj#U#U#U#U#U#UbjaH#U#UaIbe#tbjbjaIbebfajbcbdbibd.Ybi.4.4bbbba8bbadad#V#u#u#p#pa7#pa5a6a7a1a6a6a6aeaYa3aYaf.XaV#w#cbkbtaKbkblaQbtbubv#Tapbr#q.CaPaPaPai#5aqahah.B.B.B.Bay.B.B.B.Bah.B.Bahaqahababah.B#5aqQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.e.d.d.Z.Z.c.u.u.u.c.Z.Z.Z.c.u.Z.u.c.i.u.i.i.i.i.i.u.o.w.wacabaiabaDas#4al#1afbcbjbn#Ubjaz#taI#Ubj#UaI#U#U#t#UbjbjaH#Ubj#taIaIbebfbfbibdaIbdbd.4a9a9.4.4ba#V#ubb.4ada8#pa7aSa5.5a7a6a5a6a6a7b.a0aYaZaYaZafaf#y#v.PbuaNaFauaMbobwaNbtbx#5aPaBapapapapapai.B.B.Bah.Bah.B.Baqaqaqay.B#5aq#5ay.Baq.BahahahabQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.h.c.Z.Z.Z.u.i.u.u.Z.c.Z.Z.Z.Z.u.c.u.u.o.i.u.u.i.n.u.o.yababah.Bac#Nalawaw#Ja4bb#Ubnbn#U#U#Ubebjbn#tbjbjazbjbj#U#Uazbj#tbj#t#UaIbiajbfbdaIbdbb.4bb.4#Vadad#V#V#Vadadad#u#p.GaXa5.5b.a0a2a0aZa3aYaeaZaYa3a3af.6.6.VbvaKaWblaJaMblbubo.EaB.C#qaBaPayaiaiahaq#5aqaq#5.B.B.B.B.B.Baq.B#5.B.Bah.B.B.B.Bah.Baq.bQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.b.u.Z.i.u.Z.c.u.u.u.u.Z.u.Z.Z.u.i.i.i.u.u.c.c.c.Z.i.jababah.B#5aq#lal#Oat#i#x#ubeaIbeaIbebj#tbjaHaH#U#U#U#t#t#Ubfbf#t#taIajbiajaj.4bi.Y.4.4.4.4ba#Vada9.4ad#ua8#u#uaSaSa7#pa5b.a5a6aYaZa0a2b.a0afaYb##9b#.X.I#A#BaMbyaWbgbzbgbvblbk.4aPaPaBai.Baq#5.Bahahay#5#5aq#5#5ai#5#5.B.B#5.B#5#5.Bah.Baqai#5#5aq.dQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.0.u.u.c.i.i.i.u.i.u.i.u.i.i.i.i.i.Z.Z.c.Z.i.j.o.o.o.jabaqaq.B.B.B#aaQaEaWal.QaSajaj.Fbe.F#taIaIbfaI.F#UaIbjbebebfaIaIbeajbf.4ajajbc.4bbbb#V#Vbaad#uaS#paXa8#pa6aX#paS.Ga5a6a1a6a2a2aea2a0aY#Wa3b#b#b##v#W.6#xaV#AbobAbtbzbwbobgbwaJa6#qapaBaPayaiaiayai#5ap#5ayay.B.B.Baiaq#5#5ayai#5#5.Baiaiaiai#5#5.B.nQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.A.i.u.u.u.n.i.i.Z.u.i.u.i.i.o.n.o.n.j.o.o.n.n.o.j.o.jacahah#5.Bap.XaMaOaQar#Db.#Vajbcbibd.F.4.F.Fbibebj#UbebebiaIbe.Fajbdaj.Y.Y.Ybd.4.4bb#V.4#V#p#u#uaSaS#pa7a8aSaXa5a6b.b.a1.5aeaYaZaYa0aZ#9#W#W#W.H.X.H#w.9.9.LaJbBbybCbzbwbvbybD#w#qapaiayaiapaiaiapapapaiap#5ai#5ayaiaiaiapayapap#5apayapapaiayay#5.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.A.u.u.i.i.n.i.u.i.n.o.u.n.i.o.o.o.o.o.u.o.o.j.o.j.m.kabahah#5.Baia2aJaMboaRag.5.4.4ajbibdbibfbebfajaj.FaIbe.F.4.Fbibiajbc.4.4.4ada9#Vadada9ad#p#p#p#u#p#uaS#p#u#uaSa5a7a6b.a1.5a0a2.5a0a1aZb##W#va4#v.6.Xa4.I#A.RaAbCbDbEbvbFbwbwbF#a.CaPapapapaBbrbraB#5apaiayay#5#5ap#5apaiaiaBapaBaPai#5ai#5ay.B.B.B.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.A.i.Z.u.u.i.o.i.i.i.i.n.n.o.o.o.j.o.j.o.o.j.o.o.o.o.mac.B.Bai.B#q#paKaNaMaR#c.5bb.4aj.4bebfbebdajbeaj.F.F.Fajbd.Y.4bbbc.4bc.4.4.4ba#Vadad#u#uaS.Ga8a1a7aX#pa7aS#ua7aXaSa6a5a5b..5aZa2aY.5a0aeaY#vaf.6aV#y.6#A.8.RawbFbybvbGbFbgbvaO#e.CaiaiaBap#qap#q#q#q#qaPapaPaBaiaiaiaiaiay#5aiapapaiapaiapaiaiap.BahQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.e.u.u.u.u.u.u.u.o.o.o.o.o.o.o.o.o.m.j.j.x.j.o.j.m.x.paqayapap#5bHazaJaWaLaRan#Wadbb.Ybibd.4.4bd.4ajbiaIaj.Ybd.F.4biajbd.4ajbb#Vadadad#V#V#u#uaXa7#p#paXa8#uaS.G.Ga7a7a6a2a5a0aYa3a3aZa3aYaYa2a3#W.6a4#y.6aV.7.8#b#mbBbCbvbCbybDbFbt#Q.C.B.Bay#5apaiaB#q#q#q#qaBaB#qaiaBaP#qapaiaiaPaiaPapapapaiai#5ai#5.BQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.c.i.i.o.o.m.m.m.j.o.o.i.o.n.o.j.m.j.j.m.m.j.o.m.m.m.xah#5#5apapax#Tbzbvavbt#3#vaS#ubabbbi.Y.4.4a9.4.4ba.4ba.4bd.4.4.4aj.4bb#V#V#uadaSaXadaSaXa6a5a7aSa8a7a5a7aSa7a7a1a2b..5a2.5.5a0a0aeaZaZaYaY#v#v.6.X.X#x.9#.#C#GbybDbybGbAbFbybwaFbHayaiayayaB#qaBaP#q#qaB#qbraBaiapaiayapaiayapapaiaPaBapaPaiai.B#5aqQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.o.o.o.n.m.o.m.o.o.o.n.j.o.o.m.m.x.k.x.m.m.m.x.m.l.k.r.B.B#5apapbpbHbFaWawbo#l#yaXa8#u#Vbaba#Vbb.Y.4bdbdaj.4bbbbbbbbbc.4bb#uad#uaS#pa8aSaSa2aXa7a6a6a7aSa5a6a1.5a0a0aZa2a2a2a2aZaZaZa0.5a2aea3a3#v.Ha4#W.X.I.7.K#.anbEbvbwbFblaJbkaKaCbp#5ayaiayaP#qapaB#q.C#q.1brbraP#qbr#qapaiaPaiaPapaiapapapaiaiapaiaqQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.Z.o.o.i.i.i.o.o.o.x.o.j.m.m.m.x.m.m.x.m.m.m.m.k.k.x.lahayapapaiax#qaKaNaLaQ#j.8.5aSa8ba#V#V#Vbbad#Vbbbba9#V.4a9#Vbaa9a9bb#u#u#paS#p#paX.GaS#pa7a5a5a5.G.5.5a6a1a1.5.5a1a0.5a2.5a0a2aYaY#9b#afaf.6a4#v.6#y#A#x.K.MaTbgaWbgaJblbgbgbtawbpaq#5apapaBapapbr#q#q#q#qaPaBapaPaBaBaP#qaPaPapaPaiaiaiaiai#5ai#5.B.eQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.o.o.o.j.o.o.n.m.j.j.o.o.o.o.m.m.o.m.j.m.j.m.m.m.l.k.lah#5aiaPai#raBaNaKaAaL#m#.a0aX#pba#Vbbba.4.4.4bb.Y.4#Vbba9.4#Vadad#V#p#paSaXaSa8.Ga7a5aS.Ga5a6a7b.a2.5a2a0a0aZa0a0aZ.5a2aeb#aY#9aY#W#W#W#W.H#v#v.H.I.X.I#A#.#EbwbwaNaJaLaJbgaNavbIai#5aPapaBbr#q#qaBaB.C.C#q#q#q#qapaPaBaB#qbrbraBbraB#5aiaiay#5.B#5.AQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.m.j.j.j.m.o.o.o.j.x.m.m.m.x.j.m.x.l.m.k.j.m.j.m.k.x.lab#5#5apap#6aBbFbFaObu#P.WaeaS#pbababaad.4bbadbba9#u#uadaS#uadad#V#ua8#V#uaS#p#paS#paXb.a7aXb.a5a1.5a1a6.5a0a6aYa0aZaea3aea0aZaYa3.6af.HaV.H.X.6.X.6#A#x#A.8#DaJbgavaJavaQaRaKaCbq.B#5ap#5aPbrbrbraPaBaPaPbr#qaPaB#q.C#q#q#q.CaB#qbraP#qaiaiayayaiai.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.n.o.j.o.o.j.j.o.j.o.o.j.m.m.m.j.m.x.k.m.k.x.x.m.r.m.raqaiayaBaPbrapbkbDbtbwaA.NaYa5.G#uad#V#ua9ad.4#Vba#V#u#u#u#p#pa8a8a8#paSaXa7a7aSaXa7a5aSa5a7a7a1.5a6a5b.a2a0a2aYaeaZa2a3aeaYaYaYafb#a4#Waf.6a4.6.X.6#A#x.8.8#FaJboaJaNaEaJboaNaubqay#5apapaPaP#qaB#q#q#q#qbrbraP.CaB.C#q#qaPaBapaBbrapapai#5apaiai.B.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.o.j.o.o.o.j.m.j.o.o.j.j.o.o.j.j.m.x.k.m.k.k.k.k.x.l.pahaiai.CaB.CaBblbwbwbkaJaU#9a6aS#uad#u#u#Va8#u#p#ua8aX#pa7#pa8aS#p#p#u#p#paSaXa7#p.5a7a5a1a5a7b..5a1a0aeaYb#aYa3aea3a0aZ#W#Wa3#9a3#9#W#9#v.H.6.X.I.6.7#z#A#.#ebuaKaQboaOaMaMaJaAax.BaiaPap#qaBaPaB.Cbr#q.C#q.Cbr.1#q#6#qbraBaBaPaPaPaBapaBapayapapay.wQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.n.o.i.o.n.o.o.n.o.o.o.o.j.m.m.m.l.m.m.m.x.m.m.k.k.k.lahaiaPbraBbraPbzbkbubkaC#d#9a6a7aS#paX.G#u.4ad#uad#pa7#uaS.GaSad#p#pad#V#u.G#paXa7a7a1a5a5.Ga1.5.5a0a2a3#vaYa3aYaeaea0a0aea2a3#9#vafafaf#v#v.X.X#x.7#z#x.9#CagbDbzbuaNaKaNaMaLaubmay#5apaPaBaPaBaBbr.CaB#qaB.C#q.C.C#q.C.C.C#q#qaBaBaBaPaBaPapapaiayabQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.r.m.o.m.m.o.o.j.o.o.o.o.o.o.o.o.o.j.j.m.x.k.k.l.l.r.qahapayaiaiapai#jbFbobBaM#Xa4b.a0a5aXa5#paSa8#p#uad#paSaS.Ga7aXa5a1a7b.a5a7.5b.a5a2a5a0.Gb.b..5a2a0a2.5a2.5.5a0a3a3aYaYb#a3aYa3#v.X#va4.H.6#W.XaV.I#A#w#A.8#.#DblblaMaNbwbgaNbwavbxaiapbraBaB#qaP#q#q.C#q#q#q#q.C.C.C.C.C.C.C#q.C#6#q#qaPaPaiapayapai#5QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.m.j.o.o.o.j.o.o.o.o.o.n.o.o.j.j.m.x.m.m.m.m.x.x.k.l.lahaiai#qapap#q#gbGbAblaN#H#xa0a7aXa6aSaX#pada8#p#u#u#paS.GaS#pa7aSaSa6a5a5a1.Ga5a5a5a6a0a1a1a2a3.5b##Wb#b#aYafaea3b#a3aYafaY#vaY#Waf#9af#vaV.X.X#x.6#w#A.K#.agbubFaKaJaWblaKaRaA#s#5aiapapbr.C#6.C.C.1.C#6#6.C.C#6.C#q#q.C#q#q#q.CaB.CbraBaPapaB#qaBaiQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.l.x.j.j.o.o.m.o.m.m.n.o.o.j.m.m.m.x.m.m.k.m.m.m.k.r.raqaiayapaiaibHaVbybEbwaN#3#xaea2a2a6a5a7a7a7a5a7a7a7a7aS#pa5a8aXb.a5a5b.a1a0a2a2a6.5a0.5a1.5a0.5aYa6a6a0.5a0aYaeaeaYaYb#aYa3#vaf.Xa4#y.H.H#v#y.6#x#z.6.9.9#C#fbzaNboblaJboaOaOaA.4aBaiaBaPaPaP#q.Cbr#q.C.C#q#q#q#q#q#6#q#q#q#q.CaBbr#q.CaBaPaBapaBaBapQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.l.j.m.m.m.o.m.m.i.o.j.j.o.x.m.m.m.l.k.m.m.m.x.m.l.l.rah#5aiaBaBaP#ra3bEbzblaK#j#wa0.5.5aSa6a7a6aSa5a5a7a5a1a6a7#pa7a7a6a6a1a1a2b.a2a1.5aZaY.5.5a0.5a1aZa0.5a0a2a0aYaYa3aeaYa0b#a3#W#W#9af.X.6.XaV.6#y#x#x#A.9.J.K#DbwbwaNaJbtaRaOasboa9apapaBaBbr#q.Cbr.C#q.C.CaB.C#qaBaPbr.C.C#q.C#6#qaP.C#q#qaP#qaPaiaP#5QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.m.j.m.m.x.m.m.o.o.o.m.n.m.j.l.j.m.m.m.x.m.k.m.l.r.l.rab.B#5aiai#5bpb.bBbvbwbu#L#xa0b.a7aXa7aS#uadaXaSa7a5.Ga6a7aXaSa7aSa1.5a6a2a0.5.5b.a0a2.5aea2a5a1a2aZ#Wa3#9aY#9a3a3b#b#aYa3a3afa3#v#v#v#v.X.6.X#xaV#y#y.7#A.RanbzbDaJbtaNbDboboaMa5.CaiaPaBaPaB.C#q.CaPaB.C#q.C#q.C#q.1.Cbr.C#q#q#q#q.C#q#q#qbr#q#qaPaiQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.l.k.m.x.o.j.j.j.j.o.o.o.o.o.m.j.x.x.k.l.k.l.x.x.k.k.kabay.Bapaiaybpbebgbobobtal.9#vaYa0a5a7a7aSaS.G.Ga1a7a2#paSa7a6a5a7a5a7a0a5a6a5a5.5.5a6.5a2.5ae.5aea2aYaYaY#Wa3aYa3#Wb#a3#Wafaf.6.X.X#w#y.6#x#w.7#y#x.8#x.9.T#JbkblboblbwaRaMblaR#y#SapaiaBapaBaB#qaB.C.1.C.C.C.C.C#S#6#q#6#6#6.Cbr#qaB.CapaPaBaBaPaB#q.ZQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.x.j.m.o.m.j.m.k.m.j.j.m.x.m.k.m.x.k.x.k.m.m.m.p.x.k.labaiayapai#5bq#sbEbgaKaKaw.Qb#aea0a6.Ga6aSaSa7a1a5a2b.a7.5a1a7b.aXa6a5.5.5a2a1a2a1.5a1.5a0aYaYaZaY#9a3aZb#aY#v#vaZ#WaY#vafaf.H#v#W.H#v.H.H.6#w.7.7#x.9#..K.L#kbvbuaWbobtaKaNaQaRak#rapaPaBapaB#q#6.C#6.C#6.C.C#6.1.C.C.C.CaB#q#q.C.C.C.C.C#qapaBapaBai.xQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.k.m.j.m.m.j.x.m.j.o.j.o.x.m.k.x.m.r.l.q.x.l.l.p.m.x.paaaPayaiapaibq.DblboauaWal.M.Hb#aY.5a1.5a1a1a2a1a5b.a6a7a6a6a6a5a7.5a2a1a0a0aea6a2a0aZa0a0a0aYaZaZ#Waea3af#v#Wafafaf#Wa3.Xaf.6.H.H.H.6a4af.X#w#x#y.8#z.R#..S#nbkbgbuaKaNaRaNaRbo#4bpapaPaP#qaB.CaB.Cbr#q#6.C#S.C#q#6aB.1#6#S.2bsaS#.#Y#n#X.CapaBapbrap.rQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.m.o.o.m.x.m.x.m.j.k.m.m.m.m.k.k.l.k.m.x.k.x.k.l.k.p.labaiaiapaPapbpbpbzbyaCaOao.M#vaYaYa0.5a2a2a2a2aYa0b.a2a2aZa0.5.5a0b..5a6.5.5ae.5.5aZa2.5.5a0a0a0aZa3aY#W#W#W#9#va4aYaYafaY.HaV#v.6.H#w#w#y.7.6.7#y#C#A.K##.M#nbEblbubtblaJblaWaJ#Mbqai#q.C#q.Cbr#q#q.C#q#qbr.C.C.1#Sbm.Ea5#.#Z#G#g#F#F#f.P#SaiapaibraPahQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.x.x.o.m.o.m.m.j.j.j.k.m.x.m.k.k.l.r.p.l.l.x.k.l.x.m.laaaiayaiapaPax#SblboaCbvaKbJa4#9aZa2.5a2b.b.a0.5a1a2a2a0a2a2aZa0aYa2a1.5a2a1a0aZaYa3ae.5aZa2aeaYa0aZa3b#afaeb#aV.X#9#Waf#v#v.Xa4.XaV.6#y.I.6#x.7#A#C#..L#a#d#NbFaJboboboaNbgaLblaD.DapapaP#q#q.C#q.C.1bK#S#S.Dbna7#A#K#i#2#d#faU#d#d#D.Oag.DaiaPaPaPap#5QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.m.k.k.j.j.m.l.m.k.k.m.k.m.x.r.l.p.l.l.l.l.x.k.k.r.m.labaiaPapaiaB#S#qbkaWaFaLaAa..XaYaeaYaeaY.5.5a2.5a6.5aeaZb..5.5a2a2b.a2a0.5.5a0a0a3a3aeaYaea3aYa3a0a3aYb##Waf#v.Ha4#v#W#v#v#w.X#va4#y#Waf.6aV#xaVaV#B#.#.#B#basbwbyblblaNaOaNaQaQaRa#aB#qaB#q.C.1.C#q#LauaEakb#a5be.B#5.2#sam#FbJ.S#D#dagakbnaiaPapaP#qaPQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.m.o.m.o.m.x.m.m.k.x.l.j.m.m.x.m.m.m.k.x.x.j.x.k.k.l.labaiaiapapaP#qapaWaWaObuaA#daV#va3a3#WaYaeaf#9aYaYaY#9a3a0a2aZa0.5.5.5a1a1a1a2a0a2aYa2a0a3a0aea0a3aeb#b##9#9afaf.H#Wafaf.H.6aV.6.H#ya4.XaV#w#x#x.K#B#B.P.TaUaKbobvaJbwblblaLaWaQaObLaPaBaPaB#q.C.C.1aLaE#nbIbmbsbe#8bsbja5#Uan.Ua.#c#d#D#daXaiapaPaPapaiQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.m.x.m.m.x.o.k.x.m.m.j.j.o.m.m.k.r.k.k.m.x.j.o.x.k.k.r.wapaiapapaiaBaPbubuaMaQau#F#y#W#W#W#9#9a3aY#Wa3a0aea3a0a2a0a2a3a0aYa2aeaeaf#9aY#9#vafaYa3#9aea0a3a3aYa3aZ#W#9a4#vaf#Waf.6.X#y.6a4.6.X.IaVaV.I.I#A#x.9#A#B.TbwbGbzbtbwbobubzaNbgbobLaB#q.C.C#6.1#6.CaNal#jbd#SaH.G.CbM.Gad#x#G#F#1#H#a#Waj.DaB#q.C#q.CaBQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.x.m.x.x.m.o.j.j.m.o.j.o.x.x.j.m.x.k.m.m.x.j.m.m.m.x.m.y#5aiapayaiaPapaNbtaWbgaW#i.9.6.X#W#W#Wa3a3a3#9b##9#Wa3b#a3#9aYaYaZa0a2a0a0.5a0a2a0aeaYa0aYa0a3b##WaY#W#9af#W#x.XaVa4af.X#v.X.H.X.6#x#z.7#z#..R#..W.ObJ.M.ObzaAblaWaJaNaKbwboboaM.DaB.C.C#q#S#6bH#SaOaMawb##H#i#2#3#X.Xbb.3bpaxbMbMbHbH#S.1#q.C#q#q#qaPQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.k.x.x.m.m.j.k.m.o.j.m.j.j.o.x.o.m.m.j.o.x.m.m.m.l.m.l.w.B.Baiaiaiai#qaMbtbtbwaQ#K#.#w#y.X#v#vaf#vafb#b#a3.H#va3a3a3aYa3a0afaYa3aZaeaY#9a3a3a3a0#9aZa2a3aZaY#W#Waf#Wa3#W.H#9.H.H#v.X.IaV.7#A#A#..K.R.L.Sagag#c#e#obl#N#P#mboaJbkaNbvaKaN#rap#q#q#q#6.1.C#q.7#B.5azbIax#rbKbH#SbKbM#SbK.1#S#S#S.C.1#q#qbr#q#q#q.AQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.j.l.m.k.k.m.m.j.m.m.m.j.j.o.j.m.m.j.m.m.o.m.x.j.k.m.x.yai#5#5aiaPapbMaEbububvbt#4###A.6aVa4#vaf#v#Wb#aYa3#W#9aYb##W#9b#a0b#aZa3a2aYa2a2a0a0a3a3#9aeaYa3#9aYaf#Wafaf#v#W.6#v#W.6.6aV#x.8#C.K.L.L#a#b#D#E#D#X#1albtblauaLaM#OawaAaKaKaLaK.2ap#q#q.C#6#6.1.CbHbH#r#SbH#S#SbK#S#S#S.1#6#S.1#r.1bK#S.1#6br#q#q#qaB.oQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtab.x.j.m.m.m.l.m.m.o.o.o.i.o.o.o.o.o.j.j.k.m.m.k.l.m.k.waiap#5ayapaPbN#3bybGbDbuao#D.J#w.6.6.6.H.X.H.X#9af#vb##W#9aYa3#W#W#v#vaV#Waf#9aYaYaZaea3a3aea3aYa3aY#9ae#WaY.H.X.X#x#w.I#x#A#B.L.O.N#daU#n#laDaMaLboavbtbtbkbEbuaWbuboaR#KaKbgaNbp#q.C.C.C.1#6.1#6#q#S#S#S.1.C#S#6#S#S#6#6.1.1.1#q#q.C#q#6.C#q.C#q.C#q.yQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtah.r.m.m.j.j.x.j.o.m.x.o.m.m.o.j.k.k.x.k.l.l.m.x.m.m.l.r#5aiaiaBaBaB.2#dbCbgbzbgaWaU.K#ya4.6.X.X#v#W#9#W#W#v.Xaf#9#9b#afafa3#9afae#9b#ae#Wafb#a3#WaZ#W#vaea3#vaf#vafa4.XaV#y#A.7.J.K.W.O#d#f#n#OboaKaJaKblbububwbgbwbvbzbzaWaKaQ#maMblaO#r#q#q#q.C.1#S#S#6#S.CbMbHbH#S#S.1.C.C.1#S#S#S#q.1bK#S.1.1#q#6#q#q.Cap.wQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtabab.o.o.o.o.o.m.o.j.m.m.m.o.m.m.m.m.j.m.x.m.x.k.l.l.r.yapaiaPap.CaB#7.KbAbgbvbgar#c.K.I#y.Xa4#v.H#vaf#vafb##W#Wb#a3#9#W#va3af#9a3a3a0b##WaYb##Wa3aYaf.X.X#v.6.X.X.6#y#x#A#C#C#B.M.TbJ#GaFbwaOaKbgaMaRaMauaJaWaWaJbtbubkbvblbvbkaQbkaW#4#r#q.CbH.1#S#S#S#6#S#S#S.1bKbKbH.1#S#S.1.C#6#6.C#6.1.C#6.1#6.C.1#6.C.C.BQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.B.w.q.o.o.o.j.j.x.o.k.j.o.j.j.o.m.o.o.o.k.k.l.x.k.j.x.yapaPbrbr#q#q#T#9bCbGbubgaJ#h#B#A.7aV.I.Ha4.6.H#v#v#Wa4#vaf#W#Wa4af#va3a3a3b#af.Ha4.H#vaf#W#v.X.6#v#vaVaVaV#x.J#BaU#KauaJaKboblblaWaNaWaMbwboaMaLaKaWaNaLaJaNbtbzbDbtaWaNbtblaKbNaB.C#q.C#6.1#6.C.C.C.C#S#SbK#6#6#S.1#6#6#S#q.C#q.C.C#qaP.C#q#q#q.C#6#qapQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtabab.w.r.n.o.o.j.o.m.x.j.m.o.o.o.k.m.k.l.l.x.x.m.m.x.r.wapapaBaBbr#qam#pbBbBbFbtaQ#0#.#x.X.X#W#v#9.Ha4af.H#v.6.H#vaVa4.H#Waf.6.XaV#y#y.H.X#w#y.6.X.6#A#..M#X#NaFaOaMavasblaQaLavaJaNbtbgblblaQaWaWaLbgbvbwbgbvbuaNaWbEbobgbFbEblaWaL.3.C.C.1#S.1bK#6#6.1#6#S#SbK#S#r#rbM#SbH#S#q.C.C#6#S.1#S#S#6.1.C.C.C.1.1.1#qQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtac.v.w.r.r.k.m.o.o.j.o.o.o.o.m.j.x.o.x.l.k.x.m.x.l.l.p.vapaBapaBaPaBbL#UbubAbgbybk#F.8.9#A#AaV#y.6.X#x#y#w.6.H.6.X.6#w#y#y.7aV.I#x.X#x#C#a#F#NaraEaCavaCauasaEaQarauavaDaKaNauavblaQbwbzbDbwbDblbtaNbtboaWaLbwaJbubtbtbkaQaMaJaO#3bM#S.1#q#S#S#S#6.C.C.1#S#SbKbK#S.CbKbM.1#SbK.C#S.C.C#q.CaB.C.C#6#6.C#6.C#qaBaPQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtac.v.y.q.p.r.m.j.m.j.m.m.m.j.j.m.m.o.m.m.j.x.j.x.m.l.r.vapaBaBaB#qaB.2bnbBbBbkbwaJ#g#..J.9#x#y#y#x#w#A#x#A.J#.#w#A.7#z#y.7.8.L#c#h#kaAasaLaJaRavaMavaMaMaAaOaCasaKaFaObtaOaNbtbtbDbzbobDbCbEbvaOaNbgbvaWblaOaNaQaObgbvaKaJaRaD.J.D#r.C#q#S#S#S#S#S#S#SbHbMbKbMbM.1#S#6bK#S#S.C.C.1br.C.1#S#S.1.C.C.C.C#q#qaB#qaPQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.qabab.w.q.r.o.o.o.o.m.m.m.o.j.o.x.m.k.x.l.k.k.l.r.l.r.yaiaiaBaBaPaBbpbObBbEbubAaW#J#a#B.8#x#A#z.I#w#x#A#x#z.J#z#..LaT#iaoaOaOaOauarauaEaA#NalawaOaFaOaMblaWaLaKaLaLaWaObtbgaNaNbtbwaQbDbwbgaWaQbtaWauaLaQaFaWbobzbtaOana3a9aGaxbp.1bK.C.1#6#S#S.1.1.CbM#SbHbm#SbHbMbKbKbK#6#S.C.C#q.C.C.C#6#S#SbK#6#6.C#q.C.CaBQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.kab.v.w.w.q.q.x.o.o.o.o.o.o.o.o.o.m.j.k.l.m.x.r.p.r.p.qai#qbr#q.C.C#S.2bBbBbgbAbFaR#GaU#f#i#LaraRaWaKaOavaQblbgaQaOaMaMaEaMavaLaJavaEaAav#P#NaFaWaKaNaKaQbgbuaWblaMaQaQaNbubvbEaKbvbkbgbDbuaKaLaJaD#Q#bafbi#s#TbLbqbpbmbMaxaxbM#rbK#rbMbHbMbHbK#S.1#6#6#SbKbKbM.1#S#r#r.1bK#S.1.C.1#6.C.1.1.1.C#S#S#S.1.C.C.C#qQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.oab.r.q.r.q.y.q.x.o.o.o.j.m.j.m.o.m.k.k.l.l.l.l.p.r.r.yaiapapaB.C#q.1#rbCbCbFbCbwbzaWaWaOaMaOaLaOaQaOaMaMaQaWaMaKbobobuaQasasaLaMaOaKaQaLaLbtbuaWbgaWbtaWboaWaFaRaKavasaFaMaMbubkbkaR#G.I.4.Ea##T.2bqbm#r#r#rbM#r#rbH#rbM#rbHbK#rbMbKbK#S.1bKbH#S#S.1.C#6.1#SbHbH#S.1#S#S.CbK#q#q.1#S.C.1#6#S#S#S.1#6#q.C.C#qbmQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.Aaa.q.q.y.y.q.v.p.k.o.o.o.j.o.m.k.k.l.k.x.k.k.k.l.k.r.vapbr#qaB.C#q.C#rbBbBbDbvbwaWboaNaNbuavaNaJaOaQauaAaWaJbFbybFbvbkbgbAaObvbkblboaQaNaWaKaQaRaKblaNaubgaWaMaLaLaE#X.XadbnbPbIbL.Dbpbmbmbmbpbm#rbMbMbHbM#SbH#SbK#SbH.1#S#S#SbM#SbMbM#r#rbH#S#S.1.1#S.C#S#rbKbK#6#SbH#S.C.1.CbHbHbHbK#S#SbKbqbO.E#8bO.2bL.2axQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.hac.w.q.q.y.y.q.r.l.o.n.o.o.o.j.x.m.m.m.k.k.x.p.l.r.r.waP#q#q#q.C#q#q#SbBbBbBbBbyboaNblaQblboaMaWaWbubzbFbGbybubCbFbkbgbuaJaLaWbwaLboaKboblaFaEauaFaOaLaRaMat#o#wadaH#s#T.2bpaxbpbmbmaxbm#rbpax#r#rbp#rbpbMax#rbM#rbHbMbM#SbH#S#SbMbHbK#6#S#SbK#SbH.1#SbK.C#S.C.1#6#6.C.C#S#6bK.1#r#rbL#saG.E#sam#7bL.2bpbN.2bNQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtab.y.q.q.q.q.q.l.q.l.l.n.n.j.m.x.m.x.x.l.p.k.l.r.r.q.q#5aP#qbr#q#q#q#rbybBbzbvbBbzaJboblbwblaObtbgbDbtbzbCbybybybDbwbgbkbgaNboaWaWaQaKaJaOaLaQaMaCat#e.H#V#UbPa#bLbL.2#rax#rbpbmax#rbm#r#r#rbMax#r#rbmbmax#r#raxbm#raxbmbMbMbM#r#rbK#SbM#6bH#S#SbH#S#S.C#6#SbKbM.1#6#6.C#S#S.D#T#s#R#s#T#T#T.2.2ambIam.2bI#T.2QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQt.B.v.q.v.v.v.q.r.r.q.l.o.o.m.m.x.x.l.x.l.p.l.r.r.r.p.qaibr#q.C#6#q.Cax.4bBbybCbtbybGbDbybEbybCbFbybzbGbDaNbtblbubvbkaOaOaJaJaRaQaQ#4.Na2.4#Ra#.2.2bpbM#S#rbHbMax#r#r#r#rbm#r#rbpbmbM#rbmaxaxbM#r#r#r#r#r#SbH#rbMbHbHbK#r#rbmbK#r#rbpbmbp#rbKbH#S#SbK.1#S#rax.2#sbO.EbP#TamambIbL#T#TbP#Ta#bP#sbObQbnaHazaj.4.4QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtai.w.r.q.q.r.q.q.r.q.q.k.o.n.j.x.m.k.k.l.r.q.l.r.r.q.vaiaPaiaB.C#q.C.CbMagbBbBbCbGbCbvbybFbzbwblbzbububtbgbkaNblaO#Q#Ca1#U#s#T.2bN#r#SbH#S.1#S#S#6.C#SbHbKbK#r#rbMbM#r#r#raxaxbpbpaxaxax#rax#r#r#rbH#r#rbK#SbMbK#raxax#r#rbHbMbK#SbKbH#S#SbH.2a##R#8bQa#bPbP#Tam.2#7am#Tama##7#s#Rbs#UaIbcba#pa2a3af#A.S#E#VQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQt#qah.q.q.w.q.q.y.q.y.q.l.r.o.o.k.k.k.x.p.r.k.l.r.q.r.qay#q.CaP#q#q.C#qbr#S#vbEbBbGbFbvbGbAbtaWblaDaTa3.4bQ#7.2.D#r#rbK.C.C#q.C#6#6#SbH#SbK#S#6bKbH#rbMbHbMbM#rax#r#r#r#rbMbH#rbMbM#rbM#r#r#rbmaxbMbK.1bH#S#S#r#6#SbMbKbMbM#rbL#s#8bj.EaGbxbP#Tbx#7#T#s#s#s#s#saG.Ebn#U#tbdbaaSa2b##v.8.Oak#F#M#QQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQt.Baa.w.q.r.l.q.y.w.v.q.r.r.q.k.p.l.l.m.l.p.l.r.q.l.r.vapaB#q#q#q#q#q.C#6#6#S.Da5a.#aaYbe#sbI.DbpaxbM#S.1.C.1bK.1#S#6.1.1.C#q#6#S#S#S#6.1.1#6.1#SbK#rbMbm#rbpaxbm#r#r#rbpaxbpax#r#raxbpaxaxax#r#r#rbMbM#S#SbHbIaG.E#RaG#s#saGa#bx#Tam#TbP#T#s#RaG.3#8#tbebb#ub.a0b##y#A.T#f#X#F#2atavaMaAaraRaO#mbpQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtayaqaa.v.v.y.v.yab.w.y.v.r.v.r.r.k.x.l.l.k.l.p.r.q.q.qap#q#6brbraP#q.C.C.C#q.C#rbp#r#S#SbK#rbMbKbK.C.1bK#SbK#S#S.1#6#S#S#S#S#6#S.1bKbKbH#S.1#S#SbK#r#raxaxaxbmaxaxbMbH#rbM#rbH#S#rbHaxbm#rbN#TbO#s#samam#T#TbxbPa##T#TbObO.E.Ebsbnbjajbdadada6a2#9aV#A.Ka.#h#n#maraFbwbgaWboavas#O#k#h.T.RaV#9a5blbgaC.7QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQt.yac.w.q.r.q.q.q.y.v.v.v.q.vab.w.w.w.l.p.r.l.q.v.r.v.vai#q.Cbr#qaBbr#q.C.C#6.1bHbMbHbHbKbM#S#S#S#S#S#S#S#q#6#S#6#6#SbK#6bK#6#S#S#6#S#S#S#S#6#S#rbMbMbHbpbmbmbqbmbm#rbMaxbm#r#TbOaGbOam#T#7bxam#TbLbI#TbPbP#sbObQbQ#Ubjbebb#u.Ga2a2a4#A.V#D#Han#i#maFbkbzauaMaQaKauaF#k#Z#d#..6b#b.aSa9.4ajajaIaIbvbwbzaWaQaC#LQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQt.oac.w.q.v.v.r.r.qab.w.w.y.w.q.waa.v.q.l.l.x.p.r.r.q.qap#q#qaBaBaB#qaybr.C.1#6.1#6#S#S.1bKbH#SbM#r#SbK#SbKbHbK.1.1bK.1.1bKbMbK#S.1bK#6.1#S#6#SbK#Sax#raxbpbm#7bOaGbPbI.2bIbIa#am#Tam#T#s.E.E#Rbn#U#UaIajbb#p.Ga2a3#v#z.Ran#X#o#2#jaQbobwbkaNbFbtaraFat#lak.P#xafaZ.5a8#u.4.4.Ybibe#t#U#UbnbnbsbfbFbkbwblavaWbkaNaKa1QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQt.Aab.q.q.q.y.y.q.qaa.v.q.v.qaaaa.w.y.r.r.l.l.r.p.q.r.rayaB#q#qaPaBap#q#q#6.1#q.1.1#6#6.1.C.C.1#S.1.1bK#rbKbHbK#S#6#6#6#S#S#S#rbK#S#SbM#SbM#SbHbKbMbpambObQaGbPbIbIbxbP#T#T#Ta##TambP.E#8#8bnaI.4.4#uaSa6a3#v.J.W#E#n#i#NaCblbobobubobtaWasaKaE#Q#g#f#.aVa4b.#p#Vba.4ajbi#taIbjbj#t#U#UazbsbnbhbcbkbkaOaLaWbzaRbzbvaOaR.DQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQt.c.w.y.r.q.q.l.q.q.q.q.y.w.w.y.wabaa.w.q.l.r.q.q.r.y.vapaB#qaB#qaBbr#q#q.C.1.C.C#SbH.1bMbK#SbK#S#S#S.1#6.C.1#6#6bK#S#S.1#r#r#S#6bKbKbHbKbMbK.DbO#R.E#TbI#Ta#bx#Tbx#TbP#sbObhaG.E#RbnbjaI.4#u#ua5a3.H#x#.aU#J#Z#QasaFbvbDbkboaKaWaFauaC#i#n#d.W#A#vaZa7a5#pbbbbbibf#t#taIbj#t#U#U#U#UbnbnbQ#8bh#ublblaQaNbzbzbgau#laLaC#m#8QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQt.hac.w.q.y.q.q.r.q.y.v.w.y.q.w.q.w.w.w.w.q.l.l.q.v.y.vap.Cap.1#q#q#6#6.C.1.C.C.C#S#SbHbH#SbK#rbK#S#S#S#SbHbHbHbKbKbKbH#SbM#rbqbxbP#sa#.2.2ambIamama#ambx#s.EbQbh#Rbn#UbfajbbadaSa2aY.X#z.N#E#n#kawaFbtbzbgbzbuboboaJas#P#H#D.N.9afa3a5.5ad#ua9.4aj#t#t#U.Fbebjbjbnbnbsbh#R#8bn#8bn#8#8#8bQbhbPQtQtQtbcbybybAblaMaQavaQaLasaFaoQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQt.0ap.w.v.q.v.r.r.p.y.y.v.qababab.w.waaabab.v.q.q.q.q.vap#q.C.C.CaB#q.C.C.C.C#S#6#S#S#S.C.1#6#6.1.C#S#S#q#S#SbHbI#8#8.EbPa##T#TbI.2amam#T#TbP#s#s.E#8#Ubjbe.4#ua5a2b##y.7.QaU#1#1#latalaJbzbFaNbFaJboaQaC#M#1#d##.I#Wae.5a5#ubb.4bdaj.F#t#U#U#UbnbnaHbjaHbn#UbnbnbnazbsbQ.EbQaG#8bh.Ebh#sbQbh#sQtQtQtQtQtQtQtavaJaKaNaRaOaL#JaraOawa9QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQt.zbIaaab.v.w.q.r.l.v.y.w.y.y.vab.w.w.w.y.w.w.qab.p.q.rai.C#6.C.1#6.C.CaB.C.C.C.C#6#6.C#6.C#S#S.2bObQbh.EbxbxbP#T#7.2ambIa##T#T#TbxbO#R#8#UbfbibbaSa2a3.6#.aT#J#3#jaDaAavaKaNbuaNaKaKaMaFao#Z#a#b#B#x#vaYa1a7a8a8ba.4.FajaI#t.FbjbnbsbsaHbn#8bn#R#R#8bn#8bQ#8.3#R#R.E#saGbhbhbQ.Ebh#8.3bObObxbOQtQtQtQtQtQtQtQtQtQta0aJboaWaQaQaraO#G#4.WQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQt.z#Sab.v.q.r.v.w.q.w.q.y.waaacabababaaaaaaabab.w.r.r.qaiaB#q#6.C.C.C.Cbr.C#q#q#6.C#6.1axa#bQ.3aGbPbxbPa#bI.2ambIam#Ta#bPaGbQ.Ebnaz#UbiadaXa1a3a4#A#b#f#H#i#JaDaRbtbzaNbubDaWbtaCar#IaU.N#.#x.Xa3a2a1aSaXadba#Vba.Ya9bc#tbebe#t#Ubsbnbn#8bn.3#8.3bs#8bh.EbQ#8#8.E#8.EaGbObPbx#sbO.Ebs#R.3.E#R.EQtQtQtQt.D#TbLbqQtQtQt#faWaMaMaRaE#PbJaw#4#.QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQt.macab.w.r.v.v.v.q.q.q.q.waaaaab.w.wah.waaaq.Bab.r.qapaP#6#6.C.C#q#qaB#q.C#6bM#TbQ#R.E#TbIa#bLbN.D.2bL#Ta#bxbx#s#sbhbs#Ubeajbb#ua1a0#v#x#B.N#c#f#Z#MasbvasbgbkbobgaNaK#P#M#h#c#BaVafa2a0a5a5#pada9a9#u.4.Fbdbibibfbebebj#taI#tazbn#8#8bsbs#R#8#8bQ#8.E.E#R#8#8bQaGbhbObhbQ.E.E#Rbn#Rbsbnbs#Rax.2.2bpbpbpbmaxaxQtQtQt#gavavaFaDaAaD#L#Z#LQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQt.g.iaqab.v.q.v.v.r.q.q.r.y.y.wacabahababaaacacabaa.vap.C.C#q#SbLaG#8bnbOa#.Dbqbpbpbp.D.2.2bIama##sbQ.Ebs#Ubn.4baada6ae.X.9#D#c#F#J#LaraRaKboaNbobuaQaQaE#j#nan.V.7#yb#b.a6.G#ubb#V.4bc.4bibd.4.4bibcbdaj.FaI#tbn#UbnbnaHbnbnazbQ.E#R.E.E#s.E#8bsbnbQbhaG.EbhbQaGbh.E.3#8bQbO#s#7.2bpbM#r#rbHbM#r#TaIaY#c#Jaf.D#rQtQtQtQtQtavaQasaCaCaD#Nar#nQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQt.z.uaqab.p.v.v.q.v.q.q.q.y.w.w.y.waaabab.wacahaa.q.2a#bLbqbpaxbH#r#rbp.2bpbLbIa##Ta#bh.3bs#tbf#V.Gae#v#x.Q#d#Y#o#KaFaNaWbgbtaNaLaEasat#k#n#f.P#A#x#Wa0a6.G#uadbbbcbibcaj.F.FajajaI#U#Ubjbj#Ubnbnbjbj#tbn#UbnaH#Ubn.3#U.3#8#8#RbO.Ebhbh#sbQbQbQbh.E.E.EbO#T.2bN#rbmbM#r#r#r#r.2bh.4.X#e#NaCawarar#mataCaD#Oarbn.CQtQtQtQtQtQt#kaKavaFavauas#PQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQt.0.m.B.w.y.v.v.w.l.q.q.v.w.w.y.v.waaaa.wabababab#rbMbKbMbHbm.DbLa##sbQbQbnbs#t.YaXaea4.J##bJan#1aDaMbgbtbubtaNaRalaw#2#3#d.L#Ca4a3b.a7a1a7adad#Vbabibdajbibi#tbfbj#t#UaIaI#Ubj#Ubnbn#Uazbsbsazazbnbs.3bnbs#R#RbQ.E.E.EbsaGaGbsbsbs#RbxambNbpbM#rbH.1bKbmbpbh.Yaf#E#l#OaDasaRaEauav#M#M#i#Oaw#maA#m#Oawaraw#QbqbrQtQtQtQtQtQtQtaFaraMavavala.QtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQt.0ah.y.q.r.w.v.q.q.v.yaa.v.yaa.w.y.v.w.waaaaab#rbmax#rbN.2ambxaGbsbnbea9a6a0.H.8.V.U#F#j#4aLaMblaWbFaOaQar#m#nakag#.#wa3a2a7#p#u.4.4.4bcbdaIajbdbfbi#taIbf#tbnbnaH#tbj#taH.3bnbnbnbn.3bsbnbn#Uazbs#R#R#R#8bs#R.3#UbnaH#RbObI.2bmbpaxbK#SbMbHax.D#Ua5.J#n#Pawaoasasat#O#OalaDaEaD#Q#Q#Qaw#m#jalaDalaDaw#N#4.RaBQtQtQtQtQtQtQtbsaEaFaKaMau#1QtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQt.naqab.v.y.q.p.r.q.v.w.y.w.waa.waaaaabab.wab.1bMbmbpam#TbP.E#Ubd#u.5.H#A.T#d#oataAaKaubuaOaOasalaw#2#g.U.L#z.HaY.5aSadbabb.4bd.FaIbiaI#taHaI.FaI#UaI#UaIaH#U#U#Ubj#Ubj#Ubnbn#8bsbn.3#8#8#R.3bnaH.3.3aH#UaIbjbn#R#sambIbpbqaxbMbm#rbNbO.4afag#l#Par#NaraD#NaEalawarao#NawaAaCaoatatao#Q#O#Q#4atawaw#K#i#n#j#qaPQtQtQtQtQtQtQt#FaMaMauaR#j#tQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQt.x.B.w.w.k.q.v.y.q.y.w.w.wabab.waaa#bQ.wahbq#sbnaIada5aYaV.8#F#H#jaw#Masat#L#I#2#Fag.M#B.X.Haeb..Gba.Yaj.F.Fbj#UbnazaHaHbn#UbjaHbjaH#U#UbjaI#tbjaIbj.3bsbs.3#8bnbs#Rbsbs#R.E#8bn#Rbs#Ubnbn.Ea#ambLbpbqbp#r#r#rbp#sbcaeagataDaDaEaF#QauaAat#OatasalaDataE#OalasaCaAaual#Oataw#Nao#k#K#N#2#d.6a4#m#G.8.P#J#n.CaBQtQtQtQtQtQtQt#favaLaFas#IQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQt.kaa.y.q.p.r.r.r.y.w.yab.w.waaabbx.4a3.4a1#x#b#f#J#g#1#J#o#Y#ha.#D.Q#z.X.5.5.G.4.Ybiajbi#t#U#Ubs#Ubnazbn#tazbs#U#UaHbnbsbnbs#8#8#8#R#8#8#8bs#8#8#R#R#RbQ#8#R#UaIaIbj.3bQa##7.2bqbNbqbqbNbNbLbQbcafanavbuaWaJaFboaEasaOaAaAaAasaCawavaoaCauas#Nataoataw#4aoaAat#N#j#H#.#Las#3.X#y#Aatal#n#I#kaD#m.6#Q#M#m#G#qapQtQtQtQtQtQtQtavaJasao#4QtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.oabaa.w.q.q.vacab.wab.w.waaaabp#sbha9.9#DbJ.O.O.7a4#vb.ad#Vbi#tbnbs.3.3#8bQ#8.3bs.3#8bn#8#U.3#Rbs#8#R#R.3#R.3aHaHbs.3#RbQ#8#R#8.3#8bs#Ubj#t#tbn.EaGbx#TbqbpbmbM#r#rbp.Dbhbc#9#davbublbtaJboaKbgaRbkaWbtaLaLaRauaRaAaEalaAavasat#N#K#javasaCar#PawalaFaEaD#Pal#2#2#I#QaR#O.H#K#kawar#v#kat#naD.T#o#k#h#X.O.CbrQtQtQtQtQtQtavaMaEaR#MQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.r.w.w.r.r.v.w.w.wabac.wacabbHbpbq#TbsbibeaIbjaHbj#tbnbnbnbQbObQbQ#RaG.Ebh#R#R#8#8bhbhbQ#8#R#R#8#RbQbhbO.EbhbQ.E#RbQ#8aHaH#UbQbPbL.2.2.DbpaxbpbpbpbLbPaIa7#.#QaKaJaWbubzbkaJaJaKaJbtbkbubzbvblbtbyboblaLal#LataC#m#Gbc.Jatas#N.Naf#naOaDaRaraE#4awaAaravaKaR#Nag#N#Pawar.L#Han#W#i#H#h#ibb#k#O#4#f#i#o#kae.C#qQtQtQtQtasaFaMaL#3#MQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.qaa.v.w.r.wabaaabaaababab.CbH#rbp.2bPbPbObPaGaGbhbO#sbPa##s#sbObO#s#s#s#s#sbO#sbhbhbQaGaGbh#R#8#8bn.3bnbQ#s#7.2bpbmaxbp#r#rbmbp#7#Ua1###QaRaNaOaOaKaQblauavaNaJaFaJaWauaObtaNbgbwaKbtblaMaR.6aWaNaRat#n#rawaraF#1#g#n#jbkav#9aDauawataA#P#Q#l#malaAaCbkaLaAao#i.K.4#Yar#I#G.6#F#l#PbJ#m#O#Nav#9#l#M#laA.F#qa9boaKaKaKaOaOaD#K#4QtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.s.rac.w.wabacabaa.wah.waa.C#6#rbpbLambI#7bxbxbP#sbxa##s#7#T#sbObxbx#s#sa##s#saG#8#8#RbQa#.2bNbpbNax#rbH#SbHbHbp.Ea9aV#iboboaJbgbzaMaWaNaKaJbgaQaFaNbtaNaWaKaOaMaKaOaQaOaNbtaNbgbobFbwaWaWavalboaJaKau#v#N#QavboakatawalaKaQ#i#j#j#n#jaD#L.Xb#ad#PavaDaDboaE#j#3.V#3#iaEaoaV#M#PataO#W#Nas#Qas#D#K#I#n#Zat.E.CaZaJaJasavavaoaAQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.0abah.wab.waa.w.y.w.w.waP#q#Sbq.2bpbLbLbI#T#7a##T#TbI.2#Ta##T#TbL.Dbp#r#rbK.1.C#6.1#6.C.1#r#sbia3#XavaMasas#NaLasaMauaQaQaQbwbkauaJaMaNaQaFaMaOaJaLaQaMbgboaKaWboaLboauaMaKbkbwbkbvbtaQaTaFaKaMbkaQ#Dauat#mbgag#P#P#yalalaQ#o.4bibbal#O#D#0#iaoaFawararasaD#Pa2#i#N#Nav#B#k#i#J#n#K#f#Iaj#E#Pak#g#n#L#natbq.C#vaK#nboaA#Fa7QtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.Z#5.w.wab.waaab.waaabap#6#rbpbmax.2bLbq.2am#TbNbm#S#qapapai.Baqaq.Bah.B.BaiapaBbM#s.4#y#naubtbgaNbgaNaNaRaRaObtaMaEavaMaQaWaKbwbuaWbwboboblaNaQboaWaQauauaQaLaLaFbublaNbtbDbtbuaNaNaK#waJaLaNaWbu#m#Q#3#b#i#L#k#G#X#1#oav#PaV.V#naLaR.Nav#mat#4#PawatblaE#k.R#4#Q#F#K#i#d#objaU#L#f#o#v#.#K#2#D#M#M#O#O#xbraxaQ#KaDas#OQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtahabababaa.w.waa.w.waP#SbMbHbmbqbNbp#r#qayab.y.q.l.q.q.v.y.q.yaaaaabaibKbQ#p#B#maraFbtboaQboaMaLavaraRaraAaRaLaNaWaNaLaRaQbkaWaKaJaWaFaQbtaWaNblbtaNaQbuaJaLaEaLasbkaQaWbzbGbBbDbvbv.Uao#4#l#iaNaC#X.V.W#naraD#G#G.Q#gboata3#KasataM.6aDao#OaR#mal#4aDao#l#4#h#Fazag#i.O#H#9.X#J#lbJ#nat#maC#f#Nalaras#P#S#q#daRaoaoaXQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.wababab.wab.w.w.v.w.y.y.q.r.q.r.r.r.r.x.r.r.r.r.w.C#Tbb.I#d#3#j#k#K#mawalaDaRawaDaoaAaualauaLaEawaOavaLaFaRaQavaLauaEaQbgaFaEboaNaNbtaWavaWaJaNblbvaWbwbkbtbE#P#n#i#nbDbE#P#c#N#laOaw#4#G#J#IaL#N.N.N#kaFbo#i#QasaoblaL#y#Q#Nao#MaU#F#iar#OawaEaraEaOar#N#G.J#dan#2#j.Q#i#P#Par#Aar#Nawaw#Jar#P#L#i#O#laBaB#SQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtahah.w.wab.r.n.m.l.p.r.r.qaaaqbm.E#u#z#E#0#i#n#f#n#n#L#i#Z#i#l#K#M#o#k#n#L#k#KaD#maE#P#4#karararauaAaEaAauaJaRaRaOavaRaLaLaFbkaMbububybgbGbDbAbgaJ#Pa8#JaJaM#X#2ajaTaE#Q#G#K.X#QaRaE#CalaDaAbkaCa3#4alavaK#G#k#NaAao#o#i#0#N#3a0aXa1.K#QalaCarataw#MaO#j#1ae#l#j#laA.9aA#iana.#G#o#f.MaI#0#l#f#Za2an#i#Fap.CQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtahacaaabaa.o.j.m.la2#X#e#f#f#I#J#1#h#G#3#i#H#1#i#i#n#K#n#I#j#L#Latawat#K#marar#j#N#j#l#l#M#l#m#N#N#LaDaDaoaFaRauaOaObEbE#YaT#Aakbwbu#G#s.T#FbyaT#1a6aS#gaE#3.5awauaWbDal#daWaQbtbz#9al#Oat#j#i.L#Haw#oak.Waf#EaD#k#0#faT#gav#MaYaCaw#O#Pat#NaC#4arawaA#k#F#G#1#x#YaU.S#Cag.6#h#k#X.Vaoalao#4.U#Ya7#D#Y.VaBaBQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.oacacahab.m.o.p#S#h#X#0#JaT#n#Z#F#0an#1#g#1#n#o#3#n#2#i#MaD#M#m#j#m#l#Q#O#m#maw#Lawaw#Q#k#PaCaraRauasaQaNbl#ka4#V#fbkav.V#E.3agbl#I#ZaVajagbz#f.7.Lbb#LbF#I#vaCaFavbuaEalauauauaJ#E#L#Oao#D#fa3#H#i#3#D.Wbc.O#N#k#i.OaU#gaC#kagaraA#OaE#P#O#M#K#NaoaFaC#P#0#D#n#2#M#I#f#3aCalav#n#eaFaC#2ao#D#a#X#.#X#G.CaB#SQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.y.Bah.w.r.n.xbx#1#F#H#F#F#0#G#3#o#1#i#H#n#o#i#3#H#3#1#Q#j#2#2#I#P#K#m#Oaw#kaD#Q#O#O#O#OalavbuaJ#Q.9#hbtbv.LaYbL.OaL#1#zanbp#A#lan.W#hbh#eaF#l.V#PaDaLbDal#naMawasbtaQ#NaEaA#h#0bda4#ZaA#FaUa0#F#J#O#n#b#j#Nal#L#J#dakaT#Earalao#3#F#1aFar#N#P#P#Z#kalat#G#d#iataDas#n#QawaFalasaw#i#Q#3#oaU#x#A#X#0#G.Hap.CQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtacabaaaa.i.m.r#n#h#o#1#o#l#Z#3#K#n#i#Z#k#Han#d.P.O.V#y#z#K#Oao#Nal#PalasaLaublbubkau#M#LbubFafaU#U.SaU#I.R.Pa8#.#j#G.Nb#araDasbG#o#mauaJaLbo#.aDasaE#O#M#F#YaE#O#o.3aY#0ar#o.S#z#c#0aw#i#9aw#NalaF#n#P#4#o#F#ha.#b#A.6.Tan#Lan#fa4.VaUaA#M#l#l#4#jaAal#IagaD#m#L#P#2#0an#Y#Fa.#Kag#c#0#1#I#1.5#j#M#m#Qa9aB#qQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtaaabab.x.o.kb.#3#g#H#n#Y#h#G#f#faU#G#G#D#xa0bnaea4#A#.#P#NbzblbwbA.RaUaa.W#gbF#z#FbL#a#b#L.K.Hak#IaC#P#Xa9#NaDaobv#2#maCavaCbtaF#maL#P#D#daU.6#gaE.P#Zbn#d#Y#1#d#A#kaFaRbo.MataCataAaK.NaoaA#H.Ma.anal#f.O.S#A.LbJ#f#Z#Pbo#M.XawaoaCaE#4#M#4#O#Q#kal#ia.#D#F#D#a.M.H#.#K#Q#QaD#2#W#Oat#laE#1#M#OaE#Pat.3apbKQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.xac.yab.o.k.w#k#H#0#k#n#i#n#I#G#e#gaQ.J#W#D#Z#2#2aw#K.Va.#t.M#oaJ#c.R.7a8#fbAbJaV.8ae#2al#e#Wal#NaoaNaO#KaC#Pau#I#Gak#FaQ#Y#J.4#z#daQak#Ab#.6#gaw#J.5alaOaLbu#Y#OaAasaAaO#D#4#QbJ.V#u.LaU.S.V#E#uak#2#i.O#4at#Pawavaoaraobu#1#oak#FaCar#2#l#Z#k#k#LaQ#Z.U.U#KaAaCao#jaCaCaAaCbt#EaDas#4aD#l#m#PaoaAaFaobOaP.CQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.xab.waa.i.k.l#2#O#j#L#j#0ak#g#j#o#ibvak.I#F#f.U.PaD#4aV#b#W#..VaFa.#W#i#NaOaQ#n.GaraFavbk#M#JaCas#OaMbl#2#law#lanaj.5.Sbo#bbJ.K#zagaM#n.6aD#OasaW#La4araCaFboaoaRaL#F#Y#J#f#h#h.O.S.I.O#g#FbJ#z#OasataM#BaAasaOavawaw#M#MaF.T.5bQ#v#jaEao#j#I#Z#3#k#MaD#gagatawararalaRarasaFav#MarawaoaAalaFaFaFavaraw.TaibrQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.kab.wab.j.m.p#zaw#M#L#L#I#n#G#1#J#0#N#0.9.7.7#p#V#Har.Mag.SaV.R#lbJbbawaoasbtaJa0aFaKaMbgaL#maRaRar#f.5#v#aaC#c.T.P#t.PaCag.9#Y#maEbg#N.HaoaAaFaRbo#4#m#P#K#e.W#E#P#D#aa7#w.M#XanaYatav#OaF#c#F#lat#PaR#xar#j#j#3#gawaD#I#M#A#v#b#iaoaCaFaw#M#2#2#k#m#m#1.U#NataDavaKaraD#4awalaDaRaRaLaA#O#PalaDal#Q#j#ibp#qaBQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.rahabac.v.n.lai#Q#P#k#4#Z#1#n#J#e#F#oaF.Oaf#.##.K#FaL#Ea7#i#NarboasaTaEaOaEaRbw#i#ZboaKa.bjaH#BaraU.LaV#w.P#M#n.U#naRaJbobw#.alauavaDav.Rar#3#2#faf.L#P#c.Lae.IbJaF#da2#4aEaAavatagar#K#P#m#H#f#0#j#N#O#Y#A.7#d#2awal#o#Yan#b#x#Laoal#N#i#l#Q#M#4#i#K#M#k#galasasaCaDauaQaLaral#P#Oawar#Patataoaw#NaC#O#N#K#6aBaiQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtaaacabab.v.u.m.k#nawal#m#I#I#k#o#o#X#3#P#0a4.GataFavbDbg.RaCaEal#G.U.X.Mavau.V#8am.8#i#Y#b.9.8#faC#Oa.#kaAaOaRbkag#P#O#k#G#0.Mav#h.OaGbs#.#2#e#D.P#A#iao#Q#.#NaFaDaCbg#E#P#OaE#n#D#u#D#J#K#A.X#E#Mas#D.L.6.Q#zaoalataAaR#J.S#e#M#NawataDaEalaw#L#2#i#Q#M#P#n#MatatawawaD#Oasao#N#k#4#j#j#m#PaoaCaraD#m#Oat#L#AapaPapQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.wahabab.w.l.o.l#raD#M#2#i#M#l#l#J#G#0#Z#O.H#i#i#n#dagagbJ.PaK#h.QbjaI.Waw#I.P.R#e#2auaW.N#LaAaOaDbt#haoaw#1#0#C.R#I#Z.O.T#Ua2aT#G.S#XaEalaAboakaFasav#MaJ#Y#K#Z#Oag#b#U#x#JaQ.M.8#PatataD#D#AaualaCavaT##.RaDaraDaw#P#4#Q#LaQ#m#M#QawaDaFasaE#m#P#n#4#j#k#Ialar#Pao#4aA#P#4#Q#L#Mat#N#2#Q#M#M#l#j#i#Z.Pa1bs.CaB.C.C#5QtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.yahahahab.w.i.l.q#Kalal#4#j#i#k#H#I#M#kaFa.#n.Vag.Q#W.X.K#B#j#n.W#XauaEaFaW###mawavalat#D#N#M##a2.4#w.L#HbJ#..H#f#M#L#c#vaDavaEbk#JaFas#Q#P#k#a#yaUaE#D.8adb##Haw#c.KalaCavaR#i.KauaAaCaFas#YaoaCauaFaQaCaDauataD#4#m#NaDawasaRas#malaD#L#Q#n#L#j#m#j#P#l#L#l#K#malat#j#j#4#M#i#i#i#n#F.6bd#T#r.C.C.C#6.C.C.C.C.C#S.1QtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.qahahac.wah.l.l.rbjaraw#m#G#n#4#i#I#k#4#MaKag#z#ialavataEasaRbB#faLaMaC#2#f#baE#O#A.8#U#u#A#h.T.6#NaDaCau#D.PalarauaWawawao#N#M#Fa2bf#D#k#D.J.J#Z#Oau#c.N#Mararawav#DasaRaQar#3#D#i#G#i#i#n#K#laCaraQboaLaMaOaOasaEaDal#Naw#m#P#Q#m#m#3#i#1#i#Z#l#j#i#l#2#L#j#M#Z#i#K#2#D#vajbL#q#q.C.C.C.C#6#S#S#S#S#S#S#S#S#S#S#SbK#rQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.x.Bahaqabab.y.n.l.qal#4#P#i#I#Q#Q#l#j#L#3aW#3#aauaNaRasaAasasaL#NaL#j.Oa.bba2.L#Ha.a3aCaEauaQ#h#LaJaLaQasao#0#1aC#M#fa5bh#0ar#f#d.6asaRbuaCa.aDaOaMaAaR#Xal#K#n#n#F#e#2#n#law#mararasaDauaRaMaQawaoaLaCalasal#l#i#l#K#2#3#I#i#i#3#Z#i#o#H#n#n#i#1#3#J#1#F.Ma5bs#rbraB#q.C.C#q.C.C.C.1.1#S#SbHbK#r#rax#r#r#rbMaxaxbpbpbpQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.y.qah.wababaa.o.m.raZao#matatawaraoat#K#f.Na..9auaJ#o.Ma5.QaWaOaubk#g#e.MaLaMaCbu#HaoaFar#O#l.L#9aU#4#i#A#Waf#3aD#eag#laAaFaOaF#YalaRaKasaC#3#M#P#3#l#g#I#i#4#NaoauaRbkauauaLaQboboaQaNaLaKaJaOasaW#Q#4#j#m#N#i#H#o#3#3#Z#Z#i#i#1#n#XanaU.U#vajam#qapapaiapaPaBap.C.C.C#S#6#6.C.1#SbMbMbMbH#rbmbp#rbNbqbpbNbpbqbqbqbpbpaqQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtai.racabacaaab.m.m.xbpalaw#Nao#i#MaD#m#d#z#9bs.4aw#FaUbbbi#9aMaC#gaE#IaU#4ataravasal#J#iaC#Nagb.#R#f#j.U.T#x#OauaKatbJalaraMaoaW#jawaE#O#M#o#0#F#3#Z#O#4ataFawavaRaRaraFavaQaLaOavaKbubublbobtblaKaRaE#4#Z#2#M#k#j#O#L#i#J#X#g#X#E#DaVbcam#q.Bay#5aiaiaiapap#qaBaP#q.C.C.1bHbH#6bHbHbH#rbmaxaxbpbNbN.2.2bqbq.2.DbNbq.2bN.BQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtah.rah.Bahahab.w.o.xabaraw#M#l#P#4aw#P#.#W#waY.8aD#g#Bae#A#Xbw#D.J#b#O#FaraCaC#N#cad#8.LaraU#B.L#Zaoav#H#b#kasaEasaN#FataLaF#O#I#0#Z#J#J#3#I#M#NaoavaraKauauaFaAaJaQaLblaJaKaKbubgaEaRaMaKaLaOauaQavar#j#2#i#0#n#n#X#g#f#f#f.6.4bx#qaqaq.Bay#5.BaiapapaiapapaB#q#q.C.1#SbKbH#r#SbH#r#r#rbpbpbpbpbp.2.Dbqbqbq.D.2.2bIbL#TQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.r.B.yabababacah.o.m.k.Vavar#OaCaE#PbB#b#.avaLaraAby#xaFawaE#Qa.#A#xb#.WbkaJaW.N.J#e#MaAaJ#f.OawataEaAaQ#G#N#Q#Q#l#H#X#H#3#2#jalaFaQbtblauaQalauaRaOaraMaAasaRaKaLavaRaOaOaNaKaKaFauasavaKaQaLaWaQaE#l#N#G#f.LaS#s.1ahacab.waaabaq.Bah.B#5.BaiaBaPaP#q#q#q.C#6#6#6bMbMbH#r#SaxbMax#rbpbpbN.2.2.2.D.DbL.2a#bhbQbhbx#Tbx#RaBQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.uaiahababaaaa.w.x.j.kapaEaDalau#malar#1#haC#O#E#.#OaraCaE#D#B.J#Y#3ataC#N.Q#F#fbJ#laoaCaraO#h#4#M#1#n#F#g#1#i#Z#PauaraFaFaKaMaMaRbtaQaQavaWaKaMboauaMaQavaRaLaCasaAauaWaCaJavaLaAaFawasat#k#G#WaHbmah.w.y.v.yaa.yahababaaacabah.BaiayapapaBaB#q#q.C.C.C#6#6bKbH#SbHbMaxbpbNbp#rbpbpbNbpbIa#aG.E#sa#a#bxbO#sbObh#8#8#8bsQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.bai.B.kaaabahab.y.o.m.qaDaD#OataA#Q#Pboal#.baag.L#Qbu#d#.aYakaEaCauasaLaL#Q.Mal#Kaoat#E#Z#J#n#1#Q#MataEaFaKasaOaOaJblbtbtaKboaWaNavaQaKaKaKaLboasaQaFaQaEaMaOasaRaEarawaw#K#Eafbe.D#5.w.q.qab.r.w.w.w.wababaaaaahacaq#5aq.B#5ayaPapap#q#6.C.1.C#q#6bK.1bKbHbMbH#rbpbpbNbN.D#T#sbO#sam#T#7bxbx#sbO.Ebh#8bnbjbfaj#VaS.5#UQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v#5.w.q.waa.q.v.Z.m.kaZaAao#P#I#4#Lbtal.8aYaCaFaQbw.S.Ka2bJawaLaLaMaLarao#jbvaoaE#P#j#Pao#laRaDauaLaWaMaKaCaRaNaWaOaOasaQauaFaCauaQboaWaOaWaOaJaQaQaRaFaDaC#M#k#I#F.6#Ubpaq.y.q.q.v.q.q.r.wacabab.v.yababacah.B.B#5aiaiaiaPaPaBaBaPapaP.C#6.1#S#S#SbK#SbHbMbH#raxbIbx.E#s#TbLam#TbPbP#s#s.EbQ.3bjbebiajbb#pa5b#.5#UQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.o.Baq.r.yabaa.y.i.m.kbpar#N#N#PaE#LaQ#m#xanaoaWboaM#i.LaV#nblaLaAauaMavaraEav#NaD#k#mauauaJaNaRaKbuaQaJaKaRaQauaNasaRaRaLaNaKboaOaJauaFaRasavavavaFaE#L#2#Xaf#Ubpaq.q.v.q.qab.r.q.v.q.y.w.y.waaacahabahacahaqaqai.Bai#5apapapaibr#qaBaP.C#q.C#6#6.1.1#S#S#r#7#7bxambIbI#7#Tbxbx#s#R#8bsbn#taj.Ybaa7.5a3a0.Ya#QtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtacab.m.l.r.p.r.o.d.i.jaCaraoaC#l#P#Nar#zataOaRasarbFaDaCaRaFauaOaFarasaOaRaF#l#Naw#NauaRaJauavauauaAaJawaMaMaRaWaKaKaJaRaFaLaRaraC#N#K#3#f.Ibi.Dah.r.m.x.k.r.p.q.r.l.r.q.waa.y.w.y.w.wabahabah.B.B.B.B.B.Baiay#5#5apapaPaBaBaB#q#S.1.1#S#S#r.DamambNbNbq.DbIbLa#bxaGbhbnaz#Uaj.4#Va7aY#WaebjbNaiQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.bab.w.m.q.l.l.r.h.u.i#U#4ar#I#I#m#PboanaJaFaMaJaNbFaKaKavauaraAalaAaA#P#Q#2#4#IaW#NaQboaQaKaJaKaOaOaRauasaLauaAatal#Nal#n.SaS#sap.l.k.m.k.x.k.l.l.x.l.k.p.r.q.q.w.wacababacacacab.B.B.B#5#5aiaiap#5#5apapaPaPaB#qaB#q#q.C#6ax.2am.2#rbpbp.DbqbqbIama##sbQbnbnbeaja9a1aY.6afbf.DahQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.oab.w.l.k.l.m.d.A.c.jasaCaw#m#maD#I#javaFaCaKaFawaA#P#Q#i#M#O#4#K#i#n#M#l#2#LalaFaMavauaJaQaJavaFao#P#k#X.X#UbH.r.m.x.x.x.k.l.q.r.r.q.r.v.y.l.v.q.q.w.waaababah.Bai.B#5ay#5ayapaiaiaiaiapapap#qaBbr#q.1.C#r.DbIbIbpbpbpbpbp.2bL.2ama##saG#R#8bjajbb#pb.#W#W.Fbq.BQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtacab.m.x.l.x.u.A.c.i#maAawao#Nal#M#m#mat#OaA#M#I#N#Z#l#L#P#L#M#l#P#Q#l#N#Q#k#ialaEar#NaDaual#O#Ga4bfbpac.k.k.k.p.l.p.r.q.q.r.v.q.q.y.vaa.vaaabab.B.Baq.Baq#5.BayaiaiaiapaBaBaPbrap#qbraB#q#q#q#q.1bNbI#T.2bpbp.DbI.2amam#T#7a#bPbhbnazbebia8a5#W.6a8.E.CQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtahaq.k.l.q.q.p.d.u.o.XaO#L#m#i#j#4#L#M#Q#N#P#k#i#4#I#L#N#Pat#N#l#n#I#i#3#i#I#Z#I#k#I#L#n#A.4.2#5.w.p.k.r.k.r.r.r.v.q.v.vababababababacacah.B#5aqaqaiaiaiaBapaPaPaP#qbrapapaBaB#qaBbr#6#qbK.2#TbI.2#r#rbpbpbpbq.2bL#TbxbObQbnbn#Ubeada5a0#v.XbebNahQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.Z#5.B.r.p.q.q.c.o.naaaAat#L#l#2#M#Q#P#j#M#2#L#K#n#i#I#2#H#k#j#j#L#2#M#0.J.4#TaP.q.r.p.r.r.r.r.q.q.v.q.v.y.waaaaaa.wahah.Bah.Bah.Bay.B.B.Bayaiaq#5aPaPapapapapaB.C#qbr#q.C#r.DamambpbM#r#rbmbmbqbp.2#TbP#s.Ebnbjbi.4a8a6a3#v.HbbamaqQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtaq#5.v.p.q.r.j.c.o.o#X#O#j#j#I#L#P#N#j#N#K#N#P#k#3#i#YbJa1bQ#S.w.r.k.k.x.k.l.l.r.y.v.y.vababahacaaahahabaaababahah.Bai.B#5aiaiaiaPaPaPaB#qbraBaB#q#6.C#6bHbLbxa#.2bmaxbmbmbNbq.D.2#7#TbObhbh#8bnbfbaa5a0a4#z.I.4bp.qQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.s#5aq.m.p.q.w.Z.i.oaPaD#k#Q#4#1#h#i#naTa0bQ#6.q.l.m.k.r.r.v.w.w.v.w.y.wabab.wababahacacah.Bah.B.B.Baq.Bayayai#5apaiapaBaB#qaB#qaBaB#q#q.CbNambI.2bMbH#SaxbpbpbqbLam#Tbx#sbQbQbsbj.4#pa6aY.X.7af.3aPQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.mayah.r.yaa.n.i.o.o.kbHbOaxaa.m.j.m.l.k.x.r.p.r.r.q.q.y.yabacabacacacaqaqah.B#5#5ai#5apapapapapaPapaiaB#qbraBaB#q.C#q.C#S.2bI#TbLax#r#rbpbN.2bN.2#T#Tbx.E#Rbs#Uajba#pa2b##x#.a6bx#5QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtaiah.m.q.y.v.h.o.j.o.j.o.x.l.l.q.p.l.q.q.y.v.v.wab.w.Bahahaq.Baq.B#5aiaiaiaiayapapaPaiaBbrbr#q#q#q#q#6#S.2bObh#7bpax#raxaxaxbmam.2am#TbP#sbQbs#U.F.4#pa6af#A#w.4bq.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.h#5ah.m.raa.Z.j.k.k.r.r.v.l.v.w.w.w.wabaa.wabacacah#5ai.B#5.Bai#5#5#5apaB#q#6.C#6#6.1.1#rbI#Tbx#TbqbmbqbL.2.2.2.DbIambPbh#8bs#Ubi.4a8.5#v.6.JaYbn#q.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.qaq.y.p.w.o.x.q.y.v.wab.wabahababacahahab.BaqaiaiapaiapaPai#qaP.C#q.1#S.2#T#sbxbqbpbp.2.Dbm.2.2bLbx#sbO.3aH#Ubi.Y.4aSa0af#z#A#u.2.qQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.Aai.B.x.y.k.m.v.qabababahacahahab.B#5#5aq#5ayaiapapaB.C.C.C.1#Sax#TbO.E#sax#r.D.2bp.D.2a#bxbhbQ.Ebsbn#UbdadaXaY.H.I#Aa6aG#5.ZQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtaBai.mab.q.mab.wabacababah.Baq.Bahah#5#5#5aP#q#q#q.C.C#SbqbxbPambmbpbpbNbq.2am#Ta#a#bO#8bsaIbi.4adaSa1b#.6.J.X#U#6.oQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.iaBai.qab.kac.Baq.B.B.B#5apaB#5aP#q.C.1bma##sbx.2bpaxbNaxbq.2bLbI#Tbx#saG#8#Ubfajada6a2.H.7.J#p#TaqQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#5ap.rababaiapapapaiaB.1bpbI#Tbmbmbm.2.DbLbp.2am#Ta##sbO.3bs#Ubi#V#pa5a3aV.R.Ibf#r.pQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.eaPai.obM.D#T.D#r#SbM#rbm#rbp.2bLama##s#saGbnbjbd#ua6b#.X#x.RaYbh#5QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l#5aqah#SbK#SbMaxbmbNbLa#bQ.3#Ubi#VaXa0.X.7#Abbbq.r.tQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtaiaibNbq#TbPbhazbjbdada6a3#y.5bQbr.uQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#rbjada6a2aebfbp.yQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.tQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt"}; |