summaryrefslogtreecommitdiff
path: root/itcl/iwidgets/doc
diff options
context:
space:
mode:
Diffstat (limited to 'itcl/iwidgets/doc')
-rw-r--r--itcl/iwidgets/doc/buttonbox.n189
-rw-r--r--itcl/iwidgets/doc/calendar.n335
-rw-r--r--itcl/iwidgets/doc/canvasprintbox.n268
-rw-r--r--itcl/iwidgets/doc/canvasprintdialog.n169
-rw-r--r--itcl/iwidgets/doc/checkbox.n178
-rw-r--r--itcl/iwidgets/doc/combobox.n376
-rw-r--r--itcl/iwidgets/doc/dateentry.n177
-rw-r--r--itcl/iwidgets/doc/datefield.n215
-rw-r--r--itcl/iwidgets/doc/dialog.n140
-rw-r--r--itcl/iwidgets/doc/dialogshell.n217
-rw-r--r--itcl/iwidgets/doc/disjointlistbox.n290
-rw-r--r--itcl/iwidgets/doc/entryfield.n282
-rw-r--r--itcl/iwidgets/doc/extbutton.n149
-rw-r--r--itcl/iwidgets/doc/extfileselectionbox.n395
-rw-r--r--itcl/iwidgets/doc/extfileselectiondialog.n239
-rw-r--r--itcl/iwidgets/doc/feedback.n145
-rw-r--r--itcl/iwidgets/doc/fileselectionbox.n391
-rw-r--r--itcl/iwidgets/doc/fileselectiondialog.n218
-rw-r--r--itcl/iwidgets/doc/finddialog.n294
-rw-r--r--itcl/iwidgets/doc/generateHtml.sh10
-rw-r--r--itcl/iwidgets/doc/hierarchy.n629
-rw-r--r--itcl/iwidgets/doc/hyperhelp.n196
-rw-r--r--itcl/iwidgets/doc/iwidgets.ps13149
-rw-r--r--itcl/iwidgets/doc/labeledframe.n195
-rw-r--r--itcl/iwidgets/doc/labeledwidget.n217
-rw-r--r--itcl/iwidgets/doc/mainwindow.n308
-rw-r--r--itcl/iwidgets/doc/man.macros186
-rw-r--r--itcl/iwidgets/doc/menubar.n348
-rw-r--r--itcl/iwidgets/doc/messagebox.n277
-rw-r--r--itcl/iwidgets/doc/messagedialog.n215
-rw-r--r--itcl/iwidgets/doc/mkitclman320
-rw-r--r--itcl/iwidgets/doc/notebook.n321
-rw-r--r--itcl/iwidgets/doc/optionmenu.n261
-rw-r--r--itcl/iwidgets/doc/panedwindow.n307
-rw-r--r--itcl/iwidgets/doc/promptdialog.n200
-rw-r--r--itcl/iwidgets/doc/pushbutton.n151
-rw-r--r--itcl/iwidgets/doc/radiobox.n180
-rw-r--r--itcl/iwidgets/doc/scopedobject.n100
-rw-r--r--itcl/iwidgets/doc/scrolledcanvas.n257
-rw-r--r--itcl/iwidgets/doc/scrolledframe.n211
-rw-r--r--itcl/iwidgets/doc/scrolledhtml.n313
-rw-r--r--itcl/iwidgets/doc/scrolledlistbox.n356
-rw-r--r--itcl/iwidgets/doc/scrolledtext.n284
-rw-r--r--itcl/iwidgets/doc/selectionbox.n302
-rw-r--r--itcl/iwidgets/doc/selectiondialog.n199
-rw-r--r--itcl/iwidgets/doc/shell.n197
-rw-r--r--itcl/iwidgets/doc/spindate.n275
-rw-r--r--itcl/iwidgets/doc/spinint.n185
-rw-r--r--itcl/iwidgets/doc/spinner.n229
-rw-r--r--itcl/iwidgets/doc/spintime.n266
-rw-r--r--itcl/iwidgets/doc/tabnotebook.n659
-rw-r--r--itcl/iwidgets/doc/tabset.n466
-rw-r--r--itcl/iwidgets/doc/timeentry.n196
-rw-r--r--itcl/iwidgets/doc/timefield.n186
-rw-r--r--itcl/iwidgets/doc/tk2html46
-rw-r--r--itcl/iwidgets/doc/tk2html.awk320
-rw-r--r--itcl/iwidgets/doc/tk2html.perl337
-rw-r--r--itcl/iwidgets/doc/tk2html2.awk53
-rw-r--r--itcl/iwidgets/doc/toolbar.n305
-rw-r--r--itcl/iwidgets/doc/watch.n286
60 files changed, 28165 insertions, 0 deletions
diff --git a/itcl/iwidgets/doc/buttonbox.n b/itcl/iwidgets/doc/buttonbox.n
new file mode 100644
index 00000000000..91e73840486
--- /dev/null
+++ b/itcl/iwidgets/doc/buttonbox.n
@@ -0,0 +1,189 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) buttonbox.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::buttonbox iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::buttonbox \- Create and manipulate a manager widget for buttons
+.SH SYNOPSIS
+\fBiwidgets::buttonbox\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::buttonbox
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbackground\fR \fBcursor\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.ta 4c 8c 12c
+.LP
+.nf
+Name: \fBorient\fR
+Class: \fBOrient\fR
+Command-Line Switch: \fB-orient\fR
+.fi
+.IP
+Orientation of the button box: \fBhorizontal\fR or \fBvertical\fR. The default
+is horizontal.
+.LP
+.nf
+Name: \fBpadX\fR
+Class: \fBPadX\fR
+Command-Line Switch: \fB-padx\fR
+.fi
+.IP
+Specifies a non-negative padding distance to leave between the button group and
+the outer edge of the button box in the x direction. The value may be
+given in any of the forms acceptable to \fBTk_GetPixels\fR. The default
+is 5 pixels.
+.LP
+.nf
+Name: \fBpadY\fR
+Class: \fBPadY\fR
+Command-Line Switch: \fB-pady\fR
+.fi
+.IP
+Specifies a non-negative padding distance to leave between the button group and
+the outer edge of the button box in the y direction. The value may be given
+in any of the forms acceptable to \fBTk_GetPixels\fR. The default is 5 pixels.
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::buttonbox\fR command creates a manager widget for controlling
+buttons. The button box also supports the display and invocation
+of a default button. The button box can be configured either horizontally
+or vertically.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::buttonbox\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command.
+.PP
+Many of the widget commands for the buttonbox take as one argument an
+indicator of which button of the button box to operate on. These
+indicators are called \fIindexes\fR and allow reference and manipulation
+of buttons regardless of their current map state. buttonbox indexes
+may be specified in any of the following forms:
+.TP 12
+\fInumber\fR
+Specifies the button numerically, where 0 corresponds to the
+left/top-most button of the button box.
+.TP 12
+\fBend\fR
+Indicates the right/bottom-most button of the button box.
+.TP 12
+\fBdefault\fR
+Indicates the current default button of the button box. This is the
+button with the default ring displayed.
+.TP 12
+\fIpattern\fR
+If the index doesn't satisfy one of the above forms then this
+form is used. \fIPattern\fR is pattern-matched against the tag of
+each button in the button box, in order from left/top to right/left,
+until a matching entry is found. The rules of \fBTcl_StringMatch\fR
+are used.
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBadd\fR \fItag\fR \fIargs\fR
+Add a button distinguished by \fItag\fR to the end of the button box.
+If additional arguments are present they specify options to be applied
+to the button. See \fBPushButton\fR for information on the options
+available.
+.TP
+\fIpathName \fBbuttonconfigure\fR \fIindex\fR ?\fIoptions\fR?
+This command is similar to the \fBconfigure\fR command, except that
+it applies to the options for an individual button,
+whereas \fBconfigure\fR applies to the options for the button box as a whole.
+\fIOptions\fR may have any of the values accepted by the \fBPushButton\fR
+command. If \fIoptions\fR are specified, options are modified
+as indicated in the command and the command returns an empty string.
+If no \fIoptions\fR are specified, returns a list describing
+the current options for entry \fIindex\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list).
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::buttonbox\fR
+command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::buttonbox\fR
+command.
+.TP
+\fIpathName \fBdefault\fR \fIindex\fR
+Sets the default button to the button given by \fIindex\fR. This causes
+the default ring to appear arround the specified button.
+.TP
+\fIpathName \fBdelete\fR \fIindex\fR
+Deletes the button given by \fIindex\fR from the button box.
+.TP
+\fIpathName \fBhide\fR \fIindex\fR
+Hides the button denoted by \fIindex\fR. This doesn't remove the button
+permanently, just inhibits its display.
+.TP
+\fIpathName \fBindex \fIindex\fR
+Returns the numerical index corresponding to \fIindex\fR.
+.TP
+\fIpathName \fBinsert \fIindex\fR \fItag\fR ?\fIoption value option value ...\fR?
+Same as the \fBadd\fR command except that it inserts the new
+button just before the one given by \fIindex\fR, instead of appending
+to the end of the button box. The \fIoption\fR, and \fIvalue\fR
+arguments have the same interpretation as for the \fBadd\fR widget
+command.
+.TP
+\fIpathName \fBinvoke\fR \fI?index?\fR
+Invoke the command associated with a button. If no arguments
+are given then the current default button is invoked, otherwise the argument
+is expected to be a button \fIindex\fR.
+.TP
+\fIpathName \fBshow\fR \fIindex\fR
+Display a previously hidden button denoted by \fIindex\fR.
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ iwidgets::buttonbox .bb
+
+ .bb add Yes -text Yes -command "puts Yes"
+ .bb add No -text No -command "puts No"
+ .bb add Maybe -text Maybe -command "puts Maybe"
+ .bb default Yes
+
+ pack .bb -expand yes -fill both
+.DE
+.SH AUTHOR
+Bret A. Schuhmacher
+.DE
+Mark L. Ulferts
+.SH KEYWORDS
+buttonbox, pushbutton, button, widget
diff --git a/itcl/iwidgets/doc/calendar.n b/itcl/iwidgets/doc/calendar.n
new file mode 100644
index 00000000000..8395c8b4e45
--- /dev/null
+++ b/itcl/iwidgets/doc/calendar.n
@@ -0,0 +1,335 @@
+'\"
+'\" Copyright (c) 1997 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) calendar.n 1.0 97/04/30 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::calendar iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::calendar \- Create and manipulate a monthly calendar
+.SH SYNOPSIS
+\fBiwidgets::calendar\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::calendar
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbackground\fR \fBcursor\fR \fBforeground\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBint\fR
+.fi
+.LP
+See the "datefield" manual entry for details on this option. Note that
+this option is needed when the calendar is used in conjunction
+with the dateentry widget. It is necessary for support of international
+date formats in versions of Tk < 8.4.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBbackwardImage\fR
+Class: \fBImage\fR
+Command-Line Switch: \fB-backwardimage\fR
+.fi
+.IP
+Specifies a image to be displayed on the backwards calendar
+button. This image must have been created previously with
+the \fBimage create\fR command. If none is specified, a default
+is provided.
+.LP
+.nf
+Name: \fBbuttonForeground\fR
+Class: \fBForeground\fR
+Command-Line Switch: \fB-buttonforeground\fR
+.fi
+.IP
+Specifies the foreground color of the forward and backward buttons
+in any of the forms acceptable to \fBTk_GetColor\fR. The default
+color is blue.
+.LP
+.nf
+Name: \fBcommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-command\fR
+.fi
+.IP
+Specifies a Tcl script to executed upon selection of a date in the
+calendar. If the command script contains any \fB%\fR characters,
+then the script will not be executed directly. Instead, a new
+script will be generated by replacing each \fB%\fR, and the
+character following it, with information from the calendar. The
+replacement depends on the character following the \fB%\fR, as
+defined in the list below.
+.TP
+\fB%d\fR
+Replaced with the date selected in the format mm/dd/yyyy.
+.LP
+.nf
+Name: \fBcurrentDateFont\fR
+Class: \fBFont\fR
+Command-Line Switch: \fB-currentdatefont\fR
+.fi
+.IP
+Specifies the font used for the current date text in any of the forms
+acceptable to \fBTk_GetFont\fR.
+.LP
+.nf
+Name: \fBdateFont\fR
+Class: \fBFont\fR
+Command-Line Switch: \fB-datefont\fR
+.fi
+.IP
+Specifies the font used for the days of the month text in any of the forms
+acceptable to \fBTk_GetFont\fR.
+.LP
+.nf
+Name: \fBdayFont\fR
+Class: \fBFont\fR
+Command-Line Switch: \fB-dayfont\fR
+.fi
+.IP
+Specifies the font used for the days of the week text in any of the forms
+acceptable to \fBTk_GetFont\fR.
+.LP
+.nf
+Name: \fBdays\fR
+Class: \fBdays\fR
+Command-Line Switch: \fB-days\fR
+.fi
+.IP
+Specifies a list of values to be used for the days of the week
+text to displayed above the days of the month. The default value
+is {Su Mo Tu We Th Fr Sa}.
+.LP
+.nf
+Name: \fBforewardImage\fR
+Class: \fBImage\fR
+Command-Line Switch: \fB-forewardimage\fR
+.fi
+.IP
+Specifies a image to be displayed on the forewards calendar
+button. This image must have been created previously with
+the \fBimage create\fR command. If none is specified, a default
+is provided.
+.LP
+.nf
+Name: \fBheight\fR
+Class: \fBHeight\fR
+Command-Line Switch: \fB-height\fR
+.fi
+.IP
+Specifies a desired window height that the calendar widget should
+request from its geometry manager. The value may be specified in any
+of the forms acceptable to \fBTk_GetPixels\fR. The default height
+is 165 pixels.
+.LP
+.nf
+Name: \fBoutline\fR
+Class: \fBOutline\fR
+Command-Line Switch: \fB-outline\fR
+.fi
+.IP
+Specifies the outline color used to surround the days of the month text in
+any of the forms acceptable to \fBTk_GetColor\fR. The default is the
+same color as the background.
+.LP
+.nf
+Name: \fBselectColor\fR
+Class: \fBForeground\fR
+Command-Line Switch: \fB-selectcolor\fR
+.fi
+.IP
+Specifies the color of the ring displayed that distinguishes the
+currently selected date in any of the forms acceptable to
+\fBTk_GetColor\fR. The default is red.
+.LP
+.nf
+Name: \fBselectThickness\fR
+Class: \fBSelectThickness\fR
+Command-Line Switch: \fB-selectthickness\fR
+.fi
+.IP
+Specifies the thickness of the ring displayed that distinguishes
+the currently selected date. The default is 3 pixels.
+.LP
+.nf
+Name: \fBstartday\fR
+Class: \fBDay\fR
+Command-Line Switch: \fB-startday\fR
+.fi
+.IP
+Specifies the starting day for the week: \fBsunday\fR, \fBmonday\fR,
+\fBtuesday\fR, \fBwednesday\fR, \fBthursday\fR, \fBfriday\fR, or
+\fBsaturday\fR. The default is sunday.
+.LP
+.nf
+Name: \fBtitleFont\fR
+Class: \fBFont\fR
+Command-Line Switch: \fB-titlefont\fR
+.fi
+.IP
+Specifies the font used for the title text which consists of the
+month and year. The font may be given in any of the forms
+acceptable to \fBTk_GetFont\fR.
+.LP
+.nf
+Name: \fBweekdayBackground\fR
+Class: \fBBackground\fR
+Command-Line Switch: \fB-weekdaybackground\fR
+.fi
+.IP
+Specifies the background color for the weekdays which allows it to
+be visually distinguished from the weekend. The color may be given
+in any of the forms acceptable to \fBTk_GetColor\fR. The default is
+the same as the background.
+.LP
+.nf
+Name: \fBweekendBackground\fR
+Class: \fBBackground\fR
+Command-Line Switch: \fB-weekendbackground\fR
+.fi
+.IP
+Specifies the background color for the weekends which allows it to
+be visually distinguished from the weekdays. The color may be given
+in any of the forms acceptable to \fBTk_GetColor\fR. The default is
+the same as the background.
+.LP
+.nf
+Name: \fBwidth\fR
+Class: \fBWidth\fR
+Command-Line Switch: \fB-width\fR
+.fi
+.IP
+Specifies a desired window width that the calendar widget should
+request from its geometry manager. The value may be specified in any
+of the forms acceptable to \fBTk_GetPixels\fR. The default width
+is 200 pixels.
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::calendar\fR command creates a calendar widget for the selection
+of a date, displaying a single month at a time. Buttons exist on the
+top to change the month in effect turning the pages of a calendar. As
+a page is turned, the dates for the month are modified. Selection of
+a date visually marks that date. The selected value can be monitored
+via the -command option or just retrieved using the get command.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::calendar\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for calendar widgets:
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::calendar\fR
+command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::calendar\fR
+command.
+.TP
+\fIpathName \fBget\fR ?\fBformat\fR?
+Returns the currently selected date in a format of
+string or as an integer clock value using the \fB-string\fR and \fB-clicks\fR
+format options respectively. The default is by string. Reference the
+clock command for more information on obtaining dates and their
+formats.
+.TP
+\fIpathName \fBselect\fR \fIdate\fR
+Changes the currently selected date to the value specified which
+must be in the form of a date string, an integer clock value or as
+the keyword "now". Reference the clock
+command for more information on obtaining dates and their formats.
+Note that selecting a date does not change the
+month being shown to that of the date given. This chore is left
+to the \fBshow\fR command.
+.TP
+\fIpathName \fBshow\fR \fIdate\fR
+Changes the currently displayed date to be that of the date
+argument which must be in the form of a date string, an
+integer clock value or as
+the keyword "now". Reference the clock
+command for more information on obtaining dates and their formats.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBforward\fR
+Class: \fBButton\fR
+.fi
+.IP
+The forward component provides the button on the upper right of the
+calendar that changes the month to be the next. See the "button"
+widget manual entry for details on the forward component item.
+.LP
+.nf
+Name: \fBpage\fR
+Class: \fBCanvas\fR
+.fi
+.IP
+The page component provides the canvas on which the title, days of the
+week, and days of the month appear. See the "canvas" widget manual
+entry for details on the page component item.
+.LP
+.nf
+Name: \fBbackward\fR
+Class: \fBButton\fR
+.fi
+.TP
+The backward component provides the button on the upper right of the
+calendar that changes the month to be the next. See the "button"
+widget manual entry for details on the backward component item.
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ proc selectCmd {date} {
+ puts $date
+ }
+
+ iwidgets::calendar .c -command {selectCmd %d} \\
+ -weekendbackground mistyrose \\
+ -weekdaybackground ghostwhite -outline black \\
+ -startday wednesday -days {We Th Fr Sa Su Mo Tu}
+ pack .c
+.DE
+.SH AUTHOR
+Mark L. Ulferts
+.DE
+Michael J. McLennan
+.SH KEYWORDS
+calendar, widget
diff --git a/itcl/iwidgets/doc/canvasprintbox.n b/itcl/iwidgets/doc/canvasprintbox.n
new file mode 100644
index 00000000000..c580fd6fc43
--- /dev/null
+++ b/itcl/iwidgets/doc/canvasprintbox.n
@@ -0,0 +1,268 @@
+'\"
+'\" iwidgets::canvasprintbox (c) 1995 Tako Schotanus
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\"
+.so man.macros
+.HS iwidgets::canvasprintbox iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::canvasprintbox \- Create and manipulate a canvas print box widget
+.SH SYNOPSIS
+\fBiwidgets::canvasprintbox\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Canvasprintbox
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+activeBackground background borderWidth cursor
+foreground highlightBackground highlightColor highlightThickness
+insertBackground insertBorderWidth insertOffTime insertOnTime
+insertWidth relief repeatDelay repeatInterval
+selectBackground selectBorderWidth selectForeground\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.IP
+.LP
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBfilename\fR
+Class: \fBFileName\fR
+Command-Line Switch: \fB-filename\fR
+.fi
+.IP
+The file to write the postscript output to (Only when output
+is set to "file"). If posterizing is turned on and \fBhpagecnt\fR
+and/or \fBvpagecnt\fR is more than 1, x.y is appended to the filename
+where x is the horizontal page number and y the vertical page number.
+.LP
+.nf
+Name: \fBhpagecnt\fR
+Class: \fBPageCnt\fR
+Command-Line Switch: \fB-hpagecnt\fR
+.fi
+.IP
+Is used in combination with \fBposterize\fR to determine over
+how many pages the output should be distributed. This
+attribute specifies how many pages should be used horizontaly.
+Any change to this attribute will automatically update the "stamp".
+Defaults to 1.
+.LP
+.nf
+Name: \fBorient\fR
+Class: \fBOrient\fR
+Command-Line Switch: \fB-orient\fR
+.fi
+.IP
+Determines the orientation of the output to the printer (or file).
+It can take the value "portrait" or "landscape" (default). Changes
+to this attribute will be reflected immediately in the "stamp".
+Defaults to "landscape" but will be changed automaticaly to the value
+deemed appropiate for the current canvas. Setting this attribute
+when the canvasprintbox is first constructed (instead of using the
+"configure" method) will turn off the auto adjustment of this attribute.
+.LP
+.nf
+Name: \fBoutput\fR
+Class: \fBOutput\fR
+Command-Line Switch: \fB-output\fR
+.fi
+.IP
+Specifies where the postscript output should go: to the printer
+or to a file. Can take on the values "printer" or "file".
+The corresponding entry-widget will reflect the contents of
+either the \fBprintcmd\fR attribute or the \fBfilename\fR attribute.
+Defaults to "printer".
+.LP
+.nf
+Name: \fBpageSize\fR
+Class: \fBPageSize\fR
+Command-Line Switch: \fB-pagesize\fR
+.fi
+.IP
+The pagesize the printer supports. Changes to this attribute
+will be reflected immediately in the "stamp".
+Defaults to "a4".
+.LP
+.nf
+Name: \fBposterize\fR
+Class: \fBPosterize\fR
+Command-Line Switch: \fB-posterize\fR
+.fi
+.IP
+Indicates if posterizing is turned on or not. Posterizing
+the output means that it is possible to distribute the
+output over more than one page. This way it is possible to
+print a canvas/region which is larger than the specified
+pagesize without stretching. If used in combination with
+stretching it can be used to "blow up" the contents of a
+canvas to as large as size as you want (See attributes:
+hpagecnt and vpagecnt). Any change to this attribute will
+automatically update the "stamp".
+Defaults to 0.
+.LP
+.nf
+Name: \fBprintCmd\fR
+Class: \fBPrintCmd\fR
+Command-Line Switch: \fB-printcmd\fR
+.fi
+.IP
+The command to execute when printing the postscript output.
+The command will get the postscript directed to its standard
+input (Only when output is set to "printer").
+Defaults to "lpr".
+.LP
+.nf
+Name: \fBprintRegion\fR
+Class: \fBPrintRegion\fR
+Command-Line Switch: \fB-printregion\fR
+.fi
+.IP
+A list of four coordinates specifying which part of the canvas to print.
+An empty list means that the canvas' entire \fBscrollregion\fR should be
+printed. Any change to this attribute will automatically update the "stamp".
+Defaults to an empty list.
+.LP
+.nf
+Name: \fBstretch\fR
+Class: \fBStretch\fR
+Command-Line Switch: \fB-stretch\fR
+.fi
+.IP
+Determines if the output should be stretched to fill the
+page (as defined by the attribute pagesize) as large as
+possible. The aspect-ratio of the output will be retained
+and the output will never fall outside of the boundaries
+of the page.
+Defaults to 0 but will be changed automaticaly to the value
+deemed appropiate for the current canvas. Setting this attribute
+when the canvasprintbox is first constructed (instead of using the
+"configure" method) will turn off the auto adjustment of this attribute.
+.LP
+.nf
+Name: \fBvPageCnt\fR
+Class: \fBPageCnt\fR
+Command-Line Switch: \fB-vpagecnt\fR
+.fi
+.IP
+Is used in combination with "posterize" to determine over
+how many pages the output should be distributed. This
+attribute specifies how many pages should be used verticaly.
+Any change to this attribute will automatically update the "stamp".
+Defaults to 1.
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+Implements a print box for printing the contents of a canvas widget
+to a printer or a file. It is possible to specify page orientation, the
+number of pages to print the image on and if the output should be
+stretched to fit the page. Options exist to control the appearance and
+actions of the widget.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::canvasprintbox\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for canvasprintbox widgets:
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::canvasprintbox\fR
+command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::canvasprintbox\fR
+command.
+.TP
+\fIpathName\fR \fBgetoutput\fR
+Returns the value of the \fBprintercmd\fR or \fBfilename\fR option
+depending on the current setting of \fBoutput\fR.
+.TP
+\fIpathName\fR \fBprint\fR
+Perfrom the actual printing of the canvas using the current settings of
+all the attributes. Returns a boolean indicating wether the printing was
+successful or not.
+.TP
+\fIpathName\fR \fBrefresh\fR
+Retrieves the current value for all edit fields and updates
+the stamp accordingly. Is useful for Apply-buttons.
+.TP
+\fIpathName\fR \fBsetcanvas\fR \fIcanvas\fR
+This is used to set the \fIcanvas\fR that has to be printed.
+A stamp-sized copy will automatically be drawn to show how the
+output would look with the current settings.
+.TP
+\fIpathName \fBstop\fR
+Stops the drawing of the "stamp". I'm currently unable to detect
+when a Canvasprintbox gets destroyed or withdrawn. It's therefore
+advised that you perform a stop before you do something like that.
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBprtflentry\fR
+Class: \fBEntry\fR
+.fi
+.IP
+The prtflentry component is the entry field for user input of the
+\fBfilename\fR or \fBprinter\fR command (depending on the value of
+\fBoutput\fR).
+.LP
+.nf
+Name: \fBhpcnt\fR
+Class: \fBEntry\fR
+.fi
+.IP
+The hpcnt component is the entry field for user input of the number of
+pages to use horizontaly when \fBposterize\fR is turned on.
+.fi
+.nf
+Name: \fBvpcnt\fR
+Class: \fBEntry\fR
+.fi
+.IP
+The vpcnt component is the entry field for user input of the number of
+pages to use verticaly when \fBposterize\fR is turned on.
+.fi
+
+.SH EXAMPLE
+.DS
+package require Iwidgets 4.0
+iwidgets::canvasprintbox .fsb -orient landscape -stretch 1
+pack .fsb -padx 10 -pady 10 -fill both -expand yes
+.DE
+.SH AUTHOR
+Tako Schotanus
+.LP
+Tako.Schotanus@bouw.tno.nl
+.SH KEYWORDS
+canvasprintbox, widget
diff --git a/itcl/iwidgets/doc/canvasprintdialog.n b/itcl/iwidgets/doc/canvasprintdialog.n
new file mode 100644
index 00000000000..9005767d3b1
--- /dev/null
+++ b/itcl/iwidgets/doc/canvasprintdialog.n
@@ -0,0 +1,169 @@
+'\"
+'\" iwidgets::canvasprintdialog (c) 1995 Mark L. Ulferts
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) canvasprintdialog.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::canvasprintdialog iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::canvasprintdialog \- Create and manipulate a canvas print dialog widget
+.SH SYNOPSIS
+\fBiwidgets::canvasprintdialog\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Toplevel <- iwidgets::Dialogshell <- iwidgets::Dialog <- iwidgets::Canvasprintdialog
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+activeBackground background borderWidth cursor
+foreground highlightBackground highlightColor highlightThickness
+insertBackground insertBorderWidth insertOffTime insertOnTime
+insertWidth relief repeatDelay repeatInterval
+selectBackground selectBorderWidth selectForeground\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBfilename\fR \fBhpagecnt\fR \fBorient\fR \fBoutput\fR
+\fBpagesize\fR \fBposterize\fR \fBprintcmd\fR \fBprintregion\fR
+\fBvpagecnt\fR
+.fi
+.LP
+See the "canvasprintbox" widget manual entry for details on the above
+associated options.
+
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbuttonBoxPadX\fR \fBbuttonBoxPadY\fR \fBbuttonBoxPos\fR \fBpadX\fR
+\fBpadY\fR \fBseparator\fR \fBthickness\fR
+.fi
+.LP
+See the "dialogshell" widget manual entry for details on the above
+inherited options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBmaster\fR \fBmodality\fR
+.fi
+.LP
+See the "shell" widget manual entry for details on the above
+inherited options.
+.LP
+.LP
+.nf
+.ta 4c 8c 12c
+\fBtitle\fR
+.fi
+.LP
+See the "Toplevel" widget manual entry for details on the above
+inherited options.
+.LP
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::canvasprintdialog\fR command creates a print dialog for printing
+the contents of a canvas widget to a printer or a file. It is possible
+to specify page orientation, the number of pages to print the image on
+and if the output should be stretched to fit the page.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::canvasprintdialog\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for canvasprintdialog widgets:
+.SH "ASSOCIATED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBgetoutput\fR \fBsetcanvas\fR \fBrefresh\fR \fBprint\fR
+.fi
+.LP
+See the "canvasprintbox" class manual entry for details on the
+associated methods.
+.SH "INHERITED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBadd\fR \fBbuttonconfigure\fR \fBdefault\fR \fBhide\fR
+\fBinsert\fR \fBinvoke\fR \fBshow\fR
+.fi
+.LP
+See the "buttonbox" widget manual entry for details on the above
+inherited methods.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBactivate\fR \fBdeactivate\fR
+.fi
+.LP
+See the "dialogshell" widget manual entry for details on the above
+inherited methods.
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by
+the \fBiwidgets::canvasprintdialog\fR command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by
+the \fBiwidgets::canvasprintdialog\fR
+command.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBcpb\fR
+Class: \fBCanvasprintbox\fR
+.fi
+.IP
+The cpb component is the canvas print box for the canvas print dialog.
+See the "canvasprintbox" widget manual entry for details on the cpb
+component item.
+.fi
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ iwidgets::canvasprintdialog .cpb
+ .cpb activate
+.DE
+.SH AUTHOR
+Tako Schotanus
+.LP
+Tako.Schotanus@bouw.tno.nl
+.SH KEYWORDS
+canvasprintdialog, canvasprintbox, dialog, widget
diff --git a/itcl/iwidgets/doc/checkbox.n b/itcl/iwidgets/doc/checkbox.n
new file mode 100644
index 00000000000..eaa60062d6c
--- /dev/null
+++ b/itcl/iwidgets/doc/checkbox.n
@@ -0,0 +1,178 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) checkbox.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::checkbox iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::checkbox \- Create and manipulate a checkbox widget
+.SH SYNOPSIS
+\fBiwidgets::checkbox\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Labeledframe <- iwidgets::Checkbox
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbackground\fR \fBborderWidth\fR \fBcursor\fR \fBdisabledForeground\fR
+\fBforeground\fR \fBrelief\fR \fBselectColor\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBlabelBitmap\fR \fBlabelFont\fR \fBlabelImage\fR \fBlabelMargin\fR
+\fBlabelPos\fR \fBlabelText\fR \fBlabelVariable\fR
+.fi
+.LP
+See the "labeledframe" class manual entry for details on the
+inherited options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBcommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-command\fR
+.fi
+.IP
+Specifies a Tcl command procedure to be evaluated following a change in
+the current check box selection.
+.LP
+.nf
+Name: \fBorient\fR
+Class: \fBOrient\fR
+Command-Line Switch: \fB-orient\fR
+Default Value: \fBvertical\fR
+.fi
+.IP
+Specifies the orientation of the checkbuttons within the checkbox. Valid
+values are either "horizontal" or "vertical".
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::checkbox\fR command creates a check button box widget
+capable of adding, inserting, deleting, selecting, and configuring
+checkbuttons as well as obtaining the currently selected button.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::checkbox\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command.
+.PP
+Many of the widget commands for the \fBcheckbox\fR take as one argument an
+indicator of which checkbutton of the checkbox to operate on. These indicators
+are called \fIindexes\fR and allow reference and manipulation of checkbuttons.
+Checkbox indexes may be specified in any of the following forms:
+.TP 12
+\fInumber\fR
+Specifies the checkbutton numerically, where 0 corresponds to the top
+checkbutton of the checkbox.
+.TP 12
+\fBend\fR
+Indicates the last checkbutton of the checkbox.
+.TP 12
+\fIpattern\fR
+If the index doesn't satisfy one of the above forms then this
+form is used. \fIPattern\fR is pattern-matched against the tag of
+each checkbutton in the checkbox, in order from top to bottom,
+until a matching entry is found. The rules of \fBTcl_StringMatch\fR
+are used.
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBadd\fR \fItag\fR ?\fIoption value option value\fR?
+Adds a new checkbutton to the checkbuttond window on the bottom. The command
+takes additional options which are passed on to the checkbutton as construction
+arguments. These include the standard Tk checkbutton options. The tag is
+returned.
+.TP
+\fIpathName \fBbuttonconfigure\fR \fIindex\fR ?\fIoptions\fR?
+This command is similar to the \fBconfigure\fR command, except that
+it applies to the options for an individual checkbutton,
+whereas \fBconfigure\fRapplies to the options for the checkbox as a whole.
+\fIOptions\fR may have any of the values accepted by the \fBadd\fR
+widget command. If \fIoptions\fR are specified, options are modified
+as indicated in the command and the command returns an empty string.
+If no \fIoptions\fR are specified, returns a list describing
+the current options for entry \fIindex\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list).
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::checkbox\fR
+command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::checkbox\fR
+command.
+.TP
+\fIpathName \fBdelete\fR \fIindex\fR
+Deletes a specified checkbutton given an \fIindex\fR.
+.TP
+\fIpathName \fBdeselect\fR \fIindex\fR
+Deselects a specified checkbutton given an \fIindex\fR.
+.TP
+\fIpathName \fBflash\fR \fIindex\fR
+Flashes a specified checkbutton given an \fIindex\fR.
+.TP
+\fIpathName \fBget\fR ?\fIindex\fR?
+Returns the tags of the currently selected checkbuttons or the
+selection status of specific checkbutton when given an index.
+.TP
+\fIpathName \fBindex\fR \fIindex\fR
+Returns the numerical index corresponding to index.
+.TP
+\fIpathName \fBinsert \fIindex\fR \fItag\fR ?\fIoption value option value ...\fR?
+Same as the \fBadd\fR command except that it inserts the new
+checkbutton just before the one given by \fIindex\fR, instead of appending
+to the end of the checkbox. The \fIoption\fR, and \fIvalue\fR
+arguments have the same interpretation as for the \fBadd\fR widget
+command.
+.TP
+\fIpathName \fBselect\fR \fIindex\fR
+Selects a specified checkbutton given an \fIindex\fR.
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ iwidgets::checkbox .cb -labeltext Styles
+ .cb add bold -text Bold
+ .cb add italic -text Italic
+ .cb add underline -text Underline
+ .cb select underline
+
+ pack .cb -padx 10 -pady 10 -fill both -expand yes
+.DE
+
+.SH AUTHOR
+John A. Tucker
+.SH KEYWORDS
+checkbox, widget
diff --git a/itcl/iwidgets/doc/combobox.n b/itcl/iwidgets/doc/combobox.n
new file mode 100644
index 00000000000..40201644345
--- /dev/null
+++ b/itcl/iwidgets/doc/combobox.n
@@ -0,0 +1,376 @@
+'\"
+'\" Copyright (c) 1995 John S. Sigler
+'\" Copyright (c) 1997 Mitch Gorman
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) Combobox.n
+'\"
+.so man.macros
+.HS iwidgets::combobox iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::combobox \- Create and manipulate combination box widgets
+.SH SYNOPSIS
+\fBiwidgets::combobox\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::LabeledWidget <- iwidgets::Entryfield <- iwidgets::Combobox
+.SH "STANDARD OPTIONS"
+.LP
+.ta 4c 8c 12c
+.nf
+\fB
+background borderWidth cursor justify
+exportSelection foreground highlightColor highlightThickness
+insertWidth insertBackground insertOffTime insertOnTime
+insertWidth insertBorderWidth relief selectForeground
+selectBackground selectBorderWidth textVariable width\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBhscrollmode\fR \fBtextBackground\fR \fBtextFont\fR \fBvscrollmode\fR
+.fi
+.LP
+See the "scrolledlistbox" manual entry for details on the above inherited
+options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBshow\fR
+.fi
+.LP
+See the "entry" manual entry for details on the above inherited option.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBchildSitePos\fR \fBcommand\fR \fBfixed\fR \fBfocusCommand\fR
+\fBinvalid\fR \fBtextBackground\fR \fBtextFont\fR \fBvalidate\fR
+.fi
+.LP
+See the "entryfield" class manual entry for details on the inherited options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBlabelBitmap\fR \fBlabelFont\fR \fBlabelImage\fR \fBlabelMargin\fR
+\fBlabelPos\fR \fBlabelText\fR \fBlabelVariable\fR \fBsticky\fR
+.fi
+.LP
+See the "labeledwidget" class manual entry for details on the
+inherited options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBarrowRelief\fR
+Class: \fBRelief\fR
+Command-Line Switch: \fB-arrowrelief\fR
+.fi
+.IP
+Specifies the relief style to use for a dropdown Combobox's arrow
+button in a normal (not depressed) state. Acceptable values
+are \fBraised\fR, \fBsunken\fR, \fBflat\fR, \fBridge\fR, and \fBgroove\fR.
+Sunken is discouraged as this is the relief used to indicate a depressed
+state. This option has no effect on simple Comboboxes. The default is raised.
+.LP
+.nf
+Name: \fBcompletion\fR
+Class: \fBCompletion\fR
+Command-Line Switch: \fB-completion\fR
+.fi
+.IP
+Boolean given in any of the forms acceptable to \fBTcl_GetBoolean\fR which
+determines whether insertions into the entry field, whether from the
+keyboard or programmatically via the \fBinsert\fR method, are
+automatically completed with the first matching item from the listbox. The
+default is true.
+.LP
+.nf
+Name: \fBdropdown\fR
+Class: \fBDropdown\fR
+Command-Line Switch: \fB-dropdown\fR
+.fi
+.IP
+Boolean describing the Combobox layout style given in any of the forms
+acceptable to \fBTcl_GetBoolean\fR. If true, the Combobox
+will be a dropdown style
+widget which displays an entry field and an arrow button which when activated
+will pop up a scrollable list of items. If false, a simple Combobox style
+will be used which has an entry field and a scrollable list beneath it
+which is always visible. Both styles allow an optional label for the entry
+field area. The default is true.
+.LP
+.nf
+Name: \fBeditable\fR
+Class: \fBEditable\fR
+Command-Line Switch: \fB-editable\fR
+.fi
+.IP
+Boolean describing whether or not the text entry area is editable
+by the user. If true the user can add items to the combobox by entering text
+into the entry area and then pressing Return. If false, the list of items is
+non-editable and can only be changed by calling the insert or delete
+methods. (The value in the entry field can still be modified by selecting
+from the list.) Given in any of the forms acceptable to \fBTcl_GetBoolean\fR.
+The default is true.
+.LP
+.nf
+Name: \fBgrab\fR
+Class: \fBGrab\fR
+Command-Line Switch: \fB-grab\fR
+.fi
+.IP
+This option sets the grab scope for the appearance of the listbox in
+drop-down comboboxes. It can be either global or local. The default is
+local.
+.LP
+.nf
+Name: \fBlistHeight\fR
+Class: \fBHeight\fR
+Command-Line Switch: \fB-listheight\fR
+.fi
+.IP
+Height of the listbox specified in any of the forms acceptable to
+\fBTk_GetPixels\fR. The default is 150 pixels.
+.LP
+.nf
+Name: \fBmargin\fR
+Class: \fBMargin\fR
+Command-Line Switch: \fB-margin\fR
+.fi
+.IP
+Specifies the width in pixels between the entry component and the arrow button
+for a dropdown Combobox given in any of the forms acceptable to
+\fBTk_GetPixels\fR. This option has no effect on a simple Combobox. The
+default is 1.
+.LP
+.nf
+Name: \fBpopupCursor\fR
+Class: \fBCursor\fR
+Command-Line Switch: \fB-popupcursor\fR
+.fi
+.IP
+Specifies the cursor to be used for dropdown style listboxes. The value
+may have any of the forms acceptable to \fBTk_GetCursor\fR. The default is
+arrow.
+.LP
+.nf
+Name: \fBselectionCommand\fR
+Class: \fBSelectionCommand\fR
+Command-Line Switch: \fB-selectioncommand\fR
+.fi
+.IP
+Specifies a Tcl command procedure which is called when an item in the
+listbox area is selected. The item will be selected in the list, the listbox
+will be removed if it is a dropdown Combobox, and the selected item's
+text will be inserted into the entry field before the -selectioncommand proc is
+called. The default is {}.
+.LP
+.nf
+Name: \fBstate\fR
+Class: \fBState\fR
+Command-Line Switch: \fB-state\fR
+.fi
+.IP
+Specifies the overall state of the Combobox megawidget. Can be either
+normal or disabled. If the Combobox is disabled, no text can be entered
+into the entry field, no selection can be made in the listbox, and the
+arrowBtn component is disabled. The default is normal.
+.LP
+.nf
+Name: \fBunique\fR
+Class: \fBUnique\fR
+Command-Line Switch: \fB-unique\fR
+.fi
+.IP
+Boolean describing whether or not duplicate items are allowed in the combobox
+list. If true, then duplicates are not allowed to be inserted. If false, a
+duplicate entry causes selection of the item. Given in any of the forms
+acceptable to \fBTcl_GetBoolean\fR. The default is true.
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::combobox\fR command creates an enhanced entry field widget with an
+optional associated label and a scrollable list. When an item is selected in
+the list area of a Combobox, its value is then displayed in the entry field
+text area. Functionally similar to an Optionmenu, the Combobox adds (optional)
+list scrolling and (optional) item editing and inserting capabilities.
+.PP
+There are two basic styles of Comboboxes (determined by the -dropdown option):
+dropdown and simple. The dropdown style adds an arrow button to the right of
+the entry field which when activated will pop up (and down) the scrolled
+listbox beneath the entry field. The simple (non-dropdown) Combobox
+permanently displays the listbox beneath the entry field and has no
+arrow button. Either style allows an optional entry field label.
+.SH "METHODS"
+.PP
+The \fBiwidgets::combobox\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for Combobox widgets:
+.SH "ASSOCIATED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBicursor\fR \fBscan\fR
+.fi
+.LP
+See the "entry" manual entries for details on the above associated methods.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBcurselection\fR \fBindex\fR \fBsee\fR \fBsize\fR
+\fBxview\fR \fByview\fR
+.fi
+.LP
+See the "listbox" manual entries for details on the above associated methods.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBgetcurselection\fR \fBjustify\fR \fBsort\fR
+.fi
+.LP
+See the "scrolledlistbox" manual entries for details on the above associated
+methods.
+.LP
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::combobox\fR
+command.
+.TP
+\fIpathName \fBclear\fR ?\fBcomponent\fR?
+Clears the contents from one or both components. Valid component values
+are \fBlist\fR, or \fBentry\fR. With no component specified, both are cleared.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::combobox\fR
+command.
+.TP
+\fIpathName \fBdelete \fIcomponent\fR \fIfirst\fR ?\fIlast\fR?
+Delete one or more elements from a given component, \fBlist\fR or \fBentry\fR.
+If a list item to be removed is currently selected (displayed in the entry
+field area), the entry field will be cleared.
+.TP
+\fIpathName \fBget ?\fIindex\fR? \fR
+With no arguments, returns the contents currently in the entry
+field area. With a single argument, returns the contents of the
+listbox item at the indicated index.
+.TP
+\fIpathName \fBinsert\fR \fIcomponent\fR \fIindex\fR \fIelement\fR ?\fIelement element ...\fR?
+Insert one or more new elements into the given component, \fBlist\fR or
+\fBentry\fR, just before the element given by \fIindex\fR.
+.TP
+\fIpathName \fBselection\fR \fIoption\fR \fIfirst\fR ?\fIlast\fR?
+Adjust the selection within the listbox component and updates the contents
+of the entry field component to the value of the selected item. See the
+"listbox" manual entry for more details on parameter options.
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBentry\fR
+Class: \fBEntry\fR
+.fi
+.IP
+Text entry area where the current selection is displayed. If the
+Combobox is editable and its state is normal, the user can edit the
+contents of this item.
+.LP
+.nf
+Name: \fBlist\fR
+Class: \fBScrolledlistbox\fR
+.fi
+.IP
+Scrollable list which stores all the items which the user can select
+from. For dropdown Comboboxes, this component is hidden until the user pops it
+up by pressing on the arrow button to the right of the entry component. For
+simple Comboboxes this component is always visible just beneath the entry
+component.
+.SH "DEFAULT BINDINGS"
+.PP
+The Combobox generally has the same bindings as its primary component items -
+the Scrolledlistbox and Entryfield. However it also adds these:
+.PP
+[1] Button-1 mouse press on the arrow key of a dropdown Combobox causes the
+list to be popped up. If the combobox is non-editable, a Button-1 press on the
+entry field area will also pop up the list.
+.PP
+[2] Button-1 mouse press anywhere on the display removes a dropdown listbox
+which has been popped up, unless the keypress is upon one of the Combobox
+scrollbars which scrolls the list. If it is pressed upon an item in the list
+area, that item will be selected before the list is removed.
+.PP
+[3] Button-3 mouse press on the arrow key of a dropdown Combobox causes the
+next item to be selected. Shift-Button-3 causes the previous item to be
+selected.
+.PP
+[4] Escape keypress removes a dropdown list which has been popped up.
+.PP
+[5] The <space> and <Return> keystrokes select the current item. They also
+remove the popped up list for dropdown comboboxes.
+.PP
+[6] Up and Down arrow keypresses from the entry field and arrow button
+component cause the previous and next items in the listbox to be selected
+respectively. Ctl-P and Ctl-N are similarly mapped for emacs emulation.
+.PP
+[7] Entry field and arrow button component Shift-Up and Shift-Down arrow keys
+pop up and down the listbox of a dropdown Combobox. The arrow button component
+also maps <Return> and <space> similarly.
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ proc selectCmd {} {
+ puts stdout "[.cb2 getcurselection]"
+ }
+
+ #
+ # Non-editable Dropdown Combobox
+ #
+ iwidgets::combobox .cb1 -labeltext Month: \\
+ -selectioncommand {puts "selected: [.cb1 getcurselection]"} \\
+ -editable false -listheight 185 -popupcursor hand1
+ .cb1 insert list end Jan Feb Mar Apr May June Jul Aug Sept Oct Nov Dec
+
+ #
+ # Editable Dropdown Combobox
+ #
+ iwidgets::combobox .cb2 -labeltext "Operating System:" -selectioncommand selectCmd
+ .cb2 insert list end Linux HP-UX SunOS Solaris Irix
+ .cb2 insert entry end L
+
+ pack .cb1 -padx 10 -pady 10 -fill x
+ pack .cb2 -padx 10 -pady 10 -fill x
+
+.DE
+.SH ORIGINAL AUTHOR
+John S. Sigler
+.SH CURRENT MAINTAINER
+Mitch Gorman (logain@erols.com)
+.SH KEYWORDS
+combobox, entryfield, scrolledlistbox, itk::Widget, entry, listbox, widget,
+iwidgets
diff --git a/itcl/iwidgets/doc/dateentry.n b/itcl/iwidgets/doc/dateentry.n
new file mode 100644
index 00000000000..81379e8c569
--- /dev/null
+++ b/itcl/iwidgets/doc/dateentry.n
@@ -0,0 +1,177 @@
+'\"
+'\" Copyright (c) 1997 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) dateentry.n 1.0 97/04/30 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::dateentry iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::dateentry \- Create and manipulate a dateentry widget
+.SH SYNOPSIS
+\fBiwidgets::dateentry\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::LabeledWidget <- iwidgets::Datefield <- iwidgets::Dateentry
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+background borderWidth cursor exportSelection
+foreground highlightColor highlightThickness insertBackground
+justify relief\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBdisabledForeground\fR \fBint\fR \fBlabelBitmap\fR \fBlabelFont\fR
+\fBlabelImage\fR \fBlabelMargin\fR \fBlabelPos\fR \fBlabelText\fR
+\fBlabelVariable\fR \fBstate\fR \fBsticky\fR
+.fi
+.LP
+See the "labeledwidget" class manual entry for details on these
+inherited options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBcommand\fR \fBiq\fR \fBstate\fR \fBtextBackground\fR
+\fBtextFont\fR
+.fi
+.LP
+See the "datefield" class manual entry for details on these
+inherited options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbackwardImage\fR \fBbuttonForeground\fR \fBcommand\fR \fBcurrentDateFont\fR
+\fBdateFont\fR \fBdayFont\fR \fBdays\fR \fBforwardImage\fR
+\fBoutline\fR \fBselectColor\fR \fBselectThickness\fR \fBstartDay\fR
+\fBtitleFont\fR \fBweekdayBackground\fR \fBweekendBackground\fR
+.fi
+.LP
+See the "calendar" manual entry for details on the associated options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBgrab\fR
+Class: \fBGrab\fR
+Command-Line Switch: \fB-grab\fR
+.fi
+.IP
+Specifies the grab level, \fBlocal\fR or \fBglobal\fR, to be obtained before
+bringing up the popup calendar. The default is global. For more information
+concerning grab levels, consult the documentation for Tk's \fBgrab\fR command.
+.LP
+.nf
+Name: \fBicon\fR
+Class: \fBIcon\fR
+Command-Line Switch: \fB-icon\fR
+.fi
+.IP
+Specifies the calendar icon image to be used in the dateentry.
+This image must have been created previously with
+the \fBimage create\fR command. Should one not be provided,
+then one will be generated, pixmap if possible, bitmap otherwise.
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::dateentry\fR command creates a quicken style date entry field
+with a popup calendar by combining the datefield and calendar
+widgets together. This allows a user to enter the date via the
+keyboard or by using the mouse and selecting the calendar icon
+which brings up a popup calendar.
+.DE
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::dateentry\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for dateentry widgets:
+.SH "INHERITED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBget\fR \fBisvalid\fR \fBshow\fR
+.fi
+.LP
+See the "datefield" manual entry for details on the associated methods.
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::dateentry\fR
+command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::dateentry\fR
+command.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBlabel\fR
+Class: \fBLabel\fR
+.fi
+.IP
+The label component provides a label component to used to identify the date.
+See the "label" widget manual entry for details on the label component item.
+.LP
+.nf
+Name: \fBiconbutton\fR
+Class: \fBLabel\fR
+.fi
+.IP
+The iconbutton component provides a labelbutton component to act as a
+lightweight button
+displaying the calendar icon. Upon pressing the labelbutton, the calendar
+appears. See the "label" widget manual entry for details on the
+labelbutton component item.
+.LP
+.nf
+Name: \fBdate\fR
+Class: \fBEntry\fR
+.fi
+.IP
+The date component provides the entry field for date input and display.
+See the "entry" widget manual entry for details on the date component item.
+.fi
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ iwidgets::dateentry .de
+ pack .de
+.DE
+.SH AUTHOR
+Mark L. Ulferts
+.LP
+.SH KEYWORDS
+dateentry, widget
diff --git a/itcl/iwidgets/doc/datefield.n b/itcl/iwidgets/doc/datefield.n
new file mode 100644
index 00000000000..382f75176c5
--- /dev/null
+++ b/itcl/iwidgets/doc/datefield.n
@@ -0,0 +1,215 @@
+'\"
+'\" Copyright (c) 1997 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) datefield.n 1.0 97/04/30 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::datefield iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::datefield \- Create and manipulate a date field widget
+.SH SYNOPSIS
+\fBiwidgets::datefield\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::LabeledWidget <- iwidgets::Datefield
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+background borderWidth cursor exportSelection
+foreground highlightColor highlightThickness insertBackground
+justify relief\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBdisabledForeground\fR \fBlabelBitmap\fR \fBlabelFont\fR \fBlabelImage\fR
+\fBlabelMargin\fR \fBlabelPos\fR \fBlabelText\fR \fBlabelVariable\fR
+\fBstate\fR \fBsticky\fR
+.fi
+.LP
+See the "labeledwidget" class manual entry for details on the
+inherited options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBchildSitePos\fR
+Class: \fBPosition\fR
+Command-Line Switch: \fB-childsitepos\fR
+.fi
+.IP
+Specifies the position of the child site in the date field: \fBn\fR,
+\fBs\fR, \fBe\fR, or \fBw\fR. The default is e.
+.LP
+.nf
+Name: \fBcommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-command\fR
+.fi
+.IP
+Specifies a Tcl command to be executed upon detection of a Return key
+press event.
+.LP
+.nf
+Name: \fBgmt\fR
+Class: \fBGMT\fR
+Command-Line Switch: \fB-gmt\fR
+.fi
+.IP
+Determines whether the date is calculated relative to Greenwich
+Mean Time. Accepts a boolean value. The default is no.
+.LP
+.nf
+Name: \fBint\fR
+Class: \fBDateFormat\fR
+Command-Line Switch: \fB-int\fR
+.fi
+.IP
+Used to specify international date formats. This option must be
+a boolean value. When set to true, the date is formatted as
+YYYY-MM-DD. When set to false, it is formatted as MM/DD/YYYY. Note
+that this format is driven by the 'clock scan' command and that
+YYYY-MM-DD is supported in Tk 8.4 or later. The default is no.
+.LP
+.nf
+Name: \fBiq\fR
+Class: \fBIq\fR
+Command-Line Switch: \fB-iq\fR
+.fi
+.IP
+Specifies the level of intelligence to be shown in the actions
+taken by the datefield during the processing of keypress events.
+Valid settings include \fBhigh\fR, \fBaverage\fR, and \fBlow\fR.
+With a high iq,the date prevents the user from typing in an
+invalid date. For example, if the current date is 05/31/1997 and
+the user changes the month to 04, then the day will be instantly
+modified for them to be 30. In addition, leap years are fully
+taken into account. With average iq, the month is limited to the
+values of 01-12, but it is possible to type in an invalid day.
+A setting of low iq instructs the widget to do no validity
+checking at all during date entry. With both average and low
+iq levels, it is assumed that the validity will be determined
+at a later time using the date's \fBisvalid\fR command.
+.LP
+.nf
+Name: \fBstate\fR
+Class: \fBState\fR
+Command-Line Switch: \fB-state\fR
+.fi
+.IP
+Specifies one of two states for the datefield: \fBnormal\fR or \fBdisabled\fR.
+If the datefield is disabled then input is not accepted. The default is
+normal.
+.LP
+.nf
+Name: \fBtextBackground\fR
+Class: \fBBackground\fR
+Command-Line Switch: \fB-textbackground\fR
+.fi
+.IP
+Background color for inside textual portion of the entry field. The value
+may be given in any of the forms acceptable to \fBTk_GetColor\fR.
+.LP
+.nf
+Name: \fBtextFont\fR
+Class: \fBFont\fR
+Command-Line Switch: \fB-textfont\fR
+.fi
+.IP
+Name of font to use for display of text in datefield. The value
+may be given in any of the forms acceptable to \fBTk_GetFont\fR.
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::datefield\fR command creates an enhanced text entry widget for
+the purpose of date entry with various degrees of built-in intelligence.
+.DE
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::datefield\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for datefield widgets:
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::datefield\fR
+command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::datefield\fR
+command.
+.TP
+\fIpathName \fBget\fR ?\fBformat\fR?
+Returns the current contents of the datefield in a format of
+string or as an integer clock value using the \fB-string\fR and \fB-clicks\fR
+format options respectively. The default is by string. Reference the
+clock command for more information on obtaining dates and their
+formats.
+.TP
+\fIpathName \fBisvalid\fR
+Returns a boolean indication of the validity of the currently
+displayed date value. For example, 03/03/1960 is valid whereas
+02/29/1997 is invalid.
+.TP
+\fIpathName \fBshow\fR \fIdate\fR
+Changes the currently displayed date to be that of the date
+argument. The date may be specified either as a string, an
+integer clock value or the keyword "now". Reference the clock
+command for more information on obtaining dates and their formats.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBdate\fR
+Class: \fBEntry\fR
+.fi
+.IP
+The date component provides the entry field for date input and display.
+See the "entry" widget manual entry for details on the date component item.
+.fi
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ proc returnCmd {} {
+ puts [.df get]
+ }
+
+ iwidgets::datefield .df -command returnCmd
+ pack .df -fill x -expand yes -padx 10 -pady 10
+.DE
+.SH AUTHOR
+Mark L. Ulferts
+.LP
+.SH KEYWORDS
+datefield, widget
diff --git a/itcl/iwidgets/doc/dialog.n b/itcl/iwidgets/doc/dialog.n
new file mode 100644
index 00000000000..55c8841018e
--- /dev/null
+++ b/itcl/iwidgets/doc/dialog.n
@@ -0,0 +1,140 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) dialog.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::dialog iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::dialog \- Create and manipulate a dialog widget
+.SH SYNOPSIS
+\fBiwidgets::dialog\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Toplevel <- iwidgets::Shell <- iwidgets::Dialogshell <- iwidgets::Dialog
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbackground\fR \fBcursor\fR \fBforeground\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbuttonBoxPadX\fR \fBbuttonBoxPadY\fR \fBbuttonBoxPos\fR \fBpadX\fR
+\fBpadY\fR \fBseparator\fR \fBthickness\fR
+.fi
+.LP
+See the "dialogshell" manual entry for details on the above inherited options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBheight\fR \fBmaster\fR \fBmodality\fR \fBwidth\fR
+.fi
+.LP
+See the "shell" manual entry for details on the above inherited options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBtitle\fR
+.fi
+.LP
+See the "Toplevel" manual entry for details on the above inherited options.
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::dialog\fR command creates a dialog box providing standard
+buttons and a child site for use in derived classes. The buttons
+include ok, apply, cancel, and help. Methods and Options exist to
+configure the buttons and their containing box.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::dialog\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for dialog widgets:
+.SH "INHERITED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBadd\fR \fBbuttonconfigure\fR \fBdefault\fR \fBhide\fR
+\fBindex\fR \fBinsert\fR \fBinvoke\fR \fBshow\fR
+.fi
+.LP
+See the "buttonbox" manual entry for details on the above inherited methods.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBchildsite\fR
+.fi
+.LP
+See the "dialogshell" manual entry for details on the above inherited methods.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBactivate\fR \fBcenter\fR \fBdeactivate\fR
+.fi
+.LP
+See the "shell" manual entry for details on the above inherited methods.
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::dialog\fR
+command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::dialog\fR
+command.
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ iwidgets::dialog .d -modality global
+ .d buttonconfigure OK -command {puts OK; .d deactivate 1}
+ .d buttonconfigure Apply -command {puts Apply}
+ .d buttonconfigure Cancel -command {puts Cancel; .d deactivate 0}
+ .d buttonconfigure Help -command {puts Help}
+
+ listbox [.d childsite].lb -relief sunken
+ pack [.d childsite].lb -expand yes -fill both
+
+ if {[.d activate]} {
+ puts "Exit via OK button"
+ } else {
+ puts "Exit via Cancel button"
+ }
+.DE
+.SH AUTHOR
+Mark L. Ulferts
+.DE
+Bret A. Schuhmacher
+.SH KEYWORDS
+dialog, dialogshell, shell, widget
diff --git a/itcl/iwidgets/doc/dialogshell.n b/itcl/iwidgets/doc/dialogshell.n
new file mode 100644
index 00000000000..ab39484b4a3
--- /dev/null
+++ b/itcl/iwidgets/doc/dialogshell.n
@@ -0,0 +1,217 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) dialogshell.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::dialogshell iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::dialogshell \- Create and manipulate a dialog shell widget
+.SH SYNOPSIS
+\fBiwidgets::dialogshell\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Toplevel <- iwidgets::Shell <- iwidgets::Dialogshell
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbackground\fR \fBcursor\fR \fBforeground\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBheight\fR \fBmaster\fR \fBmodality\fR \fBwidth\fR
+.fi
+.LP
+See the "shell" manual entry for details on the above inherited options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBtitle\fR
+.fi
+.LP
+See the "Toplevel" manual entry for details on the above inherited options.
+
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBbuttonBoxPadX\fR
+Class: \fBPad\fR
+Command-Line Switch: \fB-buttonboxpadx\fR
+.fi
+.IP
+Specifies a non-negative padding distance to leave between the button group and
+the outer edge of the button box in the x direction. The value may be
+given in any of the forms accpetable to \fBTk_GetPixels\fR. The default
+is 5 pixels.
+.LP
+.nf
+Name: \fBbuttonBoxPadY\fR
+Class: \fBPad\fR
+Command-Line Switch: \fB-buttonboxpady\fR
+.fi
+.IP
+Specifies a non-negative padding distance to leave between the button group and
+the outer edge of the button box in the y direction. The value may be
+given in any of the forms accpetable to \fBTk_GetPixels\fR. The default
+is 5 pixels.
+.LP
+.nf
+Name: \fBbuttonBoxPos\fR
+Class: \fBPosition\fR
+Command-Line Switch: \fB-buttonboxpos\fR
+.fi
+.IP
+Attaches buttons to the given side of the dialog: \fBn\fR, \fBs\fR,
+\fBe\fR or \fBw\fR. The default is s.
+.LP
+.nf
+Name: \fBpadX\fR
+Class: \fBPad\fR
+Command-Line Switch: \fB-padx\fR
+.fi
+.IP
+Specifies a padding distance for the childsite in the X-direction in
+any of the forms acceptable to \fBTk_GetPixels\fR. The default is 10.
+.LP
+.nf
+Name: \fBpadY\fR
+Class: \fBPad\fR
+Command-Line Switch: \fB-pady\fR
+.fi
+.IP
+Specifies a padding distance for the childsite in the Y-direction in
+any of the forms acceptable to \fBTk_GetPixels\fR. The default is 10.
+.LP
+.nf
+Name: \fBseparator\fR
+Class: \fBSeparator\fR
+Command-Line Switch: \fB-separator\fR
+.fi
+.IP
+Specifies whether a line is drawn to separate the
+buttons from the dialog box contents in any of the forms
+acceptable to \fBTcl_GetBoolean\fR. The default is true.
+.LP
+.nf
+Name: \fBthickness\fR
+Class: \fBThickness\fR
+Command-Line Switch: \fB-thickness\fR
+.fi
+.IP
+Specifies the thickness of the separator in any of the forms acceptable
+to \fBTk_GetPixels\fR. The default is 3 pixels.
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::dialogshell\fR command creates a dialog shell which is a top
+level widget composed of a button box, separator, and child site area.
+The class also has methods to control button construction.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::dialogshell\fR command create a new Tcl command whose
+name is \fIpathName\fR. This command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for dialogshell widgets:
+.SH "INHERITED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBactivate\fR \fBcenter\fR \fBdeactivate\fR
+.fi
+.LP
+See the "shell" manual entry for details on the above inherited methods.
+.SH "ASSOCIATED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBadd\fR \fBbuttonconfigure\fR \fBdefault\fR \fBdelete\fR
+\fBhide\fR \fBindex\fR \fBinsert\fR \fBinvoke\fR
+\fBshow\fR
+.fi
+.LP
+See the "buttonbox" manual entry for details on the associated methods.
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::dialogshell\fR
+command.
+.TP
+\fIpathName \fBchildsite\fR
+Returns the pathname of the child site widget.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::dialogshell\fR
+command.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBdschildsite\fR
+Class: \fBframe\fR
+.fi
+.IP
+The dschildsite component is the user child site for the dialog shell. See
+the "frame" widget manual entry for details on the dschildsite component item.
+.LP
+.nf
+Name: \fBseparator\fR
+Class: \fBframe\fR
+.fi
+.IP
+The separator component devides the area between the user child site and
+the button box. See the "frame" widget manual entry for details on the
+separator component item.
+.LP
+.nf
+Name: \fBbbox\fR
+Class: \fBButtonBox\fR
+.fi
+.IP
+The bbox component is the button box containing the buttons for the dialog
+shell. See the "ButtonBox" widget manual entry for details on the
+bbox component item.
+.fi
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ iwidgets::dialogshell .ds -modality none
+
+ .ds add OK -text "OK"
+ .ds add Cancel -text "Cancel"
+ .ds default OK
+
+ .ds activate
+.DE
+.SH AUTHOR
+Mark L. Ulferts
+.SH KEYWORDS
+dialogshell, dialog, shell, widget
diff --git a/itcl/iwidgets/doc/disjointlistbox.n b/itcl/iwidgets/doc/disjointlistbox.n
new file mode 100644
index 00000000000..0ae3980a2a9
--- /dev/null
+++ b/itcl/iwidgets/doc/disjointlistbox.n
@@ -0,0 +1,290 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) disjointlistbox.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::disjointlistbox iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::disjointlistbox \- Create and manipulate a disjointlistbox widget
+.SH SYNOPSIS
+\fBiwidgets::disjointlistbox\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Disjointlistbox
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+activeBackground selectBorderWidth selectForeground
+activeForeground activeRelief background
+borderWidth buttonPlacement clientData
+cursor foreground highlightColor
+highlightThickness disabledForeground elementBorderWidth\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBlhsButtonLabel\fR \fBrhsButtonLabel\fR
+.fi
+.LP
+See the "button" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBlabelFont\fR \fBlhsLabelText\fR \fBrhsLabelText\fR
+.fi
+.LP
+See the "label" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBjump\fR \fBtroughColor\fR
+.fi
+.LP
+See the "scrollbar" widget class manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBtextBackground\fR \fBtextFont\fR
+\fBlhsItems\fR \fBrhsItems\fR
+.fi
+.LP
+See the "scrolledlistbox" widget manual entry for details on the above
+associated options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBbuttonPlacement\fR
+Class: \fBButtonPlacement\fR
+Command-Line Switch: \fB-buttonplacement\fR
+.fi
+.IP
+Specifies the placement of the insertion and removal buttons relative to the
+scrolledlistbox widgets\fBn\fR,
+\fBbottom\fR, or \fBcenter\fR. The default is bottom.
+.LP
+.nf
+Name: \fBlhsLabelText\fR
+Class: \fBLabelText\fR
+Command-Line Switch: \fB-lhslabeltext\fR
+.fi
+.IP
+Specifies the text for the label of the lhs scrolledlistbox.
+The default is "Available".
+.LP
+.nf
+Name: \fBrhsLabelText\fR
+Class: \fBLabelText\fR
+Command-Line Switch: \fB-rhslabeltext\fR
+.fi
+.IP
+Specifies the text for the label of the rhs scrolledlistbox.
+The default is "Available".
+.LP
+.nf
+Name: \fBlhsButtonLabel\fR
+Class: \fBLabelText\fR
+Command-Line Switch: \fB-lhsbuttonlabel\fR
+.fi
+.IP
+Specifies the text for the button of the lhs scrolledlistbox.
+The default is "Insert >>".
+.LP
+.nf
+Name: \fBrhsButtonLabel\fR
+Class: \fBLabelText\fR
+Command-Line Switch: \fB-rhsbuttonlabel\fR
+.fi
+.IP
+Specifies the text for the button of the rhs scrolledlistbox.
+The default is "<< Remove".
+.LP
+.nf
+Name: \fBlhsSortOption\fR
+Class: \fBLhsSortOption\fR
+Command-Line Switch: \fB-lhssortoption\fR
+.fi
+.IP
+Specifies the sort function to be applied to the lhs scrolledlistbox
+after items are inserted. Accepts the same sort options as the scrolledlistbox
+sort method (Tcl's lsort command). If "none" is specified, the inserted
+items are appended to the end of the list, and no sorting is performed.
+The default is "increasing".
+.LP
+.nf
+Name: \fBrhsSortOption\fR
+Class: \fBRhsSortOption\fR
+Command-Line Switch: \fB-rhssortoption\fR
+.fi
+.IP
+Specifies the sort function to be applied to the rhs scrolledlistbox
+after items are inserted. Accepts the same sort options as the scrolledlistbox
+sort method (Tcl's lsort command). If "none" is specified, the inserted
+items are appended to the end of the list, and no sorting is performed.
+The default is "increasing".
+.LP
+.BE
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::disjointlistbox\fR command creates a disjoint pair of listboxs
+similar to the OSF/Motif "Book" printing dialog of the "FrameMaker"
+program. It is implementation constists of a two Scrolledlistboxs,
+2 buttons, and 2 labels.
+
+The disjoint behavior of this widget exists between the interaction of
+the two Scrolledlistboxes with one another. That is, a given instance
+of a Disjointlistbox will never exist, without the aid of a hack magician,
+which has Scrolledlistbox widgets with items in common. That means the
+relationship between the two is maintained similar to that of disjoint sets.
+
+Users may transfer items between the two Listbox widgets using the
+the two buttons.
+
+Options exists which include the ability to configure the "items" displayed by
+the 2 Scrolledlistboxes and to control the placement of the insertion and
+removal buttons.
+.SH "METHODS"
+.PP
+The \fBiwidgets::disjointlistbox\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for disjointlistbox widgets:
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::disjointlistbox\fR
+command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::disjointlistbox\fR
+command.
+.TP
+\fIpathName \fBsetlhs\fR
+Set the current contents of the left-most Scrolledlistbox with the input list
+of items. Removes all (if any) items from the right-most Scrolledlistbox
+which exist in the input list option to maintain the disjoint property
+between the two
+.TP
+\fIpathName \fBsetrhs\fR
+Set the current contents of the right-most Scrolledlistbox with the input list
+of items. Removes all (if any) items from the left-most Scrolledlistbox
+which exist in the input list option to maintain the disjoint property
+between the two
+.TP
+\fIpathName \fBgetlhs\fR
+Returns the current contents of the left-most Scrolledlistbox
+.TP
+\fIpathName \fBgetrhs\fR
+Returns the current contents of the right-most Scrolledlistbox
+.TP
+\fIpathName \fBinsertlhs\fR
+Add the input list of items to the current contents of the left-most
+Scrolledlistbox. Removes all (if any) items from the right-most Scrolledlistbox
+which exist in the input list option to maintain the disjoint property
+between the two
+.TP
+\fIpathName \fBinsertrhs\fR
+Add the input list of items to the current contents of the right-most
+Scrolledlistbox. Removes all (if any) items from the left-most Scrolledlistbox
+which exist in the input list option to maintain the disjoint property
+between the two.
+.TP
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBlhs\fR
+Class: \fBScrolledlistbox\fR
+.fi
+.IP
+The lhs component is the scrolledlistbox for the rhs button.
+See the "scrolledlistbox" widget manual entry for details on the lhs
+component item.
+.LP
+.nf
+Name: \fBrhs\fR
+Class: \fBScrolledlistbox\fR
+.fi
+.IP
+The rhs component is the scrolledlistbox for the rhs button.
+See the "scrolledlistbox" widget manual entry for details on the rhs
+component item.
+.LP
+.nf
+Name: \fBlhsbutton\fR
+Class: \fButton\fR
+.fi
+.IP
+The lhsbutton component is the button for users to remove selected items
+from the lhs Scrolledlistbox.
+See the "button" widget manual entry for details on the lhs button component.
+.LP
+.nf
+Name: \fBrhsbutton\fR
+Class: \fBButton\fR
+.fi
+.IP
+The rhsbutton component is the button for users to remove selected items
+from the rhs Scrolledlistbox.
+See the "button" widget manual entry for details on the rhs button component.
+.LP
+.nf
+Name: \fBlhsCount\fR
+Class: \fBLabel\fR
+.fi
+.IP
+The lhsCount component is the label for displaying a count of the current items in
+the Scrolledlistbox.
+See the "Label" widget manual entry for details on the lhsCount label component.
+.LP
+.nf
+Name: \fBrhsCount\fR
+Class: \fBLabel\fR
+.fi
+.IP
+The rhsCount component is the label for displaying a count of the current items in
+the Scrolledlistbox.
+See the "Label" widget manual entry for details on the rhsCount label component.
+.fi
+.IP
+.SH EXAMPLE
+.DS
+package require Iwidgets 4.0
+iwidgets::disjointlistbox .dlb
+pack .dlb -padx 10 -pady 10 -fill both -expand yes
+.DE
+.SH AUTHOR(S)
+John A. Tucker
+.DE
+Anthony Parent
+.SH KEYWORDS
+disjointlistbox, widget
diff --git a/itcl/iwidgets/doc/entryfield.n b/itcl/iwidgets/doc/entryfield.n
new file mode 100644
index 00000000000..159bc4d6e48
--- /dev/null
+++ b/itcl/iwidgets/doc/entryfield.n
@@ -0,0 +1,282 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) entryfield.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::entryfield iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::entryfield \- Create and manipulate a entry field widget
+.SH SYNOPSIS
+\fBiwidgets::entryfield\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::LabeledWidget <- iwidgets::Entryfield
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+background borderWidth cursor exportSelection
+foreground highlightColor highlightThickness insertBackground
+insertBorderWidth insertOffTime insertOnTime insertWidth
+justify relief selectBackground selectBorderWidth
+selectForeground textVariable width\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBshow\fR \fBstate\fR
+.fi
+.LP
+See the "entry" manual entry for details on the associated options.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBdisabledForeground\fR \fBlabelBitmap\fR \fBlabelFont\fR \fBlabelImage\fR
+\fBlabelMargin\fR \fBlabelPos\fR \fBlabelText\fR \fBlabelVariable\fR
+\fBstate\fR \fBsticky\fR
+.fi
+.LP
+See the "labeledwidget" class manual entry for details on the
+inherited options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBchildSitePos\fR
+Class: \fBPosition\fR
+Command-Line Switch: \fB-childsitepos\fR
+.fi
+.IP
+Specifies the position of the child site in the entry field: \fBn\fR,
+\fBs\fR, \fBe\fR, or \fBw\fR. The default is e.
+.LP
+.nf
+Name: \fBcommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-command\fR
+.fi
+.IP
+Specifies a Tcl command to be executed upon detection of a Return key
+press event.
+.LP
+.nf
+Name: \fBfixed\fR
+Class: \fBFixed\fR
+Command-Line Switch: \fB-fixed\fR
+.fi
+.IP
+Restrict entry to the specified number of chars. A value of 0, which is the
+default, denotes no limit. The value is the maximum number of chars the
+user may type into the field, regardles of field width. For example,
+if the field width is set to 20 and the fixed value is 10, the user will
+only be able to type 10 characters into the field which is 20 characters long.
+.LP
+.nf
+Name: \fBfocusCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-focuscommand\fR
+.fi
+.IP
+Specifies a Tcl command to be executed upon reception of focus.
+.LP
+.nf
+Name: \fBinvalid\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-invalid\fR
+.fi
+.IP
+Specifies a Tcl command to be executed upon determination of invalid input.
+The default is bell.
+.LP
+.nf
+Name: \fBtextBackground\fR
+Class: \fBBackground\fR
+Command-Line Switch: \fB-textbackground\fR
+.fi
+.IP
+Background color for inside textual portion of the entry field. The value
+may be given in any of the forms acceptable to \fBTk_GetColor\fR.
+.LP
+.nf
+Name: \fBtextFont\fR
+Class: \fBFont\fR
+Command-Line Switch: \fB-textfont\fR
+.fi
+.IP
+Name of font to use for display of text in entryfield. The value
+may be given in any of the forms acceptable to \fBTk_GetFont\fR.
+.LP
+.nf
+Name: \fBpasting\fR
+Class: \fBBehavior\fR
+Command-Line Switch: \fB-pasting\fR
+.fi
+.IP
+Option to enable/disable pasting into the entry component of the
+entryfield. Valid values are 0 (disabled) or 1 (enabled).
+Defaults to 1.
+.LP
+.nf
+Name: \fBvalidate\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-validate\fR
+.fi
+.IP
+The validate option allows specification of a validation mechanism. Standard
+character validation such as \fBnumeric\fR, \fBalphabetic\fR, \fBinteger\fR,
+\fBhexidecimal\fR, \fBreal\fR, and \fBalphanumeric\fR can be handled through
+the use of keywords. Should more
+extensive validation be necessary, the value may contain the name of
+a command script. The script should return a boolean value. True for
+valid, false for invalid. If false is returned, then the procedure
+associated with the invalid option will be invoked.
+If the validation script contains
+any \fB%\fR characters, then the script will not be
+executed directly. Instead, a new script will be
+generated by replacing each \fB%\fR, and the character following
+it, with information from the entryfield. The replacement
+depends on the character following the \fB%\fR, as defined in the
+list below.
+.TP
+\fB%c\fR
+Replaced with the current input character.
+.TP
+\fB%P\fR
+Replaced with the contents of the entryfield modified to include the latest
+keystoke. This is equivalent to peeking at the future contents, enabling
+rejection prior to the update.
+.TP
+\fB%S\fR
+Replaced with the current contents of the entryfield prior to the latest
+keystroke being added.
+.TP
+\fB%W\fR
+Replaced with the entryfield widget pathname.
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::entryfield\fR command creates an enhanced text entry widget with an
+optional associated label. Addtional options support validation and
+establishing a upper limit on the number of characters which may be
+entered in the field.
+.DE
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::entryfield\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for entryfield widgets:
+.SH "ASSOCIATED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBdelete\fR \fBget\fR \fBicursor\fR \fBindex\fR
+\fBinsert\fR \fBscan\fR \fBselection\fR \fBxview\fR
+.fi
+.LP
+See the "entry" manual entry for details on the associated methods.
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::entryfield\fR
+command.
+.TP
+\fIpathName \fBchildsite\fR
+Returns the path name of the child site.
+.TP
+\fIpathName \fBclear\fR
+Clear entry widget
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::entryfield\fR
+command.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBefchildsite\fR
+Class: \fBframe\fR
+.fi
+.IP
+The efchildsite component is the user child site for the entry field. See
+the "frame" widget manual entry for details on the efchildsite component item.
+.LP
+.nf
+Name: \fBentry\fR
+Class: \fBentry\fR
+.fi
+.IP
+The entry component provides the entry field for user text input and display.
+See the "entry" widget manual entry for details on the entry component item.
+.fi
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ option add *textBackground white
+
+ proc returnCmd {} {
+ puts stdout "Return Pressed"
+ }
+
+ proc invalidCmd {} {
+ puts stdout "Alphabetic contents invalid"
+ }
+
+ iwidgets::entryfield .ef -command returnCmd
+
+ iwidgets::entryfield .fef -labeltext "Fixed:" -fixed 10 -width 12
+
+ iwidgets::entryfield .nef -labeltext "Numeric:" -validate numeric -width 12
+
+ iwidgets::entryfield .aef -labeltext "Alphabetic:" \\
+ -validate alphabetic -width 12 -invalid invalidCmd
+
+ iwidgets::entryfield .pef -labeltext "Password:" \\
+ -show \267 -width 12 -command returnCmd
+
+ iwidgets::Labeledwidget::alignlabels .ef .fef .nef .aef .pef
+
+ pack .ef -fill x -expand yes -padx 10 -pady 5
+ pack .fef -fill x -expand yes -padx 10 -pady 5
+ pack .nef -fill x -expand yes -padx 10 -pady 5
+ pack .aef -fill x -expand yes -padx 10 -pady 5
+ pack .pef -fill x -expand yes -padx 10 -pady 5
+.DE
+.SH AUTHOR
+Sue Yockey
+.DE
+Mark L. Ulferts
+.LP
+.SH KEYWORDS
+entryfield, widget
diff --git a/itcl/iwidgets/doc/extbutton.n b/itcl/iwidgets/doc/extbutton.n
new file mode 100644
index 00000000000..89ec19ef20f
--- /dev/null
+++ b/itcl/iwidgets/doc/extbutton.n
@@ -0,0 +1,149 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) extbutton.n 1.21 01/04/23 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::extbutton iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::extbutton \- Extends the behavior of the Tk button by allowing
+a bitmap or image to coexist with text.
+.SH SYNOPSIS
+\fBiwidgets::extbutton\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Extbutton
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+activebackground activeforeground bitmap
+background bd cursor
+disabledforeground font foreground
+image justify relief text\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.ta 4c 8c 12c
+.LP
+.nf
+Name: \fBbitmapforeground\fR
+Class: \fBForeground\fR
+Command-Line Switch: \fB-bitmapforeground\fR
+.fi
+.IP
+Configures the foreground color of the bitmap.
+.LP
+.nf
+Name: \fBcommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-command\fR
+.fi
+.IP
+Associate a command with the extbutton. Simulates a Tk button's
+-command option. Invoked by either <1> events or by explicitly
+calling the public invoke() method.
+.LP
+.nf
+Name: \fBdefaultring\fR
+Class: \fBDefaultRing\fR
+Command-Line Switch: \fB-defaultring\fR
+.fi
+.IP
+Boolean describing whether the extbutton displays its default ring given in
+any of the forms acceptable to \fBTcl_GetBoolean\fR. The default is false.
+.LP
+.nf
+Name: \fBdefaultringpad\fR
+Class: \fBPad\fR
+Command-Line Switch: \fB-defaultringpad\fR
+.fi
+.IP
+Specifies the amount of space to be allocated to the indentation of the
+default ring ring given in any of the forms acceptable to \fBTcl_GetPixels\fR.
+The option has no effect if the defaultring option is set to false. The
+default is 4 pixels.
+.LP
+.nf
+Name: \fBimagePos\fR
+Class: \fBPosition\fR
+Command-Line Switch: \fB-imagepos\fR
+.fi
+.IP
+Specifies the image position relative to the message text: \fBn\fR, \fBne\fR,
+\fBnw\fR, \fBs\fR, \fBse\fR, \fBsw\fR, \fBw\fR, \fBwn\fR, \fBws\fR, \fBe\fR,
+\fBen\fR, or \fBes\fR. The default is w.
+.LP
+.nf
+Name: \fBringBackground\fR
+Class: \fBBackground\fR
+Command-Line Switch: \fB-ringbackground\fR
+.fi
+.IP
+Configures the background color of the default ring frame (if -defaultring
+is set to boolean true).
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBextbutton\fR extends the behavior of the atomic Tk button by
+allowing text and an image or bitmap to coexist. The user may use
+the -image or -bitmap options to specify an image as well as the
+-imagepos option to specify image position relative to the text.
+Note that the extbutton is not intended to be used without an
+image/bitmap. There will be an emtpy space next to the text if
+no image/bitmap is specified.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::extbutton\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+
+.SH "INHERITED METHODS"
+Each of the following methods are inherited from itk::Archetype. See that
+man page for details.
+.DS C
+\fIpathName \fBcget\fR
+\fIpathName \fBcomponent\fR
+\fIpathName \fBconfig\fR
+\fIpathName \fBconfigure\fR
+.DE
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBinvoke\fR
+Evaluates the command fragment associated with the -command option.
+.TP
+\fIpathName \fBflash\fR
+Simulates the Tk button's flash command.
+.DE
+
+.SH EXAMPLES
+.DS
+package require Iwidgets 4.0
+iwidgets::extbutton .eb -text "Bitmap example" -bitmap info \\
+ -background bisque -activeforeground red -bitmapforeground blue \\
+ -defaultring 1 -command {puts "Bisque is beautiful"}
+pack .eb -expand 1
+
+iwidgets::extbutton .eb -text "Image example" -relief ridge -image \\
+ [image create photo -file $itk::library/../iwidgets/demos/images/clear.gif] \\
+ -font 9x15bold -background lightgreen -imagepos e \\
+ -activebackground lightyellow
+pack .eb -expand 1
+.DE
+.SH AUTHOR
+Chad Smith
+.SH KEYWORDS
+button, pushbutton
diff --git a/itcl/iwidgets/doc/extfileselectionbox.n b/itcl/iwidgets/doc/extfileselectionbox.n
new file mode 100644
index 00000000000..970eaa90e15
--- /dev/null
+++ b/itcl/iwidgets/doc/extfileselectionbox.n
@@ -0,0 +1,395 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) extfileselectionbox.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::extfileselectionbox iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::extfileselectionbox \- Create and manipulate a file selection box widget
+.SH SYNOPSIS
+\fBiwidgets::extfileselectionbox\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Extfileselectionbox
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+activeBackground background borderWidth cursor
+foreground highlightColor highlightThickness insertBackground
+insertBorderWidth insertOffTime insertOnTime insertWidth
+selectBackground selectBorderWidth selectForeground\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBpopupCursor\fR \fBtextBackground\fR \fBtextFont\fR
+.fi
+.LP
+See the "combobox" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBlabelFont\fR
+.fi
+.LP
+See the "labeledwidget" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBsashCursor\fR
+.fi
+.LP
+See the "panedwindow" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBactiveRelief\fR \fBelementBorderWidth\fR \fBjump\fR \fBtroughColor\fR
+.fi
+.LP
+See the "scrollbar" widget class manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBtextBackground\fR \fBtextFont\fR
+.fi
+.LP
+See the "scrolledlistbox" widget manual entry for details on the above
+associated options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBautomount\fR
+Class: \fBAutomount\fR
+Command-Line Switch: \fB-automount\fR
+.fi
+.IP
+Specifies a list of directory prefixes to ignore. Typically, this
+option would be used as follows:
+ -automount {export tmp_mnt}
+.LP
+.nf
+Name: \fBchildSitePos\fR
+Class: \fBPosition\fR
+Command-Line Switch: \fB-childsitepos\fR
+.fi
+.IP
+Specifies the position of the child site in the extended fileselection
+box: \fBn\fR, \fBs\fR, \fBe\fR, \fBw\fR, \fBtop\fR, or \fBbottom\fR.
+The default is s.
+.LP
+.nf
+Name: \fBdirectory\fR
+Class: \fBDirectory\fR
+Command-Line Switch: \fB-directory\fR
+.fi
+.IP
+Specifies the initial default directory. The default is the present
+working directory.
+.LP
+.nf
+Name: \fBdirSearchCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-dirsearchcommand\fR
+.fi
+.IP
+Specifies a Tcl command to be executed to perform a directory search.
+The command will receive the current working directory and filter
+mask as arguments. The command should return a list of files which
+will be placed into the directory list.
+.LP
+.nf
+Name: \fBdirsLabel\fR
+Class: \fBText\fR
+Command-Line Switch: \fB-dirslabel\fR
+.fi
+.IP
+Specifies the text of the label for the directory list. The default is
+"Directories".
+.LP
+.nf
+Name: \fBdirsOn\fR
+Class: \fBDirsOn\fR
+Command-Line Switch: \fB-dirson\fR
+.fi
+.IP
+Specifies whether or not to display the directory list. The
+value may be given in any of the forms acceptable to \fBTcl_GetBoolean\fR.
+The default is true.
+.LP
+.nf
+Name: \fBfileSearchCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-filesearchcommand\fR
+.fi
+.IP
+Specifies a Tcl command to be executed to perform a file search.
+The command will receive the current working directory and filter
+mask as arguments. The command should return a list of files which
+will be placed into the file list.
+.LP
+.nf
+Name: \fBfilesLabel\fR
+Class: \fBText\fR
+Command-Line Switch: \fB-fileslabel\fR
+.fi
+.IP
+Specifies the text of the label for the files list. The default is "Files".
+.LP
+.nf
+Name: \fBfilesOn\fR
+Class: \fBFilesOn\fR
+Command-Line Switch: \fB-fileson\fR
+.fi
+.IP
+Specifies whether or not to display the files list. The
+value may be given in any of the forms acceptable to \fBTcl_GetBoolean\fR.
+The default is true.
+.LP
+.nf
+Name: \fBfileType\fR
+Class: \fBFileType\fR
+Command-Line Switch: \fB-filetype\fR
+.fi
+.IP
+Specify the type of files which may appear in the file list: \fBregular\fR,
+\fBdirectory\fR, or \fBany\fR. The default is regular.
+.LP
+.nf
+Name: \fBfilterCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-filtercommand\fR
+.fi
+.IP
+Specifies a Tcl command to be executed upon hitting the Return key
+in the filter combobox widget.
+.LP
+.nf
+Name: \fBfilterLabel\fR
+Class: \fBText\fR
+Command-Line Switch: \fB-filterlabel\fR
+.fi
+.IP
+Specifies the text of the label for the filter combobox. The default is
+"Filter".
+.LP
+.nf
+Name: \fBfilterOn\fR
+Class: \fBFilterOn\fR
+Command-Line Switch: \fB-filteron\fR
+.fi
+.IP
+Specifies whether or not to display the filter combobox. The
+value may be given in any of the forms acceptable to \fBTcl_GetBoolean\fR.
+The default is true.
+.LP
+.nf
+Name: \fBheight\fR
+Class: \fBHeight\fR
+Command-Line Switch: \fB-height\fR
+.fi
+.IP
+Specifies the height of the selection box. The value may be specified in
+any of the forms acceptable to Tk_GetPixels. The default is 300 pixels.
+.LP
+.nf
+Name: \fBinvalid\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-invalid\fR
+.fi
+.IP
+Command to be executed should the filter contents be proven
+invalid. The default is {bell}.
+.LP
+.nf
+Name: \fBmask\fR
+Class: \fBMask\fR
+Command-Line Switch: \fB-mask\fR
+.fi
+.IP
+Specifies the initial file mask string. The default is "*".
+.LP
+.nf
+Name: \fBnoMatchString\fR
+Class: \fBNoMatchString\fR
+Command-Line Switch: \fB-nomatchstring\fR
+.fi
+.IP
+Specifies the string to be displayed in the files list should no files
+match the mask. The default is "".
+.LP
+.nf
+Name: \fBselectDirCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-selectdirommand\fR
+.fi
+.IP
+Specifies a Tcl command to be executed following selection of a
+directory in the directory list.
+.LP
+.nf
+Name: \fBselectFileCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-selectfileommand\fR
+.fi
+.IP
+Specifies a Tcl command to be executed following selection of a
+file in the files list.
+.LP
+.nf
+Name: \fBselectionCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-selectioncommand\fR
+.fi
+.IP
+Specifies a Tcl command to be executed upon hitting the Return key
+in the selection combobox widget.
+.LP
+.nf
+Name: \fBselectionLabel\fR
+Class: \fBText\fR
+Command-Line Switch: \fB-selectionlabel\fR
+.fi
+.IP
+Specifies the text of the label for the selection combobox. The default
+is "Selection".
+.LP
+.nf
+Name: \fBselectionOn\fR
+Class: \fBSelectionOn\fR
+Command-Line Switch: \fB-selectionon\fR
+.fi
+.IP
+Specifies whether or not to display the selection combobox. The
+value may be given in any of the forms acceptable to \fBTcl_GetBoolean\fR.
+The default is true.
+.LP
+.nf
+Name: \fBwidth\fR
+Class: \fBWidth\fR
+Command-Line Switch: \fB-width\fR
+.fi
+.IP
+Specifies the width of the selection box. The value may be specified in
+any of the forms acceptable to Tk_GetPixels. The default is 350 pixels.
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::extfileselectionbox\fR command creates an extended file
+selection box which is slightly different than the fileselectionbox widget.
+The differences are mostly cosmetic in that the listboxes are
+within a panedwindow and the entryfields for the filter and selection
+have been replaced by comboboxes. Other than that the interface is
+practically the same.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::extfileselectionbox\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for extfileselectionbox widgets:
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::extfileselectionbox\fR
+command.
+.TP
+\fIpathName \fBchildsite\fR
+Returns the child site widget path name.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::extfileselectionbox\fR
+command.
+.TP
+\fIpathName \fBfilter\fR
+Update the current contents of the extended file selection box based
+on the current filter combobox value.
+.TP
+\fIpathName \fBget\fR
+Returns the current value of the selection combobox widget.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBdirs\fR
+Class: \fBScrolledlistbox\fR
+.fi
+.IP
+The dirs component is the directory list box for the extended fileselection
+box. See the "scrolledlistbox" widget manual entry for details on the dirs
+component item.
+.LP
+.nf
+Name: \fBfiles\fR
+Class: \fBScrolledlistbox\fR
+.fi
+.IP
+The files component is the file list box for the extended fileselection box.
+See the "scrolledlistbox" widget manual entry for details on the files
+component item.
+.LP
+.nf
+Name: \fBfilter\fR
+Class: \fBCombobox\fR
+.fi
+.IP
+The filter component is the field for user input of the filter value.
+See the "combobox" widget manual entry for details on the filter
+component item.
+.LP
+.nf
+Name: \fBselection\fR
+Class: \fBCombobox\fR
+.fi
+.IP
+The selection component is the field for user input of the currently
+selected file value. See the "combobox" widget manual entry for details
+on the selection component item.
+.fi
+
+.SH EXAMPLE
+.DS
+package require Iwidgets 4.0
+iwidgets::extfileselectionbox .fsb
+pack .fsb -padx 10 -pady 10 -fill both -expand yes
+.DE
+.SH AUTHOR(S)
+Mark L. Ulferts
+.DE
+Anthony Parent
+.SH KEYWORDS
+extfileselectionbox, widget
diff --git a/itcl/iwidgets/doc/extfileselectiondialog.n b/itcl/iwidgets/doc/extfileselectiondialog.n
new file mode 100644
index 00000000000..eee4611d30c
--- /dev/null
+++ b/itcl/iwidgets/doc/extfileselectiondialog.n
@@ -0,0 +1,239 @@
+'\"
+'\" Copyright (c) 1997 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) extfileselectiondialog.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::extfileselectiondialog iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::extfileselectiondialog \- Create and manipulate a file selection dialog widget
+.SH SYNOPSIS
+\fBiwidgets::extfileselectiondialog\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Toplevel <- iwidgets::Shell <- iwidgets::Dialogshell <- iwidgets::Dialog <- iwidgets::Extfileselectiondialog
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+activeBackground background borderWidth cursor
+foreground highlightColor highlightThickness insertBackground
+insertBorderWidth insertOffTime insertOnTime insertWidth
+selectBackground selectBorderWidth selectForeground\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBpopupCursor\fR \fBtextBackground\fR \fBtextFont\fR
+.fi
+.LP
+See the "combobox" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBchildSitePos\fR \fBdirectory\fR \fBdirsLabel\fR \fBdirSearchCommand\fR
+\fBdirsOn\fR \fBfilesLabel\fR \fBfilesLabelOn\fR \fBfileSearchCommand\fR
+\fBfilesOn\fR \fBfileType\fR \fBfilterLabel\fR \fBfilterOn\fR
+\fBinvalid\fR \fBmask\fR \fBnoMatchString\fR \fBselectionLabel\fR
+\fBselectionOn\fR
+.fi
+.LP
+See the "extfileselectionbox" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBlabelFont\fR
+.fi
+.LP
+See the "labeledwidget" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBsashCursor\fR
+.fi
+.LP
+See the "panedwindow" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBlabelFont\fR
+.fi
+.LP
+See the "labeledwidget" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBactiveRelief\fR \fBelementBorderWidth\fR \fBjump\fR \fBtroughColor\fR
+.fi
+.LP
+See the "scrollbar" widget class manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBtextBackground\fR \fBtextFont\fR
+.fi
+.LP
+See the "scrolledlistbox" widget manual entry for details on the above
+associated options.
+
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbuttonBoxPadX\fR \fBbuttonBoxPadY\fR \fBbuttonBoxPos\fR \fBpadX\fR
+\fBpadY\fR \fBseparator\fR \fBthickness\fR
+.fi
+.LP
+See the "dialogshell" widget manual entry for details on the above
+inherited options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBheight\fR \fBmaster\fR \fBmodality\fR \fBwidth\fR
+.fi
+.LP
+See the "shell" widget manual entry for details on the above
+inherited options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBtitle\fR
+.fi
+.LP
+See the "Toplevel" widget manual entry for details on the above
+inherited options.
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::extfileselectiondialog\fR command creates an extended file
+selection dialog which is slightly different than the
+fileselectiondialog widget.
+The differences are mostly cosmetic in that the listboxes are
+within a panedwindow and the entryfields for the filter and selection
+have been replaced by comboboxes. Other than that the interface is
+practically the same.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::extfileselectiondialog\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for extfileselectiondialog widgets:
+.SH "ASSOCIATED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBget\fR \fBchildsite\fR \fBfilter\fR
+.fi
+.LP
+See the "fileselectionbox" class manual entry for details on the
+associated methods.
+.SH "INHERITED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBadd\fR \fBbuttonconfigure\fR \fBdefault\fR \fBhide\fR
+\fBinsert\fR \fBinvoke\fR \fBshow\fR
+.fi
+.LP
+See the "buttonbox" widget manual entry for details on the above
+inherited methods.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBactivate\fR \fBcenter\fR \fBdeactivate\fR
+.fi
+.LP
+See the "shell" widget manual entry for details on the above
+inherited methods.
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by
+the \fBiwidgets::extfileselectiondialog\fR command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by
+the \fBiwidgets::extfileselectiondialog\fR
+command.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBfsb\fR
+Class: \fBFileselectionbox\fR
+.fi
+.IP
+The fsb component is the extfileselectionbox for the extfileselectiondialog.
+See the "extfileselectionbox" widget manual entry for details on the fsb
+component item.
+.fi
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ #
+ # Non-modal example
+ #
+ proc okCallback {} {
+ puts "You selected [.nmfsd get]"
+ .nmfsd deactivate
+ }
+
+ iwidgets::extfileselectiondialog .nmfsd -title Non-Modal
+ .nmfsd buttonconfigure OK -command okCallback
+
+ .nmfsd activate
+
+ #
+ # Modal example
+ #
+ iwidgets::extfileselectiondialog .mfsd -modality application
+ .mfsd center
+
+ if {[.mfsd activate]} {
+ puts "You selected [.mfsd get]"
+ } else {
+ puts "You cancelled the dialog"
+ }
+.DE
+.SH AUTHOR
+Mark L. Ulferts
+.DE
+Anthony L. Parent
+.SH KEYWORDS
+extfileselectiondialog, extfileselectionbox, dialog, dialogshell, shell, widget
diff --git a/itcl/iwidgets/doc/feedback.n b/itcl/iwidgets/doc/feedback.n
new file mode 100644
index 00000000000..475f9ae36f6
--- /dev/null
+++ b/itcl/iwidgets/doc/feedback.n
@@ -0,0 +1,145 @@
+'\"
+'\" Copyright (c) 1996 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) feedback.n
+'\"
+.so man.macros
+.HS iwidgets::feedback iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::feedback \- Create and manipulate a feedback widget to display feedback on
+the current status of an ongoing operation to the user.
+.SH SYNOPSIS
+\fBiwidgets::feedback\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Labeledwidget <- iwidgets::Feedback
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbackground\fR \fBcursor\fR \fBforeground\fR \fBhighlightColor\fR
+\fBhighlightThickness\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBlabelBitmap\fR \fBlabelFont\fR \fBlabelImage\fR \fBlabelMargin\fR
+\fBlabelPos\fR \fBlabelText\fR \fBlabelVariable\fR \fBsticky\fR
+.fi
+.LP
+See the "labeledwidget" class manual entry for details on the inherited options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBbarcolor\fR
+Class: \fBBarColor\fR
+Command-Line Switch: \fB-barcolor\fR
+.fi
+.IP
+Specifies the color of the status bar, in any of the forms
+acceptable to \fBTk_GetColor\fR. The default is DodgerBlue.
+.LP
+.nf
+Name: \fBbarheight\fR
+Class: \fBBarHeight\fR
+Command-Line Switch: \fB-barheight\fR
+.fi
+.IP
+Specifies the height of the status bar, in any of the forms
+acceptable to \fBTk_GetPixels\fR. The default is 20.
+.LP
+.nf
+Name: \fBtroughColor\fR
+Class: \fBTroughColor\fR
+Command-Line Switch: \fB-troughcolor\fR
+.fi
+.IP
+Specifies the color of the frame in which the status bar sits,
+in any of the forms acceptable to \fBTk_GetColor\fR. The default is white.
+.LP
+.nf
+Name: \fBsteps\fR
+Class: \fBSteps\fR
+Command-Line Switch: \fB-steps\fR
+.fi
+.IP
+Specifies the total number of steps for the status bar. The default is 10.
+.LP
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::feedback\fR command creates a widget to display feedback on
+the current status of an ongoing operation to the user. Display is given as
+a percentage and as a thermometer type bar. Options exist for adding a label
+and controlling its position.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::feedback\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for scrolledtext widgets:
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBscrolledhtml\fR
+command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::feedback\fR
+command.
+.TP
+\fIpathName\fR \fBreset\fR
+Reset the current number of steps completed to 0, and configures the
+percentage complete label text to 0%
+.TP
+\fIpathName\fR \fBstep\fR ?\fIinc\fR?
+Increase the current number of steps completed by the amount specified
+by \fIinc\fR. \fIInc\fR defaults to 1.
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ iwidgets::feedback .fb -labeltext "Status" -steps 20
+ pack .fb -padx 10 -pady 10 -fill both -expand yes
+
+ for {set i 0} {$i < 20} {incr i} {
+ .fb step
+ after 500
+ }
+.DE
+.SH ACKNOWLEDGEMENTS
+Sam Shen
+.IP
+This code is based largely on his feedback.tcl code from tk inspect. The
+original feedback code is copyright 1995 Lawrence Berkeley Laboratory.
+.LP
+.SH AUTHOR
+Kris Raney
+.SH KEYWORDS
+feedback, widget
diff --git a/itcl/iwidgets/doc/fileselectionbox.n b/itcl/iwidgets/doc/fileselectionbox.n
new file mode 100644
index 00000000000..35fabbcaf36
--- /dev/null
+++ b/itcl/iwidgets/doc/fileselectionbox.n
@@ -0,0 +1,391 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) fileselectionbox.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::fileselectionbox iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::fileselectionbox \- Create and manipulate a file selection box widget
+.SH SYNOPSIS
+\fBiwidgets::fileselectionbox\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Fileselectionbox
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+activeBackground background borderWidth cursor
+foreground highlightColor highlightThickness insertBackground
+insertBorderWidth insertOffTime insertOnTime insertWidth
+selectBackground selectBorderWidth selectForeground\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBtextBackground\fR \fBtextFont\fR
+.fi
+.LP
+See the "entryfield" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBlabelFont\fR
+.fi
+.LP
+See the "labeledwidget" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBactiveRelief\fR \fBelementBorderWidth\fR \fBjump\fR \fBtroughColor\fR
+.fi
+.LP
+See the "scrollbar" widget class manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBtextBackground\fR \fBtextFont\fR
+.fi
+.LP
+See the "scrolledlistbox" widget manual entry for details on the above
+associated options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBautomount\fR
+Class: \fBAutomount\fR
+Command-Line Switch: \fB-automount\fR
+.fi
+.IP
+Specifies a list of directory prefixes to ignore. Typically, this
+option would be used as follows:
+ -automount {export tmp_mnt}
+.LP
+.nf
+Name: \fBchildSitePos\fR
+Class: \fBPosition\fR
+Command-Line Switch: \fB-childsitepos\fR
+.fi
+.IP
+Specifies the position of the child site in the selection box: \fBn\fR,
+\fBs\fR, \fBe\fR, \fBw\fR, \fBtop\fR, \fBbottom\fR, or \fBcenter\fR. The
+default is s.
+.fi
+.IP
+Specifies a Tcl command procedure which is called when an file list item is
+double clicked. Typically this occurs when mouse button 1 is double
+clicked over a file name.
+.LP
+.nf
+Name: \fBdirectory\fR
+Class: \fBDirectory\fR
+Command-Line Switch: \fB-directory\fR
+.fi
+.IP
+Specifies the initial default directory. The default is the present
+working directory.
+.LP
+.nf
+Name: \fBdirSearchCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-dirsearchcommand\fR
+.fi
+.IP
+Specifies a Tcl command to be executed to perform a directory search.
+The command will receive the current working directory and filter
+mask as arguments. The command should return a list of files which
+will be placed into the directory list.
+.LP
+.nf
+Name: \fBdirsLabel\fR
+Class: \fBText\fR
+Command-Line Switch: \fB-dirslabel\fR
+.fi
+.IP
+Specifies the text of the label for the directory list. The default is
+"Directories".
+.LP
+.nf
+Name: \fBdirsOn\fR
+Class: \fBDirsOn\fR
+Command-Line Switch: \fB-dirson\fR
+.fi
+.IP
+Specifies whether or not to display the directory list. The
+value may be given in any of the forms acceptable to \fBTcl_GetBoolean\fR.
+The default is true.
+.LP
+.nf
+Name: \fBfileSearchCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-filesearchcommand\fR
+.fi
+.IP
+Specifies a Tcl command to be executed to perform a file search.
+The command will receive the current working directory and filter
+mask as arguments. The command should return a list of files which
+will be placed into the file list.
+.LP
+.nf
+Name: \fBfilesLabel\fR
+Class: \fBText\fR
+Command-Line Switch: \fB-fileslabel\fR
+.fi
+.IP
+Specifies the text of the label for the files list. The default is "Files".
+.LP
+.nf
+Name: \fBfilesOn\fR
+Class: \fBFilesOn\fR
+Command-Line Switch: \fB-fileson\fR
+.fi
+.IP
+Specifies whether or not to display the files list. The
+value may be given in any of the forms acceptable to \fBTcl_GetBoolean\fR.
+The default is true.
+.LP
+.nf
+Name: \fBfileType\fR
+Class: \fBFileType\fR
+Command-Line Switch: \fB-filetype\fR
+.fi
+.IP
+Specify the type of files which may appear in the file list: \fBregular\fR,
+\fBdirectory\fR, or \fBany\fR. The default is regular.
+.LP
+.nf
+Name: \fBfilterCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-filtercommand\fR
+.fi
+.IP
+Specifies a Tcl command to be executed upon hitting the Return key
+in the filter entry widget.
+.LP
+.nf
+Name: \fBfilterLabel\fR
+Class: \fBText\fR
+Command-Line Switch: \fB-filterlabel\fR
+.fi
+.IP
+Specifies the text of the label for the filter entry field. The default is
+"Filter".
+.LP
+.nf
+Name: \fBfilterOn\fR
+Class: \fBFilterOn\fR
+Command-Line Switch: \fB-filteron\fR
+.fi
+.IP
+Specifies whether or not to display the filter entry. The
+value may be given in any of the forms acceptable to \fBTcl_GetBoolean\fR.
+The default is true.
+.LP
+.nf
+Name: \fBheight\fR
+Class: \fBHeight\fR
+Command-Line Switch: \fB-height\fR
+.fi
+.IP
+Specifies the height of the selection box. The value may be specified in
+any of the forms acceptable to Tk_GetPixels. The default is 360 pixels.
+.LP
+.nf
+Name: \fBinvalid\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-invalid\fR
+.fi
+.IP
+Command to be executed should the filter contents be proven
+invalid. The default is {bell}.
+.LP
+.nf
+Name: \fBmask\fR
+Class: \fBMask\fR
+Command-Line Switch: \fB-mask\fR
+.fi
+.IP
+Specifies the initial file mask string. The default is "*".
+.LP
+.nf
+Name: \fBnoMatchString\fR
+Class: \fBNoMatchString\fR
+Command-Line Switch: \fB-nomatchstring\fR
+.fi
+.IP
+Specifies the string to be displayed in the files list should no files
+match the mask. The default is "".
+.LP
+.nf
+Name: \fBselectDirCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-selectdirommand\fR
+.fi
+.IP
+Specifies a Tcl command to be executed following selection of a
+directory in the directory list.
+.LP
+.nf
+Name: \fBselectFileCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-selectfileommand\fR
+.fi
+.IP
+Specifies a Tcl command to be executed following selection of a
+file in the files list.
+.LP
+.nf
+Name: \fBselectionCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-selectioncommand\fR
+.fi
+.IP
+Specifies a Tcl command to be executed upon hitting the Return key
+in the selection entry widget.
+.LP
+.nf
+Name: \fBselectionLabel\fR
+Class: \fBText\fR
+Command-Line Switch: \fB-selectionlabel\fR
+.fi
+.IP
+Specifies the text of the label for the selection entry field. The default
+is "Selection".
+.LP
+.nf
+Name: \fBselectionOn\fR
+Class: \fBSelectionOn\fR
+Command-Line Switch: \fB-selectionon\fR
+.fi
+.IP
+Specifies whether or not to display the selection entry. The
+value may be given in any of the forms acceptable to \fBTcl_GetBoolean\fR.
+The default is true.
+.LP
+.nf
+Name: \fBwidth\fR
+Class: \fBWidth\fR
+Command-Line Switch: \fB-width\fR
+.fi
+.IP
+Specifies the width of the selection box. The value may be specified in
+any of the forms acceptable to Tk_GetPixels. The default is 470 pixels.
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::fileselectionbox\fR command creates a file selection box similar
+to the OSF/Motif standard Xmfileselectionbox composite widget. The
+fileselectionbox is composed of directory and file scrolled lists as
+well as filter and selection entry fields. Bindings are in place such that
+selection of a directory list item loads the filter entry field and
+selection of a file list item loads the selection entry field. Options
+exist to control the appearance and actions of the widget.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::fileselectionbox\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for fileselectionbox widgets:
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::fileselectionbox\fR
+command.
+.TP
+\fIpathName \fBchildsite\fR
+Returns the child site widget path name.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::fileselectionbox\fR
+command.
+.TP
+\fIpathName \fBfilter\fR
+Update the current contents of the file selection box based on the current
+filter entry field value.
+.TP
+\fIpathName \fBget\fR
+Returns the current value of the selection entry widget.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBdirs\fR
+Class: \fBScrolledlistbox\fR
+.fi
+.IP
+The dirs component is the directory list box for the file selection box.
+See the "scrolledlistbox" widget manual entry for details on the dirs
+component item.
+.LP
+.nf
+Name: \fBfiles\fR
+Class: \fBScrolledlistbox\fR
+.fi
+.IP
+The files component is the file list box for the file selection box.
+See the "scrolledlistbox" widget manual entry for details on the files
+component item.
+.LP
+.nf
+Name: \fBfilter\fR
+Class: \fBEntryfield\fR
+.fi
+.IP
+The filter component is the entry field for user input of the filter value.
+See the "entryfield" widget manual entry for details on the filter
+component item.
+.LP
+.nf
+Name: \fBselection\fR
+Class: \fBEntryfield\fR
+.fi
+.IP
+The selection component is the entry field for user input of the currently
+selected file value. See the "entryfield" widget manual entry for details
+on the selection component item.
+.fi
+
+.SH EXAMPLE
+.DS
+package require Iwidgets 4.0
+iwidgets::fileselectionbox .fsb
+pack .fsb -padx 10 -pady 10 -fill both -expand yes
+.DE
+.SH AUTHOR(S)
+Mark L. Ulferts
+.SH KEYWORDS
+fileselectionbox, widget
diff --git a/itcl/iwidgets/doc/fileselectiondialog.n b/itcl/iwidgets/doc/fileselectiondialog.n
new file mode 100644
index 00000000000..37e6f958601
--- /dev/null
+++ b/itcl/iwidgets/doc/fileselectiondialog.n
@@ -0,0 +1,218 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) fileselectiondialog.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::fileselectiondialog iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::fileselectiondialog \- Create and manipulate a file selection dialog widget
+.SH SYNOPSIS
+\fBiwidgets::fileselectiondialog\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Toplevel <- iwidgets::Shell <- iwidgets::Dialogshell <- iwidgets::Dialog <- iwidgets::Fileselectiondialog
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+activeBackground background borderWidth cursor
+foreground highlightColor highlightThickness insertBackground
+insertBorderWidth insertOffTime insertOnTime insertWidth
+selectBackground selectBorderWidth selectForeground\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBtextBackground\fR \fBtextFont\fR
+.fi
+.LP
+See the "entryfield" widget manual entry for details on the above associated
+options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBchildSitePos\fR \fBdirectory\fR \fBdirsLabel\fR \fBdirSearchCommand\fR
+\fBdirsOn\fR \fBfilesLabel\fR \fBfilesLabelOn\fR \fBfileSearchCommand\fR
+\fBfilesOn\fR \fBfileType\fR \fBfilterLabel\fR \fBfilterOn\fR
+\fBinvalid\fR \fBmask\fR \fBnoMatchString\fR \fBselectionLabel\fR
+\fBselectionOn\fR
+.fi
+.LP
+See the "fileselectionbox" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBlabelFont\fR
+.fi
+.LP
+See the "labeledwidget" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBtextBackground\fR \fBtextFont\fR
+.fi
+.LP
+See the "scrolledlistbox" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBactiveRelief\fR \fBelementBorderWidth\fR \fBjump\fR \fBtroughColor\fR
+.fi
+.LP
+See the "scrollbar" widget class manual entry for details on the above
+associated options.
+
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbuttonBoxPadX\fR \fBbuttonBoxPadY\fR \fBbuttonBoxPos\fR \fBpadX\fR
+\fBpadY\fR \fBseparator\fR \fBthickness\fR
+.fi
+.LP
+See the "dialogshell" widget manual entry for details on the above
+inherited options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBheight\fR \fBmaster\fR \fBmodality\fR \fBwidth\fR
+.fi
+.LP
+See the "shell" widget manual entry for details on the above
+inherited options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBtitle\fR
+.fi
+.LP
+See the "Toplevel" widget manual entry for details on the above
+inherited options.
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::fileselectiondialog\fR command creates a file selection dialog
+similar to the OSF/Motif standard composite widget. The
+fileselectiondialog is derived from the Dialog class and is composed of
+a FileSelectionBox with attributes set to manipulate the dialog buttons.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::fileselectiondialog\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for fileselectiondialog widgets:
+.SH "ASSOCIATED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBget\fR \fBchildsite\fR \fBfilter\fR
+.fi
+.LP
+See the "fileselectionbox" class manual entry for details on the
+associated methods.
+.SH "INHERITED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBadd\fR \fBbuttonconfigure\fR \fBdefault\fR \fBhide\fR
+\fBinsert\fR \fBinvoke\fR \fBshow\fR
+.fi
+.LP
+See the "buttonbox" widget manual entry for details on the above
+inherited methods.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBactivate\fR \fBcenter\fR \fBdeactivate\fR
+.fi
+.LP
+See the "shell" widget manual entry for details on the above
+inherited methods.
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by
+the \fBiwidgets::fileselectiondialog\fR command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by
+the \fBiwidgets::fileselectiondialog\fR
+command.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBfsb\fR
+Class: \fBFileselectionbox\fR
+.fi
+.IP
+The fsb component is the file selection box for the file selection dialog.
+See the "fileselectionbox" widget manual entry for details on the fsb
+component item.
+.fi
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ #
+ # Non-modal example
+ #
+ proc okCallback {} {
+ puts "You selected [.nmfsd get]"
+ .nmfsd deactivate
+ }
+
+ iwidgets::fileselectiondialog .nmfsd -title Non-Modal
+ .nmfsd buttonconfigure OK -command okCallback
+
+ .nmfsd activate
+
+ #
+ # Modal example
+ #
+ iwidgets::fileselectiondialog .mfsd -modality application
+ .mfsd center
+
+ if {[.mfsd activate]} {
+ puts "You selected [.mfsd get]"
+ } else {
+ puts "You cancelled the dialog"
+ }
+.DE
+.SH AUTHOR
+Mark L. Ulferts
+.SH KEYWORDS
+fileselectiondialog, fileselectionbox, dialog, dialogshell, shell, widget
diff --git a/itcl/iwidgets/doc/finddialog.n b/itcl/iwidgets/doc/finddialog.n
new file mode 100644
index 00000000000..dfc1372a55e
--- /dev/null
+++ b/itcl/iwidgets/doc/finddialog.n
@@ -0,0 +1,294 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) finddialog.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::finddialog iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::finddialog \- Create and manipulate a find dialog widget
+.SH SYNOPSIS
+\fBiwidgets::finddialog\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Toplevel <- iwidgets::Shell <- iwidgets::Dialogshell <- iwidgets::Finddialog
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+activeBackground activeForeground background borderWidth
+cursor disabledForeground font foreground
+highlightColor highlightThickness insertBackground insertBorderWidth
+insertOffTime insertOnTime insertWidth selectBackground
+selectBorderWidth selectColor selectForeground\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBselectColor\fR
+.fi
+.LP
+See the "checkbutton" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBselectColor\fR
+.fi
+.LP
+See the "entryfield" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBlabelFont\fR
+.fi
+.LP
+See the "labeledwidget" widget manual entry for details on the above
+associated options.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbuttonBoxPadX\fR \fBbuttonBoxPadY\fR \fBbuttonBoxPos\fR \fBpadX\fR
+\fBpadY\fR \fBseparator\fR \fBthickness\fR
+.fi
+.LP
+See the "dialogshell" widget manual entry for details on the above
+inherited options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBheight\fR \fBmaster\fR \fBmodality\fR \fBwidth\fR
+.fi
+.LP
+See the "shell" widget manual entry for details on the above
+inherited options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBtitle\fR
+.fi
+.LP
+See the "Toplevel" widget manual entry for details on the above
+inherited options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBclearCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-clearcommand\fR
+.fi
+.IP
+Specifies a command to be invoked following a clear operation.
+The option is meant to be used as means of notification that the
+clear has taken place and allow other actions to take place such
+as disabling a find again menu.
+.LP
+.nf
+Name: \fBmatchCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-matchcommand\fR
+.fi
+.IP
+Specifies a command to be invoked following a find operation.
+The command is called with a match point as an argument which identifies
+where exactly where in the text or scrolledtext widget that the match
+is located. Should a match not be found the match point is {}. The
+option is meant to be used as a means of notification that the
+find operation has completed and allow other actions to take place
+such as disabling a find again menu option if the match point was {}.
+.LP
+.nf
+Name: \fBpatternBackground\fR
+Class: \fBBackground\fR
+Command-Line Switch: \fB-patternbackground\fR
+.fi
+.IP
+Specifies the background color of the text matching the search
+pattern. It may have any of the forms accepted by Tk_GetColor.
+The default is gray44.
+.LP
+.nf
+Name: \fBpatternForeground\fR
+Class: \fBBackground\fR
+Command-Line Switch: \fB-patternforeground\fR
+.fi
+.IP
+Specifies the foreground color of the text matching the search
+pattern. It may have any of the forms accepted by Tk_GetColor.
+The default is white.
+.LP
+.nf
+Name: \fBsearchBackground\fR
+Class: \fBBackground\fR
+Command-Line Switch: \fB-searchbackground\fR
+.fi
+.IP
+Specifies the background color of the line containing the matching
+the search pattern. It may have any of the forms accepted by Tk_GetColor.
+The default is gray77.
+.LP
+.nf
+Name: \fBsearchForeground\fR
+Class: \fBBackground\fR
+Command-Line Switch: \fB-searchforeground\fR
+.fi
+.IP
+Specifies the foreground color of the line containing the matching
+the search pattern. It may have any of the forms accepted by Tk_GetColor.
+The default is black.
+.LP
+.nf
+Name: \fBtextWidget\fR
+Class: \fBTextWidget\fR
+Command-Line Switch: \fB-textwidget\fR
+.fi
+.IP
+Specifies the text or scrolledtext widget to be searched.
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::finddialog\fR command creates a find dialog that works in
+conjunction with a text or scrolledtext widget to provide a means
+of performing search operations. The user is prompted for a text
+pattern to be found in the text or scrolledtext widget. The
+search can be for all occurances, by regular expression, considerate
+of the case, or backwards.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::finddialog\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for finddialog widgets:
+.SH "INHERITED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBadd\fR \fBbuttonconfigure\fR \fBdefault\fR \fBhide\fR
+\fBinvoke\fR \fBshow\fR
+.fi
+.LP
+See the "buttonbox" widget manual entry for details on the above
+inherited methods.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBactivate\fR \fBcenter\fR \fBdeactivate\fR
+.fi
+.LP
+See the "shell" widget manual entry for details on the above
+inherited methods.
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::finddialog\fR
+command.
+.TP
+\fIpathName \fBclear\fR
+Clears the pattern in the entry field and the pattern matchin
+indicators in the text or scrolledtext widget.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::finddialog\fR
+command.
+.TP
+\fIpathName \fBfind\fR
+Search for a specific text string in the text widget given by
+the -textwidget option. This method is the standard callback
+for the Find button. It is made available such that it can be
+bound to a find again action.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBall\fR
+Class: \fBCheckbutton\fR
+.fi
+.IP
+The all component specifies that all the matches of the pattern should be
+found when performing the search. See the "checkbutton" widget manual
+entry for details on the all component item.
+.LP
+.nf
+Name: \fBbackwards\fR
+Class: \fBCheckbutton\fR
+.fi
+.IP
+The backwards component specifies that the search should continue in
+a backwards direction towards the beginning of the text or scrolledtext
+widget. See the "checkbutton" widget manual entry for details on the
+backwards component item.
+.LP
+.nf
+Name: \fBcase\fR
+Class: \fBCheckbutton\fR
+.fi
+.IP
+The case component specifies that the case of the pattern should be
+taken into consideration when performing the search. See the
+"checkbutton" widget manual entry for details on the case component item.
+.LP
+.nf
+Name: \fBpattern\fR
+Class: \fBEntryfield\fR
+.fi
+.IP
+The pattern component provides the pattern entry field. See the
+"entryfield" widget manual entry for details on the pattern component item.
+.LP
+.nf
+Name: \fBregexp\fR
+Class: \fBCheckbutton\fR
+.fi
+.IP
+The regexp component specifies that the pattern is a regular expression.
+See the "checkbutton" widget manual entry for details on the regexp
+component item.
+.fi
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ iwidgets::scrolledtext .st
+ pack .st
+ .st insert end "Now is the time for all good men\\n"
+ .st insert end "to come to the aid of their country"
+
+ iwidgets::finddialog .fd -textwidget .st
+ .fd center .st
+ .fd activate
+.DE
+.SH AUTHOR
+Mark L. Ulferts
+.SH KEYWORDS
+finddialog, dialogshell, shell, widget
+
diff --git a/itcl/iwidgets/doc/generateHtml.sh b/itcl/iwidgets/doc/generateHtml.sh
new file mode 100644
index 00000000000..d49a60744d9
--- /dev/null
+++ b/itcl/iwidgets/doc/generateHtml.sh
@@ -0,0 +1,10 @@
+#!/bin/ksh
+#
+
+manpages=`\ls *.n`
+
+for doc in $manpages
+do
+ echo "Generating html/$doc.html"
+ nroff -man $doc | rman -f html > html/$doc.html
+done
diff --git a/itcl/iwidgets/doc/hierarchy.n b/itcl/iwidgets/doc/hierarchy.n
new file mode 100644
index 00000000000..d6fc6aa1375
--- /dev/null
+++ b/itcl/iwidgets/doc/hierarchy.n
@@ -0,0 +1,629 @@
+'\"
+'\" Copyright (c) 1997 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) hierarchy.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::hierarchy iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::hierarchy \- Create and manipulate a hierarchy widget
+.SH SYNOPSIS
+\fBiwidgets::hierarchy\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Labeledwidget <- iwidgets::Scrolledwidget <- iwidgets::Hierarchy
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+activeBackground activeForeground background borderWidth
+cursor disabledForeground foreground highlightColor
+highlightThickness relief selectBackground selectForeground\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBactiveRelief\fR \fBelementBorderWidth\fR \fBjump\fR \fBtroughColor\fR
+.fi
+.LP
+See the "scrollbar" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBspacing1\fR \fBspacing2\fR \fBspacing3\fR \fBtabs\fR
+.fi
+.LP
+See the "text" widget manual entry for details on the above
+associated options.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBlabelBitmap\fR \fBlabelFont\fR \fBlabelImage\fR \fBlabelMargin\fR
+\fBlabelPos\fR \fBlabelText\fR \fBlabelVariable\fR \fBsticky\fR
+.fi
+.LP
+See the "labeledwidget" class manual entry for details on the inherited options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBalwaysQuery\fR
+Class: \fBAlwaysQuery\fR
+Command-Line Switch: \fB-alwaysquery\fR
+.fi
+.IP
+Boolean flag which tells the hierarchy widget weather or not
+each refresh of the display should be via a new query using
+the command value of the -querycommand option or use the values
+previous found the last time the query was made. The default
+is no.
+.LP
+.nf
+Name: \fBclosedIcon\fR
+Class: \fBIcon\fR
+Command-Line Switch: \fB-closedicon\fR
+.fi
+.IP
+Specifies the name of an existing closed icon image to be used in the
+hierarchy before those nodes that are collapsed. Should one not be
+provided, then a folder icon will be generated, pixmap if possible,
+bitmap otherwise.
+.LP
+.nf
+Name: \fBdblClickCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-dblclickcommand\fR
+.fi
+.IP
+Specifies a command to be executed upon user double clicking via mouse button
+one of the text label of an entry. If this command contains "%n", it is
+replaced with the name of the selected node. Should it contain "%s" then a
+boolean indicator of the node's current selection status is substituted.
+.LP
+.nf
+Name: \fBexpanded\fR
+Class: \fBExpanded\fR
+Command-Line Switch: \fB-expanded\fR
+.fi
+.IP
+When true, the hierarchy will be completely expanded when it
+is first displayed. A fresh display can be triggered by
+resetting the -querycommand option. The default is false.
+.LP
+.nf
+Name: \fBfilter\fR
+Class: \fBFilter\fR
+Command-Line Switch: \fB-filter\fR
+.fi
+.IP
+When true only the branch nodes and selected items are displayed.
+This gives a compact view of important items. The default is false.
+.LP
+.nf
+Name: \fBheight\fR
+Class: \fBHeight\fR
+Command-Line Switch: \fB-height\fR
+.fi
+.IP
+Specifies the height of the hierarchy as an entire unit.
+The value may be specified in any of the forms acceptable to
+\fBTk_GetPixels\fR. Any additional space needed to display the other
+components such as labels, margins, and scrollbars force the hierarchy
+to be compressed. A value of zero along with the same value for
+the width causes the value given for the visibleitems option
+to be applied which administers geometry constraints in a different
+manner. The default height is zero.
+.LP
+.nf
+Name: \fBiconCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-iconcommand\fR
+.fi
+.IP
+Specifies a command to be executed upon user selection via mouse button
+one of any additional icons given in the values returned by the command
+associated with the -querycommand option. If this command contains "%n",
+it is replaced with the name of the node the icon belongs to. Should it
+contain "%i" then the icon name is substituted.
+.LP
+.nf
+Name: \fBiconDblCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-icondblcommand\fR
+.fi
+.IP
+Specifies a command to be executed upon user double clicking via mouse button
+one of the icon of an entry. If this command contains "%n", it is replaced
+with the name of the node the icon belongs to. Should it contain "%i" then
+the icon name is substituted.
+.LP
+.nf
+Name: \fBimageCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-imagecommand\fR
+.fi
+.IP
+Specifies a command to be executed upon user selecting an image of an entry.
+If this command contains "%n", it is replaced with the name of the selected
+node. Should it contain "%s" then a boolean indicator of the node's current
+selection status is substituted.
+.LP
+.nf
+Name: \fBimageDblCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-imagedblcommand\fR
+.fi
+.IP
+Specifies a command to be executed upon user double clicking via mouse button
+one of the image of an entry. If this command contains "%n", it is replaced
+with the name of the node the icon belongs to. Should it contain "%i" then
+the icon name is substituted.
+.LP
+.nf
+Name: \fBimageMenuLoadCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-imagemenuloadcommand\fR
+.fi
+.IP
+Specifies a command to be executed upon user selection via mouse button three,
+on the image or icon, that will dynamically load the itemMenu for the widget.
+.LP
+.nf
+Name: \fBmarkBackground\fR
+Class: \fBForeground\fR
+Command-Line Switch: \fB-markbackground\fR
+.fi
+.IP
+Specifies the background color to use when displaying marked nodes.
+.LP
+.nf
+Name: \fBmarkForeground\fR
+Class: \fBBackground\fR
+Command-Line Switch: \fB-markforeground\fR
+.fi
+.IP
+Specifies the foreground color to use when displaying marked nodes.
+.LP
+.nf
+Name: \fBmenuCursor\fR
+Class: \fBCursor\fR
+Command-Line Switch: \fB-menucursor\fR
+.fi
+.IP
+Specifies the mouse cursor to be used for the item and background
+menus. The value may have any of the forms accept able to Tk_GetCursor.
+.LP
+.nf
+Name: \fBnodeIcon\fR
+Class: \fBIcon\fR
+Command-Line Switch: \fB-nodeicon\fR
+.fi
+.IP
+Specifies the name of an existing node icon image to be used in the
+hierarchy before those nodes that are leafs. Should one not be provided,
+then a dog-eared page icon will be generated, pixmap if possible, bitmap
+otherwise.
+.LP
+.nf
+Name: \fBopenIcon\fR
+Class: \fBIcon\fR
+Command-Line Switch: \fB-openicon\fR
+.fi
+.IP
+Specifies the name of an existing open icon image to be used in the
+hierarchy before those nodes that are expanded. Should one not be provided,
+then an open folder icon will be generated, pixmap if possible, bitmap
+otherwise.
+.LP
+.nf
+Name: \fBqueryCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-querycommand\fR
+.fi
+.IP
+Specifies the command executed to query the contents of each node. If this
+command contains "%n", it is replaced with the name of the desired
+node. In its simpilest form it should return the children of the
+given node as a list which will be depicted in the display.
+Since the names of the children are used as tags in the underlying
+text widget, each child must be unique in the hierarchy. Due to
+the unique requirement, the nodes shall be reffered to as uids
+or uid in the singular sense. The format of returned list is
+.IP
+ {uid [uid ...]}
+.IP
+ where uid is a unique id and primary key for the hierarchy entry
+.IP
+Should the unique requirement pose a problem, the list returned
+can take on another more extended form which enables the
+association of text to be displayed with the uids. The uid must
+still be unique, but the text does not have to obey the unique
+rule. In addition, the format also allows the specification of
+additional tags to be used on the same entry in the hierarchy
+as the uid and additional icons to be displayed just before
+the node. The tags and icons are considered to be the property of
+the user in that the hierarchy widget will not depend on any of
+their values. The extended format is
+.IP
+ {{uid [text [tags [icons]]]} {uid [text [tags [icons]]]} ...}
+.IP
+ where uid is a unique id and primary key for the hierarchy entry
+ text is the text to be displayed for this uid
+ tags is a list of user tags to be applied to the entry
+ icons is a list of icons to be displayed in front of the text
+.IP
+The hierarchy widget does a look ahead from each node to determine
+if the node has a children. This can be cost some performace with
+large hierarchies. User's can avoid this by providing a hint in
+the user tags. A tag of "leaf" or "branch" tells the hierarchy
+widget the information it needs to know thereby avoiding the look
+ahead operation.
+.LP
+.nf
+Name: \fBhscrollMode\fR
+Class: \fBScrollMode\fR
+Command-Line Switch: \fB-hscrollmode\fR
+.fi
+.IP
+Specifies the the display mode to be used for the horizontal
+scrollbar: \fBstatic, dynamic,\fR or \fBnone\fR. In static mode, the
+scroll bar is displayed at all times. Dynamic mode displays the
+scroll bar as required, and none disables the scroll bar display. The
+default is static.
+.LP
+.nf
+Name: \fBsbWidth\fR
+Class: \fBWidth\fR
+Command-Line Switch: \fB-sbwidth\fR
+.fi
+.IP
+Specifies the width of the scrollbar in any of the forms
+acceptable to \fBTk_GetPixels\fR.
+.LP
+.nf
+Name: \fBscrollMargin\fR
+Class: \fBMargin\fR
+Command-Line Switch: \fB-scrollmargin\fR
+.fi
+.IP
+Specifies the distance between the text portion of the hierarchy and
+the scrollbars in any of the forms acceptable to \fBTk_GetPixels\fR. The
+default is 3 pixels.
+.LP
+.nf
+Name: \fBselectCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-selectcommand\fR
+.fi
+.IP
+Specifies a Tcl command to be evaluated when you select a node in the
+hierarchy via left mouse click. If "%n" is included in the command, it is
+substituted with the node name. Similarly, "%s" is substituted with the
+node's current selection status: 1 for selected, 0 otherwise.
+.LP
+Name: \fBtextBackground\fR
+Class: \fBBackground\fR
+Command-Line Switch: \fB-textbackground\fR
+.fi
+.IP
+Specifies the background color for the text portion of the hierarchy in
+any of the forms acceptable to \fBTk_GetColor\fR.
+.LP
+.nf
+Name: \fBtextFont\fR
+Class: \fBFont\fR
+Command-Line Switch: \fB-textfont\fR
+.fi
+.IP
+Specifies the font to be used in the text portion of the hierarchy.
+.LP
+.nf
+Name: \fBtextMenuLoadCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-textmenuloadcommand\fR
+.fi
+.IP
+Specifies a command to be executed upon user selection via mouse button three,
+that will dynamically load the itemMenu for the widget.
+.LP
+.nf
+Name: \fBvisibleitems\fR
+Class: \fBVisibleItems\fR
+Command-Line Switch: \fB-visibleitems\fR
+.fi
+.IP
+Specifies the widthxheight in characters and lines for the hierarchy.
+This option is only administered if the width and height options
+are both set to zero, otherwise they take precedence. The default value
+is 80x24. With the visibleitems option engaged, geometry constraints
+are maintained only on the text portion of the hierarchy. The size of
+the other components such as
+labels, margins, and scroll bars, are additive and independent,
+effecting the overall size of the hierarchy. In contrast,
+should the width and height options have non zero values, they
+are applied to the hierarchy as a whole. The hierarchy
+is compressed or expanded to maintain the geometry constraints.
+.LP
+.nf
+Name: \fBvscrollMode\fR
+Class: \fBScrollMode\fR
+Command-Line Switch: \fB-vscrollmode\fR
+.fi
+.IP
+Specifies the the display mode to be used for the vertical
+scrollbar: \fBstatic, dynamic,\fR or \fBnone\fR. In static mode, the
+scroll bar is displayed at all times. Dynamic mode displays the
+scroll bar as required, and none disables the scroll bar display. The
+default is static.
+.LP
+.nf
+Name: \fBwidth\fR
+Class: \fBWidth\fR
+Command-Line Switch: \fB-width\fR
+.fi
+.IP
+Specifies the width of the hierarchy as an entire unit.
+The value may be specified in any of the forms acceptable to
+\fBTk_GetPixels\fR. Any additional space needed to display the other
+components such as labels, margins, and scrollbars force the text portion
+of the hierarchy
+to be compressed. A value of zero along with the same value for
+the height causes the value given for the visibleitems option
+to be applied which administers geometry constraints in a different
+manner. The default width is zero.
+.LP
+
+
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::hierarchy\fR command creates a hierarchical data view widget.
+It allows the graphical management of a a list of nodes that can be
+expanded or collapsed. Individual nodes can be highlighted.
+Clicking with the right mouse button on any item brings up a
+special item menu. Clicking on the background area brings up
+a different popup menu. Options exist to provide user control over
+the loading of the nodes and actions associated with node selection.
+Since the hierarchy is based on the scrolledtext widget, it includes
+options to control the method in which the scrollbars are displayed,
+i.e. statically or dynamically. Options also exist for adding a
+label to the hierarchy and controlling its position.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::hierarchy\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for hierarchy widgets:
+.SH "ASSOCIATED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbbox\fR \fBcompare\fR \fBdebug\fR \fBdelete\fR
+\fBdlineinfo\fR \fBdump\fR \fBget\fR \fBindex\fR
+\fBinsert\fR \fBscan\fR \fBsearch\fR \fBsee\fR
+\fBtag\fR \fBwindow\fR \fBxview\fR \fByview\fR
+.fi
+.LP
+See the "text" manual entry for details on the standard methods.
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::hierarchy\fR
+command.
+.TP
+\fIpathName \fBclear\fR
+Removes all items from the hierarchy display including all tags and icons.
+The display will remain empty until the -filter or -querycommand
+options are set.
+.TP
+\fIpathName \fBcollapse\fR \fIuid\fR
+Collapses the hierarchy beneath the node with the specified unique id by
+one level. Since this can take a moment for large hierarchies, the
+cursor will be changed to a watch during the collapse. Also, if any
+of the nodes beneath the node being collapsed are selected, their
+status is changed to unselected.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::hierarchy\fR
+command.
+.TP
+\fIpathName \fBcurrent\fR
+Returns the tags for the node that was most recently selected by the
+right mouse button when the item menu was posted. Usually used by the code
+in the item menu to figure out what item is being manipulated.
+.TP
+\fIpathName \fBdraw\fR ?\fIwhen\fR?
+Performs a complete redraw of the entire hierarchy. When may be either -now
+or -eventually where the latter means the draw can be performed after idle.
+.TP
+\fIpathName \fBexpand\fR \fIuid\fR
+Expands the hierarchy beneath the node with the specified unique id by
+one level. Since this can take a moment for large hierarchies, the cursor
+will be changed to a watch during the expansion.
+.TP
+\fIpathName \fBexpanded\fR \fIuid\fR
+Returns the current state of expansion for the node with the specified unique
+id.
+.TP
+\fIpathName \fBexpState\fR
+Returns a list of all expanded nodes in the tree.
+.TP
+\fIpathName \fBmark\fR \fIoption ?arg arg ...?\fR
+This command is used to manipulate marks which is quite similar to
+selection, adding a secondary means of hilighting an item in the
+hierarchy. The exact behavior of the command depends on the
+\fIoption\fR argument that follows the \fBmark\fR argument. The
+following forms of the command are currently supported:
+.RS
+.TP
+\fIpathName \fBmark clear\fR
+Clears all the currently marked nodes in the hierarchy.
+.TP
+\fIpathName \fBmark add \fIuid \fR?\fIuid uid ...\fR?
+Marks the nodes with the specified uids in the hierarchy using the
+\fB-markbackground\fR and \fB-markforeground\fR options and without
+affecting the mark state of any other nodes that were already
+marked.
+.TP
+\fIpathName \fBmark remove \fIuid \fR?\fIuid uid ...\fR?
+Unmarks the nodes with the specified uids in the hierarchy without
+affecting the mark state of any other nodes that were already
+marked.
+.TP
+\fIpathName \fBmark get\fR
+Returns a list of the unique ids that are currently marked.
+.RE
+.TP
+\fIpathName \fBrefresh\fR \fIuid\fR
+Performs a redraw of a specific node that has the given uid. If the node
+is not currently visible or in other words already drawn on the text,
+then no action is taken.
+.TP
+\fIpathName \fBprune\fR \fIuid\fR
+Removes the node specified by the given uid from the hierarchy. Should
+the node have children, then all of its children will be removed as well.
+.TP
+\fIpathName \fBselection\fR \fIoption \fR?\fIarg arg ...\fR?
+This command is used to manipulate the selection of nodes in the
+hierarchy. The exact behavior of the command depends on the
+\fIoption\fR argument that follows the \fBselection\fR argument. The
+following forms of the command are currently supported:
+.RS
+.TP
+\fIpathName \fBselection clear\fR
+Clears all the currently selected nodes in the hierarchy.
+.TP
+\fIpathName \fBselection add \fIuid \fR?\fIuid uid ...\fR?
+Selects the nodes with the specified uids in the hierarchy using the
+\fB-selectionbackground\fR and \fB-selectionforeground\fR options and without
+affecting the selection state of any other nodes that were already
+selected.
+.TP
+\fIpathName \fBselection remove \fIuid \fR?\fIuid uid ...\fR?
+Deselects the nodes with the specified uids in the hierarchy without
+affecting the selection state of any other nodes that were already
+selected.
+.TP
+\fIpathName \fBselection get\fR
+Returns a list of the unique ids that are currently selected.
+.RE
+A nodes selection status is also dependent on it being visible. If a
+node is selected and its parent is then collapsed making the selected
+node not visible, then its selection status is changed to unselected.
+.TP
+\fIpathName \fBtoggle\fR \fIuid\fR
+Toggles the hierarchy beneath the node with the specified unique id. If
+the hierarchy is currently expanded, then it is collapsed, and vice-versa.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBlist\fR
+Class: \fBText\fR
+.fi
+.IP
+The list component is the text widget in which the hierarchy is displayed.
+See the "text" widget manual entry for details on the text component item.
+.LP
+.nf
+Name: \fBbgMenu\fR
+Class: \fBMenu\fR
+.fi
+.IP
+The bgMenu component is the popup menu which is displayed upon pressing
+the right mouse button in the background, i.e. not over a specific node. Menu
+items can be added along with their commands via the component command.
+See the "menu" widget manual entry for details on the bgMenu component item.
+.LP
+.nf
+Name: \fBhorizsb\fR
+Class: \fBScrollbar\fR
+.fi
+.IP
+The horizsb component is the horizontal scroll bar. See the "scrollbar"
+widget manual entry for details on the horizsb component item.
+.LP
+.nf
+Name: \fBitemMenu\fR
+Class: \fBMenu\fR
+.fi
+.IP
+The itemMenu component is the popup menu which is displayed upon selection
+of a hierarchy node with the right mouse button. Menu items can be
+added along with their commands via the component command. See the "menu"
+widget manual entry for details on the itemMenu component item.
+.LP
+.nf
+Name: \fBvertsb\fR
+Class: \fBScrollbar\fR
+.fi
+.IP
+The vertsb component is the vertical scroll bar. See the "scrollbar" widget
+manual entry for details on the vertsb component item.
+.fi
+
+.SH EXAMPLE
+.DS
+package require Iwidgets 4.0
+proc get_files {file} {
+ global env
+
+ if {$file == ""} {
+ set dir $env(HOME)
+ } else {
+ set dir $file
+ }
+
+ if {[catch {cd $dir}] != 0} {
+ return ""
+ }
+
+ set rlist ""
+
+ foreach file [lsort [glob -nocomplain *]] {
+ lappend rlist [list [file join $dir $file] $file]
+ }
+
+ return $rlist
+}
+
+iwidgets::hierarchy .h -querycommand "get_files %n" -visibleitems 30x15 \
+ -labeltext $env(HOME)
+pack .h -side left -expand yes -fill both
+.DE
+.SH AUTHOR
+Mark L. Ulferts
+.DE
+Michael J. McLennan
+.SH KEYWORDS
+hierarchy, text, widget
diff --git a/itcl/iwidgets/doc/hyperhelp.n b/itcl/iwidgets/doc/hyperhelp.n
new file mode 100644
index 00000000000..1f668a2b3c4
--- /dev/null
+++ b/itcl/iwidgets/doc/hyperhelp.n
@@ -0,0 +1,196 @@
+'\"
+'\" Copyright (c) 1996 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) Hyperhelp.n
+'\"
+.so man.macros
+.HS iwidgets::hyperhelp iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::hyperhelp \- Create and manipulate a hyperhelp widget
+.SH SYNOPSIS
+\fBiwidgets::hyperhelp\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Toplevel <- iwidgets::Shell <- iwidgets::Hyperhelp
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 5c 10c
+\fBactiveBackground\fR \fBbackground\fR \fBborderWidth\fR
+\fBclosecmd\fR \fBcursor\fR \fBexportSelection\fR
+\fBforeground\fR \fBhighlightColor\fR \fBhighlightThickness\fR
+\fBinsertBackground\fR \fBinsertBorderWidth \fBinsertOffTime\fR
+\fBinsertOnTime\fR \fBinsertWidth\fR \fBpadX\fR
+\fBpadY\fR \fBrelief\fR \fBrepeatDelay\fR
+\fBrepeatInterval\fR \fBselectBackground\fR \fBselectBorderWidth\fR
+\fBselectForeground\fR \fBsetGrid\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBhscrollmode\fR \fBvscrollmode\fR \fBtextbackground\fR \fBfontname\fR
+\fBfontsize\fR \fBfixedfont\fR \fBlink\fR \fBlinkhighlight\fR
+\fBwidth\fR \fBheight\fR \fBstate\fR \fBwrap\fR
+\fBunknownimage\fR
+.fi
+.LP
+See the "scrolledhtml" widget manual entry for details on the above
+associated options.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBmodality\fR \fBtitle\fR
+.fi
+.LP
+See the "shell" manual entry for details on the above inherited options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBtopics\fR
+Class: \fBTopics\fR
+Command-Line Switch: \fB-topics\fR
+.fi
+.IP
+Specifies a list of help topics in the form {?\fItopic\fR? ... }. \fITopic\fR
+may either be a topic name, in which case the
+document associated with the topic should be in the file
+\fBhelpdir\fR/\fItopic\fR.html, or it may be of the form
+{\fIname\fR \fIfile\fR}. In the latter case, \fIname\fR is displayed in the
+topic menu, and selecting the name loads \fIfile\fR. If file has a relative
+path, it is assumed to be relative to helpdir.
+.LP
+.nf
+Name: \fBhelpdir\fR
+Class: \fBDirectory\fR
+Command-Line Switch: \fB-helpdir\fR
+.fi
+.IP
+Specifies the directory where help files are located.
+.LP
+.nf
+Name: \fBcloseCmd\fR
+Class: \fBCloseCmd\fR
+Command-Line Switch: \fB-closecmd\fR
+.fi
+.IP
+Specifies the tcl command to be executed when the close option is selected
+from the topics menu.
+.LP
+.nf
+Name: \fBmaxHistory\fR
+Class: \fBMaxHistory\fR
+Command-Line Switch: \fB-maxhistory\fR
+.fi
+.IP
+Specifies the maximum number of entries stored in the history list
+.LP
+.nf
+Name: \fBbeforelink\fR
+Class: \fBBeforeLink\fR
+Command-Line Switch: \fB-beforelink\fR
+.fi
+.IP
+Specifies a command to be eval'ed before a new link is displayed. The path
+of the link to be displayed is appended before evaling the command. A suggested
+use might be to busy the widget while a new page is being displayed.
+.LP
+.nf
+Name: \fBafterlink\fR
+Class: \fBAfterLink\fR
+Command-Line Switch: \fB-afterlink\fR
+.fi
+.IP
+Specifies a command to be eval'ed after a new link is completely displayed.
+The path of the link that was displayed is appended before evaling the command.
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::hyperhelp\fR command creates a shell window with a pulldown menu
+showing a list of topics. The topics are displayed by importing a HTML
+formatted file named \fBhelpdir\fR/\fItopic\fR.html. For a list of
+supported HTML tags, see \fBscrolledhtml(n)\fR.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::hyperhelp\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for dialog widgets:
+.SH "INHERITED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBactivate\fR \fBcenter\fR \fBchildsite\fR \fBdeactivate\fR
+.fi
+.LP
+See the "shell" manual entry for details on the above inherited methods.
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::hyperhelp\fR
+command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::hyperhelp\fR
+command.
+.TP
+\fIpathName\fR \fBshowtopic\fR \fItopic\fR
+Display html file \fBhelpdir\fR/\fItopic\fR.html. \fITopic\fR may
+optionally be of the form \fItopicname\fR#\fIanchorname\fR. In
+this form, either \fItopicname\fR or \fIanchorname\fR or both may be empty. If
+\fItopicname\fR is empty, the current topic is assumed. If \fIanchorname\fR
+is empty, the top of the document is assumed
+.TP
+\fIpathName\fR \fBfollowlink\fR \fIhref\fR
+Display html file \fIhref\fR. \fIHref\fR may
+be optionally be of the form \fIfilename\fR#\fIanchorname\fR. In
+this form, either \fIfilename\fR or \fIanchorname\fR or both may be empty. If
+\fIfilename\fR is empty, the current document is assumed. If \fIanchorname\fR
+is empty, the top of the document is assumed.
+.TP
+\fIpathName\fR \fBforward\fR
+Display html file one forward in history list, if applicable.
+.TP
+\fIpathName\fR \fBback\fR
+Display html file one back in history list, if applicable.
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ iwidgets::hyperhelp .h -topics { Intro Help } -helpdir ~/help
+ .h showtopic Intro
+
+.DE
+.SH AUTHOR
+Kris Raney
+.SH KEYWORDS
+hyperhelp, html, help, shell, widget
diff --git a/itcl/iwidgets/doc/iwidgets.ps b/itcl/iwidgets/doc/iwidgets.ps
new file mode 100644
index 00000000000..4880e2e0355
--- /dev/null
+++ b/itcl/iwidgets/doc/iwidgets.ps
@@ -0,0 +1,13149 @@
+%!PS-Adobe-3.0
+%%BoundingBox: (atend)
+%%Pages: (atend)
+%%PageOrder: (atend)
+%%DocumentFonts: (atend)
+%%Creator: Frame 4.0
+%%DocumentData: Clean7Bit
+%%EndComments
+%%BeginProlog
+%
+% Frame ps_prolog 4.0, for use with Frame 4.0 products
+% This ps_prolog file is Copyright (c) 1986-1993 Frame Technology
+% Corporation. All rights reserved. This ps_prolog file may be
+% freely copied and distributed in conjunction with documents created
+% using FrameMaker, FrameBuilder and FrameViewer as long as this
+% copyright notice is preserved.
+%
+% Frame products normally print colors as their true color on a color printer
+% or as shades of gray, based on luminance, on a black-and white printer. The
+% following flag, if set to True, forces all non-white colors to print as pure
+% black. This has no effect on bitmap images.
+/FMPrintAllColorsAsBlack true def
+%
+% Frame products can either set their own line screens or use a printer's
+% default settings. Three flags below control this separately for no
+% separations, spot separations and process separations. If a flag
+% is true, then the default printer settings will not be changed. If it is
+% false, Frame products will use their own settings from a table based on
+% the printer's resolution.
+/FMUseDefaultNoSeparationScreen true def
+/FMUseDefaultSpotSeparationScreen true def
+/FMUseDefaultProcessSeparationScreen false def
+%
+% For any given PostScript printer resolution, Frame products have two sets of
+% screen angles and frequencies for printing process separations, which are
+% recomended by Adobe. The following variable chooses the higher frequencies
+% when set to true or the lower frequencies when set to false. This is only
+% effective if the appropriate FMUseDefault...SeparationScreen flag is false.
+/FMUseHighFrequencyScreens true def
+%
+% PostScript Level 2 printers contain an "Accurate Screens" feature which can
+% improve process separation rendering at the expense of compute time. This
+% flag is ignored by PostScript Level 1 printers.
+/FMUseAcccurateScreens true def
+%
+% The following PostScript procedure defines the spot function that Frame
+% products will use for process separations. You may un-comment-out one of
+% the alternative functions below, or use your own.
+%
+% Dot function
+/FMSpotFunction {abs exch abs 2 copy add 1 gt
+ {1 sub dup mul exch 1 sub dup mul add 1 sub }
+ {dup mul exch dup mul add 1 exch sub }ifelse } def
+%
+% Line function
+% /FMSpotFunction { pop } def
+%
+% Elipse function
+% /FMSpotFunction { dup 5 mul 8 div mul exch dup mul exch add
+% sqrt 1 exch sub } def
+%
+%
+/FMversion (4.0) def
+/FMLevel1 /languagelevel where {pop languagelevel} {1} ifelse 2 lt def
+/FMPColor
+ FMLevel1 {
+ false
+ /colorimage where {pop pop true} if
+ } {
+ true
+ } ifelse
+def
+/FrameDict 400 dict def
+systemdict /errordict known not {/errordict 10 dict def
+ errordict /rangecheck {stop} put} if
+% The readline in PS 23.0 doesn't recognize cr's as nl's on AppleTalk
+FrameDict /tmprangecheck errordict /rangecheck get put
+errordict /rangecheck {FrameDict /bug true put} put
+FrameDict /bug false put
+mark
+% Some PS machines read past the CR, so keep the following 3 lines together!
+currentfile 5 string readline
+00
+0000000000
+cleartomark
+errordict /rangecheck FrameDict /tmprangecheck get put
+FrameDict /bug get {
+ /readline {
+ /gstring exch def
+ /gfile exch def
+ /gindex 0 def
+ {
+ gfile read pop
+ dup 10 eq {exit} if
+ dup 13 eq {exit} if
+ gstring exch gindex exch put
+ /gindex gindex 1 add def
+ } loop
+ pop
+ gstring 0 gindex getinterval true
+ } bind def
+ } if
+/FMshowpage /showpage load def
+/FMquit /quit load def
+/FMFAILURE {
+ dup = flush
+ FMshowpage
+ /Helvetica findfont 12 scalefont setfont
+ 72 200 moveto
+ show FMshowpage
+ FMquit
+ } def
+/FMVERSION {
+ FMversion ne {
+ (Frame product version does not match ps_prolog!) FMFAILURE
+ } if
+ } def
+/FMBADEPSF {
+ (PostScript Lang. Ref. Man., 2nd Ed., H.2.4 says EPS must not call X )
+ dup dup (X) search pop exch pop exch pop length
+ 4 -1 roll
+ putinterval
+ FMFAILURE
+ } def
+/FMLOCAL {
+ FrameDict begin
+ 0 def
+ end
+ } def
+/concatprocs
+ {
+ /proc2 exch cvlit def/proc1 exch cvlit def/newproc proc1 length proc2 length add array def
+ newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval newproc cvx
+}def
+FrameDict begin
+/FMnone 0 def
+/FMcyan 1 def
+/FMmagenta 2 def
+/FMyellow 3 def
+/FMblack 4 def
+/FMcustom 5 def
+/FrameNegative false def
+/FrameSepIs FMnone def
+/FrameSepBlack 0 def
+/FrameSepYellow 0 def
+/FrameSepMagenta 0 def
+/FrameSepCyan 0 def
+/FrameSepRed 1 def
+/FrameSepGreen 1 def
+/FrameSepBlue 1 def
+/FrameCurGray 1 def
+/FrameCurPat null def
+/FrameCurColors [ 0 0 0 1 0 0 0 ] def
+/FrameColorEpsilon .001 def
+/eqepsilon {
+ sub dup 0 lt {neg} if
+ FrameColorEpsilon le
+} bind def
+/FrameCmpColorsCMYK {
+ 2 copy 0 get exch 0 get eqepsilon {
+ 2 copy 1 get exch 1 get eqepsilon {
+ 2 copy 2 get exch 2 get eqepsilon {
+ 3 get exch 3 get eqepsilon
+ } {pop pop false} ifelse
+ }{pop pop false} ifelse
+ } {pop pop false} ifelse
+} bind def
+/FrameCmpColorsRGB {
+ 2 copy 4 get exch 0 get eqepsilon {
+ 2 copy 5 get exch 1 get eqepsilon {
+ 6 get exch 2 get eqepsilon
+ }{pop pop false} ifelse
+ } {pop pop false} ifelse
+} bind def
+/RGBtoCMYK {
+ 1 exch sub
+ 3 1 roll
+ 1 exch sub
+ 3 1 roll
+ 1 exch sub
+ 3 1 roll
+ 3 copy
+ 2 copy
+ le { pop } { exch pop } ifelse
+ 2 copy
+ le { pop } { exch pop } ifelse
+ dup dup dup
+ 6 1 roll
+ 4 1 roll
+ 7 1 roll
+ sub
+ 6 1 roll
+ sub
+ 5 1 roll
+ sub
+ 4 1 roll
+} bind def
+/CMYKtoRGB {
+ dup dup 4 -1 roll add
+ 5 1 roll 3 -1 roll add
+ 4 1 roll add
+ 1 exch sub dup 0 lt {pop 0} if 3 1 roll
+ 1 exch sub dup 0 lt {pop 0} if exch
+ 1 exch sub dup 0 lt {pop 0} if exch
+} bind def
+/FrameSepInit {
+ 1.0 RealSetgray
+} bind def
+/FrameSetSepColor {
+ /FrameSepBlue exch def
+ /FrameSepGreen exch def
+ /FrameSepRed exch def
+ /FrameSepBlack exch def
+ /FrameSepYellow exch def
+ /FrameSepMagenta exch def
+ /FrameSepCyan exch def
+ /FrameSepIs FMcustom def
+ setCurrentScreen
+} bind def
+/FrameSetCyan {
+ /FrameSepBlue 1.0 def
+ /FrameSepGreen 1.0 def
+ /FrameSepRed 0.0 def
+ /FrameSepBlack 0.0 def
+ /FrameSepYellow 0.0 def
+ /FrameSepMagenta 0.0 def
+ /FrameSepCyan 1.0 def
+ /FrameSepIs FMcyan def
+ setCurrentScreen
+} bind def
+
+/FrameSetMagenta {
+ /FrameSepBlue 1.0 def
+ /FrameSepGreen 0.0 def
+ /FrameSepRed 1.0 def
+ /FrameSepBlack 0.0 def
+ /FrameSepYellow 0.0 def
+ /FrameSepMagenta 1.0 def
+ /FrameSepCyan 0.0 def
+ /FrameSepIs FMmagenta def
+ setCurrentScreen
+} bind def
+
+/FrameSetYellow {
+ /FrameSepBlue 0.0 def
+ /FrameSepGreen 1.0 def
+ /FrameSepRed 1.0 def
+ /FrameSepBlack 0.0 def
+ /FrameSepYellow 1.0 def
+ /FrameSepMagenta 0.0 def
+ /FrameSepCyan 0.0 def
+ /FrameSepIs FMyellow def
+ setCurrentScreen
+} bind def
+
+/FrameSetBlack {
+ /FrameSepBlue 0.0 def
+ /FrameSepGreen 0.0 def
+ /FrameSepRed 0.0 def
+ /FrameSepBlack 1.0 def
+ /FrameSepYellow 0.0 def
+ /FrameSepMagenta 0.0 def
+ /FrameSepCyan 0.0 def
+ /FrameSepIs FMblack def
+ setCurrentScreen
+} bind def
+
+/FrameNoSep {
+ /FrameSepIs FMnone def
+ setCurrentScreen
+} bind def
+/FrameSetSepColors {
+ FrameDict begin
+ [ exch 1 add 1 roll ]
+ /FrameSepColors
+ exch def end
+ } bind def
+/FrameColorInSepListCMYK {
+ FrameSepColors {
+ exch dup 3 -1 roll
+ FrameCmpColorsCMYK
+ { pop true exit } if
+ } forall
+ dup true ne {pop false} if
+ } bind def
+/FrameColorInSepListRGB {
+ FrameSepColors {
+ exch dup 3 -1 roll
+ FrameCmpColorsRGB
+ { pop true exit } if
+ } forall
+ dup true ne {pop false} if
+ } bind def
+/RealSetgray /setgray load def
+/RealSetrgbcolor /setrgbcolor load def
+/RealSethsbcolor /sethsbcolor load def
+end
+/setgray {
+ FrameDict begin
+ FrameSepIs FMnone eq
+ { RealSetgray }
+ {
+ FrameSepIs FMblack eq
+ { RealSetgray }
+ { FrameSepIs FMcustom eq
+ FrameSepRed 0 eq and
+ FrameSepGreen 0 eq and
+ FrameSepBlue 0 eq and {
+ RealSetgray
+ } {
+ 1 RealSetgray pop
+ } ifelse
+ } ifelse
+ } ifelse
+ end
+} bind def
+/setrgbcolor {
+ FrameDict begin
+ FrameSepIs FMnone eq
+ { RealSetrgbcolor }
+ {
+ 3 copy [ 4 1 roll ]
+ FrameColorInSepListRGB
+ {
+ FrameSepBlue eq exch
+ FrameSepGreen eq and exch
+ FrameSepRed eq and
+ { 0 } { 1 } ifelse
+ }
+ {
+ FMPColor {
+ RealSetrgbcolor
+ currentcmykcolor
+ } {
+ RGBtoCMYK
+ } ifelse
+ FrameSepIs FMblack eq
+ {1.0 exch sub 4 1 roll pop pop pop} {
+ FrameSepIs FMyellow eq
+ {pop 1.0 exch sub 3 1 roll pop pop} {
+ FrameSepIs FMmagenta eq
+ {pop pop 1.0 exch sub exch pop } {
+ FrameSepIs FMcyan eq
+ {pop pop pop 1.0 exch sub }
+ {pop pop pop pop 1} ifelse } ifelse } ifelse } ifelse
+ } ifelse
+ RealSetgray
+ }
+ ifelse
+ end
+} bind def
+/sethsbcolor {
+ FrameDict begin
+ FrameSepIs FMnone eq
+ { RealSethsbcolor }
+ {
+ RealSethsbcolor
+ currentrgbcolor
+ setrgbcolor
+ }
+ ifelse
+ end
+} bind def
+FrameDict begin
+/setcmykcolor where {
+ pop /RealSetcmykcolor /setcmykcolor load def
+} {
+ /RealSetcmykcolor {
+ 4 1 roll
+ 3 { 3 index add 0 max 1 min 1 exch sub 3 1 roll} repeat
+ setrgbcolor pop
+ } bind def
+} ifelse
+userdict /setcmykcolor {
+ FrameDict begin
+ FrameSepIs FMnone eq
+ { RealSetcmykcolor }
+ {
+ 4 copy [ 5 1 roll ]
+ FrameColorInSepListCMYK
+ {
+ FrameSepBlack eq exch
+ FrameSepYellow eq and exch
+ FrameSepMagenta eq and exch
+ FrameSepCyan eq and
+ { 0 } { 1 } ifelse
+ }
+ {
+ FrameSepIs FMblack eq
+ {1.0 exch sub 4 1 roll pop pop pop} {
+ FrameSepIs FMyellow eq
+ {pop 1.0 exch sub 3 1 roll pop pop} {
+ FrameSepIs FMmagenta eq
+ {pop pop 1.0 exch sub exch pop } {
+ FrameSepIs FMcyan eq
+ {pop pop pop 1.0 exch sub }
+ {pop pop pop pop 1} ifelse } ifelse } ifelse } ifelse
+ } ifelse
+ RealSetgray
+ }
+ ifelse
+ end
+ } bind put
+FMLevel1 not {
+
+ /patProcDict 5 dict dup begin
+ <0f1e3c78f0e1c387> { 3 setlinewidth -1 -1 moveto 9 9 lineto stroke
+ 4 -4 moveto 12 4 lineto stroke
+ -4 4 moveto 4 12 lineto stroke} bind def
+ <0f87c3e1f0783c1e> { 3 setlinewidth -1 9 moveto 9 -1 lineto stroke
+ -4 4 moveto 4 -4 lineto stroke
+ 4 12 moveto 12 4 lineto stroke} bind def
+ <8142241818244281> { 1 setlinewidth -1 9 moveto 9 -1 lineto stroke
+ -1 -1 moveto 9 9 lineto stroke } bind def
+ <03060c183060c081> { 1 setlinewidth -1 -1 moveto 9 9 lineto stroke
+ 4 -4 moveto 12 4 lineto stroke
+ -4 4 moveto 4 12 lineto stroke} bind def
+ <8040201008040201> { 1 setlinewidth -1 9 moveto 9 -1 lineto stroke
+ -4 4 moveto 4 -4 lineto stroke
+ 4 12 moveto 12 4 lineto stroke} bind def
+ end def
+ /patDict 15 dict dup begin
+ /PatternType 1 def
+ /PaintType 2 def
+ /TilingType 3 def
+ /BBox [ 0 0 8 8 ] def
+ /XStep 8 def
+ /YStep 8 def
+ /PaintProc {
+ begin
+ patProcDict bstring known {
+ patProcDict bstring get exec
+ } {
+ 8 8 true [1 0 0 -1 0 8] bstring imagemask
+ } ifelse
+ end
+ } bind def
+ end def
+} if
+/combineColor {
+ FrameSepIs FMnone eq
+ {
+ graymode FMLevel1 or not {
+
+ [/Pattern [/DeviceCMYK]] setcolorspace
+ FrameCurColors 0 4 getinterval aload pop FrameCurPat setcolor
+ } {
+ FrameCurColors 3 get 1.0 ge {
+ FrameCurGray RealSetgray
+ } {
+ FMPColor graymode and {
+ 0 1 3 {
+ FrameCurColors exch get
+ 1 FrameCurGray sub mul
+ } for
+ RealSetcmykcolor
+ } {
+ 4 1 6 {
+ FrameCurColors exch get
+ graymode {
+ 1 exch sub 1 FrameCurGray sub mul 1 exch sub
+ } {
+ 1.0 lt {FrameCurGray} {1} ifelse
+ } ifelse
+ } for
+ RealSetrgbcolor
+ } ifelse
+ } ifelse
+ } ifelse
+ } {
+ FrameCurColors 0 4 getinterval aload
+ FrameColorInSepListCMYK {
+ FrameSepBlack eq exch
+ FrameSepYellow eq and exch
+ FrameSepMagenta eq and exch
+ FrameSepCyan eq and
+ FrameSepIs FMcustom eq and
+ { FrameCurGray } { 1 } ifelse
+ } {
+ FrameSepIs FMblack eq
+ {FrameCurGray 1.0 exch sub mul 1.0 exch sub 4 1 roll pop pop pop} {
+ FrameSepIs FMyellow eq
+ {pop FrameCurGray 1.0 exch sub mul 1.0 exch sub 3 1 roll pop pop} {
+ FrameSepIs FMmagenta eq
+ {pop pop FrameCurGray 1.0 exch sub mul 1.0 exch sub exch pop } {
+ FrameSepIs FMcyan eq
+ {pop pop pop FrameCurGray 1.0 exch sub mul 1.0 exch sub }
+ {pop pop pop pop 1} ifelse } ifelse } ifelse } ifelse
+ } ifelse
+ graymode FMLevel1 or not {
+
+ [/Pattern [/DeviceGray]] setcolorspace
+ FrameCurPat setcolor
+ } {
+ graymode not FMLevel1 and {
+
+ dup 1 lt {pop FrameCurGray} if
+ } if
+ RealSetgray
+ } ifelse
+ } ifelse
+} bind def
+/savematrix {
+ orgmatrix currentmatrix pop
+ } bind def
+/restorematrix {
+ orgmatrix setmatrix
+ } bind def
+/dmatrix matrix def
+/dpi 72 0 dmatrix defaultmatrix dtransform
+ dup mul exch dup mul add sqrt def
+
+/freq dpi dup 72 div round dup 0 eq {pop 1} if 8 mul div def
+/sangle 1 0 dmatrix defaultmatrix dtransform exch atan def
+/dpiranges [ 2540 2400 1693 1270 1200 635 600 0 ] def
+/CMLowFreqs [ 100.402 94.8683 89.2289 100.402 94.8683 66.9349 63.2456 47.4342 ] def
+/YLowFreqs [ 95.25 90.0 84.65 95.25 90.0 70.5556 66.6667 50.0 ] def
+/KLowFreqs [ 89.8026 84.8528 79.8088 89.8026 84.8528 74.8355 70.7107 53.033 ] def
+/CLowAngles [ 71.5651 71.5651 71.5651 71.5651 71.5651 71.5651 71.5651 71.5651 ] def
+/MLowAngles [ 18.4349 18.4349 18.4349 18.4349 18.4349 18.4349 18.4349 18.4349 ] def
+/YLowTDot [ true true false true true false false false ] def
+/CMHighFreqs [ 133.87 126.491 133.843 108.503 102.523 100.402 94.8683 63.2456 ] def
+/YHighFreqs [ 127.0 120.0 126.975 115.455 109.091 95.25 90.0 60.0 ] def
+/KHighFreqs [ 119.737 113.137 119.713 128.289 121.218 89.8026 84.8528 63.6395 ] def
+/CHighAngles [ 71.5651 71.5651 71.5651 70.0169 70.0169 71.5651 71.5651 71.5651 ] def
+/MHighAngles [ 18.4349 18.4349 18.4349 19.9831 19.9831 18.4349 18.4349 18.4349 ] def
+/YHighTDot [ false false true false false true true false ] def
+/PatFreq [ 10.5833 10.0 9.4055 10.5833 10.0 10.5833 10.0 9.375 ] def
+/screenIndex {
+ 0 1 dpiranges length 1 sub { dup dpiranges exch get 1 sub dpi le {exit} {pop} ifelse } for
+} bind def
+/getCyanScreen {
+ FMUseHighFrequencyScreens { CHighAngles CMHighFreqs} {CLowAngles CMLowFreqs} ifelse
+ screenIndex dup 3 1 roll get 3 1 roll get /FMSpotFunction load
+} bind def
+/getMagentaScreen {
+ FMUseHighFrequencyScreens { MHighAngles CMHighFreqs } {MLowAngles CMLowFreqs} ifelse
+ screenIndex dup 3 1 roll get 3 1 roll get /FMSpotFunction load
+} bind def
+/getYellowScreen {
+ FMUseHighFrequencyScreens { YHighTDot YHighFreqs} { YLowTDot YLowFreqs } ifelse
+ screenIndex dup 3 1 roll get 3 1 roll get { 3 div
+ {2 { 1 add 2 div 3 mul dup floor sub 2 mul 1 sub exch} repeat
+ FMSpotFunction } } {/FMSpotFunction load } ifelse
+ 0.0 exch
+} bind def
+/getBlackScreen {
+ FMUseHighFrequencyScreens { KHighFreqs } { KLowFreqs } ifelse
+ screenIndex get 45.0 /FMSpotFunction load
+} bind def
+/getSpotScreen {
+ getBlackScreen
+} bind def
+/getCompositeScreen {
+ getBlackScreen
+} bind def
+/FMSetScreen
+ FMLevel1 { /setscreen load
+ }{ {
+ 8 dict begin
+ /HalftoneType 1 def
+ /SpotFunction exch def
+ /Angle exch def
+ /Frequency exch def
+ /AccurateScreens FMUseAcccurateScreens def
+ currentdict end sethalftone
+ } bind } ifelse
+def
+/setDefaultScreen {
+ FMPColor {
+ orgrxfer cvx orggxfer cvx orgbxfer cvx orgxfer cvx setcolortransfer
+ }
+ {
+ orgxfer cvx settransfer
+ } ifelse
+ orgfreq organgle orgproc cvx setscreen
+} bind def
+/setCurrentScreen {
+ FrameSepIs FMnone eq {
+ FMUseDefaultNoSeparationScreen {
+ setDefaultScreen
+ } {
+ getCompositeScreen FMSetScreen
+ } ifelse
+ } {
+ FrameSepIs FMcustom eq {
+ FMUseDefaultSpotSeparationScreen {
+ setDefaultScreen
+ } {
+ getSpotScreen FMSetScreen
+ } ifelse
+ } {
+ FMUseDefaultProcessSeparationScreen {
+ setDefaultScreen
+ } {
+ FrameSepIs FMcyan eq {
+ getCyanScreen FMSetScreen
+ } {
+ FrameSepIs FMmagenta eq {
+ getMagentaScreen FMSetScreen
+ } {
+ FrameSepIs FMyellow eq {
+ getYellowScreen FMSetScreen
+ } {
+ getBlackScreen FMSetScreen
+ } ifelse
+ } ifelse
+ } ifelse
+ } ifelse
+ } ifelse
+ } ifelse
+} bind def
+end
+ /gstring FMLOCAL
+ /gfile FMLOCAL
+ /gindex FMLOCAL
+ /orgrxfer FMLOCAL
+ /orggxfer FMLOCAL
+ /orgbxfer FMLOCAL
+ /orgxfer FMLOCAL
+ /orgproc FMLOCAL
+ /orgrproc FMLOCAL
+ /orggproc FMLOCAL
+ /orgbproc FMLOCAL
+ /organgle FMLOCAL
+ /orgrangle FMLOCAL
+ /orggangle FMLOCAL
+ /orgbangle FMLOCAL
+ /orgfreq FMLOCAL
+ /orgrfreq FMLOCAL
+ /orggfreq FMLOCAL
+ /orgbfreq FMLOCAL
+ /yscale FMLOCAL
+ /xscale FMLOCAL
+ /edown FMLOCAL
+ /manualfeed FMLOCAL
+ /paperheight FMLOCAL
+ /paperwidth FMLOCAL
+/FMDOCUMENT {
+ array /FMfonts exch def
+ /#copies exch def
+ FrameDict begin
+ 0 ne /manualfeed exch def
+ /paperheight exch def
+ /paperwidth exch def
+ 0 ne /FrameNegative exch def
+ 0 ne /edown exch def
+ /yscale exch def
+ /xscale exch def
+ FMLevel1 {
+ manualfeed {setmanualfeed} if
+ /FMdicttop countdictstack 1 add def
+ /FMoptop count def
+ setpapername
+ manualfeed {true} {papersize} ifelse
+ {manualpapersize} {false} ifelse
+ {desperatepapersize} {false} ifelse
+ { (Can't select requested paper size for Frame print job!) FMFAILURE } if
+ count -1 FMoptop {pop pop} for
+ countdictstack -1 FMdicttop {pop end} for
+ }
+ {{1 dict dup /PageSize [paperwidth paperheight]put setpagedevice}stopped
+ { (Can't select requested paper size for Frame print job!) FMFAILURE } if
+ {1 dict dup /ManualFeed manualfeed put setpagedevice } stopped pop }
+ ifelse
+
+ FMPColor {
+ currentcolorscreen
+ cvlit /orgproc exch def
+ /organgle exch def
+ /orgfreq exch def
+ cvlit /orgbproc exch def
+ /orgbangle exch def
+ /orgbfreq exch def
+ cvlit /orggproc exch def
+ /orggangle exch def
+ /orggfreq exch def
+ cvlit /orgrproc exch def
+ /orgrangle exch def
+ /orgrfreq exch def
+ currentcolortransfer
+ FrameNegative {
+ 1 1 4 {
+ pop { 1 exch sub } concatprocs 4 1 roll
+ } for
+ 4 copy
+ setcolortransfer
+ } if
+ cvlit /orgxfer exch def
+ cvlit /orgbxfer exch def
+ cvlit /orggxfer exch def
+ cvlit /orgrxfer exch def
+ } {
+ currentscreen
+ cvlit /orgproc exch def
+ /organgle exch def
+ /orgfreq exch def
+
+ currenttransfer
+ FrameNegative {
+ { 1 exch sub } concatprocs
+ dup settransfer
+ } if
+ cvlit /orgxfer exch def
+ } ifelse
+ end
+} def
+/pagesave FMLOCAL
+/orgmatrix FMLOCAL
+/landscape FMLOCAL
+/pwid FMLOCAL
+/FMBEGINPAGE {
+ FrameDict begin
+ /pagesave save def
+ 3.86 setmiterlimit
+ /landscape exch 0 ne def
+ landscape {
+ 90 rotate 0 exch dup /pwid exch def neg translate pop
+ }{
+ pop /pwid exch def
+ } ifelse
+ edown { [-1 0 0 1 pwid 0] concat } if
+ 0 0 moveto paperwidth 0 lineto paperwidth paperheight lineto
+ 0 paperheight lineto 0 0 lineto 1 setgray fill
+ xscale yscale scale
+ /orgmatrix matrix def
+ gsave
+} def
+/FMENDPAGE {
+ grestore
+ pagesave restore
+ end
+ showpage
+ } def
+/FMFONTDEFINE {
+ FrameDict begin
+ findfont
+ ReEncode
+ 1 index exch
+ definefont
+ FMfonts 3 1 roll
+ put
+ end
+ } def
+/FMFILLS {
+ FrameDict begin dup
+ array /fillvals exch def
+ dict /patCache exch def
+ end
+ } def
+/FMFILL {
+ FrameDict begin
+ fillvals 3 1 roll put
+ end
+ } def
+/FMNORMALIZEGRAPHICS {
+ newpath
+ 0.0 0.0 moveto
+ 1 setlinewidth
+ 0 setlinecap
+ 0 0 0 sethsbcolor
+ 0 setgray
+ } bind def
+ /fx FMLOCAL
+ /fy FMLOCAL
+ /fh FMLOCAL
+ /fw FMLOCAL
+ /llx FMLOCAL
+ /lly FMLOCAL
+ /urx FMLOCAL
+ /ury FMLOCAL
+/FMBEGINEPSF {
+ end
+ /FMEPSF save def
+ /showpage {} def
+% See Adobe's "PostScript Language Reference Manual, 2nd Edition", page 714.
+% "...the following operators MUST NOT be used in an EPS file:" (emphasis ours)
+ /banddevice {(banddevice) FMBADEPSF} def
+ /clear {(clear) FMBADEPSF} def
+ /cleardictstack {(cleardictstack) FMBADEPSF} def
+ /copypage {(copypage) FMBADEPSF} def
+ /erasepage {(erasepage) FMBADEPSF} def
+ /exitserver {(exitserver) FMBADEPSF} def
+ /framedevice {(framedevice) FMBADEPSF} def
+ /grestoreall {(grestoreall) FMBADEPSF} def
+ /initclip {(initclip) FMBADEPSF} def
+ /initgraphics {(initgraphics) FMBADEPSF} def
+ /initmatrix {(initmatrix) FMBADEPSF} def
+ /quit {(quit) FMBADEPSF} def
+ /renderbands {(renderbands) FMBADEPSF} def
+ /setglobal {(setglobal) FMBADEPSF} def
+ /setpagedevice {(setpagedevice) FMBADEPSF} def
+ /setshared {(setshared) FMBADEPSF} def
+ /startjob {(startjob) FMBADEPSF} def
+ /lettertray {(lettertray) FMBADEPSF} def
+ /letter {(letter) FMBADEPSF} def
+ /lettersmall {(lettersmall) FMBADEPSF} def
+ /11x17tray {(11x17tray) FMBADEPSF} def
+ /11x17 {(11x17) FMBADEPSF} def
+ /ledgertray {(ledgertray) FMBADEPSF} def
+ /ledger {(ledger) FMBADEPSF} def
+ /legaltray {(legaltray) FMBADEPSF} def
+ /legal {(legal) FMBADEPSF} def
+ /statementtray {(statementtray) FMBADEPSF} def
+ /statement {(statement) FMBADEPSF} def
+ /executivetray {(executivetray) FMBADEPSF} def
+ /executive {(executive) FMBADEPSF} def
+ /a3tray {(a3tray) FMBADEPSF} def
+ /a3 {(a3) FMBADEPSF} def
+ /a4tray {(a4tray) FMBADEPSF} def
+ /a4 {(a4) FMBADEPSF} def
+ /a4small {(a4small) FMBADEPSF} def
+ /b4tray {(b4tray) FMBADEPSF} def
+ /b4 {(b4) FMBADEPSF} def
+ /b5tray {(b5tray) FMBADEPSF} def
+ /b5 {(b5) FMBADEPSF} def
+ FMNORMALIZEGRAPHICS
+ [/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall
+ fx fw 2 div add fy fh 2 div add translate
+ rotate
+ fw 2 div neg fh 2 div neg translate
+ fw urx llx sub div fh ury lly sub div scale
+ llx neg lly neg translate
+ /FMdicttop countdictstack 1 add def
+ /FMoptop count def
+ } bind def
+/FMENDEPSF {
+ count -1 FMoptop {pop pop} for
+ countdictstack -1 FMdicttop {pop end} for
+ FMEPSF restore
+ FrameDict begin
+ } bind def
+FrameDict begin
+/setmanualfeed {
+%%BeginFeature *ManualFeed True
+ statusdict /manualfeed true put
+%%EndFeature
+ } bind def
+/max {2 copy lt {exch} if pop} bind def
+/min {2 copy gt {exch} if pop} bind def
+/inch {72 mul} def
+/pagedimen {
+ paperheight sub abs 16 lt exch
+ paperwidth sub abs 16 lt and
+ {/papername exch def} {pop} ifelse
+ } bind def
+ /papersizedict FMLOCAL
+/setpapername {
+ /papersizedict 14 dict def
+ papersizedict begin
+ /papername /unknown def
+ /Letter 8.5 inch 11.0 inch pagedimen
+ /LetterSmall 7.68 inch 10.16 inch pagedimen
+ /Tabloid 11.0 inch 17.0 inch pagedimen
+ /Ledger 17.0 inch 11.0 inch pagedimen
+ /Legal 8.5 inch 14.0 inch pagedimen
+ /Statement 5.5 inch 8.5 inch pagedimen
+ /Executive 7.5 inch 10.0 inch pagedimen
+ /A3 11.69 inch 16.5 inch pagedimen
+ /A4 8.26 inch 11.69 inch pagedimen
+ /A4Small 7.47 inch 10.85 inch pagedimen
+ /B4 10.125 inch 14.33 inch pagedimen
+ /B5 7.16 inch 10.125 inch pagedimen
+ end
+ } bind def
+/papersize {
+ papersizedict begin
+ /Letter {lettertray letter} def
+ /LetterSmall {lettertray lettersmall} def
+ /Tabloid {11x17tray 11x17} def
+ /Ledger {ledgertray ledger} def
+ /Legal {legaltray legal} def
+ /Statement {statementtray statement} def
+ /Executive {executivetray executive} def
+ /A3 {a3tray a3} def
+ /A4 {a4tray a4} def
+ /A4Small {a4tray a4small} def
+ /B4 {b4tray b4} def
+ /B5 {b5tray b5} def
+ /unknown {unknown} def
+ papersizedict dup papername known {papername} {/unknown} ifelse get
+ end
+ statusdict begin stopped end
+ } bind def
+/manualpapersize {
+ papersizedict begin
+ /Letter {letter} def
+ /LetterSmall {lettersmall} def
+ /Tabloid {11x17} def
+ /Ledger {ledger} def
+ /Legal {legal} def
+ /Statement {statement} def
+ /Executive {executive} def
+ /A3 {a3} def
+ /A4 {a4} def
+ /A4Small {a4small} def
+ /B4 {b4} def
+ /B5 {b5} def
+ /unknown {unknown} def
+ papersizedict dup papername known {papername} {/unknown} ifelse get
+ end
+ stopped
+ } bind def
+/desperatepapersize {
+ statusdict /setpageparams known
+ {
+ paperwidth paperheight 0 1
+ statusdict begin
+ {setpageparams} stopped
+ end
+ } {true} ifelse
+ } bind def
+/DiacriticEncoding [
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl
+/numbersign /dollar /percent /ampersand /quotesingle /parenleft
+/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
+/two /three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K
+/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash
+/bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h
+/i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar
+/braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute
+/Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis
+/atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis
+/iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve
+/ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex
+/udieresis /dagger /.notdef /cent /sterling /section /bullet
+/paragraph /germandbls /registered /copyright /trademark /acute
+/dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef
+/yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown
+/exclamdown /logicalnot /.notdef /florin /.notdef /.notdef
+/guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde
+/Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright
+/quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis
+/fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl
+/periodcentered /quotesinglbase /quotedblbase /perthousand
+/Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute
+/Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve
+/Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron
+/breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron
+] def
+/ReEncode {
+ dup
+ length
+ dict begin
+ {
+ 1 index /FID ne
+ {def}
+ {pop pop} ifelse
+ } forall
+ 0 eq {/Encoding DiacriticEncoding def} if
+ currentdict
+ end
+ } bind def
+FMPColor
+
+ {
+ /BEGINBITMAPCOLOR {
+ BITMAPCOLOR} def
+ /BEGINBITMAPCOLORc {
+ BITMAPGRAYc} def
+ /BEGINBITMAPTRUECOLOR {
+ BITMAPTRUECOLOR } def
+ /BEGINBITMAPTRUECOLORc {
+ BITMAPTRUECOLORc } def
+ }
+
+ {
+ /BEGINBITMAPCOLOR {
+ BITMAPGRAY} def
+ /BEGINBITMAPCOLORc {
+ BITMAPGRAYc} def
+ /BEGINBITMAPTRUECOLOR {
+ BITMAPTRUEGRAY } def
+ /BEGINBITMAPTRUECOLORc {
+ BITMAPTRUEGRAYc } def
+ }
+ifelse
+/K {
+ FMPrintAllColorsAsBlack {
+ dup 1 eq 2 index 1 eq and 3 index 1 eq and not
+ {7 {pop} repeat 0 0 0 1 0 0 0} if
+ } if
+ FrameCurColors astore
+ pop combineColor
+} bind def
+/graymode true def
+ /bwidth FMLOCAL
+ /bpside FMLOCAL
+ /bstring FMLOCAL
+ /onbits FMLOCAL
+ /offbits FMLOCAL
+ /xindex FMLOCAL
+ /yindex FMLOCAL
+ /x FMLOCAL
+ /y FMLOCAL
+/setPatternMode {
+ FMLevel1 {
+ /bwidth exch def
+ /bpside exch def
+ /bstring exch def
+ /onbits 0 def /offbits 0 def
+ freq sangle landscape {90 add} if
+ {/y exch def
+ /x exch def
+ /xindex x 1 add 2 div bpside mul cvi def
+ /yindex y 1 add 2 div bpside mul cvi def
+ bstring yindex bwidth mul xindex 8 idiv add get
+ 1 7 xindex 8 mod sub bitshift and 0 ne FrameNegative {not} if
+ {/onbits onbits 1 add def 1}
+ {/offbits offbits 1 add def 0}
+ ifelse
+ }
+ setscreen
+ offbits offbits onbits add div FrameNegative {1.0 exch sub} if
+ /FrameCurGray exch def
+ } {
+ pop pop
+ dup patCache exch known {
+ patCache exch get
+ } {
+ dup
+ patDict /bstring 3 -1 roll put
+ patDict
+ 9 PatFreq screenIndex get div dup matrix scale
+ makepattern
+ dup
+ patCache 4 -1 roll 3 -1 roll put
+ } ifelse
+ /FrameCurGray 0 def
+ /FrameCurPat exch def
+ } ifelse
+ /graymode false def
+ combineColor
+} bind def
+/setGrayScaleMode {
+ graymode not {
+ /graymode true def
+ FMLevel1 {
+ setCurrentScreen
+ } if
+ } if
+ /FrameCurGray exch def
+ combineColor
+} bind def
+/normalize {
+ transform round exch round exch itransform
+ } bind def
+/dnormalize {
+ dtransform round exch round exch idtransform
+ } bind def
+/lnormalize {
+ 0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop
+ } bind def
+/H {
+ lnormalize setlinewidth
+ } bind def
+/Z {
+ setlinecap
+ } bind def
+
+/PFill {
+ graymode FMLevel1 or not {
+ gsave 1 setgray eofill grestore
+ } if
+} bind def
+/PStroke {
+ graymode FMLevel1 or not {
+ gsave 1 setgray stroke grestore
+ } if
+ stroke
+} bind def
+ /fillvals FMLOCAL
+/X {
+ fillvals exch get
+ dup type /stringtype eq
+ {8 1 setPatternMode}
+ {setGrayScaleMode}
+ ifelse
+ } bind def
+/V {
+ PFill gsave eofill grestore
+ } bind def
+/Vclip {
+ clip
+ } bind def
+/Vstrk {
+ currentlinewidth exch setlinewidth PStroke setlinewidth
+ } bind def
+/N {
+ PStroke
+ } bind def
+/Nclip {
+ strokepath clip newpath
+ } bind def
+/Nstrk {
+ currentlinewidth exch setlinewidth PStroke setlinewidth
+ } bind def
+/M {newpath moveto} bind def
+/E {lineto} bind def
+/D {curveto} bind def
+/O {closepath} bind def
+ /n FMLOCAL
+/L {
+ /n exch def
+ newpath
+ normalize
+ moveto
+ 2 1 n {pop normalize lineto} for
+ } bind def
+/Y {
+ L
+ closepath
+ } bind def
+ /x1 FMLOCAL
+ /x2 FMLOCAL
+ /y1 FMLOCAL
+ /y2 FMLOCAL
+/R {
+ /y2 exch def
+ /x2 exch def
+ /y1 exch def
+ /x1 exch def
+ x1 y1
+ x2 y1
+ x2 y2
+ x1 y2
+ 4 Y
+ } bind def
+ /rad FMLOCAL
+/rarc
+ {rad
+ arcto
+ } bind def
+/RR {
+ /rad exch def
+ normalize
+ /y2 exch def
+ /x2 exch def
+ normalize
+ /y1 exch def
+ /x1 exch def
+ mark
+ newpath
+ {
+ x1 y1 rad add moveto
+ x1 y2 x2 y2 rarc
+ x2 y2 x2 y1 rarc
+ x2 y1 x1 y1 rarc
+ x1 y1 x1 y2 rarc
+ closepath
+ } stopped {x1 y1 x2 y2 R} if
+ cleartomark
+ } bind def
+/RRR {
+ /rad exch def
+ normalize /y4 exch def /x4 exch def
+ normalize /y3 exch def /x3 exch def
+ normalize /y2 exch def /x2 exch def
+ normalize /y1 exch def /x1 exch def
+ newpath
+ normalize moveto
+ mark
+ {
+ x2 y2 x3 y3 rarc
+ x3 y3 x4 y4 rarc
+ x4 y4 x1 y1 rarc
+ x1 y1 x2 y2 rarc
+ closepath
+ } stopped
+ {x1 y1 x2 y2 x3 y3 x4 y4 newpath moveto lineto lineto lineto closepath} if
+ cleartomark
+ } bind def
+/C {
+ grestore
+ gsave
+ R
+ clip
+ setCurrentScreen
+} bind def
+/CP {
+ grestore
+ gsave
+ Y
+ clip
+ setCurrentScreen
+} bind def
+ /FMpointsize FMLOCAL
+/F {
+ FMfonts exch get
+ FMpointsize scalefont
+ setfont
+ } bind def
+/Q {
+ /FMpointsize exch def
+ F
+ } bind def
+/T {
+ moveto show
+ } bind def
+/RF {
+ rotate
+ 0 ne {-1 1 scale} if
+ } bind def
+/TF {
+ gsave
+ moveto
+ RF
+ show
+ grestore
+ } bind def
+/P {
+ moveto
+ 0 32 3 2 roll widthshow
+ } bind def
+/PF {
+ gsave
+ moveto
+ RF
+ 0 32 3 2 roll widthshow
+ grestore
+ } bind def
+/S {
+ moveto
+ 0 exch ashow
+ } bind def
+/SF {
+ gsave
+ moveto
+ RF
+ 0 exch ashow
+ grestore
+ } bind def
+/B {
+ moveto
+ 0 32 4 2 roll 0 exch awidthshow
+ } bind def
+/BF {
+ gsave
+ moveto
+ RF
+ 0 32 4 2 roll 0 exch awidthshow
+ grestore
+ } bind def
+/G {
+ gsave
+ newpath
+ normalize translate 0.0 0.0 moveto
+ dnormalize scale
+ 0.0 0.0 1.0 5 3 roll arc
+ closepath
+ PFill fill
+ grestore
+ } bind def
+/Gstrk {
+ savematrix
+ newpath
+ 2 index 2 div add exch 3 index 2 div sub exch
+ normalize 2 index 2 div sub exch 3 index 2 div add exch
+ translate
+ scale
+ 0.0 0.0 1.0 5 3 roll arc
+ restorematrix
+ currentlinewidth exch setlinewidth PStroke setlinewidth
+ } bind def
+/Gclip {
+ newpath
+ savematrix
+ normalize translate 0.0 0.0 moveto
+ dnormalize scale
+ 0.0 0.0 1.0 5 3 roll arc
+ closepath
+ clip newpath
+ restorematrix
+ } bind def
+/GG {
+ gsave
+ newpath
+ normalize translate 0.0 0.0 moveto
+ rotate
+ dnormalize scale
+ 0.0 0.0 1.0 5 3 roll arc
+ closepath
+ PFill
+ fill
+ grestore
+ } bind def
+/GGclip {
+ savematrix
+ newpath
+ normalize translate 0.0 0.0 moveto
+ rotate
+ dnormalize scale
+ 0.0 0.0 1.0 5 3 roll arc
+ closepath
+ clip newpath
+ restorematrix
+ } bind def
+/GGstrk {
+ savematrix
+ newpath
+ normalize translate 0.0 0.0 moveto
+ rotate
+ dnormalize scale
+ 0.0 0.0 1.0 5 3 roll arc
+ closepath
+ restorematrix
+ currentlinewidth exch setlinewidth PStroke setlinewidth
+ } bind def
+/A {
+ gsave
+ savematrix
+ newpath
+ 2 index 2 div add exch 3 index 2 div sub exch
+ normalize 2 index 2 div sub exch 3 index 2 div add exch
+ translate
+ scale
+ 0.0 0.0 1.0 5 3 roll arc
+ restorematrix
+ PStroke
+ grestore
+ } bind def
+/Aclip {
+ newpath
+ savematrix
+ normalize translate 0.0 0.0 moveto
+ dnormalize scale
+ 0.0 0.0 1.0 5 3 roll arc
+ closepath
+ strokepath clip newpath
+ restorematrix
+} bind def
+/Astrk {
+ Gstrk
+} bind def
+/AA {
+ gsave
+ savematrix
+ newpath
+
+ 3 index 2 div add exch 4 index 2 div sub exch
+
+ normalize 3 index 2 div sub exch 4 index 2 div add exch
+ translate
+ rotate
+ scale
+ 0.0 0.0 1.0 5 3 roll arc
+ restorematrix
+ PStroke
+ grestore
+ } bind def
+/AAclip {
+ savematrix
+ newpath
+ normalize translate 0.0 0.0 moveto
+ rotate
+ dnormalize scale
+ 0.0 0.0 1.0 5 3 roll arc
+ closepath
+ strokepath clip newpath
+ restorematrix
+} bind def
+/AAstrk {
+ GGstrk
+} bind def
+ /x FMLOCAL
+ /y FMLOCAL
+ /w FMLOCAL
+ /h FMLOCAL
+ /xx FMLOCAL
+ /yy FMLOCAL
+ /ww FMLOCAL
+ /hh FMLOCAL
+ /FMsaveobject FMLOCAL
+ /FMoptop FMLOCAL
+ /FMdicttop FMLOCAL
+/BEGINPRINTCODE {
+ /FMdicttop countdictstack 1 add def
+ /FMoptop count 7 sub def
+ /FMsaveobject save def
+ userdict begin
+ /showpage {} def
+ FMNORMALIZEGRAPHICS
+ 3 index neg 3 index neg translate
+ } bind def
+/ENDPRINTCODE {
+ count -1 FMoptop {pop pop} for
+ countdictstack -1 FMdicttop {pop end} for
+ FMsaveobject restore
+ } bind def
+/gn {
+ 0
+ { 46 mul
+ cf read pop
+ 32 sub
+ dup 46 lt {exit} if
+ 46 sub add
+ } loop
+ add
+ } bind def
+ /str FMLOCAL
+/cfs {
+ /str sl string def
+ 0 1 sl 1 sub {str exch val put} for
+ str def
+ } bind def
+/ic [
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
+ 0
+ {0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx}
+ {10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx}
+ {19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12}
+ {13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh}
+ {4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh}
+ {13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl}
+ {7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl}
+ {0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl}
+ {10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl}
+ ] def
+ /sl FMLOCAL
+ /val FMLOCAL
+ /ws FMLOCAL
+ /im FMLOCAL
+ /bs FMLOCAL
+ /cs FMLOCAL
+ /len FMLOCAL
+ /pos FMLOCAL
+/ms {
+ /sl exch def
+ /val 255 def
+ /ws cfs
+ /im cfs
+ /val 0 def
+ /bs cfs
+ /cs cfs
+ } bind def
+400 ms
+/ip {
+ is
+ 0
+ cf cs readline pop
+ { ic exch get exec
+ add
+ } forall
+ pop
+
+ } bind def
+/rip {
+
+
+ bis ris copy pop
+ is
+ 0
+ cf cs readline pop
+ { ic exch get exec
+ add
+ } forall
+ pop pop
+ ris gis copy pop
+ dup is exch
+
+ cf cs readline pop
+ { ic exch get exec
+ add
+ } forall
+ pop pop
+ gis bis copy pop
+ dup add is exch
+
+ cf cs readline pop
+ { ic exch get exec
+ add
+ } forall
+ pop
+
+ } bind def
+/wh {
+ /len exch def
+ /pos exch def
+ ws 0 len getinterval im pos len getinterval copy pop
+ pos len
+ } bind def
+/bl {
+ /len exch def
+ /pos exch def
+ bs 0 len getinterval im pos len getinterval copy pop
+ pos len
+ } bind def
+/s1 1 string def
+/fl {
+ /len exch def
+ /pos exch def
+ /val cf s1 readhexstring pop 0 get def
+ pos 1 pos len add 1 sub {im exch val put} for
+ pos len
+ } bind def
+/hx {
+ 3 copy getinterval
+ cf exch readhexstring pop pop
+ } bind def
+ /h FMLOCAL
+ /w FMLOCAL
+ /d FMLOCAL
+ /lb FMLOCAL
+ /bitmapsave FMLOCAL
+ /is FMLOCAL
+ /cf FMLOCAL
+/wbytes {
+ dup dup
+ 24 eq { pop pop 3 mul }
+ { 8 eq {pop} {1 eq {7 add 8 idiv} {3 add 4 idiv} ifelse} ifelse } ifelse
+ } bind def
+/BEGINBITMAPBWc {
+ 1 {} COMMONBITMAPc
+ } bind def
+/BEGINBITMAPGRAYc {
+ 8 {} COMMONBITMAPc
+ } bind def
+/BEGINBITMAP2BITc {
+ 2 {} COMMONBITMAPc
+ } bind def
+/COMMONBITMAPc {
+
+ /r exch def
+ /d exch def
+ gsave
+
+ 3 index 2 div add exch
+ 4 index 2 div add exch
+ translate
+ rotate
+ 1 index 2 div neg
+ 1 index 2 div neg
+ translate
+ scale
+ /h exch def /w exch def
+ /lb w d wbytes def
+ sl lb lt {lb ms} if
+ /bitmapsave save def
+ r
+ /is im 0 lb getinterval def
+ ws 0 lb getinterval is copy pop
+ /cf currentfile def
+ w h d [w 0 0 h neg 0 h]
+ {ip} image
+ bitmapsave restore
+ grestore
+ } bind def
+/BEGINBITMAPBW {
+ 1 {} COMMONBITMAP
+ } bind def
+/BEGINBITMAPGRAY {
+ 8 {} COMMONBITMAP
+ } bind def
+/BEGINBITMAP2BIT {
+ 2 {} COMMONBITMAP
+ } bind def
+/COMMONBITMAP {
+ /r exch def
+ /d exch def
+ gsave
+
+ 3 index 2 div add exch
+ 4 index 2 div add exch
+ translate
+ rotate
+ 1 index 2 div neg
+ 1 index 2 div neg
+ translate
+ scale
+ /h exch def /w exch def
+ /bitmapsave save def
+ r
+ /is w d wbytes string def
+ /cf currentfile def
+ w h d [w 0 0 h neg 0 h]
+ {cf is readhexstring pop} image
+ bitmapsave restore
+ grestore
+ } bind def
+/ngrayt 256 array def
+/nredt 256 array def
+/nbluet 256 array def
+/ngreent 256 array def
+ /gryt FMLOCAL
+ /blut FMLOCAL
+ /grnt FMLOCAL
+ /redt FMLOCAL
+ /indx FMLOCAL
+ /cynu FMLOCAL
+ /magu FMLOCAL
+ /yelu FMLOCAL
+ /k FMLOCAL
+ /u FMLOCAL
+FMLevel1 {
+/colorsetup {
+ currentcolortransfer
+ /gryt exch def
+ /blut exch def
+ /grnt exch def
+ /redt exch def
+ 0 1 255 {
+ /indx exch def
+ /cynu 1 red indx get 255 div sub def
+ /magu 1 green indx get 255 div sub def
+ /yelu 1 blue indx get 255 div sub def
+ /k cynu magu min yelu min def
+ /u k currentundercolorremoval exec def
+% /u 0 def
+ nredt indx 1 0 cynu u sub max sub redt exec put
+ ngreent indx 1 0 magu u sub max sub grnt exec put
+ nbluet indx 1 0 yelu u sub max sub blut exec put
+ ngrayt indx 1 k currentblackgeneration exec sub gryt exec put
+ } for
+ {255 mul cvi nredt exch get}
+ {255 mul cvi ngreent exch get}
+ {255 mul cvi nbluet exch get}
+ {255 mul cvi ngrayt exch get}
+ setcolortransfer
+ {pop 0} setundercolorremoval
+ {} setblackgeneration
+ } bind def
+}
+{
+/colorSetup2 {
+ [ /Indexed /DeviceRGB 255
+ {dup red exch get 255 div
+ exch dup green exch get 255 div
+ exch blue exch get 255 div}
+ ] setcolorspace
+} bind def
+} ifelse
+ /tran FMLOCAL
+/fakecolorsetup {
+ /tran 256 string def
+ 0 1 255 {/indx exch def
+ tran indx
+ red indx get 77 mul
+ green indx get 151 mul
+ blue indx get 28 mul
+ add add 256 idiv put} for
+ currenttransfer
+ {255 mul cvi tran exch get 255.0 div}
+ exch concatprocs settransfer
+} bind def
+/BITMAPCOLOR {
+ /d 8 def
+ gsave
+
+ 3 index 2 div add exch
+ 4 index 2 div add exch
+ translate
+ rotate
+ 1 index 2 div neg
+ 1 index 2 div neg
+ translate
+ scale
+ /h exch def /w exch def
+ /bitmapsave save def
+ FMLevel1 {
+ colorsetup
+ /is w d wbytes string def
+ /cf currentfile def
+ w h d [w 0 0 h neg 0 h]
+ {cf is readhexstring pop} {is} {is} true 3 colorimage
+ } {
+ colorSetup2
+ /is w d wbytes string def
+ /cf currentfile def
+ 7 dict dup begin
+ /ImageType 1 def
+ /Width w def
+ /Height h def
+ /ImageMatrix [w 0 0 h neg 0 h] def
+ /DataSource {cf is readhexstring pop} bind def
+ /BitsPerComponent d def
+ /Decode [0 255] def
+ end image
+ } ifelse
+ bitmapsave restore
+ grestore
+ } bind def
+/BITMAPCOLORc {
+ /d 8 def
+ gsave
+
+ 3 index 2 div add exch
+ 4 index 2 div add exch
+ translate
+ rotate
+ 1 index 2 div neg
+ 1 index 2 div neg
+ translate
+ scale
+ /h exch def /w exch def
+ /lb w d wbytes def
+ sl lb lt {lb ms} if
+ /bitmapsave save def
+ FMLevel1 {
+ colorsetup
+ /is im 0 lb getinterval def
+ ws 0 lb getinterval is copy pop
+ /cf currentfile def
+ w h d [w 0 0 h neg 0 h]
+ {ip} {is} {is} true 3 colorimage
+ } {
+ colorSetup2
+ /is im 0 lb getinterval def
+ ws 0 lb getinterval is copy pop
+ /cf currentfile def
+ 7 dict dup begin
+ /ImageType 1 def
+ /Width w def
+ /Height h def
+ /ImageMatrix [w 0 0 h neg 0 h] def
+ /DataSource {ip} bind def
+ /BitsPerComponent d def
+ /Decode [0 255] def
+ end image
+ } ifelse
+ bitmapsave restore
+ grestore
+ } bind def
+/BITMAPTRUECOLORc {
+ /d 24 def
+ gsave
+
+ 3 index 2 div add exch
+ 4 index 2 div add exch
+ translate
+ rotate
+ 1 index 2 div neg
+ 1 index 2 div neg
+ translate
+ scale
+ /h exch def /w exch def
+ /lb w d wbytes def
+ sl lb lt {lb ms} if
+ /bitmapsave save def
+
+ /is im 0 lb getinterval def
+ /ris im 0 w getinterval def
+ /gis im w w getinterval def
+ /bis im w 2 mul w getinterval def
+
+ ws 0 lb getinterval is copy pop
+ /cf currentfile def
+ w h 8 [w 0 0 h neg 0 h]
+ {w rip pop ris} {gis} {bis} true 3 colorimage
+ bitmapsave restore
+ grestore
+ } bind def
+/BITMAPTRUECOLOR {
+ gsave
+
+ 3 index 2 div add exch
+ 4 index 2 div add exch
+ translate
+ rotate
+ 1 index 2 div neg
+ 1 index 2 div neg
+ translate
+ scale
+ /h exch def /w exch def
+ /bitmapsave save def
+ /is w string def
+ /gis w string def
+ /bis w string def
+ /cf currentfile def
+ w h 8 [w 0 0 h neg 0 h]
+ { cf is readhexstring pop }
+ { cf gis readhexstring pop }
+ { cf bis readhexstring pop }
+ true 3 colorimage
+ bitmapsave restore
+ grestore
+ } bind def
+/BITMAPTRUEGRAYc {
+ /d 24 def
+ gsave
+
+ 3 index 2 div add exch
+ 4 index 2 div add exch
+ translate
+ rotate
+ 1 index 2 div neg
+ 1 index 2 div neg
+ translate
+ scale
+ /h exch def /w exch def
+ /lb w d wbytes def
+ sl lb lt {lb ms} if
+ /bitmapsave save def
+
+ /is im 0 lb getinterval def
+ /ris im 0 w getinterval def
+ /gis im w w getinterval def
+ /bis im w 2 mul w getinterval def
+ ws 0 lb getinterval is copy pop
+ /cf currentfile def
+ w h 8 [w 0 0 h neg 0 h]
+ {w rip pop ris gis bis w gray} image
+ bitmapsave restore
+ grestore
+ } bind def
+/ww FMLOCAL
+/r FMLOCAL
+/g FMLOCAL
+/b FMLOCAL
+/i FMLOCAL
+/gray {
+ /ww exch def
+ /b exch def
+ /g exch def
+ /r exch def
+ 0 1 ww 1 sub { /i exch def r i get .299 mul g i get .587 mul
+ b i get .114 mul add add r i 3 -1 roll floor cvi put } for
+ r
+ } bind def
+/BITMAPTRUEGRAY {
+ gsave
+
+ 3 index 2 div add exch
+ 4 index 2 div add exch
+ translate
+ rotate
+ 1 index 2 div neg
+ 1 index 2 div neg
+ translate
+ scale
+ /h exch def /w exch def
+ /bitmapsave save def
+ /is w string def
+ /gis w string def
+ /bis w string def
+ /cf currentfile def
+ w h 8 [w 0 0 h neg 0 h]
+ { cf is readhexstring pop
+ cf gis readhexstring pop
+ cf bis readhexstring pop w gray} image
+ bitmapsave restore
+ grestore
+ } bind def
+/BITMAPGRAY {
+ 8 {fakecolorsetup} COMMONBITMAP
+ } bind def
+/BITMAPGRAYc {
+ 8 {fakecolorsetup} COMMONBITMAPc
+ } bind def
+/ENDBITMAP {
+ } bind def
+end
+ /ALDsave FMLOCAL
+ /ALDmatrix matrix def ALDmatrix currentmatrix pop
+/StartALD {
+ /ALDsave save def
+ savematrix
+ ALDmatrix setmatrix
+ } bind def
+/InALD {
+ restorematrix
+ } bind def
+/DoneALD {
+ ALDsave restore
+ } bind def
+/I { setdash } bind def
+/J { [] 0 setdash } bind def
+%%EndProlog
+%%BeginSetup
+(4.0) FMVERSION
+1 1 0 0 612 792 0 1 10 FMDOCUMENT
+0 0 /Times-Bold FMFONTDEFINE
+1 0 /Times-Roman FMFONTDEFINE
+2 0 /Times-BoldItalic FMFONTDEFINE
+3 0 /Times-Italic FMFONTDEFINE
+4 0 /Courier FMFONTDEFINE
+5 0 /Courier-Bold FMFONTDEFINE
+32 FMFILLS
+0 0 FMFILL
+1 0.1 FMFILL
+2 0.3 FMFILL
+3 0.5 FMFILL
+4 0.7 FMFILL
+5 0.9 FMFILL
+6 0.97 FMFILL
+7 1 FMFILL
+8 <0f1e3c78f0e1c387> FMFILL
+9 <0f87c3e1f0783c1e> FMFILL
+10 <cccccccccccccccc> FMFILL
+11 <ffff0000ffff0000> FMFILL
+12 <8142241818244281> FMFILL
+13 <03060c183060c081> FMFILL
+14 <8040201008040201> FMFILL
+16 1 FMFILL
+17 0.9 FMFILL
+18 0.7 FMFILL
+19 0.5 FMFILL
+20 0.3 FMFILL
+21 0.1 FMFILL
+22 0.03 FMFILL
+23 0 FMFILL
+24 <f0e1c3870f1e3c78> FMFILL
+25 <f0783c1e0f87c3e1> FMFILL
+26 <3333333333333333> FMFILL
+27 <0000ffff0000ffff> FMFILL
+28 <7ebddbe7e7dbbd7e> FMFILL
+29 <fcf9f3e7cf9f3f7e> FMFILL
+30 <7fbfdfeff7fbfdfe> FMFILL
+%%EndSetup
+%%Page: "1" 1
+%%BeginPaperSize: Letter
+%%EndPaperSize
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+J
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 12 Q
+0 X
+0 0 0 1 0 0 0 K
+(Intr) 151.94 469 T
+(oduction) 172.39 469 T
+1 10 Q
+(T) 72 450.33 T
+(ypically) 77.41 450.33 T
+(, T) 108.98 450.33 T
+(cl/Tk application development leads to the) 119.39 450.33 T
+(redundant creation of widget combination patterns) 72 438.33 T
+(which can be singled out for replacement with higher) 72 426.33 T
+(level abstractions. For example, a label is usually asso-) 72 414.33 T
+(ciated with an entry widget, listboxes frequently have) 72 402.33 T
+(attached scrollbars, and dialogs require buttons and) 72 390.33 T
+(modality) 72 378.33 T
+(. This is due to the simplicity of the Tk widget) 106.91 378.33 T
+(set. Seasoned developers commonly package this code,) 72 366.33 T
+(attempting to create a composite widget in a set of pro-) 72 354.33 T
+(cedures which allows for consistent creation of the wid-) 72 342.33 T
+(get combination. This may provide centralization of) 72 330.33 T
+(logic, but the procedures lack the encapsulation of a) 72 318.33 T
+(pure widget and end up \337ooding global name space. At) 72 306.33 T
+(this point, some developers may resort to C code.) 72 294.33 T
+(What was really needed was the ability to combine Tk) 72 270.33 T
+(widgets together into abstract building blocks called) 72 258.33 T
+(\322Mega-W) 72 246.33 T
+(idgets\323 at the VHLL layer) 111.58 246.33 T
+(. The [incr T) 215.45 246.33 T
+(cl] [1]) 265.29 246.33 T
+(and [incr Tk] [2] extensions provide this capability) 72 234.33 T
+(,) 274.93 234.33 T
+(allowing mega-widget development in an object-ori-) 72 222.33 T
+(ented paradigm using T) 72 210.33 T
+(cl/Tk rather than C. The next) 166.01 210.33 T
+(step was to build a mega-widget set in these extensions) 72 198.33 T
+(which replaces the redundant widget combination pat-) 72 186.33 T
+-0.1 (terns and provides a foundation for future development.) 72 174.33 P
+([incr W) 72 162.33 T
+(idgets] is one such extension.) 102.42 162.33 T
+([incr W) 72 144.33 T
+(idgets] is an object-oriented, extensible set of) 102.42 144.33 T
+-0.6 (mega-widgets, delivering many general purpose widgets) 72 132.33 P
+(such as option menus, selection boxes, and dialogs) 72 120.33 T
+(whose counterparts are found in Motif. Since [incr W) 72 108.33 T
+(id-) 285.72 108.33 T
+(gets] is based on [incr Tk], the Tk framework of con\336g-) 72 96.33 T
+(uration options and widget commands is maintained. In) 72 84.33 T
+(other words, they look, act, and feel like Tk widgets.) 315 470.33 T
+([incr W) 315 458.33 T
+(idgets] blends with the standard Tk widgets,) 345.42 458.33 T
+-0.28 (raising the level of programming and making it easier to) 315 446.33 P
+(consistently develop well styled applications.) 315 434.33 T
+(The idea of extending the basic Tk widget set is not) 315 410.33 T
+(original. Other mega-widget extensions exist such as) 315 398.33 T
+(T) 315 386.33 T
+(ix [3] and itcl-widgets [4]. V) 320.76 386.33 T
+(isually) 435.14 386.33 T
+(, [incr W) 461.16 386.33 T
+(idgets]) 496.58 386.33 T
+-0.03 (covers some of the same ground, successfully replacing) 315 374.33 P
+(many of the same typical combinations. [incr W) 315 362.33 T
+(idgets]) 507.35 362.33 T
+(dif) 315 350.33 T
+(fers in the degree of its reusability) 325.93 350.33 T
+(, extensibility) 461.92 350.33 T
+(, \337ex-) 515.72 350.33 T
+(ibility) 315 338.33 T
+(, and adherence to the Motif style guide.) 338.25 338.33 T
+(The [incr W) 315 314.33 T
+(idgets] mega-widget set is also distin-) 363.47 314.33 T
+(guished by its consistent use of style, built-in intelli-) 315 302.33 T
+(gence, high degree of \337exibility) 315 290.33 T
+(, ease of extending base) 441.83 290.33 T
+(level functionality) 315 278.33 T
+(, and its object-oriented implementa-) 387.4 278.33 T
+(tion. Its use has resulted in increased productivity) 315 266.33 T
+(, reli-) 512.66 266.33 T
+(ability) 315 254.33 T
+(, and style guide adherence. This paper) 339.91 254.33 T
+(concentrates on these unique aspects of the widget set) 315 242.33 T
+(and the presentation of its innovative concepts. A picto-) 315 230.33 T
+(rial tour with sample code segments will be given as an) 315 218.33 T
+(appendix.) 315 206.33 T
+0 12 Q
+(Mega-W) 390.28 175 T
+(idgets) 434.72 175 T
+1 10 Q
+(Mega-widgets has been a hot topic within the T) 315 150.33 T
+(cl/Tk) 504.83 150.33 T
+(community) 315 138.33 T
+(. The discussion centers on the bene\336ts,) 359.91 138.33 T
+(frameworks, mechanisms, and implementation tech-) 315 126.33 T
+(niques. It was McLennan [1] who originally coined the) 315 114.33 T
+(term in his work with [incr T) 315 102.33 T
+(cl], expanding on the con-) 430.4 102.33 T
+(cept with [incr Tk]. He proposes that mega-widgets) 315 90.33 T
+(should seamlessly extend the Tk widget set. They) 315 78.33 T
+72 495 540 720 R
+7 X
+V
+0 14 Q
+0 X
+([incr W) 263.16 710.67 T
+(idgets]) 309.18 710.67 T
+(An Object Oriented Mega-W) 192.98 692.67 T
+(idget Set) 367.31 692.67 T
+2 9 Q
+(Revised 10/31/95 - Originally present at USENIX T) 176.36 678 T
+(cl/Tk W) 365.8 678 T
+(orkshop 95) 394.38 678 T
+1 12 Q
+(Mark L. Ulferts) 268.18 652 T
+3 10 Q
+(DSC Communications Corporation) 235.16 637.33 T
+(mulferts@spd.dsccc.com) 256.13 623.33 T
+(http://www) 242.19 609.33 T
+(.wn.com/biz/iwidgets) 285.91 609.33 T
+0 12 Q
+(Abstract) 283.67 576 T
+3 10 Q
+(The intr) 72 551.33 T
+(oduction of [incr T) 103.58 551.33 T
+(cl] and [incr Tk] allows an object oriented appr) 178.5 551.33 T
+(oach to Tk widget construction. \322Mega-) 370.91 551.33 T
+(widgets\323 developed in these extensions seamlessly expand the Tk base widget set. Each of these object-oriented wid-) 72 539.33 T
+-0.03 (gets may themselves be extended, using either inheritance or composition. This paper pr) 72 527.33 P
+-0.03 (esents one such general pur-) 425.14 527.33 P
+(pose hierar) 72 515.33 T
+(chy called [incr W) 117.46 515.33 T
+(idgets] which maintains the Motif look-and-feel and establishes several new concepts,) 191.06 515.33 T
+(including extensible child sites and \337exible lar) 72 503.33 T
+(ge scale component con\336guration.) 257.73 503.33 T
+FMENDPAGE
+%%EndPage: "1" 1
+%%Page: "2" 2
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(should behave like standard Tk widgets, but are com-) 72 713.33 T
+(posed of many Tk widgets and possibly other mega-) 72 701.33 T
+(widgets as components. The implementation must) 72 689.33 T
+(ensure that users notice no signi\336cant dif) 72 677.33 T
+(ferences. Stan-) 235.69 677.33 T
+(dard commands such as \324con\336gure\325 and \324cget\325 must) 72 665.33 T
+(exist and options should be propagated to all compo-) 72 653.33 T
+(nents. Thus, con\336guration of a mega-widgets \322-back-) 72 641.33 T
+(ground\323 or \322-relief\323 option should have the expected) 72 629.33 T
+(results on its components.) 72 617.33 T
+-0.15 (The [incr T) 72 593.33 P
+-0.15 (cl] and [incr Tk] extensions fully address the) 116.55 593.33 P
+(issues of framework and mechanism for mega-widget) 72 581.33 T
+(production. They have established themselves as the) 72 569.33 T
+(defacto standard object-oriented extensions and have) 72 557.33 T
+(been chosen to provide the backbone for the [incr W) 72 545.33 T
+(id-) 281.82 545.33 T
+(gets] set. Using these extensions, each mega-widget) 72 533.33 T
+(becomes a \322class\323, de\336ning a unique type of widget) 72 521.33 T
+(object in a separate namespace. This ensures that data) 72 509.33 T
+(and commands associated with an object are encapsu-) 72 497.33 T
+(lated, eliminating global name space pollution.) 72 485.33 T
+0 12 Q
+(Example) 161.83 454 T
+1 10 Q
+-0.24 (At this point, an example of mega-widget usage can pro-) 72 429.33 P
+(vide a taste of [incr W) 72 417.33 T
+(idgets] capabilities and illustrate) 160.74 417.33 T
+(the bene\336ts. The example centers around the construc-) 72 405.33 T
+-0.17 (tion of a typical login screen which prompts the user for) 72 393.33 P
+(user name and password. New requirements will be) 72 381.33 T
+-0.03 (incremental, leading to the development of a new mega-) 72 369.33 P
+(widget which is implemented as an extension of an) 72 357.33 T
+(existing one.) 72 345.33 T
+-0.3 (A primitive login screen is composed of two \336elds, each) 72 321.33 P
+(having a label and entry widget. The T) 72 309.33 T
+(cl/Tk code) 226.27 309.33 T
+(required is shown in Figure 1. [incr W) 72 297.33 T
+(idgets] provides) 224.91 297.33 T
+(an Entry\336eld class which replaces this standard widget) 72 285.33 T
+(combination. This is shown in Figure 2. At this point,) 72 273.33 T
+(mega-widget usage is mostly a matter of convenience) 72 261.33 T
+(and minor savings in code, yet with a few additional) 72 249.33 T
+(requirements the bene\336ts begin to escalate.) 72 237.33 T
+(Now let\325) 72 213.33 T
+(s add new requirements which might be) 106.72 213.33 T
+(required for a normal login screen. First, the labels) 72 201.33 T
+(should be left aligned. Next, the user \336eld width should) 72 189.33 T
+(be limited to a maximum of 10 characters with input) 72 177.33 T
+(restricted to alphabetic characters and illegal character) 72 165.33 T
+(entry ringing the bell. As for the password, input must) 72 153.33 T
+-0.05 (be masked and the return key should invoke a login pro-) 72 141.33 P
+(cedure. W) 72 129.33 T
+(e\325ll also present a more aesthetic interface by) 112.29 129.33 T
+(varying the textual background in the mega-widget.) 72 117.33 T
+(Since this last requirement applies to both Entry\336elds,) 72 105.33 T
+-0.03 (the option database will be used. Figure 3 illustrates the) 72 93.33 P
+-0.48 (code needed to implement these new requirements using) 72 81.33 P
+([incr W) 315 200.33 T
+(idgets]. Even without the presentation of com-) 345.42 200.33 T
+-0.18 (parative straight T) 315 188.33 P
+-0.18 (cl/Tk code, its safe to say that the ben-) 387.27 188.33 P
+(e\336ts have increased.) 315 176.33 T
+(This example gives just a sampling of the label control) 315 152.33 T
+(capabilities built into those classes based on the) 315 140.33 T
+(Labeledwidget class such as the Entry\336eld mega-wid-) 315 128.33 T
+-0.18 (get. The label\325) 315 116.33 P
+-0.18 (s position relative to its associated widget) 372.12 116.33 P
+-0.04 (may be speci\336ed using standard directions: nw) 315 104.33 P
+-0.04 (, n, ne, e,) 501.29 104.33 P
+-0.4 (se, s, sw) 315 92.33 P
+-0.4 (, and w) 346.88 92.33 P
+-0.4 (. The label need not be limited to text, the) 374.58 92.33 P
+(class supports both bitmaps and images as well. A mar-) 315 80.33 T
+315 207 540 720 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+315 243 540 360 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+315 396 540 720 R
+7 X
+V
+0 X
+N
+%%BeginBinary: 6824
+251 117 129.09 60.17 0 365.92 648
+/red <
+72FFFFFFFFFFFFFFFFFFFFFFFFFF66F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF80808080
+8080808080808080808080808080808080808080404040404040404040404040
+4040404040404040404040000000000000000000000000000000000039C069DD
+00FF0000003333330033CCDD9999112277005544FFCC66AABBFF33EE9999CC7A
+EFD39765E1A36FE700FF5500557FB22EB099FFFFB07AFFCC0087AFB4CD73E6A2
+4DBF88F558D7439D50D080C0C080C0808060C000FFA000FFBE8BD28BD9B3FF72
+20C0A040C040D060F0E010B499A0FF0019BF2FFF6223852F465F4770FF0000FF
+> store
+/green <
+9F0000000000000000000000000099DEFFFFFFBFBFBFBFBF8080808080404040
+40000000FFFFFFFFFFBFBFBFBF808080808040404040400000000000FFFFFFFF
+FFBFBFBFBFBF8080808040404040400000000000FFFFFFFFFFBFBFBFBFBF8080
+8080804040400000000000FFFFFFBFBFBFBFBF80808040404040400063E0B500
+996699FF00663399BBFF99DD99FF112277005544CCCC66AABB6600EE6600CC69
+E3B59765E1A36FE700FF1A006B7FB28B3099FFFFB094FFF700CEEEEE0073E6A2
+4DBF88F558D74DB38080C0C080C080808060C08000A08040BE5BB477D9B3FF77
+2070A0402040D0F0F0E010B489A0E4FF19264F00B641DE4F829E4780FF0000FF
+> store
+/blue <
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3BF8040FFBF804000FFBF804000FFBF80
+00BF8040FFBF804000FF804000FFBF804000FFBF804000FFBF804000FFBF8040
+00FFBF804000FFBF4000FFBF804000FFBF804000FFBF804000FFBF804000FFBF
+804000FFBF00FFBF804000BF8040FFBF804000FFBF40FFBF8040004063E0B500
+FF3399FF88666666009966DDFFFF112277DD554499FFCCAABBCC99EE9966CC69
+E3B59765E1A36FE7BFCC8BEE2F7FB257606BFBB3B015322480FAEEB40073E6A2
+4DBF88F558D756CAD050C080C08080C08060C080FF000040BE7A8C65D9B3E085
+2070C0802040D06050E010B476A0C40070264F00FC5AE050B4A0FF9000FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+6F6F7R4F6F76F6F7J"
+S3F78z8z8z
+4F9R3F94F9
+
+;z"
+S*F7F6<z"z"z"z
+0F6F7R#F6F70F6F70F6=z8z8z8z
+/F9R"F9/F9/F9
+J%J#F'
+O<FEFEFEFE5FEFEFEFEFEFEF9FEJ"8"J'Js"
+O<F9F9FFEFEF9F9F9FEP2F6F7J#8#J"Jr
+P#FEFEF9F94F9P3F9J$:*8'?#8"9$8'8$:$8'
+OGFEFEFEFEFEFEFEF9F9FEFEFEFEFEFEF9FEFEFEFEF9FEFEFEFEFEFEF9FEFEFEFEFEFEFEFEFEFEFEF9FEFE@s"J1:"8%<"9#8)8"808%J$
+F6F7O2FEFEFEF9FEFEFEF9FEFEF9F9FEFEF9F9F9FEF9FEFEF9FEFEFEFEFEF9FEFEF9F9FEFEFEFEF9FEFEF9FEFEFEF9FEFEF9F9FEF9FEFEO.F6F6F7ArJ$H"@#9"9%:$9"<"<"J"
+F9O5F9F9F9F9F9F9FEF9F9F9F9F9F9F9FEFEF9O2F9@sJ"?'I"8#H%9%J#
+F7O1FEF9FEFEFEFEF9FEF9F9F9F9F9F9F9F9F9F9O6F7F7@tJ":$9&J">%?%9%J$
+F9O/FEFEF9FEFEF9F9F9F95FEFEF9FEFEFEF9FEFEFEF9FEFEO6F9F9F9J"8$9(8(8$8"9"<08"808"9"
+O<FEFEFEFEF9F9FEFEFEF9F9FEFEFEFEFEF9FEFEF9FEFEFEF9FEFEFEFEF9F9F9F9FEFEFEF9F9FEFEF9F9FEFEFEF9F9F9F9FEFEFEF9F9FEFEFEJs9$9";"x;':$8%:$:$8sJs
+O<F9F9F9F9F9FEF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9O;F7J&Jt
+OMFEF9F9F9F9PLF9J(
+OMF9FEFEFEFEFEF9=z8z8z8z
+/F7R"F7/F7/F7rF"J"F"F%
+F7F7R#F7F7F7F7F7F7'z&
+F6F6F6F6F6F7S)EEF6F6F6F6F68$J%
+F9F9F9S+F9F9F9F7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+J5
+O+QEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEJ5
+O*QGFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFFJ#z#
+O*EEFEQCEEFFEEJ#J#
+O*FEEEQCEEFFJ#J#
+O*EEFEQCFFEEJ#9#J#J#
+4FEFEFEFE=FEEEQCEEFFJ#J#
+O*EEFEQCFFEEJ%9%8)<#J#
+=FEFEFEFEFEFEFEFEFEFEEEFEFEEEFEFEFEEEQCEEFFJ.9"A#J#
+<FEFEEEEEFEFEEEFEFEEEEEFEFEFEEEFEQCFFEEJ%A&<#J#
+>FEEEEEEEEEEEEEEEEEFEEEQCEEFFJ&:#;"A#J#
+<EEEEFEFEFEFEFEEEEEFEQCFFEEJ"8"9%E#J#
+>EEFEEEEEEEEEFEEEQCEEFFJ-=#=#<#J#
+4EEFEFEEEFEFEEEEEFEFEEEEEFEFEFEFEEEFEQCFFEEJ":.E#J#
+7FEEEFEFEFEFEEEEEEEFEFEFEFEEEFEEEQCEEFFJ&9%9%8#:#<#J#
+5EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEQCFFEEJ#J#
+O*FEEEQCEEFFJ#J#
+O*EEFEQCFFEEJ#J#
+O*FEEEQCEEFFJ5
+O*QGEEFEEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEJ5
+O*QGFEEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFJz
+O*QGEE
+
+
+
+
+
+
+
+
+
+
+
+
+J5
+OJQ'FEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEJ5
+OIQ(FEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEFEEEJ#z"
+OIEEFEQ%EEFFJ#J#
+OIFEEEQ$FFEEJ#J#
+OIEEFEQ$EEFFJ'J#@#J#
+4FEFEFEFEFEFEO#FEFEFEEEQ$FFEEJ&J#J#
+6EEEEEEFEFEO.EEFEQ$EEFFJ%9%9%8#8#8#8%8);#<#J#
+<FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEEEFEFEEEFEFEFEFEFEEEQ$FFEEJ5B'9"8%B#J#
+;4FEFEEEEEFEFEEEFEFEEEEEFEFEEEFEFEEEEEFEFEFEFEEEEEFEFEFEFEFEEEFEEEFEQ$EEFFJ(=%9):$A#9":#<#J#
+6FEFEFEFEEEEEEEFEEEEEEEFEEEEEEEEEEEFEFEFEFEEEEEEEEEEEEEFEEEQ$FFEEJ%8$9&8&J"H#J#
+6EEEEEEEEFEFEFEEEEEFEFEFEEEEEFEFEFE6EEEEFEQ$EEFFJ%;"8"9"8"J#J#
+;FEFEEEEEEEFEEEFEHFEEEQ$FFEEJ%9%:)G":#<#J#
+BFEFEEEEEFEFEEEEEEEFEFEEEEEFEFEEEFEFEFEEEFEQ$EEFFJ5B'<%B#J#
+;4EEFEFEFEEEFEFEEEFEFEFEFEEEEEEEFEFEFEFEEEEEFEFEFEFEEEEEFEFEEEFEEEQ$FFEEJ#<v9%:#8#:%8#:&8#<#J#
+4EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEQ$EEFFJ#J#
+OIFEEEQ$FFEEJ#J#
+OIEEFEQ$EEFFJ#J#
+OIFEEEQ$FFEEJ5
+OIQ(EEFEEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFF&J5B%
+F7F7F7F7F7ODQ(FEEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEFFEEF7F7F7F7&JzC&
+F6F6F6F6F6ODQ'EEF6F6F6F6F68$J%
+F9F9F9S+F9F9F9F7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<z"z"z
+0F6F7R4F6F71F6;z8z8z
+1F9R3F91F9
+
+7z8z8z
+5F7R3F74F7"J"J"
+F76F7R4F7
+ENDBITMAP
+%%EndBinary
+324 399.57 531 639 R
+7 X
+V
+4 8 Q
+0 X
+(frame .login) 324 633.67 T
+(pack .login -padx 10 -pady 10) 324 623.67 T
+(frame .login.userFrame) 324 603.67 T
+(label .login.userFrame.userLabel \134) 324 593.67 T
+( -text \322User:\323) 324 583.67 T
+(entry .login.userFrame.userEntry) 324 573.67 T
+(pack .login.userFrame -f) 324 553.67 T
+(ill x -pady 5) 439.2 553.67 T
+(pack .login.userFrame.userLabel \134) 324 543.67 T
+( -side left) 324 533.67 T
+(pack .login.userFrame.userEntry \134) 324 523.67 T
+( -side left -expand yes -f) 324 513.67 T
+(ill x) 463.2 513.67 T
+(frame .login.passwdFrame) 324 493.67 T
+(label .login.passwdFrame.passwdLabel \134) 324 483.67 T
+( -text \322Password:\323) 324 473.67 T
+(entry .login.passwdFrame.passwdEntry) 324 463.67 T
+(pack .login.passwdFrame -f) 324 443.67 T
+(ill x -pady 5) 448.8 443.67 T
+(pack .login.passwdFrame.passwdLabel \134) 324 433.67 T
+( -side left) 324 423.67 T
+(pack .login.passwdFrame.passwdEntry \134) 324 413.67 T
+( -side left -expand yes -f) 324 403.67 T
+(ill x) 463.2 403.67 T
+324 252 531 351 R
+7 X
+V
+0 X
+(frame .login) 324 345.67 T
+(pack .login -padx 10 -pady 10) 324 335.67 T
+(entryf) 324 315.67 T
+(ield .login.user \134) 352.8 315.67 T
+( -labeltext \322User:\323) 324 305.67 T
+(pack .login.user -f) 324 295.67 T
+(ill x -pady 5) 415.2 295.67 T
+(entryf) 324 275.67 T
+(ield .login.passwd \134) 352.8 275.67 T
+( -labeltext \322Password:\323) 324 265.67 T
+(pack .login.passwd -f) 324 255.67 T
+(ill x -pady 5) 424.8 255.67 T
+0 10 Q
+(FIGURE 2) 346.21 227.18 T
+1 F
+( - [incr W) 392.6 227.18 T
+(idgets] Login screen) 431.35 227.18 T
+0 F
+(FIGURE 1) 359.33 380.18 T
+1 F
+( - T) 405.72 380.18 T
+(cl/Tk Login screen) 419.46 380.18 T
+0 -208 1000 792 C
+FMENDPAGE
+%%EndPage: "2" 2
+%%Page: "3" 3
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(gin between the label and its associated widget may be) 72 429.62 T
+(given. Alignment is provided by adjusting the mar) 72 417.62 T
+(gins) 273.48 417.62 T
+(of a group of Labeledwidget based mega-widgets.) 72 405.62 T
+(Currently) 72 381.62 T
+(, our login screen lacks a method of cancella-) 109.68 381.62 T
+(tion barring closure from the window manager decora-) 72 369.62 T
+(tion. Since this is not the most elegant method of) 72 357.62 T
+-0.24 (window removal, \322OK\323 and \322Cancel\323 buttons seem like) 72 345.62 P
+(worthy additions. A well styled application would also) 72 333.62 T
+-0.22 (make the buttons be of equal width and signify a default) 72 321.62 P
+(button associated with striking the return key through) 72 309.62 T
+(the appearance of an encompassing sunken ring. The) 72 297.62 T
+(Buttonbox class provides this functionality) 72 285.62 T
+(, making but-) 243.02 285.62 T
+(ton management simple. As a manager widget, the But-) 72 273.62 T
+(tonbox controls the orientation, separation, and size of) 72 261.62 T
+-0.18 (its button components. Buttons are added with the \324add\325) 72 249.62 P
+(command. The \324default\325 command allows speci\336cation) 72 237.62 T
+(of a button within a sunken ring. Figure 4 presents the) 72 225.47 T
+(improved login screen.) 72 213.47 T
+-0.01 (Expanding further) 72 189.47 P
+-0.01 (, a truly useful login screen should be) 144.63 189.47 P
+(a modal toplevel dialog widget. The [incr W) 72 177.47 T
+(idgets] Dia-) 249.35 177.47 T
+(log class supports global, application, and non-modal) 72 165.47 T
+(dialogs. The dif) 72 153.47 T
+(ference being the degree of blocking.) 134.87 153.47 T
+(Global modal dialogs block all applications, whereas) 72 141.47 T
+(application modal dialogs only block the current appli-) 72 129.47 T
+-0.24 (cation. This allows processing of the dialog contents fol-) 72 117.47 P
+(lowing user response and dialog termination. Non-) 72 105.47 T
+(modal dialogs are non-blocking, enabling the applica-) 72 93.47 T
+(tion to continue. In this case, the actions attached to the) 72 81.47 T
+72 436.29 297 720 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 470.14 297 720 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+%%BeginBinary: 7011
+254 115 130.63 59.14 0 121.37 651.86
+/red <
+72FFFFFFFFFFFFFFFFFFFFFFFFFF66F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF80808080
+8080808080808080808080808080808080808080404040404040404040404040
+4040404040404040404040000000000000000000000000000000000039C069DD
+00FF0000003333330033CCDD9999112277005544FFCC66AABBFF33EE9999CC7A
+EFD39765E1A36FE700FF5500557FB22EB099FFFFB07AFFCC0087AFB4CD73E6A2
+4DBF88F558D7439D50D080C0C080C0808060C000FFA000FFBE8BD28BD9B3FF72
+20C0A040C040D060F0E010B499A0FF0019BF2FFF6223852F465F4770FF0000FF
+> store
+/green <
+9F0000000000000000000000000099DEFFFFFFBFBFBFBFBF8080808080404040
+40000000FFFFFFFFFFBFBFBFBF808080808040404040400000000000FFFFFFFF
+FFBFBFBFBFBF8080808040404040400000000000FFFFFFFFFFBFBFBFBFBF8080
+8080804040400000000000FFFFFFBFBFBFBFBF80808040404040400063E0B500
+996699FF00663399BBFF99DD99FF112277005544CCCC66AABB6600EE6600CC69
+E3B59765E1A36FE700FF1A006B7FB28B3099FFFFB094FFF700CEEEEE0073E6A2
+4DBF88F558D74DB38080C0C080C080808060C08000A08040BE5BB477D9B3FF77
+2070A0402040D0F0F0E010B489A0E4FF19264F00B641DE4F829E4780FF0000FF
+> store
+/blue <
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3BF8040FFBF804000FFBF804000FFBF80
+00BF8040FFBF804000FF804000FFBF804000FFBF804000FFBF804000FFBF8040
+00FFBF804000FFBF4000FFBF804000FFBF804000FFBF804000FFBF804000FFBF
+804000FFBF00FFBF804000BF8040FFBF804000FFBF40FFBF8040004063E0B500
+FF3399FF88666666009966DDFFFF112277DD554499FFCCAABBCC99EE9966CC69
+E3B59765E1A36FE7BFCC8BEE2F7FB257606BFBB3B015322480FAEEB40073E6A2
+4DBF88F558D756CAD050C080C08080C08060C080FF000040BE7A8C65D9B3E085
+2070C0802040D06050E010B476A0C40070264F00FC5AE050B4A0FF9000FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+6F6F7R7F6F76F6F7J"
+S6F78z8z8z
+4F9R6F94F9
+
+;z"
+S-F7F6<z"z"z"z
+0F6F7R&F6F70F6F70F6=z8z8z8z
+/F9R%F9/F9/F9
+J%J#F'
+O=FEFEFEFE5FEFEFEFEFEFEF9FEJ"8"J'Js"
+O=F9F9FFEFEF9F9F9FEP4F6F7J#8#J"Jr
+P$FEFEF9F94F9P5F9J$:*8'?#8"9$8'8$:$8'
+OHFEFEFEFEFEFEFEF9F9FEFEFEFEFEFEF9FEFEFEFEF9FEFEFEFEFEFEF9FEFEFEFEFEFEFEFEFEFEFEF9FEFE@s"J1:"8%<"9#8)8"808%J$
+F6F7O3FEFEFEF9FEFEFEF9FEFEF9F9FEFEF9F9F9FEF9FEFEF9FEFEFEFEFEF9FEFEF9F9FEFEFEFEF9FEFEF9FEFEFEF9FEFEF9F9FEF9FEFEO0F6F6F7ArJ$H"@#9"9%:$9"<"<"J"
+F9O6F9F9F9F9F9F9FEF9F9F9F9F9F9F9FEFEF9O4F9@sJ"?'I"8#H%9%J#
+F7O2FEF9FEFEFEFEF9FEF9F9F9F9F9F9F9F9F9F9O8F7F7@tJ":$9&J">%?%9%J$
+F9O0FEFEF9FEFEF9F9F9F95FEFEF9FEFEFEF9FEFEFEF9FEFEO8F9F9F9J"8$9(8(8$8"9"<08"808"9"
+O=FEFEFEFEF9F9FEFEFEF9F9FEFEFEFEFEF9FEFEF9FEFEFEF9FEFEFEFEF9F9F9F9FEFEFEF9F9FEFEF9F9FEFEFEF9F9F9F9FEFEFEF9F9FEFEFEJs9$9";"x;':$8%:$:$8sJs
+O=F9F9F9F9F9FEF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9O=F7J&Jt
+P FEF9F9F9F9Q F9J(
+P F9FEFEFEFEFEF9=z8z8z8z
+/F7R%F7/F7/F7rF"J"F"F%
+F7F7R&F7F7F7F7F7F7'z&
+F6F6F6F6F6F7S,EEF6F6F6F6F68$J%
+F9F9F9S.F9F9F9F7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+J5
+OKQ(C3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEJ5
+OKQ(FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3J#z"
+OKC3FEQ%C3FFJ#J#
+OKFEC3Q$FFC3J#9#J#F$<$J#
+4FEFEFEFEO0C3FEFEFEFEFEFEFEP6C3FFJ#F#<%G"J#
+OKFEC3C3C3FEC3C3C3FEP$FFC3J%9%8)J#J#
+=FEFEFEFEFEFEFEFEFEFEEEFEFEEEFEFEGC3FEQ$C3FFJ.9"J)8#8#?&9$9&8&9$J#
+<FEFEEEEEFEFEEEFEFEEEEEFEFEFELFEC3C3FEFEFEC3FEFEFEFEFEFEFEFEFEFEFEFEFEFEC3FEFEFEFEFEFEFEFEFEFEFEOIFFC3J%A&J,9"@&8&8&8&8&J#
+>FEEEEEEEEEEEEEEEEEGC3FEC3C3FEC3FEC3FEC3C3C3C3FEC3C3C3FEC3C3C3FEC3FEC3C3C3C3FEC3C3C3FEC3C3C3FEOHC3FFJ&:#;"J#J$G&J#
+<EEEEFEFEFEFEFEEELFEC3?FEFEFEC3FEFEFEC3OHFFC3J"8"9%J#J%G%J#
+>EEFEEEEEEEEEO"C3FE?C3C3C3C3C3C3C3FEOHC3FFJ-=#=#J#J"D$J#
+4EEFEFEEEFEFEEEEEFEFEEEEEFEFEFEFEGFEC3BFEFEC3FEOLFFC3J":.J%;59&8%:,J#
+7FEEEFEFEFEFEEEEEEEFEFEFEFEEEO"C3FEC3FE4FEC3C3FEFEFEC3FEC3FEFEFEFEFEFEC3FEFEFEFEC3FEFEFEC3FEFEFEFEC3FEFEFEC3C3C3FEFEFEC3OHC3FFJ&9%9%8#:#J"t8z:$9%;$9$J#
+5EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGFEC31C3C3C3C3C3C3C3C3C3C3C3C3C3C3OIFFC3J#J#
+OKC3FEQ$C3FFJ#J#
+OKFEC3Q$FFC3J#J#
+OKC3FEQ$C3FFJ5
+OKQ(FEC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3J5
+OKQ(C3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFJz
+OKQ(EE
+
+
+
+
+
+
+
+
+
+
+Jz
+OIQ,FE
+J5
+OKQ'C3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3J5
+OKQ(FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3J#z"
+OKC3FEQ%C3FFJ#J#J#
+OKFEC3CFEFEP-FFC3J'J#B#J#
+4FEFEFEFEFEFEO#FEFEC3FEQ$C3FFJ&J#J#
+6EEEEEEFEFEO0FEC3Q$FFC3J%9%9%8#8#8#8%8);#>#J#
+<FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEEEFEFEEEFEFEFEFEC3FEQ$C3FFJ5B'9"8%D#J#
+;4FEFEEEEEFEFEEEFEFEEEEEFEFEEEFEFEEEEEFEFEFEFEEEEEFEFEFEFEFEEEFEFEC3Q$FFC3J(=%9):$A#9":#>#J#
+6FEFEFEFEEEEEEEFEEEEEEEFEEEEEEEEEEEFEFEFEFEEEEEEEEEEEEEC3FEQ$C3FFJ%8$9&8&J"J#:"<"<"<"<"J#
+6EEEEEEEEFEFEFEEEEEFEFEFEEEEEFEFEFE6EE4FEC3FEFEFEFEFEP1FFC3J%;"8"9"8"J#:"<"<"<"<"J#
+;FEFEEEEEEEFEEEFEJC3FEC3C3C3C3C3P1C3FFJ%9%:)G":#>#J#
+BFEFEEEEEFEFEEEEEEEFEFEEEEEFEFEEEFEFEFEFEC3Q$FFC3J5B'<%D#J#
+;4EEFEFEFEEEFEFEEEFEFEFEFEEEEEEEFEFEFEFEEEEEFEFEFEFEEEEEFEFEEEC3FEQ$C3FFJ#<v9%:#8#:%8#:&8#>#J#
+4EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEC3Q$FFC3J#J#
+OKC3FEQ$C3FFJ#J#
+OKFEC3Q$FFC3J#J#J#
+OKC3FECC3C3P-C3FFJ5
+OKQ(FEC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3&J5C%
+F7F7F7F7F7OFQ(C3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFF7F7F7F7&JzC&
+F6F6F6F6F6OFQ(FEF6F6F6F6F68$J%
+F9F9F9S.F9F9F9F7Jz
+OIQ,EE
+
+
+
+
+
+
+
+
+
+
+
+
+
+<z"z"z
+0F6F7R7F6F71F6;z8z8z
+1F9R6F91F9
+
+7z8z8z
+5F7R6F74F7"J"J"
+F76F7R7F7
+ENDBITMAP
+%%EndBinary
+81 477 288 645.14 R
+7 X
+V
+4 8 Q
+0 X
+(option add *textBackground \322GhostWhite\323) 81 639.81 T
+(frame .login) 81 619.81 T
+(entryf) 81 609.81 T
+(ield .login.user -labeltext \322User:\323 \134) 109.8 609.81 T
+( -width 10 -f) 81 599.81 T
+(ixed 10 \134) 157.8 599.81 T
+( -validate alphabetic -invalid bell) 81 589.81 T
+(entryf) 81 569.81 T
+(ield .login.passwd) 109.8 569.81 T
+( -labeltext \322Password:\323 \134) 81 559.81 T
+( -show \134267 -command LoginProc) 81 549.81 T
+(Labeledwidget::alignlabels \134) 81 529.81 T
+(.login.user .login.passwd) 100.2 519.81 T
+(pack .login -padx 10 -pady 10) 81 499.81 T
+(pack .login.user -f) 81 489.81 T
+(ill x -pady 5) 172.2 489.81 T
+(pack .login.passwd -f) 81 479.81 T
+(ill x -pady 5) 181.8 479.81 T
+0 10 Q
+(FIGURE 3) 94.3 452.18 T
+1 F
+( - Login screen with aligned labels) 140.69 452.18 T
+0 0 612 792 C
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(buttons should perform all processing of the dialog con-) 315 326.33 T
+(tents.) 315 314.33 T
+(The Dialog mega-widget class also contains a pre-) 315 296.33 T
+(de\336ned extensible location called a \322child site\323. This is) 315 284.33 T
+(an internally packed standard Tk frame which may be) 315 272.33 T
+(used as a parent for whole combinations of user speci-) 315 260.33 T
+-0.36 (\336ed widgets. Figure 5 illustrates the position of the child) 315 248.33 P
+-0.25 (site frame in an instance of the Dialog class. In the login) 315 236.33 P
+(screen example, this frame can be \336lled with the user) 315 224.33 T
+(name and password Entry\336eld mega-widgets.) 315 212.33 T
+315 333 540 720 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+315 362.14 540 720 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+%%BeginBinary: 4964
+254 173 130.63 88.97 0 355.37 622.03
+/red <
+72FFFFFFFFFFFFFFFFFFFFFFFFFF66F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF80808080
+8080808080808080808080808080808080808080404040404040404040404040
+4040404040404040404040000000000000000000000000000000000039C069DD
+00FF0000003333330033CCDD9999112277005544FFCC66AABBFF33EE9999CC7A
+EFD39765E1A36FE700FF5500557FB22EB099FFFFB07AFFCC0087AFB4CD73E6A2
+4DBF88F558D7439D50D080C0C080C0808060C000FFA000FFBE8BD28BD9B3FF72
+20C0A040C040D060F0E010B499A0FF0019BF2FFF6223852F465F4770FF0000FF
+> store
+/green <
+9F0000000000000000000000000099DEFFFFFFBFBFBFBFBF8080808080404040
+40000000FFFFFFFFFFBFBFBFBF808080808040404040400000000000FFFFFFFF
+FFBFBFBFBFBF8080808040404040400000000000FFFFFFFFFFBFBFBFBFBF8080
+8080804040400000000000FFFFFFBFBFBFBFBF80808040404040400063E0B500
+996699FF00663399BBFF99DD99FF112277005544CCCC66AABB6600EE6600CC69
+E3B59765E1A36FE700FF1A006B7FB28B3099FFFFB094FFF700CEEEEE0073E6A2
+4DBF88F558D74DB38080C0C080C080808060C08000A08040BE5BB477D9B3FF77
+2070A0402040D0F0F0E010B489A0E4FF19264F00B641DE4F829E4780FF0000FF
+> store
+/blue <
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3BF8040FFBF804000FFBF804000FFBF80
+00BF8040FFBF804000FF804000FFBF804000FFBF804000FFBF804000FFBF8040
+00FFBF804000FFBF4000FFBF804000FFBF804000FFBF804000FFBF804000FFBF
+804000FFBF00FFBF804000BF8040FFBF804000FFBF40FFBF8040004063E0B500
+FF3399FF88666666009966DDFFFF112277DD554499FFCCAABBCC99EE9966CC69
+E3B59765E1A36FE7BFCC8BEE2F7FB257606BFBB3B015322480FAEEB40073E6A2
+4DBF88F558D756CAD050C080C08080C08060C080FF000040BE7A8C65D9B3E085
+2070C0802040D06050E010B476A0C40070264F00FC5AE050B4A0FF9000FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+6F6F7R7F6F76F6F7J"
+S6F78z8z8z
+4F9R6F94F9
+
+;z"
+S-F7F6<z"z"z"z
+0F6F7R&F6F70F6F70F6=z8z8z8z
+/F9R%F9/F9/F9
+J%J#F'
+O=FEFEFEFE5FEFEFEFEFEFEF9FEJ"8"J'Js"
+O=F9F9FFEFEF9F9F9FEP4F6F7J#8#J"Jr
+P$FEFEF9F94F9P5F9J$:*8'?#8"9$8'8$:$8'
+OHFEFEFEFEFEFEFEF9F9FEFEFEFEFEFEF9FEFEFEFEF9FEFEFEFEFEFEF9FEFEFEFEFEFEFEFEFEFEFEF9FEFE@s"J1:"8%<"9#8)8"808%J$
+F6F7O3FEFEFEF9FEFEFEF9FEFEF9F9FEFEF9F9F9FEF9FEFEF9FEFEFEFEFEF9FEFEF9F9FEFEFEFEF9FEFEF9FEFEFEF9FEFEF9F9FEF9FEFEO0F6F6F7ArJ$H"@#9"9%:$9"<"<"J"
+F9O6F9F9F9F9F9F9FEF9F9F9F9F9F9F9FEFEF9O4F9@sJ"?'I"8#H%9%J#
+F7O2FEF9FEFEFEFEF9FEF9F9F9F9F9F9F9F9F9F9O8F7F7@tJ":$9&J">%?%9%J$
+F9O0FEFEF9FEFEF9F9F9F95FEFEF9FEFEFEF9FEFEFEF9FEFEO8F9F9F9J"8$9(8(8$8"9"<08"808"9"
+O=FEFEFEFEF9F9FEFEFEF9F9FEFEFEFEFEF9FEFEF9FEFEFEF9FEFEFEFEF9F9F9F9FEFEFEF9F9FEFEF9F9FEFEFEF9F9F9F9FEFEFEF9F9FEFEFEJs9$9";"x;':$8%:$:$8sJs
+O=F9F9F9F9F9FEF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9O=F7J&Jt
+P FEF9F9F9F9Q F9J(
+P F9FEFEFEFEFEF9=z8z8z8z
+/F7R%F7/F7/F7rF"J"F"F%
+F7F7R&F7F7F7F7F7F7'z&
+F6F6F6F6F6F7S,EEF6F6F6F6F68$J%
+F9F9F9S.F9F9F9F7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Jz
+OKQ(A2J"
+S$FFJz"
+OMQ$C3FF
+J#9#J$<$
+4FEFEFEFEOBFEFEFEFEFEFEJ#<%G"
+P/C3C3FEC3C3C3FEJ%9%8)
+=FEFEFEFEFEFEFEFEFEFEEEFEFEEEFEFEJ.9"J&8#8#?&9$9&8&9$
+<FEFEEEEEFEFEEEFEFEEEEEFEFEFEO!FEFEFEC3FEFEFEFEFEFEFEFEFEFEFEFEFEFEC3FEFEFEFEFEFEFEFEFEFEFEJ%A&J)9"@&8&8&8&8&
+>FEEEEEEEEEEEEEEEEEJC3FEC3FEC3FEC3C3C3C3FEC3C3C3FEC3C3C3FEC3FEC3C3C3C3FEC3C3C3FEC3C3C3FEJ&:#;"J$G&
+<EEEEFEFEFEFEFEEEO?FEFEFEC3FEFEFEC3J"8"9%J%G%
+>EEFEEEEEEEEEOCC3C3C3C3C3C3C3FEJ-=#=#J"D$
+4EEFEFEEEFEFEEEEEFEFEEEEEFEFEFEFEO=FEFEC3FEJ":.J";59&8%:,
+7FEEEFEFEFEFEEEEEEEFEFEFEFEEEO%FE4FEC3C3FEFEFEC3FEC3FEFEFEFEFEFEC3FEFEFEFEC3FEFEFEC3FEFEFEFEC3FEFEFEC3C3C3FEFEFEC3J&9%9%8#:#Jr8z:$9%;$9$
+5EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEJC31C3C3C3C3C3C3C3C3C3C3C3C3C3C3
+
+
+JZ
+OMQ$J"
+OLFFJz
+OKQ(EE
+
+
+
+
+
+
+
+
+
+
+Jz
+OIQ,FE
+Jz
+OKQ(A2J"
+S$FFJz"
+OMQ$C3FFJ#
+PBFEFEJ'J#
+4FEFEFEFEFEFEO#FEFEJ&
+6EEEEEEFEFEJ%9%9%8#8#8#8%8);#
+<FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEEEFEFEEEFEFEFEFEJ5B'9"8%
+;4FEFEEEEEFEFEEEFEFEEEEEFEFEEEFEFEEEEEFEFEFEFEEEEEFEFEFEFEFEEEFEJ(=%9):$A#9":#
+6FEFEFEFEEEEEEEFEEEEEEEFEEEEEEEEEEEFEFEFEFEEEEEEEEEEEEEJ%8$9&8&J"J"<"<"<"<"
+6EEEEEEEEFEFEFEEEEEFEFEFEEEEEFEFEFE6EE:FEFEFEFEFEJ%;"8"9"8"J"<"<"<"<"
+;FEFEEEEEEEFEEEFEO"C3C3C3C3C3J%9%:)G":#
+BFEFEEEEEFEFEEEEEEEFEFEEEEEFEFEEEFEFEFEJ5B'<%
+;4EEFEFEFEEEFEFEEEFEFEFEFEEEEEEEFEFEFEFEEEEEFEFEFEFEEEEEFEFEEEJ#<v9%:#8#:%8#:&8#
+4EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+
+J#
+PBC3C3JZ
+OMQ$J"
+OLFFJz
+OKQ(FE
+Jz
+OIQ,EE
+
+
+
+
+
+
+
+
+
+
+
+
+Jz
+EOAECJ"
+P7FFJz"
+GO=EEFF
+
+
+JZJZ
+KO5AO5J"J"
+P1ECP'ECJz"Jz"
+MO1EEECDO1EEEC
+
+
+
+
+J%:#9#J%J#
+O7FEFEFEFEFEFEFEFEO=FEFEFEFE=FEFEJ'=$J'
+O6FEFEEEEEFEFEFEFEEEO<FEFEEEEEFEFEJ$8$;$J$8(8&9%9%
+O5FEFEEEEEFEFEFEFEEEO<FEFEEEEEEEEEFEFEFEFEFEFEEEFEFEFEFEFEFEFEFEFEFEJ$J'93
+OAFEFEEEODFEFEEEEEFEFEFEEEFEFEEEFEFEEEEEFEFEEEFEFEEEEEFEFEJ#=">#
+Q:EEEEEEEEEEJ$J$I#
+OAEEFEFEOEFEFEFEFEFEJ$J%I%
+OBEEFEFEOCFEFEEEEEEEEEEEEEJ$8$<$J$8#H#;#
+O5EEFEFEFEFEEEEEFEFEO;EEFEFEFEFEFEFEFEFEJ'>$J.=.
+O6EEFEFEFEFEEEEEFEFEO;EEFEFEFEFEEEEEFEFEFEEEFEFEEEFEFEFEFEEEEEEEFEFEFEFEEEJ%:#:#J%8s8#8%9%8#
+O7EEEEEEEEEEEEEEEEO<EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+
+
+
+
+
+
+
+JzJz
+MO1ECEO1ECJ"J"
+LECP'ECJzJz
+KO5EEAO5EE
+
+
+JZ
+GO=J"
+FFFJz
+EOAEE&J%
+F7F7F7F7F7S-F7F7F7F7&J&
+F6F6F6F6F6S-F6F6F6F6F68$J%
+F9F9F9S.F9F9F9F7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<z"z"z
+0F6F7R7F6F71F6;z8z8z
+1F9R6F91F9
+
+7z8z8z
+5F7R6F74F7"J"J"
+F76F7R7F7
+ENDBITMAP
+%%EndBinary
+323.29 369 530.29 616.29 R
+7 X
+V
+4 8 Q
+0 X
+(option add *textBackground \322GhostWhite\323) 323.29 610.95 T
+(frame .login) 323.29 590.95 T
+(entryf) 323.29 580.95 T
+(ield .login.user -labeltext \322User:\323 \134) 352.09 580.95 T
+( -width 10 -f) 323.29 570.95 T
+(ixed 10 \134) 400.09 570.95 T
+( -validate alphabetic -invalid bell \134) 323.29 560.95 T
+( -command {.login.bbox invoke}) 323.29 550.95 T
+(entryf) 323.29 540.95 T
+(ield .login.passwd \134) 352.09 540.95 T
+( -labeltext \322Password:\323 -show \134267 \134) 323.29 530.95 T
+( -command {.login.bbox invoke}) 323.29 520.95 T
+(Labeledwidget::alignlabels \134) 323.29 500.95 T
+( .login.user .login.passwd) 323.29 490.95 T
+(buttonbox .login.bbox -orient horizontal) 323.29 470.95 T
+(.login.bbox add OK -text OK \134) 323.29 460.95 T
+( -command LoginProc) 323.29 450.95 T
+(.login.bbox add Cancel -text Cancel \134) 323.29 440.95 T
+( -command exit) 323.29 430.95 T
+(.login.bbox default OK) 323.29 420.95 T
+(pack .login -padx 10 -pady 10) 323.29 400.95 T
+(pack .login.user -f) 323.29 390.95 T
+(ill x -pady 5) 414.48 390.95 T
+(pack .login.passwd -f) 323.29 380.95 T
+(ill x -pady 5) 424.08 380.95 T
+(pack .login.bbox -f) 323.29 370.95 T
+(ill x) 414.48 370.95 T
+0 10 Q
+(FIGURE 4) 347.35 348.02 T
+1 F
+( - Login screen with buttons) 393.74 348.02 T
+0 0 612 792 C
+315 72 540 189 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+315 90.72 540 180 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+%%BeginBinary: 4028
+196 140 100.8 72 0 376.2 99
+/red <
+72FFFFFFFFFFFFFFFFFFFFFFFFFF66F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF80808080
+8080808080808080808080808080808080808080404040404040404040404040
+4040404040404040404040000000000000000000000000000000000039C069DD
+00FF0000003333330033CCDD9999112277005544FFCC66AABBFF33EE9999CC7A
+EFD39765E1A36FE700FF5500557FB22EB099FFFFB07AFFCC0087AFB4CD73E6A2
+4DBF88F558D7439D50D080C0C080C0808060C000FFA000FFBE8BD28BD9B3FF72
+20C0A040C040D060F0E010B499A0FF0019BF2FFF6223852F465F4770FF0000FF
+> store
+/green <
+9F0000000000000000000000000099DEFFFFFFBFBFBFBFBF8080808080404040
+40000000FFFFFFFFFFBFBFBFBF808080808040404040400000000000FFFFFFFF
+FFBFBFBFBFBF8080808040404040400000000000FFFFFFFFFFBFBFBFBFBF8080
+8080804040400000000000FFFFFFBFBFBFBFBF80808040404040400063E0B500
+996699FF00663399BBFF99DD99FF112277005544CCCC66AABB6600EE6600CC69
+E3B59765E1A36FE700FF1A006B7FB28B3099FFFFB094FFF700CEEEEE0073E6A2
+4DBF88F558D74DB38080C0C080C080808060C08000A08040BE5BB477D9B3FF77
+2070A0402040D0F0F0E010B489A0E4FF19264F00B641DE4F829E4780FF0000FF
+> store
+/blue <
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3BF8040FFBF804000FFBF804000FFBF80
+00BF8040FFBF804000FF804000FFBF804000FFBF804000FFBF804000FFBF8040
+00FFBF804000FFBF4000FFBF804000FFBF804000FFBF804000FFBF804000FFBF
+804000FFBF00FFBF804000BF8040FFBF804000FFBF40FFBF8040004063E0B500
+FF3399FF88666666009966DDFFFF112277DD554499FFCCAABBCC99EE9966CC69
+E3B59765E1A36FE7BFCC8BEE2F7FB257606BFBB3B015322480FAEEB40073E6A2
+4DBF88F558D756CAD050C080C08080C08060C080FF000040BE7A8C65D9B3E085
+2070C0802040D06050E010B476A0C40070264F00FC5AE050B4A0FF9000FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+6F6F7Q+F6F76F6F7J"
+R*F78z8z8z
+4F9Q*F94F9
+
+;z"
+R!F7F6<z"z
+0F6F7Q<F6=z8z
+/F9Q;F9
+Jr:#@$
+OGFEFEFEFEFEFEJ"8&E"
+OGF9F9F9F9FEFEF9J$8#J#
+OMF9FEFEF9F9;FEFEJ$9%@$:&
+P#FEFEFEFEFEFEFEFEFEFEFEFEFEFEF9@s"J"<%=/
+F6F7O>F9F9F9FEFEFEFEFEF9FEFEFEF9FEFEF9F9FEFEArJ$A$
+F9OEF9FEFEF9F9F9@sJ%G'
+F7ODFEFEF9F9F9FEFEFEFEF9@tJ$?"A$9&
+F9O:FEFEF9FEFEF9FEFEF9F9F9F9J"8&8"8'8$8*8&
+OGFEFEFEFEFEF9FEFEF9F9FEFEF9FEF9FEFEF9F9F9FEFEFEF9F9FEFEFEFEFEJr9%8v9$9";"
+OGF9F9F9F9F9F9F9F9F9F9FEJ&
+P=FEF9F9F9F9J(
+P=F9FEFEFEFEFEF9=z8z
+/F7Q;F7rF"J%
+F7F7Q<F7F7F7F7'z&
+F6F6F6F6F6F7R EEF6F6F6F6F68$J%
+F9F9F9R"F9F9F9F7
+
+
+
+
+
+
+
+Jz
+CPBFE
+
+
+
+J$8"8#B$@#D#G%8";$?#
+KFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFJ(8"J#D#G)
+IFFFFFEFEFEFFFFFF9FFFFFFFFFFFFFEFEFEFEFFFFJ$9"9"J#D#F$:"
+HFFFFFEFEFE9FEFEFEFEFFFFFEFEJ"G$J"<$
+O!FEFEFEFEO$FEFEFEFEJ$<"J"
+GFFFFFEFEO8FE
+J%<%J$I"A%<$8%=$
+O(FFFFFFFFFFFFFFFF6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFJ';#J'F"8"@#>$8%;(
+O'FFFEFEFEFFFFFEFE6FFFFFEFEFEFFFEFFFEFEFEFEFEFEFEFEFEFFFFFEFEFEFFFFJ"9$J$9"G"8$J$9$
+O'FEFEFFFF;FFFFFEFEFEFFFFFF>FFFFFEFEFFFFJ#9#J"
+P4FEFEFFFFEFFJ$J$8"J$;"
+OHFFFFFE9FEFEFEFF:FFFFFEFEJ"8"JR
+P9FEFF;J"Jt
+P:FE=FE
+
+J$<"J$J"J&
+GFEFFFFFFEFEFFFF5FFAFFFEFEFFFFJ"<$J"
+P3FFFFFFFECFFJ$9$J$9"H":$G$9#8$:$
+HFEFFFFFFFFFEFFEFFFFFFFFFFFFFEFEFFFFFFFEFEFFFFFFFFFEJ(8"8"9"8"9#8#<#8#<'8"D);#8#>':)
+IFEFEFFFFFFFEFEFFFFFFFFFFFFFFFFFFFFFFFFFEFEFFFFFFFEFFFEFEFFFFFFFFFEFEFFFFFFFFFEFFFFFFFFFEFEFEFFFFFFFFFEFEJ$:%9%9'<'>rC"8%='?%=%
+KFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+
+
+
+
+Jz
+CPBEE
+
+
+
+
+
+
+
+
+<z
+R EC=z"
+QLEEFF=Z
+QL<z
+R EE
+
+
+
+
+
+
+
+Ez
+OAECJ"
+P!FFGz"
+O=EEFF
+
+
+JZJZ
+5O54O5J"J"
+OIECOHECJz"Jz"
+7O1EEEC7O1EEEC
+
+
+
+
+J%:#9#J%J#
+O!FEFEFEFEFEFEFEFEO0FEFEFEFE=FEFEJ'=$J'
+O FEFEEEEEFEFEFEFEEEO/FEFEEEEEFEFEJ$8$;$J$8(8&9%9%
+MFEFEEEEEFEFEFEFEEEO/FEFEEEEEEEEEFEFEFEFEFEFEEEFEFEFEFEFEFEFEFEFEFEJ$J'93
+O+FEFEEEO7FEFEEEEEFEFEFEEEFEFEEEFEFEEEEEFEFEEEFEFEEEEEFEFEJ#=">#
+PEEEEEEEEEEEJ$J$I#
+O+EEFEFEO8FEFEFEFEFEJ$J%I%
+O,EEFEFEO6FEFEEEEEEEEEEEEEJ$8$<$J$8#H#;#
+MEEFEFEFEFEEEEEFEFEO.EEFEFEFEFEFEFEFEFEJ'>$J.=.
+O EEFEFEFEFEEEEEFEFEO.EEFEFEFEFEEEEEFEFEFEEEFEFEEEFEFEFEFEEEEEEEFEFEFEFEEEJ%:#:#J%8s8#8%9%8#
+O!EEEEEEEEEEEEEEEEO/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+
+
+
+
+
+
+&J%
+F7F7F7F7F7R!F7F7F7F7&HzJzG&
+F6F6F6F6F6O1EC8O1ECF6F6F6F6F68$G"J"J%
+F9F9F9ECOHECOCF9F9F9F7JzJz
+5O5EE4O5EE
+
+
+GZ
+O=F"
+FFEz
+OAEE
+
+
+
+
+
+
+
+<z"z"z
+0F6F7Q+F6F71F6;z8z8z
+1F9Q*F91F9
+
+7z8z8z
+5F7Q*F74F7"J"J"
+F76F7Q+F7
+ENDBITMAP
+%%EndBinary
+0 10 Q
+(FIGURE 5) 369 74.89 T
+1 F
+( - Dialog child site) 415.39 74.89 T
+0 0 612 792 C
+FMENDPAGE
+%%EndPage: "3" 3
+%%Page: "4" 4
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+-0.02 (Once a dialog is created, it is displayed based on modal-) 72 713.33 P
+(ity via the \324activate\325 command. For application and glo-) 72 701.33 T
+(bal modal dialogs, control is not immediately returned.) 72 689.33 T
+-0.06 (Instead, it is delayed until invocation of the \324deactivate\325) 72 677.33 P
+(command which accepts an optional ar) 72 665.33 T
+(gument that is) 227.62 665.33 T
+(returned as a result of the \324activate\325 command. This) 72 653.33 T
+-0.08 (allows user control of dialog unmapping, status noti\336ca-) 72 641.33 P
+(tion, and determination.) 72 629.33 T
+(For example, two buttons could be added to a global) 72 607.33 T
+-0.17 (modal dialog, each button specifying a command which) 72 595.33 P
+(executes the \324deactivate\325 command with a unique ar) 72 583.33 T
+(gu-) 279.82 583.33 T
+(ment. The application could then activate the dialog,) 72 571.33 T
+(wait for deactivation, and perform actions based on the) 72 559.33 T
+(return value. This could all be placed in an \322if\323 state-) 72 547.33 T
+(ment. The Dialog class uses this optional deactivation) 72 535.33 T
+(ar) 72 523.33 T
+(gument to provide default return values of zero and) 79.59 523.33 T
+(one for the \322OK\323 and \322Cancel\323 buttons as indicators of) 72 511.33 T
+-0.06 (the dialog exit status. This ability proves useful for stan-) 72 499.33 P
+(dard dialog management.) 72 487.33 T
+-0.34 (Figure 6 illustrates the new login screen implemented as) 72 463.33 P
+(an application modal Dialog composed of the two) 72 451.33 T
+(Entry\336elds. The need for explicit default button bind-) 72 439.33 T
+72 76 297 436 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 98.29 297 436 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+%%BeginBinary: 7633
+254 176 130.63 90.51 0 123.86 339.34
+/red <
+3EC472FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF80808080
+8080808080808080808080808080808080808080404040404040404040404040
+4040404040404040404040000000000000000000000000000000000039C069DD
+00FF0000003333330033CCDD9999112277005544FFCC66AABBFF33EE9999CC7A
+EFD39765E1A36FE700FF5500B2557F2EAFB4CD73E6A24DBF008799FFFFF5B0B0
+7AFFCC88BE8BD28BD9B3FF72439D58D750D080C0C080C0808060C000FFA000FF
+20C0A040C040D060F0E010B4A099FF0019BF2FFF6223852F465F4770FF0000FF
+> store
+/green <
+57D79F00000000000000000000000000FFFFFFBFBFBFBFBF8080808080404040
+40000000FFFFFFFFFFBFBFBFBF808080808040404040400000000000FFFFFFFF
+FFBFBFBFBFBF8080808040404040400000000000FFFFFFFFFFBFBFBFBFBF8080
+8080804040400000000000FFFFFFBFBFBFBFBF80808040404040400063E0B500
+996699FF00663399BBFF99DD99FF112277005544CCCC66AABB6600EE6600CC69
+E3B59765E1A36FE700FF1A00B26B7F8BEEEE0073E6A24DBF00CE99FFFFF530B0
+94FFF788BE5BB477D9B3FF774DB358D78080C0C080C080808060C08000A08040
+2070A0402040D0F0F0E010B4A089E4FF19264F00B641DE4F829E4780FF0000FF
+> store
+/blue <
+8CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF8040FFBF804000FFBF804000FFBF80
+00BF8040FFBF804000FF804000FFBF804000FFBF804000FFBF804000FFBF8040
+00FFBF804000FFBF4000FFBF804000FFBF804000FFBF804000FFBF804000FFBF
+804000FFBF00FFBF804000BF8040FFBF804000FFBF40FFBF8040004063E0B500
+FF3399FF88666666009966DDFFFF112277DD554499FFCCAABBCC99EE9966CC69
+E3B59765E1A36FE7BFCC8BEEB22F7F57EEB40073E6A24DBF80FA6BFBB3F560B0
+15322488BE7A8C65D9B3E08556CA58D7D050C080C08080C08060C080FF000040
+2070C0802040D06050E010B4A076C40070264F00FC5AE050B4A0FF9000FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+6F6F7R7F6F76F6F7J"
+S6F78z8z8z
+4F9R6F94F9
+
+;z"
+S-F7F6<z"z
+0F6F7RHF6=z8z
+/F9RGF9
+J%J#F'
+P FEFEFEFE5FEFEFEFEFEFEF9FEJ"8"J'
+P F9F9FFEFEF9F9F9FEJ#8#J"
+P5FEFEF9F94F9J$:*8'?#8"9$8'8$:$8'
+P+FEFEFEFEFEFEFEF9F9FEFEFEFEFEFEF9FEFEFEFEF9FEFEFEFEFEFEF9FEFEFEFEFEFEFEFEFEFEFEF9FEFE@s"J1:"8%<"9#8)8"808%
+F6F7ODFEFEFEF9FEFEFEF9FEFEF9F9FEFEF9F9F9FEF9FEFEF9FEFEFEFEFEF9FEFEF9F9FEFEFEFEF9FEFEF9FEFEFEF9FEFEF9F9FEF9FEFEArJ$H"@#9"9%:$9"<"<"
+F9OGF9F9F9F9F9F9FEF9F9F9F9F9F9F9FEFEF9@sJ"?'I"8#H%9%
+F7OCFEF9FEFEFEFEF9FEF9F9F9F9F9F9F9F9F9F9@tJ":$9&J">%?%9%
+F9OAFEFEF9FEFEF9F9F9F95FEFEF9FEFEFEF9FEFEFEF9FEFEJ"8$9(8(8$8"9"<08"808"9"
+P FEFEFEFEF9F9FEFEFEF9F9FEFEFEFEFEF9FEFEF9FEFEFEF9FEFEFEFEF9F9F9F9FEFEFEF9F9FEFEF9F9FEFEFEF9F9F9F9FEFEFEF9F9FEFEFEJs9$9";"x;':$8%:$:$8s
+P F9F9F9F9F9FEF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9J&
+P1FEF9F9F9F9J(
+P1F9FEFEFEFEFEF9=z8z
+/F7RGF7rF"J%
+F7F7RHF7F7F7F7'z&
+F6F6F6F6F6F7S,EEF6F6F6F6F68$J%
+F9F9F9S.F9F9F9F7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+J5
+OKQ(BDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEJ5
+OKQ(FEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDJ#z"
+OKBDFEQ%BDFFJ#J#
+OKFEBDQ$FFBDJ#9#J#F$<$J#
+4FEFEFEFEO0BDFEFEFEFEFEFEFEP6BDFFJ#F#<%G"J#
+OKFEBDBDBDFEBDBDBDFEP$FFBDJ%9%8)J#J#
+=FEFEFEFEFEFEFEFEFEFEEEFEFEEEFEFEGBDFEQ$BDFFJ.9"J)8#8#?&9$9&8&9$J#
+<FEFEEEEEFEFEEEFEFEEEEEFEFEFELFEBDBDFEFEFEBDFEFEFEFEFEFEFEFEFEFEFEFEFEFEBDFEFEFEFEFEFEFEFEFEFEFEOIFFBDJ%A&J,9"@&8&8&8&8&J#
+>FEEEEEEEEEEEEEEEEEGBDFEBDBDFEBDFEBDFEBDBDBDBDFEBDBDBDFEBDBDBDFEBDFEBDBDBDBDFEBDBDBDFEBDBDBDFEOHBDFFJ&:#;"J#J$G&J#
+<EEEEFEFEFEFEFEEELFEBD?FEFEFEBDFEFEFEBDOHFFBDJ"8"9%J#J%G%J#
+>EEFEEEEEEEEEO"BDFE?BDBDBDBDBDBDBDFEOHBDFFJ-=#=#J#J"D$J#
+4EEFEFEEEFEFEEEEEFEFEEEEEFEFEFEFEGFEBDBFEFEBDFEOLFFBDJ":.J%;59&8%:,J#
+7FEEEFEFEFEFEEEEEEEFEFEFEFEEEO"BDFEBDFE4FEBDBDFEFEFEBDFEBDFEFEFEFEFEFEBDFEFEFEFEBDFEFEFEBDFEFEFEFEBDFEFEFEBDBDBDFEFEFEBDOHBDFFJ&9%9%8#:#J"t8z:$9%;$9$J#
+5EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGFEBD1BDBDBDBDBDBDBDBDBDBDBDBDBDBDOIFFBDJ#J#
+OKBDFEQ$BDFFJ#J#
+OKFEBDQ$FFBDJ#J#
+OKBDFEQ$BDFFJ5
+OKQ(FEBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDJ5
+OKQ(BDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFJz
+OKQ(EE
+
+
+
+
+
+
+
+
+
+
+Jz
+OIQ,FE
+J5
+OKQ'BDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDJ5
+OKQ(FEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDJ#z"
+OKBDFEQ%BDFFJ#J#J#
+OKFEBDCFEFEP-FFBDJ'J#B#J#
+4FEFEFEFEFEFEO#FEFEBDFEQ$BDFFJ&J#J#
+6EEEEEEFEFEO0FEBDQ$FFBDJ%9%9%8#8#8#8%8);#>#J#
+<FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEEEFEFEEEFEFEFEFEBDFEQ$BDFFJ5B'9"8%D#J#
+;4FEFEEEEEFEFEEEFEFEEEEEFEFEEEFEFEEEEEFEFEFEFEEEEEFEFEFEFEFEEEFEFEBDQ$FFBDJ(=%9):$A#9":#>#J#
+6FEFEFEFEEEEEEEFEEEEEEEFEEEEEEEEEEEFEFEFEFEEEEEEEEEEEEEBDFEQ$BDFFJ%8$9&8&J"J#:"<"<"<"<"J#
+6EEEEEEEEFEFEFEEEEEFEFEFEEEEEFEFEFE6EE4FEBDFEFEFEFEFEP1FFBDJ%;"8"9"8"J#:"<"<"<"<"J#
+;FEFEEEEEEEFEEEFEJBDFEBDBDBDBDBDP1BDFFJ%9%:)G":#>#J#
+BFEFEEEEEFEFEEEEEEEFEFEEEEEFEFEEEFEFEFEFEBDQ$FFBDJ5B'<%D#J#
+;4EEFEFEFEEEFEFEEEFEFEFEFEEEEEEEFEFEFEFEEEEEFEFEFEFEEEEEFEFEEEBDFEQ$BDFFJ#<v9%:#8#:%8#:&8#>#J#
+4EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEBDQ$FFBDJ#J#
+OKBDFEQ$BDFFJ#J#
+OKFEBDQ$FFBDJ#J#J#
+OKBDFECBDBDP-BDFFJ5
+OKQ(FEBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDJ5
+OKQ(BDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFJz
+OKQ(FE
+Jz
+OIQ,EE
+
+
+
+
+
+
+
+
+
+
+
+
+
+<z
+S,ED=z"
+S*EEFF=Z
+S*<z
+S,EE
+
+
+
+
+
+
+
+Jz
+BOAEDJ"
+P4FFJz"
+DO=EEFF
+
+
+JZJZ
+HO5GO5J"J"
+P.EDP-EDJz"Jz"
+JO1EEEDJO1EEED
+
+
+
+
+J%:#9#J%J#
+O4FEFEFEFEFEFEFEFEOCFEFEFEFE=FEFEJ'=$J'
+O3FEFEEEEEFEFEFEFEEEOBFEFEEEEEFEFEJ$8$;$J$8(8&9%9%
+O2FEFEEEEEFEFEFEFEEEOBFEFEEEEEEEEEFEFEFEFEFEFEEEFEFEFEFEFEFEFEFEFEFEJ$J'93
+O>FEFEEEOJFEFEEEEEFEFEFEEEFEFEEEFEFEEEEEFEFEEEFEFEEEEEFEFEJ#=">#
+Q=EEEEEEEEEEJ$J$I#
+O>EEFEFEOKFEFEFEFEFEJ$J%I%
+O?EEFEFEOIFEFEEEEEEEEEEEEEJ$8$<$J$8#H#;#
+O2EEFEFEFEFEEEEEFEFEOAEEFEFEFEFEFEFEFEFEJ'>$J.=.
+O3EEFEFEFEFEEEEEFEFEOAEEFEFEFEFEEEEEFEFEFEEEFEFEEEFEFEFEFEEEEEEEFEFEFEFEEEJ%:#:#J%8s8#8%9%8#
+O4EEEEEEEEEEEEEEEEOBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+
+
+
+
+
+
+&J%
+F7F7F7F7F7S-F7F7F7F7&JzJzJ&
+F6F6F6F6F6EO1EDKO1EDEF6F6F6F6F68$J"J"J%
+F9F9F9DEDP-EDP)F9F9F9F7JzJz
+HO5EEGO5EE
+
+
+JZ
+DO=J"
+CFFJz
+BOAEE
+
+
+
+
+
+
+
+<z"z"z
+0F6F7R7F6F71F6;z8z8z
+1F9R6F91F9
+
+7z8z8z
+5F7R6F74F7"J"J"
+F76F7R7F7
+ENDBITMAP
+%%EndBinary
+81.71 104.71 288.71 333.71 R
+7 X
+V
+4 8 Q
+0 X
+(option add *textBackground \322GhostWhite\323) 81.71 328.38 T
+(dialog .login -modality application) 81.71 308.38 T
+(.login hide Apply) 81.71 298.38 T
+(.login hide Help) 81.71 288.38 T
+(set cs [.login childsite]) 81.71 268.38 T
+(entryf) 81.71 248.38 T
+(ield $cs.user -labeltext \322User:\323 \134) 110.51 248.38 T
+( -width 10 -f) 81.71 238.38 T
+(ixed 10 \134) 158.51 238.38 T
+( -validate alphabetic) 81.71 228.38 T
+(entryf) 81.71 218.38 T
+(ield $cs.passwd \134) 110.51 218.38 T
+( -labeltext \322Password:\323 -show \134267) 81.71 208.38 T
+(pack $cs.user -f) 81.71 188.38 T
+(ill x -pady 5) 158.51 188.38 T
+(pack $cs.passwd -f) 81.71 178.38 T
+(ill x -pady 5) 168.11 178.38 T
+(Labeledwidget::alignlabels \134) 81.71 158.38 T
+( $cs.user $cs.passwd) 81.71 148.38 T
+(if {[.login activate]} {) 81.71 128.38 T
+( LoginProc [$cs.user get] [$cs.passwd get]) 81.71 118.38 T
+(}) 81.71 108.38 T
+0 10 Q
+(FIGURE 6) 135 83.61 T
+1 F
+( - Login dialog) 181.39 83.61 T
+0 0 612 792 C
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(ings has been left to the Dialog class, making the appli-) 315 713.33 T
+(cation even cleaner) 315 701.33 T
+(.The comparative amount of T) 391.64 701.33 T
+(cl/Tk) 512.86 701.33 T
+(code required to provide the same \337exible functionality) 315 689.33 T
+(would be quite substantial.) 315 677.33 T
+(Since [incr W) 315 653.33 T
+(idgets] was designed to be a means rather) 370.14 653.33 T
+-0.03 (than an end, each mega-widget is itself extensible. [incr) 315 641.33 P
+(Tk] provides the mechanism and framework to build) 315 629.33 T
+(new mega-widgets based upon existing ones using) 315 617.33 T
+(object-oriented techniques such as inheritance and com-) 315 605.33 T
+(position. [incr W) 315 593.33 T
+(idgets] provides \322child sites\323 which) 382.65 593.33 T
+(enable the visual aspects of a mega-widget to be aug-) 315 581.33 T
+(mented.) 315 569.33 T
+(The login screen example could bene\336t from this capa-) 315 545.33 T
+(bility) 315 533.33 T
+(. A new \322Login\323 mega-widget derived from the) 335.47 533.33 T
+(Dialog class can be created, encapsulating the combina-) 315 521.33 T
+-0.14 (tion of widgets required to implement login screen func-) 315 509.33 P
+-0.18 (tionality and enable reuse across many new projects. As) 315 497.33 P
+(a mega-widget, the Login class should maintain the) 315 485.33 T
+(standard options such as background and cursor) 315 473.33 T
+(. It) 506.08 473.33 T
+(should also provide unique options for specifying the) 315 461.33 T
+(labels of the entry widgets so they may be easily modi-) 315 449.33 T
+-0.4 (\336ed. Figure 7 shows the [incr T) 315 437.33 P
+-0.4 (cl]/[incr Tk] code needed) 437.74 437.33 P
+(to implement the \322Login\323 mega-widget class.) 315 425.33 T
+(The Login mega-widget can now be reused in new) 315 401.33 T
+-0.39 (applications. It can be used as the front end to a database) 315 389.33 P
+(or a system administration tool. Since the labels were) 315 377.33 T
+(made public, the Login class can even be international-) 315 365.33 T
+(ized. For example, the \322-userlabel\323, \322-passwdlabel\323) 315 353.33 T
+(options could be given in a foreign dialect or read from) 315 341.33 T
+(a language speci\336c con\336guration \336le. Since the Login) 315 329.33 T
+(class was derived from the Dialog class, the button) 315 317.33 T
+(labels may be modi\336ed as well. T) 315 305.33 T
+(o illustrate, Figure 8) 449.01 305.33 T
+(depicts an instance of the Login mega-widget in Span-) 315 293.33 T
+(ish.) 315 281.33 T
+(One \336nal point. It should be noted that the lack of an) 315 257.33 T
+-0.12 (option being made public does not make it inaccessible.) 315 245.33 P
+(The dilemma is that keeping all options tends to cause) 315 233.33 T
+-0.1 (option explosion, yet only providing a few limits useful-) 315 221.33 P
+(ness. As a general rule, standard options should be kept) 315 209.33 T
+(as well as frequently used options. In the Login mega-) 315 197.33 T
+(widget, standard options were kept and each label was) 315 185.33 T
+(provided a unique option due to a high degree of antici-) 315 173.33 T
+-0.36 (pated usage. Other options such as \322-foreground\323 can be) 315 161.33 P
+(accessed on an as needed basis via the [incr Tk] \324com-) 315 149.33 T
+-0.37 (ponent\325 command or using the option database. Figure 9) 315 137.33 P
+(illustrates both of these methods of component access.) 315 125.33 T
+FMENDPAGE
+%%EndPage: "4" 4
+%%Page: "5" 5
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 225 540 729 R
+7 X
+0 0 0 1 0 0 0 K
+V
+4 8 Q
+0 X
+( itcl::class Login {) 72 713.67 T
+( inherit) 72 703.67 T
+5 F
+(iwidgets::Dialog) 139.2 703.67 T
+4 F
+( constructor {args} {) 72 683.67 T
+( itk_component add user {) 72 673.67 T
+( Entryf) 72 663.67 T
+(ield $itk_interior.user -labeltext \322User:\323 -width 10 \134) 168 663.67 T
+( -f) 72 653.67 T
+(ixed 10 -validate alphabetic) 268.8 653.67 T
+( } {) 72 643.67 T
+( keep -cursor -background) 72 633.67 T
+( }) 72 623.67 T
+( pack $itk_component\050user\051 -f) 72 613.67 T
+(ill x -pady 5) 254.4 613.67 T
+( itk_component add passwd {) 72 593.67 T
+( Entryf) 72 583.67 T
+(ield $itk_interior.passwd -labeltext \322Password:\323 -show \134267) 163.2 583.67 T
+( } {) 72 573.67 T
+( keep -cursor -background) 72 563.67 T
+( }) 72 553.67 T
+( pack $itk_component\050passwd\051 -f) 72 543.67 T
+(ill x -pady 5) 264 543.67 T
+( hide Help) 72 523.67 T
+( hide Apply) 72 513.67 T
+( eval itk_initialize $args) 72 493.67 T
+( }) 72 483.67 T
+( itk_option def) 72 463.67 T
+(ine -userlabel userLabel Text \322User:\323 {) 168 463.67 T
+( $itk_component\050user\051 conf) 72 453.67 T
+(igure -labeltext $itk_option\050-userlabel\051) 240 453.67 T
+( Labeledwidget::alignlabels $itk_component\050user\051 $itk_component\050passwd\051) 72 443.67 T
+( }) 72 433.67 T
+( itk_option def) 72 413.67 T
+(ine -passwdlabel passwdLabel Text \322Password:\323 {) 168 413.67 T
+( $itk_component\050passwd\051 conf) 72 403.67 T
+(igure -labeltext $itk_option\050-passwdlabel\051) 249.6 403.67 T
+( Labeledwidget::alignlabels $itk_component\050user\051 $itk_component\050passwd\051) 72 393.67 T
+( }) 72 383.67 T
+( method name {} {) 72 363.67 T
+( return [$itk_component\050user\051 get]) 72 353.67 T
+( }) 72 343.67 T
+( method passwd {} {) 72 323.67 T
+( return [$itk_component\050passwd\051 get]) 72 313.67 T
+( }) 72 303.67 T
+( }) 72 293.67 T
+( Login .login -title \322Login Screen\323 -modality application) 72 273.67 T
+( if {[.login activate]} {) 72 253.67 T
+( LoginProc [.login name] [.login passwd]) 72 243.67 T
+( }) 72 233.67 T
+72 225 540 729 R
+0.5 H
+2 Z
+N
+72 207 540 216 R
+7 X
+V
+0 10 Q
+0 X
+(FIGURE 7) 189.15 209.33 T
+1 F
+( - [incr T) 235.54 209.33 T
+(cl]/[incr Tk] Login mega-widget class) 270.66 209.33 T
+72 90 540 198 R
+7 X
+V
+4 8 Q
+0 X
+( Login .login -title \322Spanish Login Screen\323 \134) 72 182.67 T
+( -userlabel \322Nombre:\323 \134) 72 172.67 T
+( -passwdlabel \322Contrasena:\323 \134) 72 162.67 T
+( -modality application) 72 152.67 T
+( .login buttonconf) 72 142.67 T
+(igure OK -text \322Bien\323) 187.2 142.67 T
+( .login buttonconf) 72 132.67 T
+(igure Cancel -text \322Cancelar\323) 187.2 132.67 T
+( if {[.login activate]} {) 72 112.67 T
+( LoginProc [.login name] [.login passwd]) 72 102.67 T
+( }) 72 92.67 T
+72 90 540 198 R
+N
+%%BeginBinary: 8344
+280 176 144 90.51 0 360 98.49
+/red <
+72FFFFFFFFFFFFFFFFFFFFFFFFFF66F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF80808080
+8080808080808080808080808080808080808080404040404040404040404040
+4040404040404040404040000000000000000000000000000000000039C069DD
+00FF0000003333330033CCDD9999112277005544FFCC66AABBFF33EE9999CC7A
+EFD3557F9765E1A36FE700FF5500B22EB099FFFFB07AFFCC0087AFB48858D7CD
+73E6A24DBFF5439D50D080C0C080C0808060C000FFA000FF20C0A040C040D060
+F0E010B4BE8BD28BD9B3FF72A099FF00192FBFFF6223852F465F4770FF0000FF
+> store
+/green <
+9F0000000000000000000000000099DEFFFFFFBFBFBFBFBF8080808080404040
+40000000FFFFFFFFFFBFBFBFBF808080808040404040400000000000FFFFFFFF
+FFBFBFBFBFBF8080808040404040400000000000FFFFFFFFFFBFBFBFBFBF8080
+8080804040400000000000FFFFFFBFBFBFBFBF80808040404040400063E0B500
+996699FF00663399BBFF99DD99FF112277005544CCCC66AABB6600EE6600CC69
+E3B56B7F9765E1A36FE700FF1A00B28B3099FFFFB094FFF700CEEEEE8858D700
+73E6A24DBFF54DB38080C0C080C080808060C08000A080402070A0402040D0F0
+F0E010B4BE5BB477D9B3FF77A089E4FF194F2600B641DE4F829E4780FF0000FF
+> store
+/blue <
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3BF8040FFBF804000FFBF804000FFBF80
+00BF8040FFBF804000FF804000FFBF804000FFBF804000FFBF804000FFBF8040
+00FFBF804000FFBF4000FFBF804000FFBF804000FFBF804000FFBF804000FFBF
+804000FFBF00FFBF804000BF8040FFBF804000FFBF40FFBF8040004063E0B500
+FF3399FF88666666009966DDFFFF112277DD554499FFCCAABBCC99EE9966CC69
+E3B52F7F9765E1A36FE7BFCC8BEEB257606BFBB3B015322480FAEEB48858D700
+73E6A24DBFF556CAD050C080C08080C08060C080FF0000402070C0802040D060
+50E010B4BE7A8C65D9B3E085A076C400704F2600FC5AE050B4A0FF9000FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+6F6F7S#F6F76F6F7J"
+T"F78z8z8z
+4F9S"F94F9
+
+;z"
+SGF7F6<z"z
+0F6F7S4F6=z8z
+/F9S3F9
+J'J#>$@%J#F'
+O@FEFEFEFEF9FE;FEFEFEFEFEFEFEFEFE5FEFEFEFEFEFEF9FEJ'J"B"8"J'
+O?FEFEF9F9F9FEFF9F9F9FFEFEF9F9F9FEJ"J#J#8#J"
+ODF9<F9F9JFEFEF9F94F9J#8(:%9'9$9%;#H$:*8'?#8"9$8'8$:$8'
+OAFEFEF9FEFEFEF9FEFEFEFEFEFEFEFEFEF9FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF9F9FEFEFEFEFEFEF9FEFEFEFEF9FEFEFEFEFEFEF9FEFEFEFEFEFEFEFEFEFEFEF9FEFE@s"J"9%8&9%8"8%8":%;%E1:"8%<"9#8)8"808%
+F6F7O,F9FEFEF9F9FEF9FEFEFEF9F9FEFEF9FEF9FEFEF9FEF9F9F9FEF9FEFEFEFEFEF9FEFEFEF9FEFEF9F9FEFEF9F9F9FEF9FEFEF9FEFEFEFEFEF9FEFEF9F9FEFEFEFEF9FEFEF9FEFEFEF9FEFEF9F9FEF9FEFEArJ#9"9$:$="A%:"J$H"@#9"9%:$9"<"<"
+F9O.F9F9FEF9F9F9F9FEFEF9FEFEFEF9F94F9F9F9F9F9F9FEF9F9F9F9F9F9F9FEFEF9@sJ"8#A%H"9"J"?'I"8#H%9%
+F7O-FEF9F9FEFEF9F9F9FE5FEF9FEFEFEFEF9FEF9F9F9F9F9F9F9F9F9F9@tJ">$<"H%J":$9&J">%?%9%
+F9O-FEFEF9FEFEFEF9F9F95FEFEF9FEFEF9F9F9F95FEFEF9FEFEFEF9FEFEFEF9FEFEJ'9+8$8"9$8"8'8"9";"8$9(8(8$8"9"<08"808"9"
+O@F9FEFEFEFEF9F9FEFEF9F9F9F9FEFEF9FEF9FEFEFEF9FEFEFEFEFEF9F9FEFEFEFEFEFEFEF9F9FEFEFEF9F9FEFEFEFEFEF9FEFEF9FEFEFEF9FEFEFEFEF9F9F9F9FEFEFEF9F9FEFEF9F9FEFEFEF9F9F9F9FEFEFEF9F9FEFEFEJ';#:z8s;s9$9";"x;':$8%:$:$8s
+O?F9F9F9F9F9F9F9F99F9F9F9F9F9F9F9FEF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9J&
+Q-FEF9F9F9F9J"8"J(
+OFFEFEO1F9FEFEFEFEFEF9=z8z
+/F7S3F7rF"J%
+F7F7S4F7F7F7F7'z&
+F6F6F6F6F6F7SFEEF6F6F6F6F68$J%
+F9F9F9SHF9F9F9F7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+J5
+P7Q(C5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEJ5
+P7Q(FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5J#z"
+P7C5FEQ%C5FFJ#J#
+P7FEC5Q$FFC5J#9#I#J#F$<$J#
+4FEFEFEFEFEFEO5C5FEFEFEFEFEFEFEP6C5FFJ"J#F#<%G"J#
+6FEP FEC5C5C5FEC5C5C5FEP$FFC5J%8*;#8+9#J#J#
+=FEFEFEFEFEEEFEFEFEEEFEFEFEFEFEFEFEEEFEFEEEFEFEFEFEFEFEO!C5FEQ$C5FFJ#:'8*9%9"8'J)8#8#?&9$9&8&9$J#
+6EEFEFEFEEEEEFEFEFEEEEEFEFEEEEEFEFEFEEEFEFEFEFEFEEEEEFEFEO%FEC5C5FEFEFEC5FEFEFEFEFEFEFEFEFEFEFEFEFEFEC5FEFEFEFEFEFEFEFEFEFEFEOIFFC5J"=#>#J,9"@&8&8&8&8&J#
+O"EEEEEEEEEEO!C5FEC5C5FEC5FEC5FEC5C5C5C5FEC5C5C5FEC5C5C5FEC5FEC5C5C5C5FEC5C5C5FEC5C5C5FEOHC5FFJ#J":#J#J$G&J#
+7EEFE>EEFEFEO'FEC5?FEFEFEC5FEFEFEC5OHFFC5J%J#J%G%J#
+O.EEEEEEEEO%C5FE?C5C5C5C5C5C5C5FEOHC5FFJ"J"C#8#J#J"D$J#
+8EE7FEFEFEFEFEO!FEC5BFEFEC5FEOLFFC5J'D%<'J%;59&8%:,J#
+<EEFEFEFEFEEEEEFEFEEEEEFEFEFEFEEEO%C5FEC5FE4FEC5C5FEFEFEC5FEC5FEFEFEFEFEFEC5FEFEFEFEC5FEFEFEC5FEFEFEFEC5FEFEFEC5C5C5FEFEFEC5OHC5FFJ#9#8%8#8#8s8#:%9#J"t8z:$9%;$9$J#
+4EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEO!FEC51C5C5C5C5C5C5C5C5C5C5C5C5C5C5OIFFC5J#J#
+P7C5FEQ$C5FFJ#J#
+P7FEC5Q$FFC5J#J#
+P7C5FEQ$C5FFJ5
+P7Q(FEC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5J5
+P7Q(C5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFJz
+P7Q(EE
+
+
+
+
+
+
+
+
+
+
+Jz
+P5Q,FE
+J5
+P7Q'C5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5J5
+P7Q(FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5FEC5J#z"
+P7C5FEQ%C5FFJ#J#J#
+P7FEC5CFEFEP-FFC5J%F#J#J#
+6FEFEFEFEFEFEO9C5FEQ$C5FFJ'J#J#
+5FEFEEEEEFEFEOJFEC5Q$FFC5J$8(8&8"8-9%9%8&9%9#J#J#
+4FEFEEEEEEEEEFEFEFEFEFEFEEEFEFEFEFEEEFEFEEEFEFEEEFEFEFEFEFEFEFEFEFEFEFEFEFEFEEEFEFEFEFEFEFEFEFE:C5FEQ$C5FFJ'9'8"9"859,J#J#
+;FEFEEEEEFEFEFEEEFEFEEEEEEEFE4FEFEEEEEFEFEEEFEFEEEEEFEFEEEFEFEEEEEFEFEFEEEFEFEEEFEFEEEEEFEFE>FEC5Q$FFC5J"B%=%@":#<#J#J#
+DEEEEEEEEEEFEEEEEEEEEEEEEEEEE:C5FEQ$C5FFJ"9$9&:#A$J#:"<"<"<"<"J#
+O"EEFEFEFEEEEEFEFEFEFEFEFEFEFE@FEC5FEFEFEFEFEP1FFC5J%;"8"9%>%J#:"<"<"<"<"J#
+O%FEFEEEEEEEFEEEEEEEEEFEFEEEEE@C5FEC5C5C5C5C5P1C5FFJ$8#H"B%=#F#J#J#
+4EEFEFEFEFEFEFEFEEEEEFEFEFEFE:FEC5Q$FFC5J-?%;5>(J#J#
+5EEFEFEFEFEEEEEFEFEFEFEEEEEFEFEEE4EEFEFEFEEEFEFEEEFEFEFEFEEEEEEEFEFEFEFEEEEEFEFEFEEEFEFE=C5FEQ$C5FFJ%8%8#8#9&:v9%8#8#8tJ#J#
+6EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE:FEC5Q$FFC5J#J#
+P7C5FEQ$C5FFJ#J#
+P7FEC5Q$FFC5J#J#J#
+P7C5FECC5C5P-C5FFJ5
+P7Q(FEC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5J5
+P7Q(C5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFC5FFJz
+P7Q(FE
+Jz
+P5Q,EE
+
+
+
+
+
+
+
+
+
+
+
+
+
+<z
+SFED=z"
+SDEEFF=Z
+SD<z
+SFEE
+
+
+
+
+
+
+
+Jz
+KOAEDJ"
+P=FFJz"
+MO=EEFF
+
+
+JZJZ
+O#O5O"O5J"J"
+P7EDP6EDJz"Jz"
+O%O1EEEDO%O1EEED
+
+
+
+
+J'8#J%J#
+O7FEFEFEFEFEFEFEFEP#FEFEFEFE=FEFEJ)J'
+O9EEEEEEFEFEEEEEEEP"FEFEEEEEFEFEJ#8%8&J$8(8&9%9%<%8&
+O?FEFEFEFEFEFEFEFEEEFEFEOBFEFEEEEEEEEEFEFEFEFEFEFEEEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEEEFEFEJ'9%J'93:'9"
+OBFEFEEEEEFEFEFEEEFEFEOHFEFEEEEEFEFEFEEEFEFEEEFEFEEEEEFEFEEEFEFEEEEEFEFEFEFEEEEEFEFEFEJ&C"J#=">#A#>#
+O9FEFEFEFEEEEEOKEEEEEEEEEEEEEEEEEEJ&<#J$I#=$;"
+O9EEEEEEFEFEFEFEP$FEFEFEFEFEFEFEFEEEJ%J%I%:%
+ODEEEEEEEEP!FEFEEEEEEEEEEEEEFEFEEEEEJ#J$8#H#;#
+OFFEFEOHEEFEFEFEFEFEFEFEFEJ&:'J.=.:(
+O9FEFEFEFEEEEEFEFEFEFEEEOIEEFEFEFEFEEEEEFEFEFEEEFEFEEEFEFEFEFEEEEEEEFEFEFEFEEEEEFEFEFEEEFEFEJ'8#8%8#8#J%8s8#8%9%8#8s
+O7EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEOCEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+
+
+
+
+
+
+&J%
+F7F7F7F7F7SGF7F7F7F7&JzJzJ&
+F6F6F6F6F6O O1EDO&O1EDMF6F6F6F6F68$J"J"J%
+F9F9F9MEDP6EDP1F9F9F9F7JzJz
+O#O5EEO"O5EE
+
+
+JZ
+MO=J"
+LFFJz
+KOAEE
+
+
+
+
+
+
+
+<z"z"z
+0F6F7S#F6F71F6;z8z8z
+1F9S"F91F9
+
+7z8z8z
+5F7S"F74F7"J"J"
+F76F7S#F7
+ENDBITMAP
+%%EndBinary
+72 72 540 81 R
+7 X
+V
+0 10 Q
+0 X
+(FIGURE 8) 237.26 74.33 T
+1 F
+( - Spanish login screen) 283.64 74.33 T
+FMENDPAGE
+%%EndPage: "5" 5
+%%Page: "6" 6
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 12 Q
+0 X
+0 0 0 1 0 0 0 K
+(Bene\336ts) 164.17 572 T
+1 10 Q
+(The bene\336ts of mega-widget usage increase proportion-) 72 547.33 T
+(ally with the complexity of the application. This was) 72 535.33 T
+(readily apparent in the login screen example. Replace-) 72 523.33 T
+-0.44 (ment of the more elemental patterns was mostly a matter) 72 511.33 P
+(of convenience. Y) 72 499.33 T
+(et as requirements were added, the) 144.03 499.33 T
+(code savings became substantial. As the example) 72 487.33 T
+(reached a medium level of complexity) 72 475.33 T
+(, the bene\336ts) 224.93 475.33 T
+-0.24 (extended to consistent usage of style. Productivity gains) 72 463.33 P
+(also became quite noticeable.) 72 451.33 T
+(As applications increase in size, invariably requiring a) 72 427.33 T
+(main window and numerous dialogs, mega-widget) 72 415.33 T
+-0.33 (usage of) 72 403.33 P
+-0.33 (fers signi\336cant productivity gains and increased) 105.09 403.33 P
+(reliability) 72 391.33 T
+(. This could also be seen in the example as) 110.24 391.33 T
+(well. A savings of a sizable amount of straight T) 72 379.33 T
+(cl/Tk) 265.72 379.33 T
+-0.46 (code was achieved and implementation of such things as) 72 367.33 P
+(modality was abstracted into the Dialog mega-widget) 72 355.33 T
+(and it\325) 72 343.33 T
+(s base classes. Since the Dialog class is encapsu-) 97.28 343.33 T
+(lated and tested, the Login mega-widget was built on a) 72 331.33 T
+-0.24 (sound foundation. Errors typical of \322cut and paste\323 built) 72 319.33 P
+(applications, such as for) 72 307.33 T
+(getting to release a grab, have) 168.47 307.33 T
+(been eliminated. Developers are free to concentrate on) 72 295.33 T
+(the application and not low level problems.) 72 283.33 T
+(T) 72 259.33 T
+(o draw an analogy to current building construction) 77.41 259.33 T
+-0.24 (techniques, Tk widgets are bricks and mega-widgets are) 72 247.33 P
+-0.19 (pre-formed walls built with bricks. It is much quicker to) 72 235.33 P
+(construct a lar) 72 223.33 T
+(ge building using walls than bricks.) 128.47 223.33 T
+(Although in the construction industry) 72 211.33 T
+(, this creates a lot) 221.35 211.33 T
+(of cookie cutter) 72 199.33 T
+(, identical, and boring buildings, appli-) 134.36 199.33 T
+-0.46 (cation users appreciate this consistency) 72 187.33 P
+-0.46 (, especially when) 226.72 187.33 P
+(it increases usability) 72 175.33 T
+(. A user shouldn\325) 153.01 175.33 T
+(t be confused dur-) 221.71 175.33 T
+(ing the operation of an application by being presented) 72 163.33 T
+(variant combinations of the same widget patterns. Each) 72 151.33 T
+(one having a unique behavior which users must learn) 72 139.33 T
+(during operation, rather than from prior experiences) 72 127.33 T
+(with other more standard interfaces.) 72 115.33 T
+(The signi\336cance of a consistent style should not be) 72 91.33 T
+(overlooked. It doesn\325) 72 79.33 T
+(t always appear in typical T) 157.08 79.33 T
+(cl/Tk) 267.19 79.33 T
+72 598 297 720 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 626 297 707 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+81 635 288 698 R
+7 X
+V
+4 8 Q
+0 X
+(option add *Login*user.foreground Red) 81 692.67 T
+1 10 Q
+( Or) 81 669.33 T
+4 8 Q
+(.login component user conf) 81 650.67 T
+(igure \134) 205.8 650.67 T
+( -foreground Red) 81 640.67 T
+0 10 Q
+(FIGURE 9) 109.91 610.17 T
+1 F
+( -Login component access) 156.3 610.17 T
+0 0 612 792 C
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+-0.28 (applications. This stems from Tk itself. Its greatest asset) 315 713.33 P
+-0.38 (is also a liability: a simple and easy to use widget set. Tk) 315 701.33 P
+(can make it easy for novice programmers to construct) 315 689.33 T
+(interfaces which conform to random personal styles) 315 677.33 T
+(rather than any known industry standards. Many) 315 665.33 T
+-0.34 (unusual applications have been produced with Tk which) 315 653.33 P
+(have sunken buttons, raised entries, or are packed with) 315 641.33 T
+(such a lack of padding as to create \322brick walls\323 of wid-) 315 629.33 T
+(gets. Applications which exhibit these qualities can be) 315 617.33 T
+(found at the T) 315 605.33 T
+(cl/Tk archive site. Mega-widgets can) 370.68 605.33 T
+(lessen the occurrence of these visual works of art while) 315 593.33 T
+(maintaining simplicity and ease of use. For example,) 315 581.33 T
+(use of the [incr W) 315 569.33 T
+(idgets] Buttonbox mega-widget can) 386.8 569.33 T
+(stop the button \322brick wall\323 ef) 315 557.33 T
+(fect.) 436.19 557.33 T
+0 12 Q
+(Look-and-Feel) 389.83 526 T
+1 10 Q
+(It is visually evident from the example that the look-) 315 501.33 T
+(and-feel of [incr W) 315 489.33 T
+(idgets] is Motif. Adherence to the) 391.51 489.33 T
+(style guide is close. Little ef) 315 477.33 T
+(fort has been spent attempt-) 427.59 477.33 T
+(ing to make minor improvements. This is even more) 315 465.33 T
+(clear in some of the lar) 315 453.33 T
+(ger [incr W) 406.74 453.33 T
+(idget] dialog mega-) 452.43 453.33 T
+(widget classes such as the FileSelectionDialog. The) 315 441.33 T
+(Motif likeness is also evident in the initial selection of) 315 429.33 T
+(classes which comprise the mega-widget set, including) 315 417.33 T
+(most of the Motif favorites. It even extends beyond) 315 405.33 T
+(appearance to behavior and options.) 315 393.33 T
+(The Motif look-and-feel was chosen because of its) 315 369.33 T
+-0.17 (strength in the industry and customer requirements. The) 315 357.33 P
+-0.12 (demand of the current [incr W) 315 345.33 P
+-0.12 (idgets] customer base is a) 435.35 345.33 P
+(Motif appearance and behavior) 315 333.33 T
+(, regardless of the under-) 439.28 333.33 T
+(lying implementation. Thus, very few liberties were) 315 321.33 T
+(taken in the visual style and behavioral aspects of [incr) 315 309.33 T
+(W) 315 297.33 T
+(idgets]. Instead, concepts such as extensible child) 324.04 297.33 T
+(sites and \337exible component con\336guration option sets) 315 285.33 T
+(have been implemented which allow developer diver-) 315 273.33 T
+(gence from the Motif style on an as needed basis.) 315 261.33 T
+0 12 Q
+(Extensibility) 395.16 230 T
+1 10 Q
+-0.01 (The extensibility of [incr W) 315 211.33 P
+-0.01 (idgets] is based on a similar) 426.2 211.33 P
+(concept found in Motif called \322child sites\323 which allow) 315 199.33 T
+(the basic functionality and visual appearance of an) 315 187.33 T
+(existing mega-widget to be augmented. The idea is sim-) 315 175.33 T
+(ple, yet it yields a powerful mechanism by which mega-) 315 163.33 T
+-0.1 (widgets become malleable and reusable. They allow for) 315 151.33 P
+(the possibility of unanticipated future requirements,) 315 139.33 T
+(making for a much less restrictive widget set.) 315 127.33 T
+(Consider an application which requires a icon selection) 315 103.33 T
+(dialog, visually displaying the icon as the textual name) 315 91.33 T
+-0.08 (is selected from the list. Also, suppose we would like to) 315 79.33 P
+FMENDPAGE
+%%EndPage: "6" 6
+%%Page: "7" 7
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(see this canvas on which the icon is presented lie) 72 713.33 T
+(between the listbox and entry widget. This could easily) 72 701.33 T
+(be implemented using the [incr W) 72 689.33 T
+(idgets] Selectiondia-) 207.97 689.33 T
+(log mega-widget which maintains a child site, as) 72 677.33 T
+(depicted in Figure 10.) 72 665.18 T
+(The advantages of child sites can be seen by examining) 72 641.18 T
+(the opposite situation. Had the SelectionDialog been) 72 629.18 T
+(designed minus a child site, the user would have been) 72 617.18 T
+72 72 297 603 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 90 297 594 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+%%BeginBinary: 12737
+222 379 114.17 194.91 0 128.83 387
+/red <
+3EC472FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF80808080
+8080808080808080808080808080808080808080404040404040404040404040
+4040404040404040404040000000000000000000000000000000000039C069DD
+00FF0000003333330033CCDD9999112277005544FFCC66AABBFF33EE9999CC7A
+EFD39765E1A36FE700FF5500B2557F2EAFB4CD73E6A24DBF008799FFFFF5B0B0
+7AFFCC88BE8BD28BD9B3FF72439D58D750D080C0C080C0808060C000FFA000FF
+20C0A040C040D060F0E010B4A099FF0019BF2FFF6223852F465F4770FF0000FF
+> store
+/green <
+57D79F00000000000000000000000000FFFFFFBFBFBFBFBF8080808080404040
+40000000FFFFFFFFFFBFBFBFBF808080808040404040400000000000FFFFFFFF
+FFBFBFBFBFBF8080808040404040400000000000FFFFFFFFFFBFBFBFBFBF8080
+8080804040400000000000FFFFFFBFBFBFBFBF80808040404040400063E0B500
+996699FF00663399BBFF99DD99FF112277005544CCCC66AABB6600EE6600CC69
+E3B59765E1A36FE700FF1A00B26B7F8BEEEE0073E6A24DBF00CE99FFFFF530B0
+94FFF788BE5BB477D9B3FF774DB358D78080C0C080C080808060C08000A08040
+2070A0402040D0F0F0E010B4A089E4FF19264F00B641DE4F829E4780FF0000FF
+> store
+/blue <
+8CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF8040FFBF804000FFBF804000FFBF80
+00BF8040FFBF804000FF804000FFBF804000FFBF804000FFBF804000FFBF8040
+00FFBF804000FFBF4000FFBF804000FFBF804000FFBF804000FFBF804000FFBF
+804000FFBF00FFBF804000BF8040FFBF804000FFBF40FFBF8040004063E0B500
+FF3399FF88666666009966DDFFFF112277DD554499FFCCAABBCC99EE9966CC69
+E3B59765E1A36FE7BFCC8BEEB22F7F57EEB40073E6A24DBF80FA6BFBB3F560B0
+15322488BE7A8C65D9B3E08556CA58D7D050C080C08080C08060C080FF000040
+2070C0802040D06050E010B4A076C40070264F00FC5AE050B4A0FF9000FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+6F6F7QEF6F76F6F7J"
+RDF78z8z8z
+4F9QDF94F9
+
+;z"
+R;F7F6<z"z
+0F6F7R(F6=z8z
+/F9R'F9
+J%J'>$H"
+O>FEFEFEFE>FEFEFEFEF9FEFEFEFEFEJ"8"J'?"I"
+O>F9F9=FEFEF9F9F9FEF9FEJ"
+P6F9J$:$9'?#8"9$?$:$8"8#8$9'
+OEFEFEFEFEFEFEFEFEFEF9FEFEFEFEF9FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF9FEFE@s"J18%<"9#8'<08,8"
+F6F7O0FEFEFEF9FEFEF9FEFEFEF9FEFEFEF9F9FEF9FEFEF9FEFEFEFEFEF9FEFEFEFEFEF9FEFEF9FEFEFEF9FEFEF9F9F9F9FEFEFEF9FEFEFEF9F9FEArJ%9$<"@#9":"A";%>$<$
+F9O3F9F9F9F9F9F9F9F9F9F9FEFEFEF9F9F9F9F9F9F9F9F9F9@sJ"8#;%>%
+F7OMFEF9F9F9F9F9F9F9F9F9F9@tJ%9$G">%>%9%>$
+F9O2FEF9FEFEFEF9FEFEFEF9FEFEFEF9FEFEFEF9FEFEFEF9FEJ"838"9"<0808.8"
+O>FEFEF9F9F9FEFEFEF9F9F9F9FEFEFEF9F9F9FEFEFEF9FEFEFEFEF9F9F9F9FEFEFEF9F9FEFEF9F9F9FEFEFEF9F9F9F9FEFEFEF9F9FEFEF9F9F9FEFEFEF9F9F9FEFEJ%9$:$9s;':$8%9$:$:#9$9%
+O>F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9
+
+=z8z
+/F7R'F7rF"J%
+F7F7R(F7F7F7F7'z&
+F6F6F6F6F6F7R:EEF6F6F6F6F68$J%
+F9F9F9R<F9F9F9F7
+
+
+
+
+
+
+
+
+
+
+
+
+J#
+4FEFE
+J%9%8&9%
+8FEFEFEFEFEFEFEFEFEFEEEFEFEFEFEFEFEJ.9,
+7FEFEEEEEFEFEEEFEFEEEEEFEFEFEEEFEFEEEFEFEEEEEFEFEJ#@"<%
+;EEEEEEFEEEEEEEJ&
+LEEEEFEFEFEJ"8"
+O EEFEJ#E%
+;FEFEFEFEEEEEJ.>'
+7EEFEFEFEFEEEEEEEFEFEFEFEEEEEFEFEFEFEEEJ#8%9%8#8#8%
+4EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+
+
+
+
+
+
+
+H5=z
+Q6BDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFE3EDH5J"
+Q6FEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBD9FFH#z"?r"r"
+BDFEQ3BDFFE6EDE6FFH#J#E"
+FEBDQ2FFBDFFH&I#J#G"
+BDFEBDFEFEFEFEPHBDFFEDH%J"J#D"
+FEBDBDBD4BDPIFFBDFFH#J#F$
+BDFEQ2BDFFEEEDEDH#9$:$8&:$J#C$
+FEBDFEFEFEFEFEFEFEFEFEBDFEFEFEFEPEFFBDFFFFEEH#9%8-9%J#G$
+BDFEBDBDBDFEFEBDBDBDFEBDBDFEBDFEBDFEBDBDBDFEPDBDFFEEEDEDH#J#B$
+FEBDQ2FFBDFFFFEEH#J#H$
+BDFEQ2BDFFEEEDEDH#J#A$
+FEBDQ2FFBDFFFFEEH*8(;(J#I$
+BDFEBDFEBDFEFEFEBDBDFEFEFEBDBDFEFEFEBDFEFEFEBDPDBDFFEEEDEDH"r:$8wJ#@$
+FEBDBDBDBDBDPEFFBDFFFFEEH#J#J$
+BDFEQ2BDFF4EEEDEDH#J#?#u
+FEBDQ2FFBDFFFFEDH#J#@"B"
+BDFEQ2BDFFEDEDH#J#?z
+FEBDQ2FFBD/E6H#J#?Z
+BDFEQ2BDFF/H#J#J"
+FEBDQ2FFBD7EDH#J#Av"
+BDFEQ2BDFFEEEDH#J#
+FEBDQ2FFBDH#J#
+BDFEQ2BDFFH#8$:$8&8&9&9$:$:$J#
+FEBDFEFEFEFEFEFEFEFEFEBDFEFEBDFEFEFEFEBDFEFEFEFEFEFEFEFEFEFEFEFEP*FFBDH)848&8&8&8&J#
+BDFEBDFEBDBDBDFEFEBDBDBDFEBDBDFEBDFEBDFEBDBDFEBDBDBDFEBDFEBDBDBDFEBDBDBDFEFEBDBDBDFEFEBDBDBDFEP)BDFFH#;"J$9&8&J#
+FEBDBD?FEFEFEBDFEFEFEBDBDFEFEFEBDP)FFBDH#J%9%9%J#
+BDFEEBDBDBDBDBDBDBDFEBDBDBDFEP)BDFFH#;"J"8"<"J#
+FEBDFEBFEFEFEP-FFBDH)8(;"8%8%9&8&8&J#
+BDFEBDBDFEFEFEBDBDFEFEFEBDBDFEFEFEFEFEBDFEFEFEFEBDFEFEFEBDBDFEFEFEBDBDFEFEFEBDP)BDFFH#8$:$8r8$9%:$:$:$J#
+FEBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDP*FFBDH#J#
+BDFEQ2BDFFH#J$J#
+FEBD5FEFEFEPHFFBDH#J$J#
+BDFE5BDBDBDPHBDFFH#J#
+FEBDQ2FFBDH5
+Q6BDFEE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFE6FFBDFFH$z#
+FEBDFFQ1E6FFBDH$J$
+BDFEE6Q0FEBDFFH$J$
+FEBDFFQ0E6FFBDH$J$
+BDFEE6Q0FEBDFFH(:$9&9$J$
+FEBDFFE6FEFEFEFEFEFEFEE6FEFEFEFEFEFEPEE6FFBDH)8&8&8&J$
+BDFEE6FEE6E6E6FEFEE6E6E6FEE6FEE6E6E6FEE6E6E6FEPDFEBDFFH$:"G$J$
+FEBDFFE6FEFEFEPEE6FFBDH$J%J$
+BDFEE66E6E6E6E6PDFEBDFFH$:"J"J$
+FEBDFFFE4FEPDE6FFBDH)8&8%9&J$
+BDFEE6E6FEFEFEE6E6FEFEFEE6FEFEFEFEE6FEFEFEE6PDFEBDFFH(:$9%:$J$
+FEBDFFE6E6E6E6E6E6E6E6E6E6E6E6E6E6PEE6FFBDH$J$
+BDFEE6Q0FEBDFFH$J$
+FEBDFFQ0E6FFBDH$J$
+BDFEE6Q0FEBDFFH5
+Q6FEBDFFE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FEE6FFBDH#z"
+BDFEQ3BDFFH#J#
+FEBDQ2FFBDH#:#J#
+BDFEFEFEQ,BDFFH#:"J#
+FEBDBDQ-FFBDH#J#
+BDFEQ2BDFFH#8$:$:$J#
+FEBDFEFEFEFEFEFEFEFEFEPMFFBDH(9&8&J#
+BDFEBDFEBDBDBDFEBDBDBDFEFEBDBDBDFEPLBDFFH#>&<"J#
+FEBDBDFEFEFEBDBDPLFFBDH#?%J#
+BDFEBDBDBDFEQ%BDFFH#>"@"J#
+FEBDFEFEPLFFBDH08&J#
+BDFEBDBDFEFEFEBDFEBDBDFEFEFEBDBDFEFEFEBDPLBDFFH#8&8$:$J#
+FEBDBDBDBDBDBDBDBDBDBDBDBDPMFFBDH#J#
+BDFEQ2BDFFH#J#
+FEBDQ2FFBDH#J#
+BDFEQ2BDFFH#J#
+FEBDQ2FFBDH#J#
+BDFEQ2BDFFH#J#
+FEBDQ2FFBDH#J#
+BDFEQ2BDFFH#J#
+FEBDQ2FFBDH#J#
+BDFEQ2BDFFH#8$8&9%:$:$J#
+FEBDFEFEFEFEFEFEBDFEFEFEFEFEFEFEFEFEFEFEP?FFBDH08&8&8&J#
+BDFEBDFEBDBDBDFEBDBDFEBDFEBDFEBDBDBDBDFEFEBDBDBDFEFEBDBDBDFEP>BDFFH#8$A$="8&J#
+FEBDFEFEFEFEFEFEBDBDFEFEFEBDP>FFBDH#8%?%A%J#
+BDFEBDBDBDBDFEBDBDBDBDBDBDFEP>BDFFH#;"J"8"J#
+FEBDFE4FEFEPBFFBDH+;/8&J#
+BDFEBDBDFEFEFEBDBDFEFEBDBDFEFEFEBDFEBDBDFEFEFEBDBDFEFEFEBDP>BDFFH#8$8r8&8$:$J#
+FEBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDP?FFBDH#J#
+BDFEQ2BDFFH#J#
+FEBDQ2FFBDH#J#
+BDFEQ2BDFFH#J#
+FEBDQ2FFBDH#J#
+BDFEQ2BDFFH#J#
+FEBDQ2FFBDH&I#J#J#
+BDFEBDFEFEFEFE>FEFEP(BDFFH%J"J"J#
+FEBDBDBD4BD?BDP)FFBDH#J#
+BDFEQ2BDFFH#;#9$8(8$:$9%9&9$J#
+FEBDFEFEFEFEFEFEFEFEBDFEFEFEFEFEFEFEFEFEFEFEFEFEFEBDFEFEFEFEFEFEP)FFBDH#:$8.8%8&8&8&8%J#
+BDFEFEBDBDFEBDBDBDFEBDBDFEBDBDBDFEBDBDBDBDFEFEBDBDBDFEBDBDBDBDFEBDFEBDBDBDFEBDBDBDP)BDFFH#9#;$J$J#
+FEBDFEBDFEFEFE9FEFEFEP7FFBDH#9#;%8&F%J#
+BDFEBDFEBDBDBDBDBDFEBDFEBDFEBDBDBDP7BDFFH#:#=":"J#
+FEBDBDFEFEFEPMFFBDH%9*9$8'8&8,9'J#Av
+BDFEBDFEBDFEFEBDBDFEFEFEBDBDFEBDFEBDFEFEFEBDBDFEFEFEBDBDFEFEFEBDFEBDFEFEFEFEBDFEFEFEBDFEP'BDFFEDH&9#8$?&:$:u:&J#@"
+FEBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDP'FFBDEDH#J#?z
+BDFEQ2BDFF/E6H#F$J#
+FEBDFEFEBDPMFFBDH#F#J#
+BDFEBDBDQ BDFFH#J#
+FEBDQ2FFBDH#J#
+BDFEQ2BDFFH#J#
+FEBDQ2FFBDH#E$G#J#
+BDFEFEFEFEFEFEP;BDFFH#8"B#H"J#
+FEBDFEBDBDBDP<FFBDH#J#
+BDFEQ2BDFFH)9$A$8&;#:$8&:$J#
+FEBDBDFEFEFEFEFEFEFEFEFEFEFEFEBDFEFEFEFEFEFEFEFEFEBDFEFEFEFEFEFEP#FFBDH)8&?-9%8-8&J#
+BDFEBDBDFEBDBDBDFEBDBDBDFEFEBDBDBDFEBDBDFEBDBDBDFEFEBDBDFEFEBDBDBDFEBDBDFEFEBDBDFEFEBDBDBDFEP"BDFFH#?$A$A"C"<$J#?Z
+FEBDFEFEFEFEFEFEBDBDFEFEFEP#FFBD/H#?%@%J%J#?"C"
+BDFEBDBDBDBDBDBDBDBD?BDBDBDBDP"BDFFE6EDH#<";"C"J"J#Bt$
+FEBDFEFEFEBFEP"FFBDEEEDEDE6H#8,8-959(J#@$
+BDFEBDFEFEFEBDBDBDFEFEFEBDFEFEFEFEFEFEBDBDFEFEFEBD6FEFEFEBDBDFEFEFEBDFEFEFEBDBDFEFEFEBDBDFEFEFEFEBDBDFEFEFEBDP"BDFFE6FFFFH#9$9$9'8$:$8r8$8$8#8$J#J$
+FEBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDP#FFBD4EDEDE6H#J#A$
+BDFEQ2BDFFE6FFFFH#J$J#I$
+FEBD<FEFEFEPAFFBDEDEDE6H#J$J#B$
+BDFE<BDBDBDPABDFFE6FFFFH#J#H$
+FEBDQ2FFBDEDEDE6H#J#C$
+BDFEQ2BDFFE6FFFFH#J#G$
+FEBDQ2FFBDEDEDE6H#J#J#D$
+BDFE<FEFEPBBDFFE6FFEDH#8"J"J#H"
+FEBDFE9BDPCFFBDE6H#J#E"
+BDFEQ2BDFFE6H)8&8%:$;#J#G"
+FEBDBDFEFEFEFEFEFEBDFEFEFEFEFEFEFEFEFEFEFEFEP?FFBDE6H5?Z
+Q6BDFEBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFF/H5>"
+Q6FEBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFHz=z
+Q6EE3EE
+
+
+
+
+HZ
+R"J"
+R3EDJz"
+4QLEEED
+
+
+
+
+
+
+
+J#
+P6FEFEJ"8"
+P5FEFEJ"
+P;FEJ&
+P8EEEEFEFEFEJ":"
+P8FEFEJ"
+P5EEJ"8":"
+P6EEFEFEJ">#:#
+P1FEEEEEFEFEJ$:"="8"
+P0FEFEFEEEFEFEJ"9"
+P7FEFEJ"<"
+P3FEFEJ";"<"9#
+P0EEFEEEEEEEJ"8"
+P>EEFEJ"?"8"
+P5FEEEFEJ"8#8#
+P0FEEEFEEEEEJ"C"
+P/FEFEJ"9#;";"
+P.FEEEFEEEFEJ#9"="
+P1EEFEEEFEJ"="
+P:EEEEJ"8"@$
+P-FEEEEEEEEEJ#?"
+P6FEFEEEJ"
+P2EEJ"8#
+P0FEEEEEJ"=$
+P-EEEEEEEEJ$
+P8FEFEFEJ$<"9"
+P.EEEEEEFEFE
+J#=$
+P5FEFEEEEEEEJ$
+P2FEFEFEJ$
+P/FEFEFEJ#
+P-FEFEJ"
+P;EEJ"
+P,FEJ"
+P:EEJ#D#
+P*FEFEFEFEJ#H"
+P(FEFEFEJ"
+P=FE
+J#
+P&FEFEJ#J$
+P$FEFE8FEFEFEJ"J"
+P#FE=FE
+
+J"
+PBFE
+J#J"
+P#EEEE=EEJz
+P%=EE
+
+
+
+
+
+Jz
+4QLEDI"
+EDHz
+R"EE
+
+
+
+
+
+
+
+
+
+
+
+
+J#
+4FEFE
+J%9%8&
+8FEFEFEFEFEFEFEFEFEFEEEFEFEJ.9%
+7FEFEEEEEFEFEEEFEFEEEEEFEFEFEEEFEFEJ#@"
+;EEEEEE
+
+J#
+;FEFEJ.
+7EEFEFEFEFEEEEEEEFEFEFEFEEEJ#8%9%8#8#
+4EEEEEEEEEEEEEEEEEEEEEEEEEEEE
+
+
+
+
+
+
+
+
+H5
+R!BDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDH5
+R!FEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFEBDFFH#z#
+BDFEQKBDFFBDH#J#
+FEBDQKBDFFH#J#
+BDFEQKFFBDH#J#
+FEBDQKBDFFH#J#
+BDFEQKFFBDH#9$:$9&9$J#
+FEBDFEFEFEFEFEFEFEBDFEFEFEFEFEFEQ0BDFFH#8&8&8&8&J#
+BDFEFEBDBDBDFEFEBDBDBDFEBDFEBDBDBDFEBDBDBDFEQ/FFBDH#<"G$J#
+FEBDBDFEFEFEQ0BDFFH#J%J#
+BDFE8BDBDBDBDQ/FFBDH#<"J"J#
+FEBDFE4FEQ/BDFFH#8&8&8%9&J#
+BDFEBDFEFEFEBDBDFEFEFEBDFEFEFEFEBDFEFEFEBDQ/FFBDH#9$:$9%:$J#
+FEBDBDBDBDBDBDBDBDBDBDBDBDBDBDQ0BDFFH#J#
+BDFEQKFFBDH#J#
+FEBDQKBDFFH#J#
+BDFEQKFFBDH5
+R!FEBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFH5
+R!BDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDFFBDHz
+R!EE
+
+
+
+
+
+
+
+
+
+
+<z
+R:ED=z"
+R8EEFF=Z
+R8<z
+R:EE
+
+
+
+
+
+
+
+Jz
+9O?EDJ"
+P)FFJz"
+;O;EEFF
+
+
+JZJZ
+?O3>O3J"J"
+P#EDP"EDJz"Jz"
+AO/EEEDAO/EEED
+
+
+
+
+J%:#9#J%J#
+O+FEFEFEFEFEFEFEFEO8FEFEFEFE=FEFEJ'=$J'
+O*FEFEEEEEFEFEFEFEEEO7FEFEEEEEFEFEJ$8$;$J$8(8&9%9%
+O)FEFEEEEEFEFEFEFEEEO7FEFEEEEEEEEEFEFEFEFEFEFEEEFEFEFEFEFEFEFEFEFEFEJ$J'93
+O5FEFEEEO?FEFEEEEEFEFEFEEEFEFEEEFEFEEEEEFEFEEEFEFEEEEEFEFEJ#=">#
+Q)EEEEEEEEEEJ$J$I#
+O5EEFEFEO@FEFEFEFEFEJ$J%I%
+O6EEFEFEO>FEFEEEEEEEEEEEEEJ$8$<$J$8#H#;#
+O)EEFEFEFEFEEEEEFEFEO6EEFEFEFEFEFEFEFEFEJ'>$J.=.
+O*EEFEFEFEFEEEEEFEFEO6EEFEFEFEFEEEEEFEFEFEEEFEFEEEFEFEFEFEEEEEEEFEFEFEFEEEJ%:#:#J%8s8#8%9%8#
+O+EEEEEEEEEEEEEEEEO7EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+
+
+
+
+&J%
+F7F7F7F7F7R;F7F7F7F7&JzJzJ&
+F6F6F6F6F6<O/EDBO/ED;F6F6F6F6F68$J"J"J%
+F9F9F9;EDP"EDOKF9F9F9F7JzJz
+?O3EE>O3EE
+
+
+JZ
+;O;J"
+:FFJz
+9O?EE
+
+
+
+
+
+
+
+<z"z"z
+0F6F7QEF6F71F6;z8z8z
+1F9QDF91F9
+
+7z8z8z
+5F7QDF74F7"J"J"
+F76F7QEF7
+ENDBITMAP
+%%EndBinary
+81 99 288 378 R
+7 X
+V
+4 8 Q
+0 X
+(selectiondialog .iconSel \134) 81 372.67 T
+( -title \322Icon Selector\323 \134) 81 362.67 T
+( -itemslabel Icons \134) 81 352.67 T
+( -selectionlabel Icon \134) 81 342.67 T
+( -itemscommand SelectProc) 81 332.67 T
+(.iconSel hide Help) 81 322.67 T
+(.iconSel hide Apply) 81 312.67 T
+(set cs [.iconSel childsite]) 81 292.67 T
+(canvas $cs.canvas -height 70 \134) 81 282.67 T
+( -relief raised -borderwidth 2) 81 272.67 T
+(pack $cs.canvas -f) 81 262.67 T
+(ill x -expand yes) 167.4 262.67 T
+(proc SelectProc {} {) 81 242.67 T
+( .iconSel selectitem) 81 232.67 T
+( set c [.iconSel childsite].canvas) 81 222.67 T
+( $c delete all) 81 212.67 T
+( $c create bitmap \134) 81 202.67 T
+( [expr [winfo width $c] / 2] \134) 81 192.67 T
+( [expr [winfo height $c] / 2] \134) 81 182.67 T
+( -bitmap @~/xbm/[.iconSel get].xbm) 81 172.67 T
+(}) 81 162.67 T
+(.iconSel insert items end bomb compress \134) 81 142.67 T
+( core dsc emacs keyboard telephone \134) 81 132.67 T
+( trash workstation) 81 122.67 T
+(.iconSel activate) 81 102.67 T
+0 10 Q
+(FIGURE 10) 113.41 74.17 T
+1 F
+( - Icon selector dialog) 164.8 74.17 T
+0 0 612 792 C
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(forced to create the icon selector from scratch or) 315 713.33 T
+(become aware of its internal packing and attempt to) 315 701.33 T
+(repack around the canvas. A take-it-or) 315 689.33 T
+(-leave-it design) 468.08 689.33 T
+(such as this would be limiting, sacri\336cing possibilities) 315 677.33 T
+(of reuse.) 315 665.33 T
+(The means by which a child site may be \336lled is not a) 315 641.33 T
+-0.05 (limiting factor in the [incr W) 315 629.33 P
+-0.05 (idgets] set. Either composi-) 430.16 629.33 P
+(tion or inheritance may be used. In the login screen) 315 617.33 T
+-0.11 (example, both of these mechanisms were demonstrated.) 315 605.33 P
+(First composition was used. Later) 315 593.33 T
+(, as the Login mega-) 449.87 593.33 T
+-0.47 (widget class was produced, the same child site was \336lled) 315 581.33 P
+(by means of [incr T) 315 569.33 T
+(cl]\325) 393.17 569.33 T
+(s inheritance feature. The imple-) 406.5 569.33 T
+(mentation of child sites and the means by which they) 315 557.33 T
+(may be accessed in [incr W) 315 545.33 T
+(idgets] deserves closer) 424.84 545.33 T
+(inspection.) 315 533.33 T
+([incr Tk] has several base classes from which the [incr) 315 509.33 T
+-0.44 (W) 315 497.33 P
+-0.44 (idgets] class hierarchy is derived. As base classes they) 324.04 497.33 P
+(provide option management, standard methods, and a) 315 485.33 T
+(parent for components called the \322hull\323 widget. The) 315 473.33 T
+(path to this widget is contained in a protected class vari-) 315 461.33 T
+(able named \322itk_interior\323. Many mega-widgets within) 315 449.33 T
+-0.22 ([incr W) 315 437.33 P
+-0.22 (idgets] successively maintain this variable in the) 345.2 437.33 P
+(hierarchy) 315 425.33 T
+(. As a mega-widget is constructed, new com-) 352.11 425.33 T
+-0.09 (ponents are built of) 315 413.33 P
+-0.09 (f the path stored in the \322itk_interior\323) 392.04 413.33 P
+(variable. The mega-widget may also construct a new) 315 401.33 T
+(hull and store its path in \322itk_interior\323 for a future) 315 389.33 T
+-0.47 (derived class to use. A \324childsite\325 method is provided for) 315 377.33 P
+(composition support.) 315 365.33 T
+0 12 Q
+(Flexibility) 401.5 334 T
+1 10 Q
+(Frequently) 315 309.33 T
+(, a mega-widget straight out of the box) 357.68 309.33 T
+-0.28 (doesn\325) 315 297.33 P
+-0.28 (t exactly \336t the bill. Developers need to tweak the) 341.48 297.33 P
+(visual layout here and there to meet their application) 315 285.33 T
+(requirements. [incr W) 315 273.33 T
+(idgets] provides this capability) 402.63 273.33 T
+(with the viewpoint that \337exibility yields reuse. Each) 315 261.33 T
+(mega-widget was designed to allow modi\336cation of the) 315 249.33 T
+(visual aspects of the components through a rich option) 315 237.33 T
+(suite. As with standard Tk widgets, options may be) 315 225.33 T
+(speci\336ed at construction time and subsequently there) 315 213.33 T
+(after with the \324con\336gure\325 command.) 315 201.33 T
+(This is a very useful feature. For example, all the mega-) 315 177.33 T
+-0.03 (widgets which support scrollbar attachment do so at the) 315 165.33 P
+(developer) 315 153.33 T
+(\325) 354.8 153.33 T
+(s discretion. One may choose to have each) 357.58 153.33 T
+(scrollbar independently displayed either statically) 315 141.33 T
+(,) 513.21 141.33 T
+(dynamically) 315 129.33 T
+(, or never) 363.79 129.33 T
+(. A dynamic scrollbar would) 401.28 129.33 T
+(appear as needed based on the number of elements in) 315 117.33 T
+(the widget and their ability to \336t in the allotted space,) 315 105.33 T
+(whereas a static one is always displayed. Thus, scroll-) 315 93.33 T
+(bars have built-in intelligence.) 315 81.33 T
+FMENDPAGE
+%%EndPage: "7" 7
+%%Page: "8" 8
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(Similarly) 72 713.33 T
+(, Buttonbox usage is not limited to horizontal) 108.58 713.33 T
+(button display management. Instead, buttons may be) 72 701.33 T
+(oriented vertically as well as horizontally) 72 689.33 T
+(. Also, each) 236.6 689.33 T
+(button may be referred to by its associated tag in com-) 72 677.33 T
+(mands which allow them to be hidden, shown, con\336g-) 72 665.33 T
+(ured, or made the default.) 72 653.33 T
+(Flexibility is built into the lar) 72 629.33 T
+(ger scale mega-widgets as) 189.34 629.33 T
+(well. The Selectionbox class allows speci\336cation of) 72 617.33 T
+(labels, their position relative to their associated widget,) 72 605.33 T
+(and control over the display of the each element. The) 72 593.33 T
+(Fileselectionbox provides this same ability) 72 581.33 T
+(. Thus, the) 242.46 581.33 T
+(\336lter or selection labeled entries can be unmanaged as) 72 569.33 T
+(well as the \336le and directory lists.) 72 557.33 T
+(Lar) 72 533.33 T
+(ge scale \337exibility presents signi\336cant advantages.) 85.7 533.33 T
+(Applications may be designed in a more interactive) 72 521.33 T
+(manner) 72 509.33 T
+(. Consider the icon selector dialog example) 101.44 509.33 T
+(again. Suppose an alternate presentation of the dialog) 72 497.33 T
+(was to be considered. One in which the icon canvas) 72 485.33 T
+(appears above the list, the selection entry widget is) 72 473.33 T
+(removed, and an apply button is added. This could be) 72 461.33 T
+(quickly examined by con\336guring the components as) 72 449.33 T
+(given in Figure 1) 72 437.33 T
+(1.) 140.24 437.33 T
+(The ability to recon\336gure components also allows pro-) 72 413.33 T
+(grams to be built which change appearance on the \337y) 72 401.33 T
+(.) 284.36 401.33 T
+(An application which demands multiple \337avors of a) 72 389.33 T
+(mega-widget with dif) 72 377.33 T
+(ferent looks can create one) 157.92 377.33 T
+(instance and change the options between uses. This can) 72 365.33 T
+-0.16 (be much more ef) 72 353.33 P
+-0.16 (\336cient, since construction time is much) 138.81 353.33 P
+-0.22 (more costly than the time required to con\336gure and map) 72 341.33 P
+(the widget.) 72 329.33 T
+72 72 297 324 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 90.42 297 313.99 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+%%BeginBinary: 12524
+260 357 133.71 183.6 0 116.86 127.83
+/red <
+3EC472FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF80808080
+8080808080808080808080808080808080808080404040404040404040404040
+4040404040404040404040000000000000000000000000000000000039C069DD
+00FF0000003333330033CCDD9999112277005544FFCC66AABBFF33EE9999CC7A
+EFD3557F9765E1A36FE700FF5500B22EAFB4CD73E6A24DBF0087F599FFFFB07A
+FFCCB088439D58D750D080C0C080C0808060C000FFA000FF20C0A040C040D060
+F0E010B4BE8BD28BD9B3FF7299FFA00019BF2FFF6223852F465F4770FF0000FF
+> store
+/green <
+57D79F00000000000000000000000000FFFFFFBFBFBFBFBF8080808080404040
+40000000FFFFFFFFFFBFBFBFBF808080808040404040400000000000FFFFFFFF
+FFBFBFBFBFBF8080808040404040400000000000FFFFFFFFFFBFBFBFBFBF8080
+8080804040400000000000FFFFFFBFBFBFBFBF80808040404040400063E0B500
+996699FF00663399BBFF99DD99FF112277005544CCCC66AABB6600EE6600CC69
+E3B56B7F9765E1A36FE700FF1A00B28BEEEE0073E6A24DBF00CEF599FFFFB094
+FFF730884DB358D78080C0C080C080808060C08000A080402070A0402040D0F0
+F0E010B4BE5BB477D9B3FF7789E4A0FF19264F00B641DE4F829E4780FF0000FF
+> store
+/blue <
+8CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF8040FFBF804000FFBF804000FFBF80
+00BF8040FFBF804000FF804000FFBF804000FFBF804000FFBF804000FFBF8040
+00FFBF804000FFBF4000FFBF804000FFBF804000FFBF804000FFBF804000FFBF
+804000FFBF00FFBF804000BF8040FFBF804000FFBF40FFBF8040004063E0B500
+FF3399FF88666666009966DDFFFF112277DD554499FFCCAABBCC99EE9966CC69
+E3B52F7F9765E1A36FE7BFCC8BEEB257EEB40073E6A24DBF80FAF56BFBB3B015
+3224608856CA58D7D050C080C08080C08060C080FF0000402070C0802040D060
+50E010B4BE7A8C65D9B3E08576C4A00070264F00FC5AE050B4A0FF9000FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+6F6F7R=F6F76F6F7J"
+S<F78z8z8z
+4F9R<F94F9
+
+;z"
+S3F7F6<z"z
+0F6F7S F6=z8z
+/F9RMF9
+J%J'>$H"
+P#FEFEFEFE>FEFEFEFEF9FEFEFEFEFEJ"8"J'?"I"
+P#F9F9=FEFEF9F9F9FEF9FEJ"
+PIF9J$:$9'?#8"9$?$:$8"8#8$9'
+P*FEFEFEFEFEFEFEFEFEF9FEFEFEFEF9FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF9FEFE@s"J18%<"9#8'<08,8"
+F6F7OCFEFEFEF9FEFEF9FEFEFEF9FEFEFEF9F9FEF9FEFEF9FEFEFEFEFEF9FEFEFEFEFEF9FEFEF9FEFEFEF9FEFEF9F9F9F9FEFEFEF9FEFEFEF9F9FEArJ%9$<"@#9":"A";%>$<$
+F9OFF9F9F9F9F9F9F9F9F9F9FEFEFEF9F9F9F9F9F9F9F9F9F9@sJ"8#;%>%
+F7P2FEF9F9F9F9F9F9F9F9F9F9@tJ%9$G">%>%9%>$
+F9OEFEF9FEFEFEF9FEFEFEF9FEFEFEF9FEFEFEF9FEFEFEF9FEJ"838"9"<0808.8"
+P#FEFEF9F9F9FEFEFEF9F9F9F9FEFEFEF9F9F9FEFEFEF9FEFEFEFEF9F9F9F9FEFEFEF9F9FEFEF9F9F9FEFEFEF9F9F9F9FEFEFEF9F9FEFEF9F9F9FEFEFEF9F9F9FEFEJ%9$:$9s;':$8%9$:$:#9$9%
+P#F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9
+
+=z8z
+/F7RMF7rF"J%
+F7F7S F7F7F7F7'z&
+F6F6F6F6F6F7S2EDF6F6F6F6F68$J%
+F9F9F9S4F9F9F9F7
+
+
+
+
+
+
+
+
+
+HZ
+RHJ"
+S+ECJz"
+4RDEDEC
+
+
+
+
+
+
+
+J#
+PJFEFEJ"8"
+PIFEFEJ"
+Q!FEJ&
+PLEDEDFEFEFEJ":"
+PLFEFEJ"
+PIEDJ"8":"
+PJEDFEFEJ">#:#
+PEFEEDEDFEFEJ$:"="8"
+PDFEFEFEEDFEFEJ"9"
+PKFEFEJ"<"
+PGFEFEJ";"<"9#
+PDEDFEEDEDEDJ"8"
+Q$EDFEJ"?"8"
+PIFEEDFEJ"8#8#
+PDFEEDFEEDEDJ"C"
+PCFEFEJ"9#;";"
+PBFEEDFEEDFEJ#9"="
+PEEDFEEDFEJ"="
+Q EDEDJ"8"@$
+PAFEEDEDEDEDJ#?"
+PJFEFEEDJ"
+PFEDJ"8#
+PDFEEDEDJ"=$
+PAEDEDEDEDJ$
+PLFEFEFEJ$<"9"
+PBEDEDEDFEFE
+J#=$
+PIFEFEEDEDEDJ$
+PFFEFEFEJ$
+PCFEFEFEJ#
+PAFEFEJ"
+Q!EDJ"
+P@FEJ"
+Q EDJ#D#
+P>FEFEFEFEJ#H"
+P<FEFEFEJ"
+Q#FE
+J#
+P:FEFEJ#J$
+P8FEFE8FEFEFEJ"J"
+P7FE=FE
+
+J"
+Q(FE
+J#J"
+P7EDED=EDJz
+P9=ED
+
+
+
+
+
+Jz
+4RDECI"
+ECHz
+RHED
+
+
+
+
+
+J#
+4FEFE
+J%9%8&9%
+8FEFEFEFEFEFEFEFEFEFEEDFEFEFEFEFEFEJ.9,
+7FEFEEDEDFEFEEDFEFEEDEDFEFEFEEDFEFEEDFEFEEDEDFEFEJ#@"<%
+;EDEDEDFEEDEDEDJ&
+LEDEDFEFEFEJ"8"
+O EDFEJ#E%
+;FEFEFEFEEDEDJ.>'
+7EDFEFEFEFEEDEDEDFEFEFEFEEDEDFEFEFEFEEDJ#8%9%8#8#8%
+4EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
+
+
+
+
+
+
+
+H5=z
+R.BAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFE3ECH5J"
+R.FEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBAFEBA9FFH#z"?r"r"
+BAFER+BAFFDEECDEFFH#J#E"
+FEBAR*FFBAFFH&I#J#G"
+BAFEBAFEFEFEFEQ@BAFFECH%J"J#D"
+FEBABABA4BAQAFFBAFFH#J#F$
+BAFER*BAFFEDECECH#9$:$8&:$J#C$
+FEBAFEFEFEFEFEFEFEFEFEBAFEFEFEFEQ=FFBAFFFFEDH#9%8-9%J#G$
+BAFEBABABAFEFEBABABAFEBABAFEBAFEBAFEBABABAFEQ<BAFFEDECECH#J#B$
+FEBAR*FFBAFFFFEDH#J#H$
+BAFER*BAFFEDECECH#J#A$
+FEBAR*FFBAFFFFEDH*8(;(J#I$
+BAFEBAFEBAFEFEFEBABAFEFEFEBABAFEFEFEBAFEFEFEBAQ<BAFFEDECECH"r:$8wJ#@$
+FEBABABABABAQ=FFBAFFFFEDH#J#J$
+BAFER*BAFF4EDECECH#J#?#u
+FEBAR*FFBAFFFFECH#J#@"B"
+BAFER*BAFFECECH#J#?z
+FEBAR*FFBA/DEH#J#?Z
+BAFER*BAFF/H#J#J"
+FEBAR*FFBA7ECH#J#Av"
+BAFER*BAFFEDECH#J#
+FEBAR*FFBAH#J#
+BAFER*BAFFH#8$:$8&8&9&9$:$:$J#
+FEBAFEFEFEFEFEFEFEFEFEBAFEFEBAFEFEFEFEBAFEFEFEFEFEFEFEFEFEFEFEFEQ"FFBAH)848&8&8&8&J#
+BAFEBAFEBABABAFEFEBABABAFEBABAFEBAFEBAFEBABAFEBABABAFEBAFEBABABAFEBABABAFEFEBABABAFEFEBABABAFEQ!BAFFH#;"J$9&8&J#
+FEBABA?FEFEFEBAFEFEFEBABAFEFEFEBAQ!FFBAH#J%9%9%J#
+BAFEEBABABABABABABAFEBABABAFEQ!BAFFH#;"J"8"<"J#
+FEBAFEBFEFEFEQ%FFBAH)8(;"8%8%9&8&8&J#
+BAFEBABAFEFEFEBABAFEFEFEBABAFEFEFEFEFEBAFEFEFEFEBAFEFEFEBABAFEFEFEBABAFEFEFEBAQ!BAFFH#8$:$8r8$9%:$:$:$J#
+FEBABABABABABABABABABABABABABABABABABABABABABABABAQ"FFBAH#J#
+BAFER*BAFFH#J$J#
+FEBA5FEFEFEQ@FFBAH#J$J#
+BAFE5BABABAQ@BAFFH#J#
+FEBAR*FFBAH5
+R.BAFEDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFBAFFH$z#
+FEBAFFR)DEFFBAH$J$
+BAFEDER(FEBAFFH$J$
+FEBAFFR(DEFFBAH$J$
+BAFEDER(FEBAFFH(:$9&9$J$
+FEBAFFDEFEFEFEFEFEFEFEDEFEFEFEFEFEFEQ=DEFFBAH)8&8&8&J$
+BAFEDEFEDEDEDEFEFEDEDEDEFEDEFEDEDEDEFEDEDEDEFEQ<FEBAFFH$:"G$J$
+FEBAFFDEFEFEFEQ=DEFFBAH$J%J$
+BAFEDE6DEDEDEDEQ<FEBAFFH$:"J"J$
+FEBAFFFE4FEQ<DEFFBAH)8&8%9&J$
+BAFEDEDEFEFEFEDEDEFEFEFEDEFEFEFEFEDEFEFEFEDEQ<FEBAFFH(:$9%:$J$
+FEBAFFDEDEDEDEDEDEDEDEDEDEDEDEDEDEQ=DEFFBAH$J$
+BAFEDER(FEBAFFH$J$
+FEBAFFR(DEFFBAH$J$
+BAFEDER(FEBAFFH5
+R.FEBAFFDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFFBAH#z"
+BAFER+BAFFH#J#
+FEBAR*FFBAH#:#J#
+BAFEFEFER$BAFFH#:"J#
+FEBABAR%FFBAH#J#
+BAFER*BAFFH#8$:$:$J#
+FEBAFEFEFEFEFEFEFEFEFEQEFFBAH(9&8&J#
+BAFEBAFEBABABAFEBABABAFEFEBABABAFEQDBAFFH#>&<"J#
+FEBABAFEFEFEBABAQDFFBAH#?%J#
+BAFEBABABAFEQKBAFFH#>"@"J#
+FEBAFEFEQDFFBAH08&J#
+BAFEBABAFEFEFEBAFEBABAFEFEFEBABAFEFEFEBAQDBAFFH#8&8$:$J#
+FEBABABABABABABABABABABABAQEFFBAH#J#
+BAFER*BAFFH#J#
+FEBAR*FFBAH#J#
+BAFER*BAFFH#J#
+FEBAR*FFBAH#J#
+BAFER*BAFFH#J#
+FEBAR*FFBAH#J#
+BAFER*BAFFH#J#
+FEBAR*FFBAH#J#
+BAFER*BAFFH#8$8&9%:$:$J#
+FEBAFEFEFEFEFEFEBAFEFEFEFEFEFEFEFEFEFEFEQ7FFBAH08&8&8&J#
+BAFEBAFEBABABAFEBABAFEBAFEBAFEBABABABAFEFEBABABAFEFEBABABAFEQ6BAFFH#8$A$="8&J#
+FEBAFEFEFEFEFEFEBABAFEFEFEBAQ6FFBAH#8%?%A%J#
+BAFEBABABABAFEBABABABABABAFEQ6BAFFH#;"J"8"J#
+FEBAFE4FEFEQ:FFBAH+;/8&J#
+BAFEBABAFEFEFEBABAFEFEBABAFEFEFEBAFEBABAFEFEFEBABAFEFEFEBAQ6BAFFH#8$8r8&8$:$J#
+FEBABABABABABABABABABABABABABABABAQ7FFBAH#J#
+BAFER*BAFFH#J#
+FEBAR*FFBAH#J#
+BAFER*BAFFH#J#
+FEBAR*FFBAH#J#
+BAFER*BAFFH#J#
+FEBAR*FFBAH&I#J#J#
+BAFEBAFEFEFEFE>FEFEQ BAFFH%J"J"J#
+FEBABABA4BA?BAQ!FFBAH#J#
+BAFER*BAFFH#;#9$8(8$:$9%9&9$J#
+FEBAFEFEFEFEFEFEFEFEBAFEFEFEFEFEFEFEFEFEFEFEFEFEFEBAFEFEFEFEFEFEQ!FFBAH#:$8.8%8&8&8&8%J#
+BAFEFEBABAFEBABABAFEBABAFEBABABAFEBABABABAFEFEBABABAFEBABABABAFEBAFEBABABAFEBABABAQ!BAFFH#9#;$J$J#
+FEBAFEBAFEFEFE9FEFEFEQ/FFBAH#9#;%8&F%J#
+BAFEBAFEBABABABABAFEBAFEBAFEBABABAQ/BAFFH#:#=":"J#
+FEBABAFEFEFEQEFFBAH%9*9$8'8&8,9'J#
+BAFEBAFEBAFEFEBABAFEFEFEBABAFEBAFEBAFEFEFEBABAFEFEFEBABAFEFEFEBAFEBAFEFEFEFEBAFEFEFEBAFEPMBAFFH&9#8$?&:$:u:&J#
+FEBABABABABABABABABABABABABABABABABABABABABABABAPMFFBAH#J#
+BAFER*BAFFH#F$J#
+FEBAFEFEBAQEFFBAH#F#J#
+BAFEBABAQFBAFFH#J#
+FEBAR*FFBAH#J#
+BAFER*BAFFH#J#
+FEBAR*FFBAH#E$G#J#
+BAFEFEFEFEFEFEQ3BAFFH#8"B#H"J#
+FEBAFEBABABAQ4FFBAH#J#
+BAFER*BAFFH)9$A$8&;#:$8&:$J#
+FEBABAFEFEFEFEFEFEFEFEFEFEFEFEBAFEFEFEFEFEFEFEFEFEBAFEFEFEFEFEFEPIFFBAH)8&?-9%8-8&J#
+BAFEBABAFEBABABAFEBABABAFEFEBABABAFEBABAFEBABABAFEFEBABAFEFEBABABAFEBABAFEFEBABAFEFEBABABAFEPHBAFFH#?$A$A"C"<$J#
+FEBAFEFEFEFEFEFEBABAFEFEFEPIFFBAH#?%@%J%J#
+BAFEBABABABABABABABA?BABABABAPHBAFFH#<";"C"J"J#
+FEBAFEFEFEBFEPHFFBAH#8,8-959(J#
+BAFEBAFEFEFEBABABAFEFEFEBAFEFEFEFEFEFEBABAFEFEFEBA6FEFEFEBABAFEFEFEBAFEFEFEBABAFEFEFEBABAFEFEFEFEBABAFEFEFEBAPHBAFFH#9$9$9'8$:$8r8$8$8#8$J#
+FEBABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABAPIFFBAH#J#
+BAFER*BAFFH#J$J#
+FEBA<FEFEFEQ9FFBAH#J$J#
+BAFE<BABABAQ9BAFFH#J#
+FEBAR*FFBAH#J#
+BAFER*BAFFH#J#
+FEBAR*FFBAH#J#J#
+BAFE<FEFEQ:BAFFH#8"J"J#
+FEBAFE9BAQ;FFBAH#J#
+BAFER*BAFFH)8&8%:$;#J#
+FEBABAFEFEFEFEFEFEBAFEFEFEFEFEFEFEFEFEFEFEFEQ7FFBAH)8&8&8&9%J#
+BAFEBABAFEBABABABAFEBABABABABABABAFEFEBABABAFEFEBABAFEQ6BAFFH#F$9&9"J#
+FEBAFEFEFEBAFEFEFEBABAQ9FFBAH#E%:%J#
+BAFEFEBABABABABABAFEQ=BAFFH#<"E"J#
+FEBAFEFEQAFFBAH#8+95J#
+BAFEBAFEFEFEBABAFEFEFEFE4BAFEFEFEBAFEBABAFEFEFEBABAFEFEFEBAFEFEFEQ5BAFFH#9$8%:&8$8rJ#Av
+FEBABABABABABABABABABABABABABABABABAQ5FFBAECH#J#@"
+BAFER*BAFFECH#J#?z
+FEBAR*FFBA/DEH#J#?Z
+BAFER*BAFF/H#J#?"C"
+FEBAR*FFBADEECH#J#Bt$
+BAFER*BAFFEDECECDEH#J#@$
+FEBAR*FFBADEFFFFH#J#J"J#J$
+BAFE6FEFEDFEPIBAFF4ECECDEH#J"E"C"="J#A$
+FEBA6BAFEFEBAPIFFBADEFFFFH#J#I$
+BAFER*BAFFECECDEH+8$9&;#9$9&8%9&8$;$8&J#B$
+FEBABAFEFEFEBAFEFEFEFEFEFEFEBAFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEBAFEFEFEP:FFBADEFFFFH18&:$8&8&8&8&8#;-J#H$
+BAFEBABAFEBABABAFEBABAFEBABABAFEBAFEBABABAFEBABAFEBABABAFEBAFEBABABABABABABAFEBAFEBABABABABAFEBABABAFEBABAFEFEBABAFEP9BAFFECECDEH#:"I#:&@$J"J#C$
+FEBAFEFEBABAFEFEFEBAFEFEFE9BAP<FFBADEFFFFH#J#;%?%J#G$
+BAFE8BAFEBABABAFEFEBABABAQ(BAFFECECDEH#8&H#9"A"C"J#D$
+FEBABAFEBAFEBABAFEFEFEFEPMFFBADEFFECH#?&8%8"9*9-8,8*9"J#H"
+BAFEBAFEFEFEBAFEFEFEFEFEBAFEFEBABAFEFEFEBABAFEFEFEBABABAFEFEFEBAFEBAFEFEFEBABAFEFEFEFEFEBAFEFEFEBABAFEFEFEFEP8BAFFDEH#9$:$9%8#9#8$;$9&9$8&9$8$8#J#E"
+FEBABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABAP8FFBADEH#J#G"
+BAFER*BAFFDEH5?Z
+R.FEBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBA/H5>"
+R.BAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFBAFFFFHz=z
+R.ED3ED
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<z
+S2EC=z"
+S0EDFF=Z
+S0<z
+S2ED
+
+
+
+
+
+
+
+Ez
+O9ECJ"
+OGFFGz"
+O5EDFF
+
+
+JZJZJZ
+5O-4O-4O-J"J"J"
+OAECO@ECO@ECJz"Jz"Jz"
+7O)EDEC7O)EDEC7O)EDEC
+
+
+
+
+J%:#9#J#G#J%J#
+LFEFEFEFEFEFEFEFEO+FEFEFEFEO)FEFEFEFE=FEFEJ'=$J"8"J'
+KFEFEEDEDFEFEFEFEEDO*FEFEO:FEFEEDEDFEFEJ$8$;$J#9&8&;#9#J$8(8&9%9%
+JFEFEEDEDFEFEFEFEEDO,EDEDFEFEEDFEFEFEFEEDFEFEFEFEFEFEMFEFEEDEDEDEDFEFEFEFEFEFEEDFEFEFEFEFEFEFEFEFEFEJ$J":"9%9%J'93
+O(FEFEEDO+FEFEFEEDFEFEFEEDFEFEO1FEFEEDEDFEFEFEEDFEFEEDFEFEEDEDFEFEEDFEFEEDEDFEFEJ"<"=(J#=">#
+P?EDEDEDFEFEEDFEFEEDO&EDEDEDEDEDJ$J#J$I#
+O(EDFEFEO-FEFEOBFEFEFEFEFEJ$J)H&J%I%
+O)EDFEFEO)FEFEEDEDEDEDFEFEEDFEFEFEEDO'FEFEEDEDEDEDEDEDJ$8$<$J"<"J$8#H#;#
+JEDFEFEFEFEEDEDFEFEO2FEFEO-EDFEFEFEFEFEFEFEFEJ'>$J%9%<"J.=.
+KEDFEFEFEFEEDEDFEFEO1EDFEFEEDEDFEFEEDEDO$EDFEFEFEFEEDEDFEFEFEEDFEFEEDFEFEFEFEEDEDEDFEFEFEFEEDJ%:#:#J#:#9#;#8#;"J%8s8#8%9%8#
+LEDEDEDEDEDEDEDEDO'EDEDEDEDEDEDEDEDEDEDEDO#EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDJ"
+Q"FEJ$
+Q!FEFEEDJ#;#?#
+P=EDEDEDEDEDED
+
+&J%
+F7F7F7F7F7S3F7F7F7F7&HzJzJzH&
+F6F6F6F6F6O)EC8O)EC8O)ECF6F6F6F6F68$G"J"J"J%
+F9F9F9ECO@ECO@ECO<F9F9F9F7JzJzJz
+5O-ED4O-ED4O-ED
+
+
+GZ
+O5F"
+FFEz
+O9ED
+
+
+
+
+
+
+
+<z"z"z
+0F6F7R=F6F71F6;z8z8z
+1F9R<F91F9
+
+7z8z8z
+5F7R<F74F7"J"J"
+F76F7R=F7
+ENDBITMAP
+%%EndBinary
+87.14 96.14 285.14 123.14 R
+7 X
+V
+4 8 Q
+0 X
+(.iconSel conf) 87.14 117.81 T
+(igure -childsitepos n \134) 149.54 117.81 T
+( -selectionon no) 87.14 107.81 T
+(.iconSel show Apply) 87.14 97.81 T
+0 10 Q
+(FIGURE 1) 98.29 76.02 T
+(1) 144.13 76.02 T
+1 F
+( - Alternate icon selector dialog) 149.13 76.02 T
+0 0 612 792 C
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(For example, consider an application which must con-) 315 560.33 T
+(\336rm a user request prior to performing the operation. In) 315 548.33 T
+(addition, due to the serious nature of the operation, the) 315 536.33 T
+(user must con\336rm positively twice. The following code) 315 524.33 T
+(segment creates the initial message dialog and con\336g-) 315 512.33 T
+(ures the message to ask \322Are you sure ?\323. The dialog is) 315 500.33 T
+(then mapped with the \324activate\325 command. If the user) 315 488.33 T
+(responds positively) 315 476.33 T
+(, then the message is changed to) 391.85 476.33 T
+(\322Are you really sure ?\323 and redisplayed. Only with two) 315 464.33 T
+-0.35 (af) 315 452.33 P
+-0.35 (\336rmative replies does the script perform the operation.) 322.59 452.33 P
+-0.18 (Figure 12 depicts the dialog presentations with dif) 315 440.33 P
+-0.18 (ferent) 514.36 440.33 P
+(messages and the associated code.) 315 428.33 T
+(This same instance of the message dialog can be recon-) 315 132.33 T
+(\336gured into a error dialog. All the options can be) 315 120.33 T
+(dynamically changed. It is possible to not only change) 315 108.33 T
+-0.05 (the bitmap but its location as well. Furthermore, we can) 315 96.33 P
+(modify the text of the buttons and make the dialog non-) 315 84.33 T
+315 153 540 425 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+315 182 540 416 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+0 0 0 1 0 0 0 K
+%%BeginBinary: 4520
+217 162 86.8 64.8 0 327.2 342.2
+/red <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000008EEF9AFF2CAEB6CF71E7
+A24DF70055BE928AB2D3FF00F7557DDBB2002CFF6120822C455D4571FF0000FF
+> store
+/green <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000082D78AE78AEFEF0071E7
+A24DF70055BE827530B6FFFFDF697DDBB2004D00B641DF4D829E4582FF0000FF
+> store
+/blue <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000006DB675C755EFB60071E7
+A24DF77D55BE9265618EE300B22C7DDBB28A4D00FF59E351B6A2FF9200FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+7F6F7Q>F6F77F6F7J"
+R?F78z8z8z
+5F9Q=F95F9
+
+
+<z"
+R4F7F6=z"z
+0F6F7R!F6>z8z
+/F9R F9
+J'J'J"9#
+O<FEFEFEFEF9FE4FEFEFEF9FEFE?FEFEFEJ'J$J"
+O;FEFEF9F9F9FE4FEFEF9BFEJ$9"J%J#
+O:FEFEF9F97F9F9F9F9CF9F9J$9'9"8&8-8#:%9"8&:$9'
+OEFEFEFEFEFEFEF9FEFEFEFEFEFEFEFEFEFEFEF9FEFEFEFEFEF9FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF9FEFEAs"J,8%8"8$:"8"8"8):%8"8$:*8%
+F6F7O-F9F9FEFEFEF9FEFEFEF9F9FEF9FEFEF9F9F9F9F9FEF9FEF9FEFEFEF9FEFEF9F9FEFEF9F9F9F9FEFEFEF9FEFEFEF9F9FEF9FEFEBrJ$<"H$9"9"<$F$<"
+F9O2F9F9F9F9F9F9F9F9F9F9FEFEF9F9F9F9AsJ"J%
+F7O.FEO!FEFEF9F9AtJ$9":$J"F$
+F9O&F9FEFEFEFEF9FELFEFEF9FEJ28"9$8$8$8"8"8"9"9'8"8&8,8"9"
+O;F9FEFEFEFEFEF9F9F9F9FEFEFEF9F9F9FEFEFEF9FEFEF9FEFEF9FEFEFEFEFEFEF9F9FEFEF9FEF9FEFEF9FEFEF9F9F9FEFEFEF9F9F9FEFEFEJ&:$9z8w8'9r9$9s
+O<F9F9F9F9F9F9F9F97F9F9F9F9F9F9F9F9F9F9F9F9F9
+
+>z8z
+/F7R F7sF"J&
+F7F7R!F7F7F7F7F7(z'
+F6F6F6F6F6F6F7R3D9F6F6F6F6F6F68%J&
+F9F9F9F9R5F9F9F9F9F7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Ju
+BFEJ-
+AFEFED9FED9FED9FED9FED9FEJ/
+@FEFED9FED9FED9FED9FED9FED9FEJ&r%
+?FEFED9FED9FED9FED9FEJ%=&
+@D9FED9FEFED9FED9FEJ$?%
+@FED9FEFED9FED9J$9$9%J#J%
+@D9FED9D9FED9D9FED9FEBFEFEO?FEFEFEFEJ$9$9&J"8"J'
+@FED9FEFED9FEFED9FED9FE@FEFEO=FEFED9D9FEFEJ$9$9'J#9+<#9#8%8#8#<%8#8.
+@D9FED9D9FED9D9FED9FED9FE@D9D9FEFED9FEFED9FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFED9FEFED9FEFED9FEFEFEFEJ*9(J":"9"8'C'B'@"8'<'
+@FED9FED9FED9FED9FEFED9FED9FED9FE=FEFEFEFEFED9D9FEFEFEFED9D9FEFEFEFED9D9FEFEFEFEFED9D9FEFED9D9D9FEFED9J):(J#A(J%A#D$
+@D9FED9FED9FED9FED9FED9FEFEFED9GD9D9D9FEFED9FEFED95FED9D9D9D9D9FEFED9J(:(J#;":#J&A":#
+@FED9FED9FED9FED9FED9FED9D9D9@FEFED9FEFEAD9D9FEFEFED9FEFEJ(:'J)=%<&J"8"E%>#
+?D9FEFED9FED9FED9FED9FED9FE?FEFED9D9D9D9FEFED9D9D9D9D9FEFEFED96D9FED9D9D9D9D9D9J'9(J#J"=%<"B#>#
+@D9FEFED9FED9D9FED9FED9FED9O"FEFE7FEFEFED9D9FEFEFEFEFEJ&9'J'=";,=,>'
+AD9FEFED9FEFED9FED9FED9MD9FEFEFEFED9D9D9FEFEFEFED9D9D9FEFED9D9FEFEFEFED9D9D9FEFED9D9FEFEFEFED9J.J#:%:%@":%9&<%9s:%?#
+BD9FEFED9FED9FED9FED9FED9FE@D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9J,J"
+DD9FED9FED9FED9FED9FED9O,FEJ+J$
+DFED9FEFEFED9FED9D9D9O,FEFED9J#9$J#
+DD9FEFED9FEO.D9D9J#9$
+DFED9D9FED9J+
+BFEFED9FED9FED9FED9FEJ+
+CD9FED9FED9FED9FED9FEJv
+BD9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+=z
+R3D8>z"
+R1D9FF>Z
+R1=z
+R3D9
+
+
+
+Jz
+BO1FE
+Jz
+DO-D9
+Jz
+FO)D8J"
+P FFJz"
+HO%D9FF
+
+
+JZJZ
+LKJKJ"J"
+OHD8OFD8Jz"Jz"
+O GD9D8MGD9D8
+
+
+
+
+J#:#J#9#
+O(FEFEFEFEOBFEFEFEFEJ"
+Q&FEJ$8)9%J%
+O(D9FEFEFEFED9D9FEFEFEFEFEFEFEFEO?FEFEFEFEJ.J#:'
+O0FEFED9D9FEFED9FEFED9D9FEFEO7D9FEFEFED9D9FEFEJ'@%
+O)D9FEFEFEFED9FED9D9D9J"8":#9&J#
+O*D9D9FEFED9D9FEFEFEO9D9FEJ%9"8"
+O2D9D9D9D9D9FEJ(J"
+O4FEFED9FEFED9D9O;D9J.J'
+O0D9FEFEFEFED9D9D9FEFEFEFED9O=D9FEFEFEFED9J#:%9%J#9#8%
+O+D9D9D9D9D9D9D9D9D9D9O6D9D9D9D9D9D9D9D9
+
+
+
+
+
+
+'J&
+F7F7F7F7F7F7R4F7F7F7F7F7'JzJzJ'
+F6F6F6F6F6F6HGD8O GD8HF6F6F6F6F6F68%J"J"J&
+F9F9F9F9GD8OFD8OBF9F9F9F9F7JzJz
+LKD9JKD9
+
+
+JZ
+HO%J"
+GFFJz
+FO)D9
+Jz
+DO-FE
+Jz
+BO1D9
+
+
+
+=z"z"z
+0F6F7Q>F6F71F6<z8z8z
+1F9Q=F91F9
+
+
+7z8z8z
+6F7Q=F75F7"J"J"
+F77F7Q>F7
+ENDBITMAP
+%%EndBinary
+%%BeginBinary: 4795
+254 162 101.6 64.8 0 420.4 342.2
+/red <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000008EEF9AFF2CAEB6CF71E7
+A24DF70055BE928AB2D3FF0055F7DB7DB2002CFF6120822C455D4571FF0000FF
+> store
+/green <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000082D78AE78AEFEF0071E7
+A24DF70055BE827530B6FFFF69DFDB7DB2004D00B641DF4D829E4582FF0000FF
+> store
+/blue <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000006DB675C755EFB60071E7
+A24DF77D55BE9265618EE3002CB2DB7DB28A4D00FF59E351B6A2FF9200FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+7F6F7R5F6F77F6F7J"
+S6F78z8z8z
+5F9R4F95F9
+
+
+<z"
+S+F7F6=z"z
+0F6F7RFF6>z8z
+/F9REF9
+J'J'J"9#
+P FEFEFEFEF9FE4FEFEFEF9FEFE?FEFEFEJ'J$J"
+OMFEFEF9F9F9FE4FEFEF9BFEJ$9"J%J#
+OLFEFEF9F97F9F9F9F9CF9F9J$9'9"8&8-8#:%9"8&:$9'
+P)FEFEFEFEFEFEF9FEFEFEFEFEFEFEFEFEFEFEF9FEFEFEFEFEF9FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF9FEFEAs"J,8%8"8$:"8"8"8):%8"8$:*8%
+F6F7O?F9F9FEFEFEF9FEFEFEF9F9FEF9FEFEF9F9F9F9F9FEF9FEF9FEFEFEF9FEFEF9F9FEFEF9F9F9F9FEFEFEF9FEFEFEF9F9FEF9FEFEBrJ$<"H$9"9"<$F$<"
+F9ODF9F9F9F9F9F9F9F9F9F9FEFEF9F9F9F9AsJ"J%
+F7O@FEO!FEFEF9F9AtJ$9":$J"F$
+F9O8F9FEFEFEFEF9FELFEFEF9FEJ28"9$8$8$8"8"8"9"9'8"8&8,8"9"
+OMF9FEFEFEFEFEF9F9F9F9FEFEFEF9F9F9FEFEFEF9FEFEF9FEFEF9FEFEFEFEFEFEF9F9FEFEF9FEF9FEFEF9FEFEF9F9F9FEFEFEF9F9F9FEFEFEJ&:$9z8w8'9r9$9s
+P F9F9F9F9F9F9F9F97F9F9F9F9F9F9F9F9F9F9F9F9F9
+
+>z8z
+/F7REF7sF"J&
+F7F7RFF7F7F7F7F7(z'
+F6F6F6F6F6F6F7S*D9F6F6F6F6F6F68%J&
+F9F9F9F9S,F9F9F9F9F7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Ju
+BFEJ-
+AFEFED9FED9FED9FED9FED9FEJ/
+@FEFED9FED9FED9FED9FED9FED9FEJ&r%
+?FEFED9FED9FED9FED9FEJ%=&
+@D9FED9FEFED9FED9FEJ$?%
+@FED9FEFED9FED9J$9$9%J#J&J%
+@D9FED9D9FED9D9FED9FEBFEFEO2FEFED9FEFEMFEFEFEFEJ$9$9&J"8"J'
+@FED9FEFED9FEFED9FED9FE@FEFEP4FEFED9D9FEFEJ$9$9'J#9+<#9#8%8#8#;+9%>#9#<%8#8.
+@D9FED9D9FED9D9FED9FED9FE@D9D9FEFED9FEFED9FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFED9FEFED9FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFED9FEFED9FEFED9FEFEFEFEJ*9(J":"9"8'C'D"8.I'@"8'<'
+@FED9FED9FED9FED9FEFED9FED9FED9FE=FEFEFEFEFED9D9FEFEFEFED9D9FEFEFEFEFED9D9FEFED9FEFED9D9FEFEFEFED9D9FEFEFEFEFED9D9FEFED9D9D9FEFED9J):(J#A(J#=#A(=%A#D$
+@D9FED9FED9FED9FED9FED9FEFEFED9GD9D9D9FEFED9FEFED96D9D9D9D9D9FEFED9FEFED9FED9D9D9D9D9FEFED9J(:(J#;":#J":#:$J&A":#
+@FED9FED9FED9FED9FED9FED9D9D9@FEFED9FEFECD9FEFEFEFEFE5D9D9FEFEFED9FEFEJ(:'J)=%<&J*@&>"8"E%>#
+?D9FEFED9FED9FED9FED9FED9FE?FEFED9D9D9D9FEFED9D9D9D9D9FEFEFED9;D9D9D9D9D9FEFED9D9D9FEFEFED9D9FED9D9D9D9D9D9J'9(J#J"F#J%<"B#>#
+@D9FEFED9FED9D9FED9FED9FED9O"FEFE7FEFEFE:FEFED9D9FEFEFEFEFEJ&9'J'=";,B/>"?,>'
+AD9FEFED9FEFED9FED9FED9MD9FEFEFEFED9D9D9FEFEFEFED9D9D9FEFED9D9FEFEFEFED9D9D9FEFEFED9FEFED9D9FEFEFEFED9D9D9FEFED9D9FEFEFEFED9J.J#:%:%@":%9&;#:%9v;">%9s:%?#
+BD9FEFED9FED9FED9FED9FED9FE@D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9J,J"J"
+DD9FED9FED9FED9FED9FED9O,FEO$FEJ+J$J$
+DFED9FEFEFED9FED9D9D9O,FEFED9O"FEFED9J#9$J#J#
+DD9FEFED9FEO.D9D9O#D9D9J#9$
+DFED9D9FED9J+
+BFEFED9FED9FED9FED9FEJ+
+CD9FED9FED9FED9FED9FEJv
+BD9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+=z
+S*D8>z"
+S(D9FF>Z
+S(=z
+S*D9
+
+
+
+Jz
+O O1FE
+Jz
+O"O-D9
+Jz
+O$O)D8J"
+P,FFJz"
+O&O%D9FF
+
+
+JZJZ
+O*KO)KJ"J"
+P&D8P%D8Jz"Jz"
+O,GD9D8O,GD9D8
+
+
+
+
+J#:#J#9#
+O4FEFEFEFEP!FEFEFEFEJ"
+Q?FEJ$8)9%J%
+O4D9FEFEFEFED9D9FEFEFEFEFEFEFEFEOLFEFEFEFEJ.J#:'
+O<FEFED9D9FEFED9FEFED9D9FEFEODD9FEFEFED9D9FEFEJ'@%
+O5D9FEFEFEFED9FED9D9D9J"8":#9&J#
+O6D9D9FEFED9D9FEFEFEOFD9FEJ%9"8"
+O>D9D9D9D9D9FEJ(J"
+O@FEFED9FEFED9D9OHD9J.J'
+O<D9FEFEFEFED9D9D9FEFEFEFED9OJD9FEFEFEFED9J#:%9%J#9#8%
+O7D9D9D9D9D9D9D9D9D9D9OCD9D9D9D9D9D9D9D9
+
+
+
+
+
+
+'J&
+F7F7F7F7F7F7S+F7F7F7F7F7'JzJzJ'
+F6F6F6F6F6F6O&GD8O-GD8O&F6F6F6F6F6F68%J"J"J&
+F9F9F9F9O%D8P%D8P F9F9F9F9F7JzJz
+O*KD9O)KD9
+
+
+JZ
+O&O%J"
+O%FFJz
+O$O)D9
+Jz
+O"O-FE
+Jz
+O O1D9
+
+
+
+=z"z"z
+0F6F7R5F6F71F6<z8z8z
+1F9R4F91F9
+
+
+7z8z8z
+6F7R4F75F7"J"J"
+F77F7R5F7
+ENDBITMAP
+%%EndBinary
+0 0 0 1 0 0 0 K
+324 191 531 335 R
+7 X
+V
+4 8 Q
+0 X
+(messagedialog .md -modality application \134) 324 329.67 T
+( -title Conf) 324 319.67 T
+(irmation -bitmap questhead \134) 391.2 319.67 T
+( -text \322Are you sure ?\323) 324 309.67 T
+(.md buttonconf) 324 299.67 T
+(igure OK -text \322Yes\323) 391.2 299.67 T
+(.md buttonconf) 324 289.67 T
+(igure Cancel -text \322No\323) 391.2 289.67 T
+(.md hide Help) 324 279.67 T
+(if {[.md activate]} {) 324 259.67 T
+( .md conf) 324 249.67 T
+(igure \134) 381.6 249.67 T
+( -text \322Are you really sure ?\323) 324 239.67 T
+( if {[.md activate]} {) 324 229.67 T
+( # Perform operation) 324 219.67 T
+( }) 324 209.67 T
+(}) 324 199.67 T
+0 10 Q
+(FIGURE 12) 354.44 166.17 T
+1 F
+( - Con\336rmation dialog) 405.83 166.17 T
+0 0 612 792 C
+315 567 540 720 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+315 585 540 720 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+0 0 0 1 0 0 0 K
+%%BeginBinary: 4792
+337 137 121.32 49.32 0 364.68 661.68
+/red <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000868EEF9AFF2CAEB6CF71E7
+A24DF70055BE928AB2D3FF00F7557DDBB2002CFF6120822C455D4571FF0000FF
+> store
+/green <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000DF82D78AE78AEFEF0071E7
+A24DF70055BE827530B6FFFFDF697DDBB2004D00B641DF4D829E4582FF0000FF
+> store
+/blue <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000E36DB675C755EFB60071E7
+A24DF77D55BE9265618EE300B22C7DDBB28A4D00FF59E351B6A2FF9200FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+7F6F7T,F6F77F6F7J"
+U-F78z8z8z
+5F9T+F95F9
+
+
+<z"
+U"F7F6=z"z
+0F6F7T=F6>z8z
+/F9T<F9
+Js
+Q5FEJ"8$
+Q5F9F9F9F9J"
+Q;F9J18$9'
+Q:FEF9F9F9FEFEFEF9FEFEFEFEFEF9FEFEFEFEFEFEFEFEF9FEFEAs"J#:"8"8"8"8*8"
+F6F7Q$FEFEF9FEF9FEFEFEFEF9FEFEFEF9F9FEBrJ#=$9$8$<$
+F9Q%F9F9F9F9F9F9F9F9F9F9F9F9F9F9AsJ$
+F7Q'F9F9FEAtJ"F$
+F9Q'FEFEF9FEJ"8$9"8"8"8"8*8"
+Q5FEFEFEFEFEFEFEFEF9F9FEFEFEF9F9F9FEFEJx8%:$9%
+Q5F9F9F9F9F9F9F9F9F9F9F9F9
+
+>z8z
+/F7T<F7sF"J&
+F7F7T=F7F7F7F7F7(z$z'
+F6F6F6F6F6F6F7S!D9D8D8D8OKD9F6F6F6F6F6F68%J#J&
+F9F9F9F9S#D9FFOLF9F9F9F9F7
+
+
+Jz
+S1O@FE
+Jz
+S3O=D9
+Jz
+S5O9D8J"
+TMFFJz"
+S7O5D9FF
+
+
+JZ
+S;O-J"
+TGD8Jz"
+S=O)D9D8
+
+
+
+
+J'@#
+SGFEFEFEFEFEFEFEFEJ&
+SID9D9D9FEFEJ%8"8*9#
+T"FEFEFEFEFEFED9FEFED9FEFEFEFEFEFEJ)8"9"
+T!FEFED9D9FEFED9D9D9FEJ&F*
+SIFEFEFEFED9D9D9D9FEFED9FEFED9J#<#@"
+SID9D9FEFED9J$9%B&
+SKD9FEFED9D9D9D9D9FEFEFED9J#;"
+T%FEFEFEJ'8%="
+T!D9FEFEFEFED9D9FEFED9D9J#9#8%:&="
+SGD9D9D9D9D9D9D9D9D9D9D9D9D9D9JsJ"
+P:FEQ@FEJ+J$
+P9FEFED9FED9FED9FED9FEQ>FEFED9J-J#
+P8FEFED9FED9FED9FED9FED9FEQ=D9D9J%r$
+P7FEFED9FED9FED9FEJ'<%
+P6FEFED9FED9FED9FED9FEJ'<%
+P7D9FED9FED9FED9FED9FEJ(=#
+P7FED9D9D9FED9FEFED9J#8%<#
+P7D9FED9FED9FED9FEJ#9%;#Jz
+P7FED9D9FED9FEFED9PDO)D8J#:%:#J"
+P7D9FED9FED9FED9FEPCD8J#;%9#Jz
+P7FED9D9FED9FEFED9PBO-D9J#<)
+P7D9FED9FED9FEFEFED9FEJ%<(
+P6D9FED9FED9FED9FED9FED9J%=%
+P7D9FED9FEFED9FED9J$r$JZ
+P8D9FED9FED9FED9P@O5J,J"
+P9D9FED9FED9FED9FED9FED9P@FFJ*Jz
+P:D9FED9FED9FED9FED9P@O9D9Jr
+P;D9Jz
+S3O=FE
+Jz
+S1O@D9
+
+
+
+
+
+J#9#E#;#C#J#F#
+O%FEFEFEFEFEFEFEFEFEFEO1FEFEFEFEJ#
+QHD9D9J&9%;#<%<"8"8%=%9%9%9%9%9%=#;%8#9&8%9%
+O-FEFED9FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFED9FEFEFEFEFEFEFEFEFEFEJ,9%:';"8);5;%9'B.JZ
+O/FED9FEFED9FEFED9D9FEFEFED9FEFEFEFED9D9FEFED9D9D9FEFED9D9FEFEIFEFED9D9FEFED9FEFED9D9FEFED9FEFED9D9FEFED9FEFED9D9FEFED9FEFED9D9FEFED9FEFED9D9FEFEFEFED9FEFEFED9D9FEFEFEFED9D9FEFED9FEFED9D9FEFEO1O-J":#="J#?#;#@%9%>"@(>#J"
+O/D9D9D9D9BD9D9D9D9D9D9FED9D9D9FED9D9D9D9D9FEFED9FEFED9D9D9PDD8J$E#J$I#9&8&E#J#Jz"
+O5FEFEFEFEFE8FEFEFEFEFED9D9FEFEFED9D9FEFEFEFEFE7FEFEO5O)D9D8J%E%J%I%9"8"9"8"D%8&D%
+O4FEFED9D9D9D9D9D95FEFED9D9D9D9D9D9D9FED9FED9D9D9D9D9FEFEFED9D9D9D9D9J(G"A#?"J#;#;(9%@"=#F#;#
+O%D9FEFED9FEFED9FEFEFEFE6FEFEFEFEFEFED9FEFED9D9FEFED9D9FEFEFEFEFEFEFEJ"A(8%:'<+;5;%9'9$<.
+O(FED9FEFEFED9FEFED9FEFED9D9FEFEFEFED9D9FEFED9D9FEFEFEFED9ID9FEFEFED9FEFED9FEFEFEFED9D9D9FEFEFEFED9D9D9FEFEFEFED9D9D9FEFEFEFED9D9D9FEFEFEFED9D9FEFED9D9FEFEFEFED9D9FED9D9FEFEFEFED9D9D9FEFEFEFED9J&8#8#8v8#8%>#8%=v9%9%9%9%=&8%;":#8%9%
+O&D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9
+J%J#
+SGFEFEFEFE=FEFEJ'
+SFFEFED9D9FEFEJ$8(8&9%9%
+SEFEFED9D9D9D9FEFEFEFEFEFED9FEFEFEFEFEFEFEFEFEFEJ'93
+SLFEFED9D9FEFEFED9FEFED9FEFED9D9FEFED9FEFED9D9FEFEJ#=">#
+SLD9D9D9D9D9J$I#
+SMFEFEFEFEFEJ%I%
+SLFEFED9D9D9D9D9D9J$8#H#;#
+SED9FEFEFEFEFEFEFEFEJ.=.
+SFD9FEFEFEFED9D9FEFEFED9FEFED9FEFEFEFED9D9D9FEFEFEFED9J%8s8#8%9%8#
+SGD9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9
+
+
+
+
+
+
+'J&
+F7F7F7F7F7F7U"F7F7F7F7F7'JzF'
+F6F6F6F6F6F6S7O)D8F6F6F6F6F6F68%J"J&
+F9F9F9F9S6D8O:F9F9F9F9F7Jz
+S;O-D9
+
+
+
+
+
+
+
+
+
+
+
+
+J"
+S)FF=z"z"z
+0F6F7T,F6F71F6<z8z8z
+1F9T+F91F9
+
+
+7z8z8z
+6F7T+F75F7"J"J"
+F77F7T,F7
+ENDBITMAP
+%%EndBinary
+0 0 0 1 0 0 0 K
+324 594 531 657 R
+7 X
+V
+4 8 Q
+0 X
+(.md conf) 324 651.67 T
+(igure -bitmap error -imagepos n \134) 362.4 651.67 T
+( -text \322Unable to access device\323 \134) 324 641.67 T
+( -modality none -buttonboxpos e) 324 631.67 T
+(.md buttonconf) 324 621.67 T
+(igure OK -text \322Retry\323) 391.2 621.67 T
+(.md buttonconf) 324 611.67 T
+(igure Cancel -text \322Cancel\323) 391.2 611.67 T
+(.md activate) 324 601.67 T
+0 10 Q
+(FIGURE 13) 377.68 569.18 T
+1 F
+( - Error dialog) 429.07 569.18 T
+0 0 612 792 C
+FMENDPAGE
+%%EndPage: "8" 8
+%%Page: "9" 9
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+-0.22 (modal. W) 72 713.33 P
+-0.22 (e\325ll also change the orientation and position of) 110.42 713.33 P
+(the buttons to be vertical along the right hand side. Fig-) 72 701.33 T
+(ure 13 shows the \336nal product. It is important to note,) 72 689.33 T
+-0.47 (that no new message dialog has been created, instead the) 72 677.33 P
+(existing one has been recon\336gured.) 72 665.33 T
+0 12 Q
+(Lessons Learned) 141.33 634 T
+1 10 Q
+(One element which is essential to any successful devel-) 72 609.33 T
+(opment ef) 72 597.33 T
+(fort is the establishment of \336rm objectives.) 112.09 597.33 T
+-0.29 ([incr W) 72 585.33 P
+-0.29 (idgets] was short on neither aggressive goals nor) 102.13 585.33 P
+(talented developers willing to contribute in a team envi-) 72 573.33 T
+(ronment. Many lessons were learned during this ef) 72 561.33 T
+(fort) 274.56 561.33 T
+(as the team achieved a truly reusable, \337exible, and) 72 549.33 T
+(extensible mega-widget set. The lessons centered on) 72 537.33 T
+(inheritance, con\336gurability) 72 525.33 T
+(, testability) 179.67 525.33 T
+(, and reusability) 223.47 525.33 T
+(.) 286.98 525.33 T
+(Inheritance proved to be a valuable tool during [incr) 72 501.33 T
+(W) 72 489.33 T
+(idgets] development. The impact of changes due to) 81.04 489.33 T
+(Tk 4.0 were signi\336cantly lessened. For example, as) 72 477.33 T
+(image support was added to Tk, a single option was) 72 465.33 T
+(added to the Labeledwidget class which was then inher-) 72 453.33 T
+-0.26 (ited by derived classes in the hierarchy) 72 441.33 P
+-0.26 (. Also, bugs \336xed) 225.28 441.33 P
+-0.45 (in base classes applied to all derived ones. This made for) 72 429.33 P
+(quick and easy maintenance. On a similar note, errors) 72 417.33 T
+(introduced in lower level classes had broader ef) 72 405.33 T
+(fects.) 262.6 405.33 T
+(Fortunately) 72 393.33 T
+(, this was rare and easily detected due to the) 117.46 393.33 T
+(magni\336ed repercussions.) 72 381.33 T
+(Maximum recon\336gurability comes at the price of) 72 357.33 T
+(quickly multiplying options in an inheritance hierarchy) 72 345.33 T
+(.) 291.89 345.33 T
+(In an ef) 72 333.33 T
+(fort to avoid the usability problems associated) 102.36 333.33 T
+-0.26 (with Motif) 72 321.33 P
+-0.26 (\325) 115.35 321.33 P
+-0.26 (s bulky resource set, [incr W) 118.13 321.33 P
+-0.26 (idgets] imposed) 231.41 321.33 P
+(an 80/20 rule. If 80% of the user community could be) 72 309.33 T
+(viewed as having no interest in an option, it was) 72 297.33 T
+(excluded. Users could always use the built-in [incr Tk]) 72 285.33 T
+(\324component\325 command to con\336gure an option.) 72 273.33 T
+-0.16 (The incorporation of a regression test suit was a de\336nite) 72 249.33 P
+(plus. The [incr W) 72 237.33 T
+(idgets] test suite is a blatant rip-of) 142.14 237.33 T
+(f of) 278.06 237.33 T
+(the work done by Ousterhout and May-Pumphrey for) 72 225.33 T
+(T) 72 213.33 T
+(cl/Tk [6]. The test suite consistently exposed \337aws) 77.41 213.33 T
+(which hand testing left hidden. Especially those bugs) 72 201.33 T
+(dealing with lar) 72 189.33 T
+(ge scale component con\336guration. The) 134.59 189.33 T
+(test suite also doubles as a good visual demo.) 72 177.33 T
+(Absolutely no reuse of any kind occurs until a widget) 72 155.33 T
+-0.41 (set becomes well documented. This includes man pages,) 72 143.33 P
+-0.41 (user) 72 131.33 P
+-0.41 (\325) 89.03 131.33 P
+-0.41 (s guides, and demos. Unless documented, reuse is a) 91.81 131.33 P
+(localized event at best. There is no such thing as self-) 72 119.33 T
+-0.03 (documenting code. Instead, the demand is for self-docu-) 72 107.33 P
+(menting engineers.) 72 95.33 T
+0 12 Q
+(Pr) 397.95 712 T
+(ospective) 410.39 712 T
+1 10 Q
+([incr W) 315 687.33 T
+(idgets] is an ongoing development ef) 345.42 687.33 T
+(fort. The) 493.28 687.33 T
+(mega-widgets presented in this paper represent those) 315 675.33 T
+(ready for release. Each has a man page, demo, and) 315 663.33 T
+(regression test script. Many other mega-widgets are) 315 651.33 T
+(under construction which have not reached release sta-) 315 639.33 T
+(tus. They include classes such as T) 315 627.33 T
+(oolbar) 454 627.33 T
+(, Combobox,) 479.15 627.33 T
+(T) 315 615.33 T
+(able, Calendar) 320.41 615.33 T
+(, Gage, Menubar) 377.77 615.33 T
+(, and Mainwindow) 444.57 615.33 T
+(.) 519.19 615.33 T
+-0.36 (Once complete, each new class will be incorporated into) 315 603.33 P
+(the [incr W) 315 591.33 T
+(idgets] distribution.) 360.14 591.33 T
+(Public contributions to the [incr W) 315 567.33 T
+(idgets] mega-widget) 453.76 567.33 T
+(set are welcome and encouraged. Those mega-widgets) 315 555.33 T
+-0.08 (which currently compose [incr W) 315 543.33 P
+-0.08 (idgets] should be used) 448.67 543.33 P
+(as a model. Contributed mega-widgets should meet or) 315 531.33 T
+(exceed the objectives set forth in this paper such as) 315 519.33 T
+(extensible child sites, \337exible component con\336gura-) 315 507.33 T
+(tions, and style consistency) 315 495.33 T
+(. The coding and comment) 423.79 495.33 T
+(style must also be maintained. Man pages, demos, and) 315 483.33 T
+(test scripts are mandatory) 315 471.33 T
+(.) 416.83 471.33 T
+0 12 Q
+(Conclusion) 398.83 440 T
+1 10 Q
+([incr W) 315 415.33 T
+(idgets] of) 345.42 415.33 T
+(fers a strong object-oriented founda-) 383.29 415.33 T
+(tion which addresses the need for a \337exible and extensi-) 315 403.33 T
+-0.1 (ble mega-widget set. Its usage replaces common widget) 315 391.33 P
+-0.51 (combinations with higher level abstractions, simplifying) 315 379.33 P
+(code, reducing errors, increasing readability) 315 367.33 T
+(, adding) 490.41 367.33 T
+(productivity) 315 355.33 T
+(, and promoting a singular look-and-feel.) 363.24 355.33 T
+(The ability to extend [incr W) 315 343.33 T
+(idgets] enables developers) 430.97 343.33 T
+(to create new mega-widgets based on previous work.) 315 331.33 T
+(In short, [incr W) 315 309.33 T
+(idgets] is a library of reusable mega-) 381.25 309.33 T
+(widgets that can be easily extended, allowing quicker) 315 297.33 T
+-0.08 (development of lar) 315 285.33 P
+-0.08 (ge scale applications. It has been suc-) 390.21 285.33 P
+(cessfully used in several projects, including mission-) 315 273.33 T
+(critical telecommunication applications delivered to) 315 261.33 T
+(Japan, Great Britain, and Australia. As development) 315 249.33 T
+(continues, existing classes are being extended and new) 315 237.33 T
+(classes are being added. Development time has been) 315 225.33 T
+(drastically reduced. New dialogs can be created in) 315 213.33 T
+(hours. Whole applications in days. Reuse is a reality) 315 201.33 T
+(.) 523.77 201.33 T
+(New projects are bene\336tting from the work of others.) 315 189.33 T
+([incr W) 315 177.33 T
+(idgets] is an [incr Tk] success story) 345.42 177.33 T
+(.) 486.41 177.33 T
+0 12 Q
+(Acknowledgments) 380.5 146 T
+1 10 Q
+([incr W) 315 123.33 T
+(idgets] was produced by a dedicated team com-) 345.42 123.33 T
+(prised of Mark Ulferts, Sue Y) 315 111.33 T
+(ockey) 433.42 111.33 T
+(, Alfredo Jahn, John) 456.65 111.33 T
+(Sigler) 315 99.33 T
+(, and Bret Schuhmacher at DSC Communications) 338.49 99.33 T
+(Corp. Signi\336cant advice and counselling was adminis-) 315 87.33 T
+(tered by Mark Harrison, also employed by DSC.) 315 75.33 T
+FMENDPAGE
+%%EndPage: "9" 9
+%%Page: "10" 10
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(Michael J. McLennan, A) 72 713.33 T
+(T&T Bell Labs, allowed the) 170.59 713.33 T
+(team to beta test [incr Tk] and supported the ef) 72 701.33 T
+(fort) 259.28 701.33 T
+(through the infusion of innovative ideas.) 72 689.33 T
+0 12 Q
+(Refer) 156.62 658 T
+(ences) 185.05 658 T
+1 10 Q
+([1] Michael J. McLennan, \322[incr T) 72 635.33 T
+(cl] - Object-Oriented) 209.87 635.33 T
+(Programming in T) 86 623.33 T
+(cl\323, Proceedings of the T) 159.19 623.33 T
+(cl/Tk) 258.19 623.33 T
+(W) 86 611.33 T
+(orkshop 1993, Berkeley Ca.) 94.64 611.33 T
+(http://www) 86 599.33 T
+(.wn.com/biz/itcl) 130.91 599.33 T
+([2] Michael J. McLennan, \322[incr Tk] Building Extensi-) 72 577.33 T
+(ble W) 86 565.33 T
+(idgets with [incr T) 109.76 565.33 T
+(cl]\323, Proceedings of the T) 183.22 565.33 T
+(cl/) 285.55 565.33 T
+(Tk W) 86 553.33 T
+(orkshop 1994, New Orleans La.) 108.25 553.33 T
+(http://www) 86 541.33 T
+(.wn.com/biz/itk) 130.91 541.33 T
+([3] Ioi K. Lam, T) 72 519.33 T
+(ix,) 141.08 519.33 T
+(http://www) 86.67 507.33 T
+(.cis.upenn.edu/~ioi/tix/tix.html) 131.58 507.33 T
+([4] Nat Pryce, itcl-widgets,) 72 485.33 T
+(http://www-dse.doc.ic.ac.uk:80/~np2/itcl_widgets/) 86.67 473.33 T
+-0.03 ([5] John Ousterhout, \322T) 72 451.33 P
+-0.03 (cl and the Tk T) 166.75 451.33 P
+-0.03 (oolkit\323, Addison-) 227.03 451.33 P
+(W) 86 439.33 T
+(esley) 94.64 439.33 T
+(, 1994. http://playground.sun.com/~ouster/) 114.54 439.33 T
+0 12 Q
+(Appendix) 159.49 408 T
+([incr W) 133.83 394 T
+(idgets] T) 173.27 394 T
+(our) 217.17 394 T
+1 10 Q
+-0.02 ([incr Tk] provides the base classes for all the mega-wid-) 72 371.33 P
+(get classes of [incr W) 72 359.33 T
+(idgets]. The dialog classes are) 158.24 359.33 T
+-0.41 (derived from itk::T) 72 347.33 P
+-0.41 (oplevel, all other classes are based on) 147.14 347.33 P
+(itk::W) 72 335.33 T
+(idget. The [incr Tk] classes provide for compo-) 97.16 335.33 T
+(nent, option, and method de\336nition and management.) 315 713.33 T
+(The [incr W) 315 701.33 T
+(idget] classes are the specialization of the) 363.47 701.33 T
+([incr Tk] base classes, where each level re\336nes and aug-) 315 689.33 T
+-0.25 (ments the methods and options of the base classes. Each) 315 677.18 P
+-0.29 ([incr W) 315 665.18 P
+-0.29 (idgets] class will be brie\337y discussed and a short) 345.13 665.18 P
+(example presented. Figure 14 depicts the class hierar-) 315 653.18 T
+(chy) 315 641.18 T
+(.) 328.79 641.18 T
+0 12 Q
+(Labeledwidget) 389.83 609.85 T
+1 10 Q
+(The Labeledwidget is the most primitive mega-widget) 315 591.18 T
+(in the set, providing label support in the other classes.) 315 579.18 T
+(The class contains a label, a mar) 315 567.18 T
+(gin, and a child site) 444.51 567.18 T
+(which can be \336lled with other widgets. The options pro-) 315 555.18 T
+(vide the ability to position the label around the child) 315 543.18 T
+(site, modify the font, adjust the mar) 315 531.18 T
+(gin distance, and) 457.59 531.18 T
+(enable/disable label display) 315 519.18 T
+(.) 424.89 519.18 T
+(The following example creates a Labeledwidget with a) 315 495.18 T
+(canvas widget in the child site. The label is set to \322Can-) 315 483.18 T
+(vas\323 and initially located south of the child site. Next,) 315 471.18 T
+(the label is moved around the child site and mar) 315 459.18 T
+(gin set) 506.74 459.18 T
+(to various distances.) 315 447.18 T
+0 12 Q
+(Entry\336eld) 401.5 415.85 T
+1 10 Q
+(The Entry\336eld class associates a label with an entry) 315 397.18 T
+-0.18 (widget, providing text entry) 315 385.18 P
+-0.18 (, length, validation, and edit-) 425.46 385.18 P
+(ing enhancements. Since the class is based on the) 315 373.18 T
+(Labeledwidget class, all the options and methods for) 315 361.18 T
+72 72 540 315 R
+7 X
+V
+99.66 87.38 512.34 305 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+234.66 98 505.03 297.5 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+9 X
+N
+106.88 109.75 228.38 250.75 R
+7 X
+V
+8 X
+N
+112.03 179.75 164.53 189.5 R
+7 X
+V
+0 X
+N
+1 7 Q
+(itk::Archetype) 117.63 181.01 T
+178.28 126.75 226.28 136.5 R
+7 X
+V
+0 X
+N
+(itk::T) 183.4 128.01 T
+(oplevel) 198.47 128.01 T
+176.78 232.5 224.78 242.25 R
+7 X
+V
+0 X
+N
+(itk::W) 181.9 233.76 T
+(idget) 199.51 233.76 T
+248.19 200.84 289.44 210.59 R
+7 X
+V
+0 X
+N
+(Buttonbox) 252.58 202.09 T
+248.19 265.17 299.19 274.92 R
+7 X
+V
+0 X
+N
+(Selectionbox) 253.62 266.43 T
+248.19 184.76 292.44 194.51 R
+7 X
+V
+0 X
+N
+(Pushbutton) 252.9 186.01 T
+248.19 249.09 310.14 258.84 R
+7 X
+V
+0 X
+N
+(Fileselectionbox) 254.79 250.34 T
+248.19 216.92 300.69 226.67 R
+7 X
+V
+0 X
+N
+(Panedwindow) 253.78 218.18 T
+248.19 233.01 300.69 242.76 R
+7 X
+V
+0 X
+N
+(Labeledwidget) 253.78 234.26 T
+251.28 126.75 294.03 136.5 R
+7 X
+V
+0 X
+N
+(Dialogshell) 255.84 128.01 T
+320.78 126.75 357.53 136.5 R
+7 X
+V
+0 X
+N
+(Dialog) 324.7 128.01 T
+382.78 151.25 441.28 161 R
+7 X
+V
+0 X
+N
+(Messagedialog) 389.02 152.51 T
+382.78 118.58 443.53 128.33 R
+7 X
+V
+0 X
+N
+(Selectiondialog) 389.26 119.84 T
+382.78 102.25 453.84 112 R
+7 X
+V
+0 X
+N
+(Fileselectiondialog) 390.36 103.51 T
+382.78 134.92 435.28 144.67 R
+7 X
+V
+0 X
+N
+(Promptdialog) 388.38 136.17 T
+338.07 254.84 390.57 264.59 R
+7 X
+V
+0 X
+N
+(Scrolledlistbox) 343.67 256.09 T
+338.07 239.59 390.57 249.34 R
+7 X
+V
+0 X
+N
+(Optionmenu) 343.67 240.84 T
+338.07 224.34 390.57 234.09 R
+7 X
+V
+0 X
+N
+(Entry\336eld) 343.67 225.59 T
+338.07 209.09 390.57 218.84 R
+7 X
+V
+0 X
+N
+(Scrolledtext) 343.67 210.34 T
+415.1 224.46 448.85 234.21 R
+7 X
+V
+0 X
+N
+(Spinner) 418.7 225.72 T
+458.72 224.07 497.72 233.82 R
+7 X
+V
+0 X
+N
+(Spinint) 462.88 225.32 T
+165.38 184.25 171.38 184.25 2 L
+N
+171.38 236.75 171.38 131 2 L
+N
+171.88 132 177.88 132 2 L
+N
+171.63 236.5 177.63 236.5 2 L
+N
+226.88 131 251.63 131 2 L
+N
+294.38 131.75 320.63 131.75 2 L
+N
+357.38 131 373.13 131 2 L
+N
+373.13 155.75 373.13 107 2 L
+N
+373.13 155.75 382.88 155.75 2 L
+N
+373.63 107.25 383.38 107.25 2 L
+N
+372.88 123.75 382.63 123.75 2 L
+N
+373.38 139 383.13 139 2 L
+N
+237.28 284.77 237.28 156.44 2 L
+N
+237.53 270.01 249.53 270.01 2 L
+N
+237.28 253.76 249.28 253.76 2 L
+N
+237.03 238.26 249.03 238.26 2 L
+N
+237.53 221.26 249.53 221.26 2 L
+N
+237.28 205.01 249.28 205.01 2 L
+N
+237.03 189.51 249.03 189.51 2 L
+N
+237.27 237.93 224.95 237.93 2 L
+N
+325.66 259.89 325.66 183.62 2 L
+N
+326.2 259.89 337.98 259.89 2 L
+N
+326.16 243.86 337.95 243.86 2 L
+N
+326.13 228.89 337.91 228.89 2 L
+N
+325.56 213.39 337.34 213.39 2 L
+N
+301.02 236.86 325.13 236.86 2 L
+N
+390.48 229.36 415.13 229.36 2 L
+N
+449.41 228.82 460.13 228.82 2 L
+N
+102.94 91.81 507.95 300.87 R
+N
+0 10 Q
+([incr Tk]) 111.38 114.25 T
+([incr W) 237.38 102.25 T
+(idgets]) 270.25 102.25 T
+338.78 194.14 391.28 203.89 R
+7 X
+V
+0 X
+N
+326.06 198.52 337.84 198.52 2 L
+N
+339.04 179.26 391.54 189.01 R
+7 X
+V
+0 X
+N
+1 7 Q
+(Scrolledframe) 344.64 180.52 T
+326.53 183.57 338.32 183.57 2 L
+N
+(Scrolledcanvas) 341.88 195.5 T
+248.66 168.36 287.99 178.11 R
+7 X
+V
+0 X
+N
+(Spindate) 254.09 169.61 T
+249.43 152.58 286.55 162.33 R
+7 X
+V
+0 X
+N
+(Spintime) 254.87 153.84 T
+248.54 280.7 299.54 290.45 R
+7 X
+V
+0 X
+N
+(Combobox) 253.98 281.95 T
+248.34 284.77 237.22 284.77 2 L
+N
+248.34 172.55 237.22 172.55 2 L
+N
+249.45 157 237.78 157 2 L
+N
+0 0 612 792 C
+0 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(FIGURE 14) 207.44 74.18 T
+1 F
+( - [incr W) 258.83 74.18 T
+(idgets] class hierarchy) 297.58 74.18 T
+FMENDPAGE
+%%EndPage: "10" 10
+%%Page: "11" 11
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+-0.35 (Labeledwidgets are supported in Entry\336elds. Also, most) 72 470.33 P
+(of the methods for the standard Tk entry widget are pro-) 72 458.33 T
+(vided such as insert, delete, get, and scan.) 72 446.33 T
+0 12 Q
+(Pushbutton) 154.82 118 T
+1 10 Q
+(The Pushbutton class of) 72 99.33 T
+(fers the standard Tk button wid-) 167.65 99.33 T
+(get with the ability to display as a default button with a) 72 87.33 T
+-0.35 (recessed ring. The primary use for the Pushbutton is as a) 72 75.33 P
+72 477 297 720 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 504 297 720 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+%%BeginBinary: 2913
+134 174 40.2 52.2 0 81 657
+/red <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000069FBB29AFF2CAEB6CF71E7
+A24DF70055BE928AB2D3FF00F7557DDBB2002CFF6120822C455D4571FF0000FF
+> store
+/green <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000086FFDF8AE78AEFEF0071E7
+A24DF70055BE827530B6FFFFDF697DDBB2004D00B641DF4D829E4582FF0000FF
+> store
+/blue <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000008EFFEF75C755EFB60071E7
+A24DF77D55BE9265618EE300B22C7DDBB28A4D00FF59E351B6A2FF9200FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+7F4F5OGF4F57F4F5J"
+PHF58z8z8z
+5F8OFF85F8
+
+
+<z"
+P=F5F4=z"z"z"z
+0F4F5O6F4F50F4F50F4>z8z8z8z
+/F8O5F8/F8/F8
+J#>$
+O)FEFEFEFEFEJ"Js"
+O3F8O"F4F5J#Jr
+O)F8F8O,F8J09%;#
+JFEFEFEF8FEFEFEFEF8FEFEFEFEFEFEFEFEFEFEFEFEAs"J"9"8':%;%J$
+F4F56F8F8F8F8F8FEF8F8FEF8F8F8FEF8FEFE<F4F4F5BrJ$9%=%:"J"
+F88F8FEFEFEF8FEF8FEFEFEF8F8@F8AsJ"9"J#
+F5HF8FEDF5F5AtJ)=%J$
+F88F8FEFEF8F8FEFEF8FEF8F8F8EF8F8F8J"8"8'8"9"
+O(FEFEFEFEFEF8F8FEFEFEJ#8#9t8sJs
+MF8F8F8F8F8F8IF5Jt
+P6F8
+>z8z8z8z
+/F5O5F5/F5/F5sF"J"F"F&
+F5F5O6F5F5F5F5F5F5F5(z'
+F4F4F4F4F4F4F5P<D9F4F4F4F4F4F48%J&
+F8F8F8F8P>F8F8F8F8F5
+
+
+
+
+
+
+
+Gz
+P(FE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Gz
+P(D9
+
+
+
+
+
+J%
+O"FEFEFEFEJ'
+O!FEFED9D9FEFEJ$8(8&8#9#8%9%
+O FEFED9D9D9D9FEFEFEFEFEFED9FEFEFEFEFEFEFEFEFEFEFEFEFEFEJ'9%?.
+O'FEFED9D9FEFEFED9FEFEFEFED9D9FEFED9FEFED9D9FEFEJ#=":+=%
+O'D9D9D9D9FEFED9FEFED9D9D9D9FED9D9D9J$I$9&
+O(FEFEFEFEFEFED9D9FEFEFEJ%A&8%;"8"
+O'FEFED9D9D9FEFEFED9FEFED9D9D9FEJ$8#J%
+O D9FEFEFEFE=FEFED9D9'J.?$9.J&
+F5F5F5F5F5F5ID9FEFEFEFED9D9FEFEFED9FEFED9FED9D9FEFEFED9FEFED9FEFEFEFED9GF5F5F5F5F5'J%8s8#:";vJ'
+F4F4F4F4F4F4JD9D9D9D9D9D9D9D9D9HF4F4F4F4F4F48%J&
+F8F8F8F8P>F8F8F8F8F5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+=z"z"z
+0F4F5OGF4F51F4<z8z8z
+1F8OFF81F8
+
+
+7z8z8z
+6F5OFF55F5"J"J"
+F57F5OGF5
+ENDBITMAP
+%%EndBinary
+%%BeginBinary: 2909
+189 151 56.7 45.3 0 125.83 657
+/red <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000069FBB29AFF2CAEB6CF71E7
+A24DF70055BE928AB2D3FF00F7557DDBB2002CFF6120822C455D4571FF0000FF
+> store
+/green <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000086FFDF8AE78AEFEF0071E7
+A24DF70055BE827530B6FFFFDF697DDBB2004D00B641DF4D829E4582FF0000FF
+> store
+/blue <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000008EFFEF75C755EFB60071E7
+A24DF77D55BE9265618EE300B22C7DDBB28A4D00FF59E351B6A2FF9200FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+7F4F5Q"F4F57F4F5J"
+R#F58z8z8z
+5F8Q!F85F8
+
+
+<z"
+QFF5F4=z"z"z"z
+0F4F5P?F4F50F4F50F4>z8z8z8z
+/F8P>F8/F8/F8
+J#>$
+ODFEFEFEFEFEJ"Js"
+P F8O>F4F5J#Jr
+ODF8F8OHF8J09%;#
+O7FEFEFEF8FEFEFEFEF8FEFEFEFEFEFEFEFEFEFEFEFEAs"J"9"8':%;%J$
+F4F5O#F8F8F8F8F8FEF8F8FEF8F8F8FEF8FEFEO*F4F4F5BrJ$9%=%:"J"
+F8O%F8FEFEFEF8FEF8FEFEFEF8F8O.F8AsJ"9"J#
+F5O5F8FEO2F5F5AtJ)=%J$
+F8O%F8FEFEF8F8FEFEF8FEF8F8F8O3F8F8F8J"8"8'8"9"
+OCFEFEFEFEFEF8F8FEFEFEJ#8#9t8sJs
+O:F8F8F8F8F8F8O7F5Jt
+Q?F8
+>z8z8z8z
+/F5P>F5/F5/F5sF"J"F"F&
+F5F5P?F5F5F5F5F5F5F5(z'
+F4F4F4F4F4F4F5QED9F4F4F4F4F4F48%J&
+F8F8F8F8QGF8F8F8F8F5
+
+
+
+
+
+
+
+Gz
+P(FE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+J%
+PDFEFEFEFEJ'
+PCFEFED9D9FEFEJ$8(8&8#9#8%9%
+PBFEFED9D9D9D9FEFEFEFEFEFED9FEFEFEFEFEFEFEFEFEFEFEFEFEFEJ'9%?.
+PIFEFED9D9FEFEFED9FEFEFEFED9D9FEFED9FEFED9D9FEFEJ#=":+=%
+PID9D9D9D9FEFED9FEFED9D9D9D9FED9D9D9J$I$9&
+PJFEFEFEFEFEFED9D9FEFEFEJ%A&8%;"8"
+PIFEFED9D9D9FEFEFED9FEFED9D9D9FEJ$8#J%
+PBD9FEFEFEFE=FEFED9D9J.?$9.
+PCD9FEFEFEFED9D9FEFEFED9FEFED9FED9D9FEFEFED9FEFED9FEFEFEFED9J%8s8#:";v
+PDD9D9D9D9D9D9D9D9D9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+'J&
+F5F5F5F5F5F5QFF5F5F5F5F5'J'
+F4F4F4F4F4F4QFF4F4F4F4F4F48%J&
+F8F8F8F8QGF8F8F8F8F5
+
+
+
+
+Gz
+P(D9
+
+
+
+
+
+
+
+
+=z"z"z
+0F4F5Q"F4F51F4<z8z8z
+1F8Q!F81F8
+
+
+7z8z8z
+6F5Q!F55F5"J"J"
+F57F5Q"F5
+ENDBITMAP
+%%EndBinary
+%%BeginBinary: 2925
+134 180 40.2 54 0 188.67 657
+/red <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000069FBB29AFF2CAEB6CF71E7
+A24DF70055BE928AB2D3FF00F7557DDBB2002CFF6120822C455D4571FF0000FF
+> store
+/green <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000086FFDF8AE78AEFEF0071E7
+A24DF70055BE827530B6FFFFDF697DDBB2004D00B641DF4D829E4582FF0000FF
+> store
+/blue <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000008EFFEF75C755EFB60071E7
+A24DF77D55BE9265618EE300B22C7DDBB28A4D00FF59E351B6A2FF9200FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+7F6F7OGF6F77F6F7J"
+PHF78z8z8z
+5F9OFF95F9
+
+
+<z"
+P=F7F6=z"z"z"z
+0F6F7O6F6F70F6F70F6>z8z8z8z
+/F9O5F9/F9/F9
+J#>$
+O)FEFEFEFEFEJ"Js"
+O3F9O"F6F7J#Jr
+O)F9F9O,F9J09%;#
+JFEFEFEF9FEFEFEFEF9FEFEFEFEFEFEFEFEFEFEFEFEAs"J"9"8':%;%J$
+F6F76F9F9F9F9F9FEF9F9FEF9F9F9FEF9FEFE<F6F6F7BrJ$9%=%:"J"
+F98F9FEFEFEF9FEF9FEFEFEF9F9@F9AsJ"9"J#
+F7HF9FEDF7F7AtJ)=%J$
+F98F9FEFEF9F9FEFEF9FEF9F9F9EF9F9F9J"8"8'8"9"
+O(FEFEFEFEFEF9F9FEFEFEJ#8#9t8sJs
+MF9F9F9F9F9F9IF7Jt
+P6F9
+>z8z8z8z
+/F7O5F7/F7/F7sF"J"F"F&
+F7F7O6F7F7F7F7F7F7F7(z'
+F6F6F6F6F6F6F7P<D9F6F6F6F6F6F68%J&
+F9F9F9F9P>F9F9F9F9F7
+
+
+
+
+
+
+
+
+
+
+
+
+
+J%
+O"FEFEFEFEJ'
+O!FEFED9D9FEFEJ$8(8&8#9#8%9%
+O FEFED9D9D9D9FEFEFEFEFEFED9FEFEFEFEFEFEFEFEFEFEFEFEFEFEJ'9%?.
+O'FEFED9D9FEFEFED9FEFEFEFED9D9FEFED9FEFED9D9FEFEJ#=":+=%
+O'D9D9D9D9FEFED9FEFED9D9D9D9FED9D9D9J$I$9&
+O(FEFEFEFEFEFED9D9FEFEFEJ%A&8%;"8"
+O'FEFED9D9D9FEFEFED9FEFED9D9D9FEJ$8#J%
+O D9FEFEFEFE=FEFED9D9J.?$9.
+O!D9FEFEFEFED9D9FEFEFED9FEFED9FED9D9FEFEFED9FEFED9FEFEFEFED9J%8s8#:";v
+O"D9D9D9D9D9D9D9D9D9
+
+
+
+
+
+
+
+
+
+
+
+
+Gz
+P(FE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+'J&
+F7F7F7F7F7F7P=F7F7F7F7F7'J'
+F6F6F6F6F6F6P=F6F6F6F6F6F68%J&
+F9F9F9F9P>F9F9F9F9F7
+
+
+
+
+Gz
+P(D9
+
+
+
+
+
+
+
+
+=z"z"z
+0F6F7OGF6F71F6<z8z8z
+1F9OFF91F9
+
+
+7z8z8z
+6F7OFF75F7"J"J"
+F77F7OGF7
+ENDBITMAP
+%%EndBinary
+%%BeginBinary: 2903
+194 151 58.2 45.3 0 233.27 657
+/red <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000069FBB29AFF2CAEB6CF71E7
+A24DF70055BE928AB2D3FF00F7557DDBB2002CFF6120822C455D4571FF0000FF
+> store
+/green <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000086FFDF8AE78AEFEF0071E7
+A24DF70055BE827530B6FFFFDF697DDBB2004D00B641DF4D829E4582FF0000FF
+> store
+/blue <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000008EFFEF75C755EFB60071E7
+A24DF77D55BE9265618EE300B22C7DDBB28A4D00FF59E351B6A2FF9200FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+7F4F5Q'F4F57F4F5J"
+R(F58z8z8z
+5F8Q&F85F8
+
+
+<z"
+QKF5F4=z"z"z"z
+0F4F5PDF4F50F4F50F4>z8z8z8z
+/F8PCF8/F8/F8
+J#>$
+OGFEFEFEFEFEJ"Js"
+P#F8O@F4F5J#Jr
+OGF8F8OJF8J09%;#
+O:FEFEFEF8FEFEFEFEF8FEFEFEFEFEFEFEFEFEFEFEFEAs"J"9"8':%;%J$
+F4F5O&F8F8F8F8F8FEF8F8FEF8F8F8FEF8FEFEO,F4F4F5BrJ$9%=%:"J"
+F8O(F8FEFEFEF8FEF8FEFEFEF8F8O0F8AsJ"9"J#
+F5O8F8FEO4F5F5AtJ)=%J$
+F8O(F8FEFEF8F8FEFEF8FEF8F8F8O5F8F8F8J"8"8'8"9"
+OFFEFEFEFEFEF8F8FEFEFEJ#8#9t8sJs
+O=F8F8F8F8F8F8O9F5Jt
+QDF8
+>z8z8z8z
+/F5PCF5/F5/F5sF"J"F"F&
+F5F5PDF5F5F5F5F5F5F5(z'
+F4F4F4F4F4F4F5QJD9F4F4F4F4F4F48%J&
+F8F8F8F8QLF8F8F8F8F5
+
+
+
+
+
+
+
+Jz
+O?P(FE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+J%
+7FEFEFEFEJ'
+6FEFED9D9FEFEJ$8(8&8#9#8%9%
+5FEFED9D9D9D9FEFEFEFEFEFED9FEFEFEFEFEFEFEFEFEFEFEFEFEFEJ'9%?.
+<FEFED9D9FEFEFED9FEFEFEFED9D9FEFED9FEFED9D9FEFEJ#=":+=%
+<D9D9D9D9FEFED9FEFED9D9D9D9FED9D9D9J$I$9&
+=FEFEFEFEFEFED9D9FEFEFEJ%A&8%;"8"
+<FEFED9D9D9FEFEFED9FEFED9D9D9FEJ$8#J%
+5D9FEFEFEFE=FEFED9D9J.?$9.
+6D9FEFEFEFED9D9FEFEFED9FEFED9FED9D9FEFEFED9FEFED9FEFEFEFED9J%8s8#:";v
+7D9D9D9D9D9D9D9D9D9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+'J&
+F5F5F5F5F5F5QKF5F5F5F5F5'J'
+F4F4F4F4F4F4QKF4F4F4F4F4F48%J&
+F8F8F8F8QLF8F8F8F8F5
+
+
+
+
+Jz
+O?P(D9
+
+
+
+
+
+
+
+
+=z"z"z
+0F4F5Q'F4F51F4<z8z8z
+1F8Q&F81F8
+
+
+7z8z8z
+6F5Q&F55F5"J"J"
+F57F5Q'F5
+ENDBITMAP
+%%EndBinary
+81 513 285.67 644.15 R
+7 X
+V
+4 8 Q
+0 X
+(labeledwidget .lw -labeltext \322Canvas\323 \134) 81 638.82 T
+( -labelpos s) 81 628.82 T
+(set childsite [.lw childsite]) 81 618.82 T
+(canvas $childsite.c -relief raised \134) 81 608.82 T
+-0.22 ( -width 100 -height 100 -background black) 81 598.82 P
+(pack $childsite.c) 81 578.82 T
+(pack .lw -f) 81 568.82 T
+(ill both -expand yes \134) 133.8 568.82 T
+( -padx 10 -pady 10) 81 558.82 T
+(.lw conf) 81 538.82 T
+(igure -labelpos w -labelmargin 10) 119.4 538.82 T
+(.lw conf) 81 528.82 T
+(igure -labelpos e -labelmargin 5) 119.4 528.82 T
+(.lw conf) 81 518.82 T
+(igure -labelpos n -labelmargin 7) 119.4 518.82 T
+0 10 Q
+(FIGURE 15) 124.93 486.1 T
+1 F
+( - Labeledwidget) 176.32 486.1 T
+0 0 612 792 C
+72 146 297 443 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 182 297 443 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+%%BeginBinary: 4942
+279 127 143.49 65.31 0 108.51 368.69
+/red <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000007DFFCF9AFFFF699A69FBB29AFF2CAEB6CF71E7
+A24DF70055BE928AB2D3FF00F7557DDBB2002CFF6120822C455D4571FF0000FF
+> store
+/green <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000006DFFB669F7AE869A86FFDF8AE78AEFEF0071E7
+A24DF70055BE827530B6FFFFDF697DDBB2004D00B641DF4D829E4582FF0000FF
+> store
+/blue <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000005DDF9E71FFBA8E9A8EFFEF75C755EFB60071E7
+A24DF77D55BE9265618EE300B22C7DDBB28A4D00FF59E351B6A2FF9200FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+7F6F7S F6F77F6F7J"
+T!F78z8z8z
+5F9RMF95F9
+
+
+<z"
+SDF7F6=z"z"z"z
+0F6F7R=F6F70F6F70F6>z8z8z8z
+/F9R<F9/F9/F9
+JsB"Es8#?$<$<%B$C$@#;$9#J"
+EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEO#FEJ"8$C"F"8$E">">"8"B"E"I"J"Js"
+EF9F9F9F9FEF9F9F9F9F9F9F9F9F9F9F9O)FEFF6F7J"J"9#J%@#<#Jr
+KF9CF9F9F9O9FEF9FEFEF9F9FEFEOBF9J+9"80;"9$:$?#I%<#;$J$9-9'8#;$8'9"8#
+JFEF9F9F9FEFEFEF9FEFEFEFEFEFEFEFEF9FEFEFEFEFEF9FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE;FEFEFEFEFEFEFEF9F9FEFEFEF9FEFEFEFEFEF9FEFEFEFEFEFEFEFEFEFEF9FEFEFEFEFEAs"J#:"8%8"8$8":&9#8$:'<&I%:-B'>":)8%8"8)8)8%8"8#J$
+F6F74FEFEF9FEF9FEFEF9F9F9F9FEF9F9F9FEF9FEFEF9F9F9FEFEFEF9FEFEFEFEFEF9FEF9F9FEFEFEF9FEFEFEF9FEFEFEF9FEFEFEF9F9F9FEFEF9FEFEF9F9FEFEF9F9FEF9FEFEF9FEF9FEFEFEF9FEFEFEFEFEF9FEFEF9F9FEF9FEFEF9F9F95F6F6F7BrJ#="C*:#B"@$H$<$<"E$J">"9">"<"J"
+F95F9F9F9F9F9F9F9FEFEF9FEF9F9F9FEF9F9F9F9FEFEF9F9F9FEFEFEFE9F9F9F9FEF9@F9AsJ$J"@%J'D%A)B'J%J#
+F77F9F9FEAF9F9F9F9F9:FEF9FEFEF9F9F9F9F9F9FEF9F9F9F9F9FEFEF9FEFEFEFEF99F9F9F9F9DF7F7AtJ"J%H%>$D";">";%J&J%J$
+F97FE7F9FEFEF9FEF9FEFEFEF9FEFEFEFEFEF9FEFE?FEF9F9F9F9:FEF9FEFEDF9F9F9J"8$9"8"9"8&8"?"8";"8+8(8";"8$9%8"808";$9"8$8$8"8(8"9$8"9"9+8"9"8$
+EFEFEFEFEFEFEFEF9FEFEF9FEFEFEFEFEFEF9F9F9FEFEFEF9F9FEFEF9F9F9FEFEF9FEFEFEFEFEF9FEFEF9FEF9FEFEFEF9F9F9F9F9FEFEFEF9F9FEFEFEFEFEFEFEF9FEFEF9FEFEFEFEFEFEFEF9FEFEFEF9FEFEFEFEF9F9F9FEFEFEF9F9FEFEFEF9FEFEJz9r;"9%;%9$8%9';s8w;$8%;$9z;"z9$8s9#Js
+E1F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F90F9FE5F9F9F9F9F9F9F9DF7J%J&Jt
+O3FEFEFEF9P-FEF9F9F9F9OBF9J"J(
+O5F9P.F9FEFEFEFEFEF9>z8z8z8z
+/F7R<F7/F7/F7sF"J"F"F&
+F7F7R=F7F7F7F7F7F7F7(z'
+F6F6F6F6F6F6F7SCD9F6F6F6F6F6F68%J&
+F9F9F9F9SEF9F9F9F9F7
+
+
+
+Jz
+P7Q(D4J"
+S>FFJZ
+P9Q%
+
+J#9#
+5FEFEFEFEJ"
+7FEJ%8*9%9#
+>FEFEFEFEFED9FEFEFED9FEFEFEFEFEFEFEFEFEJ#:'81
+7D9FEFEFED9D9FEFEFED9D9FEFED9D9FEFED9FEFED9D9FEFEJ#J#
+=D9D98D9D9J#:$F#
+8D9FEFEFEFEFEFEJ%F%
+=FEFED9D9D9D9D9D9J"J#8#
+9D99FEFEFEFEJ(A'
+=D9FEFEFED9FEFED9FEFEFEFED9J#9#8s8#8#8%9#
+5D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9
+
+
+J"
+P8FFJz
+P7Q(D9
+
+
+
+
+
+
+
+
+
+
+
+Jz
+P7Q(D4J"
+S>FFJZ
+P9Q%
+
+J#=#;#
+8FEFEFEFEFEFEJ"8"
+7FEFEJ#:#;#:+9%9%9#
+8D9D9FEFEFEFEFEFED9FEFED9FEFEFEFEFEFEFEFEFEFEFEFEFEFEJ":'9%;"85
+6FEFED9FEFED9FEFEFED9FEFE4FEFED9D9FEFED9FEFED9D9FEFED9FEFED9D9FEFEJ"<"<#?%9%8#
+@D9D9D9D9FED9D9D9FED9D9D9D9D9J#I":#9&8&
+8FEFED9FEFED9D9FEFEFED9D9FEFEFEJ)J%9"8"9"8"
+5FEFED9D9D9D9FEFE5D9D9D9D9D9FED9FEJ"<"B(9%:#
+@FEFEFEFED9FEFED9D9FEFED9D9FEFEJ%9%>5
+=D9FEFED9D9FEFED94D9FEFEFEFED9D9D9FEFEFEFED9D9D9FEFEFEFED9J#:s8s:%9%9%9#
+5D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9
+
+
+J"
+P8FFJz
+P7Q(D9
+
+
+
+
+
+
+
+
+
+
+
+Jz
+P7Q(D4J"
+S>FFJZ
+P9Q%
+
+J*J#9#I#
+5FEFEFEFEFEFED9FEFE?FEFEFEFEFEFEJ&J"
+7D9D9D9FEFECFEJ#9%8&9%E#8-;#9%8)
+?FEFEFEFEFEFEFEFED9FEFEFEFEFEFEFEFEFEFED9FED9FEFEFED9FEFEFEFEFEFEFEFEFEFEFED9FEFED9FEFE'J,9,>#B*9,9"J&
+F7F7F7F7F7F78FED9FEFED9FEFED9D9FEFEFED9FEFED9FEFED9D9FEFED9FEFED9D9FEFED9D9FEFEFED9FEFED9FEFED9D9FEFEFEQ>F7F7F7F7F7'G&8"C"J"D&J'
+F6F6F6F6F6F6FEFEFEFED9D9D9LD9D9D9D9D9D9Q9F6F6F6F6F6F68%G%J#A#J#;"J&
+F9F9F9F9D9D9D9D98FEFED9FE>FEFED9Q?F9F9F9F9F7J%J%
+O%D9D9D9D9ID9D9D9D9J#@"<"F">#=#
+O'FEFED9FEFEFEFEFEFEJ'>'D%F,
+CD9FEFEFEFED9D9FEFEFEFED9D9FEFED9D9FEFED9D9D9FEFEFEFED9J#;#8#8%8#8#8%=#9#8s8#8s9%8#:#
+5D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9
+
+
+J"
+P8FFJz
+P7Q(D9
+
+
+
+
+
+=z"z"z
+0F6F7S F6F71F6<z8z8z
+1F9RMF91F9
+
+
+7z8z8z
+6F7RMF75F7"J"J"
+F77F7S F7
+ENDBITMAP
+%%EndBinary
+81 191 288 353 R
+7 X
+V
+4 8 Q
+0 X
+(entryf) 81 347.67 T
+(ield .name -validate alphabetic \134) 109.8 347.67 T
+( -labeltext Name:) 81 337.67 T
+(entryf) 81 317.67 T
+(ield .address -labeltext Address:) 109.8 317.67 T
+( -validate alphanumeric) 81 307.67 T
+(entryf) 81 287.67 T
+(ield .phone -validate numeric \134) 109.8 287.67 T
+( -labeltext \322Phone Number:\323) 81 277.67 T
+(Labeledwidget::alignlabels \134) 81 257.67 T
+( .name .address .phone) 81 247.67 T
+(foreach wid [list .name .address .phone] {) 81 227.67 T
+( pack $wid -pady 5 -padx 10 \134) 81 217.67 T
+( -f) 81 207.67 T
+(ill x -expand yes) 129 207.67 T
+(}) 81 197.67 T
+0 10 Q
+(FIGURE 16) 134.64 164.09 T
+1 F
+( - Entry\336eld) 186.03 164.09 T
+0 0 612 792 C
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(child of the Buttonbox class. In addition to furnishing) 315 713.33 T
+(the standard methods and options for Tk button, the) 315 701.33 T
+(Pushbutton provides options for enabling/disabling the) 315 689.33 T
+(display of the default ring and geometry requirements.) 315 677.33 T
+0 12 Q
+(Optionmenu) 395.16 483 T
+1 10 Q
+-0.46 (The Optionmenu class allows selection of one item from) 315 464.33 P
+(a set of items. Only the selected item is displayed, until) 315 452.33 T
+(the user selects the option menu button and a popup) 315 440.33 T
+(menu appears with all the choices available for selec-) 315 428.33 T
+(tion. Once a new item is chosen, the currently selected) 315 416.33 T
+(item is replaced and the popup is removed from the dis-) 315 404.33 T
+(play) 315 392.33 T
+(. Commands exist for manipulating the menu list) 331.57 392.33 T
+(contents as well. These include the ability to insert,) 315 380.33 T
+(delete, select, disable, enable, and sort items.) 315 368.33 T
+0 12 Q
+(Spinner) 407.16 130 T
+1 10 Q
+(Spinners constitute a set of widgets which provide) 315 111.33 T
+(EntryField functionality combined with increment and) 315 99.33 T
+(decrement arrow buttons which may be oriented in a) 315 87.33 T
+(vertical, top and bottom, fashion or in a horizontal, side) 315 75.33 T
+315 511 540 674 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+315 531.86 540 647 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+%%BeginBinary: 3350
+147 103 75.6 52.97 0 396 584
+/red <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000008EEF9AFF2CAEB6CF71E7
+A24DF70055BE928AB2D3FF00F7557DDBB2002CFF6120822C455D4571FF0000FF
+> store
+/green <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000082D78AE78AEFEF0071E7
+A24DF70055BE827530B6FFFFDF697DDBB2004D00B641DF4D829E4582FF0000FF
+> store
+/blue <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000006DB675C755EFB60071E7
+A24DF77D55BE9265618EE300B22C7DDBB28A4D00FF59E351B6A2FF9200FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+7F4F5P&F4F57F4F5J"
+Q'F58z8z8z
+5F8P%F85F8
+
+
+<z"
+PJF5F4=z"z"z"z
+0F4F5OCF4F50F4F50F4>z8z8z8z
+/F8OBF8/F8/F8
+JrG$<'D":"
+:FEFEFEFEFEFEFEFEFEFEFEFEJ"8&F">"8%B":"Js"
+:F8F8F8F8FEFEF8F8F8F8FEFEFEFEKF4F5Jr
+PDF8J(9%;#B(8"8$8#8$9'
+CFEFEFEF8FEFEFEFEFEFEFEFEFEFEFEFEF8FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF8FEFEAs"A&9":%;%;%8"9":"8$8,8%A$
+F4F5FEFEF8F8F8F8FEF8F8F8FEF8FEFEFEFEFEF8F8F8F8F8F8F8F8F8FEFEFEF8FEFEFEF8F8FEF8FEFEF4F4F5Br@%B%:">&J$<"E"
+F8FEFEFEF8FEFEFEF8F8F8F8F8FEFE6F8F8F8F8F8As@$B"9"J#
+F5F8F8F8F8FEO2F5F5AtI":%J"F$J$
+F8FEFEF8F8F88FEFEF8FE5F8F8F8J"8"<%8"8'8"9$8&8%8"8$8.8"9"
+:FEFEF8FEFEF8FEFEFEFEF8F8FEFEFEF8FEFEFEFEFEF8F8FEFEF8FEF8FEFEF8FEFEF8F8F8FEFEFEF8F8F8FEFEFEJ%=v8z:'9#9#9$9sJs
+:F8F8F8F8F80F8F8F8F8F8F8F8F8F8F8F8F8F8F8F88F5Jt
+PCF8
+>z8z8z8z
+/F5OBF5/F5/F5sF"J"F"F&
+F5F5OCF5F5F5F5F5F5F5(z'
+F4F4F4F4F4F4F5PID9F4F4F4F4F4F48%J&
+F8F8F8F8PKF8F8F8F8F5
+
+
+
+
+
+
+
+
+
+Iz
+P1FE
+Jz
+5P-D9
+Jz
+7P)D8J"
+P?FFJz"
+9P%D9FF
+
+
+JZ
+=OKJ"
+P9D8Jz"
+?OGD9D8
+
+
+
+
+J'E#<'@#9#
+GFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEJ&J&
+ID9D9D9FEFE8D9D9D9FEFEJ#8#8%;#A#8%8$8"8%8&
+O FEFEFEFEFEFEFEFEFEFEFEFEFEFED9FEFED9FEFEFEFEFEFEFEFED9FEFEJ'9%G"8$8)9%
+O'FEFED9D9FEFEFED9FEFED9D9D9D9D9D9FEFED9D9FEFEFED9FEFEJ&?%9"=&J"
+IFEFEFEFED9FED9D9D9D9FEFEFEFED9;D9J%>&B&
+ID9D9D9D9D9D9FEFEFED9D9D9FEFEJ"8"
+O)D9FEJ"9%J"=":"
+O#FEFEFED9D96FEFEFEJ%9'A+:0
+O D9FEFED9D9FEFEFEFED9FEFEFEFED9D9D9FEFED9D9FEFED9D9D9FEFED9D9FEFEFEFED9J#<&8%8#8#8'9&9#9#8%8#8#
+GD9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9
+
+
+
+
+
+
+
+Jz
+?OGD8J"
+>D8Jz
+=OKD9
+
+
+'IZH&
+F5F5F5F5F5F5P%F5F5F5F5F5'H"J'
+F4F4F4F4F4F4FFP7F4F4F4F4F4F48%GzG&
+F8F8F8F8P)D9F8F8F8F8F5
+Jz
+5P-FE
+Iz
+P1D9
+
+
+
+
+
+
+
+
+
+
+=z"z"z
+0F4F5P&F4F51F4<z8z8z
+1F8P%F81F8
+
+
+7z8z8z
+6F5P%F55F5"J"J"
+F57F5P&F5
+ENDBITMAP
+%%EndBinary
+324 539 531 575 R
+7 X
+V
+4 8 Q
+0 X
+(pushbutton .pb -text PushButton \134) 324 569.67 T
+( -defaultring yes) 324 559.67 T
+(pack .pb -padx 12 -pady 12) 324 549.67 T
+0 10 Q
+(FIGURE 17) 380.43 514.17 T
+1 F
+( - Pushbutton) 431.83 514.17 T
+0 0 612 792 C
+315 158 540 365 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+315 178.14 540 356 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+%%BeginBinary: 4071
+264 73 135.77 37.54 0 359.23 311
+/red <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000008EEF9AFF2CAEB6CF71E7
+A24DF70055BE928AB2D3FF00F7557DDBB2002CFF6120822C455D4571FF0000FF
+> store
+/green <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000082D78AE78AEFEF0071E7
+A24DF70055BE827530B6FFFFDF697DDBB2004D00B641DF4D829E4582FF0000FF
+> store
+/blue <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000006DB675C755EFB60071E7
+A24DF77D55BE9265618EE300B22C7DDBB28A4D00FF59E351B6A2FF9200FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+7F6F7R?F6F77F6F7J"
+S@F78z8z8z
+5F9R>F95F9
+
+
+<z"
+S5F7F6=z"z"z"z
+0F6F7R.F6F70F6F70F6>z8z8z8z
+/F9R-F9/F9/F9
+J&C"9#I%9%
+OFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEJ(A"J"?"Js"
+OEFEFEF9F9F9FEFEFE9F9F9P.F6F7J$9$E#Jr
+ODFEFEF9F9FEFEF9F9PMF9J'9"8&:$9';'<$8'9(
+OMFEFEFEF9FEFEFEFEFEFEFEFEFEFEFEFEFEFEF9FEFEF9FEFEF9FEF9FEFEFEFEFEFEF9FEFEFEFEFEF9FEFEFEAs"J"8(8$:*8%D)8%8"9"J$
+F6F7O9F9FEF9FEFEFEF9F9F9F9F9FEFEFEF9FEFEFEF9F9FEF9FEFEFEFEFEF9FEFEF9F9FEF9FEFEF9F9O8F6F6F7BrJ$E$<"J"<"J"
+F9O=F9F9F9F9F9F9F94FEF9OCF9AsJ%=%J#
+F7P3F9FEFEF9F9F9F9F9OGF7F7AtJ$9$9$E$J%D"J$
+F9O0F9FEFEFEFEF9FEF9FEFEF9FE:FEF9FEFEFEO8F9F9F9J(:&8&8,8"9&:"8+8"9"8%8"
+OEF9FEFEFEFEFEF9F9FEFEF9F9F9FEFEF9FEFEF9F9F9FEFEFEF9F9F9FEFEFEF9FEFEFEFEFEF9F9F9FEFEFEF9F9FEFEFEF9FEFEF9FEJ&<#;r9$9z9$8s9'Js
+OFF9F9F9F9F9F9F9F9F9F9F94F9F9F9F9F9F9F9F9F9F9F9OCF7Jt
+S.F9J"8"
+OMFEFE>z8z8z8z
+/F7R-F7/F7/F7sF"J"F"F&
+F7F7R.F7F7F7F7F7F7F7(z'
+F6F6F6F6F6F6F7S4D9F6F6F6F6F6F68%J&
+F9F9F9F9S6F9F9F9F9F7
+
+
+
+
+
+
+
+JZ
+Q'P*J"
+S0D8Jz"
+Q)P&D9D8
+
+
+J%J#8#J&H#J#:#
+7FEFEFEFE>FEFEFEFE5FEFEFEFEFEFEFEO*FEFEFEFEJ'J#J(J#
+6FEFED9D9FEFEAD9D94FEFED9D9D9FEFEOCD9D9J$8*9%8+8"8+9&D#9#8%8"8"8%8*9%9#J)8#8&8#JW
+5FEFED9D9FEFED9FEFED9FEFEFEFEFEFEFEFED9FEFED9FEFEFEFEFEFED9FEFED9FEFED9FEFEFEFED9FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFED9FEFEFED9FEFEFEFEFEFEFEFEFE@FEFED9FEFED9FEFEFEFEFEFED9FEFEFEFE=J,9"8)8"<*>(?)8)81J%J"
+@FED9FEFED9FEFED9D9FEFEFEFEFED9D9FEFED9D9D9FED9FEFED9FEFED9FED9FEFEFED9D9D9FEFED9D9FEFED9D9D9D9FEFED9D9FEFEFED9D9FEFED9D9FEFED9FEFED9D9FEFEIFED9FEFEO(D8J"D%E"="?&8(9%J%8#J"A'Js"
+@D9D9D9D9D9D9D9D9D9FEFEFED9FEFED9FEFED9FED9D9D9:FED9D9D9D9D9ED9D9FEFEFEFED9?D9D8J#;"9$J"8"?&?#D&J"8"
+GFEFED9FEFEFEAD9FED9D9FEFEFEFEFED9D9FEFEFEO)D9D9J%<%J#8":&:"8">%D"8"J"8"Js
+GD9D9D9D9FEFED9D9>FEFED9D9FEFEFED9D9FED9D9D9D9D9FEO(FEFE@D8J$8$9">#G"C"J%=":#B%:#J"9'J"
+5D9FEFEFEFED9FEFEFEFEFE8FEFED9D9FEFEFEFEFED9D9FEFEMFEFEFED9D9FEFE>D8'F':,<-@%>(9";'8+B'J%@%JwJ&
+F7F7F7F7F7F7D9FEFEFEFED9D9FEFED9D9D9FEFEFEFED9D9FEFEFED9FEFED9D9FEFED9D9FEFED9D9FEFEFEFEFED9D9D9FEFEFEFED9D9FEFED9D9FEFEFEFED9D9FEFEFEFED9@FEFEFEFED9FEFED9FD96F7F7F7F7F7'G%<#9%8#:'8s8#8#@&<":%:#8%8#8#8#8%9#Jv8#8s8#J'
+F6F6F6F6F6F6D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9:D9D9D9D9D9D9O1F6F6F6F6F6F68%J#J"J&
+F9F9F9F9O3FEFE4FEQ:F9F9F9F9F7J'E$
+O9D9FEFEFEFED9FEFED9J#J%F#
+>D9D9HD9D9D9D9D9D9
+Jz
+Q)P&D8J"
+Q(D8Jz
+Q'P*D9
+
+
+
+
+
+
+
+
+=z"z"z
+0F6F7R?F6F71F6<z8z8z
+1F9R>F91F9
+
+
+7z8z8z
+6F7R>F75F7"J"J"
+F77F7R?F7
+ENDBITMAP
+%%EndBinary
+324 185 531 302 R
+7 X
+V
+4 8 Q
+0 X
+(Optionmenu .om \134) 324 296.67 T
+( -labeltext \322Operating Systems:\323 \134) 324 286.67 T
+( -items {SunOS HP/UX AIX OS/2 Windows} \134) 324 276.67 T
+( -command SelectProc) 324 266.67 T
+(pack .om -padx 10 -pady 10) 324 256.67 T
+(.om insert end Linux VMS) 324 236.67 T
+(.om disable DOS) 324 226.67 T
+(.om delete 1 2) 324 216.67 T
+(.om sort ascending) 324 206.67 T
+(.om select Linux) 324 196.67 T
+(.om conf) 324 186.67 T
+(igure -cyclicon true) 362.4 186.67 T
+0 10 Q
+(FIGURE 18) 375.73 160.17 T
+1 F
+( - Optionmenu) 427.11 160.17 T
+0 0 612 792 C
+FMENDPAGE
+%%EndPage: "11" 11
+%%Page: "12" 12
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(by side, manner) 72 713.33 T
+(. A value may be entered into the entry) 135.05 713.33 T
+(area explicitly or the buttons may be pressed which) 72 701.33 T
+(cycle up and down through the choices. This latter) 72 689.33 T
+(behavior is one of spinning.) 72 677.33 T
+(The following code segment creates a month spinner) 72 653.33 T
+(based on the Spinner class. The months are stored in a) 72 641.33 T
+(list from which the spinMonth procedure cycles. The) 72 629.33 T
+(Spinner increment and decrement options invoke this) 72 617.33 T
+(procedure with a direction ar) 72 605.33 T
+(gument which is 1 or -1.) 187.34 605.33 T
+(The Spinner disables input by making the blockInput) 72 593.33 T
+(procedure the validation procedure which always) 72 581.33 T
+(returns invalid.) 72 569.33 T
+72 167 297 566 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 206 297 548 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+%%BeginBinary: 3312
+179 73 92.06 37.54 0 144 503
+/red <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000096FB7DFFCF9A96FB69FBB29AFF2CAEB6CF71E7
+A24DF70055BE928AB2D3FF00F7557DDBB2002CFF6120822C455D4571FF0000FF
+> store
+/green <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000096FB6DFFB66996FB86FFDF8AE78AEFEF0071E7
+A24DF70055BE827530B6FFFFDF697DDBB2004D00B641DF4D829E4582FF0000FF
+> store
+/blue <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000009AFF5DDF9E719AFF8EFFEF75C755EFB60071E7
+A24DF77D55BE9265618EE300B22C7DDBB28A4D00FF59E351B6A2FF9200FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+7F6F7PFF6F77F6F7J"
+QGF78z8z8z
+5F9PEF95F9
+
+
+<z"
+Q<F7F6=z"z"z"z
+0F6F7P5F6F70F6F70F6>z8z8z8z
+/F9P4F9/F9/F9
+J'@#
+O*FEFEFEFEF9FEFEFEJ'Js"
+O)FEFEF9F9F9FEP&F6F7J"A#Jr
+O.F9F9F9OHF9J#8(9$8'9';$8'
+O+FEFEF9FEFEFEF9FEFEFEFEFEFEFEFEF9FEFEFEFEFEF9FEFEFEFEFEFEFEFEF9FEFEAs"J"9%8(:"8%8"8%8)8"J$
+F6F7CF9FEFEF9F9FEF9FEFEFEF9F9F9FEF9FEFEF9FEF9FEFEFEFEFEF9FEFEF9F9FEHF6F6F7BrJ#9"9$A">">"<$J"
+F9EF9F9FEF9F9F9F9F9FEF9F9F9GF9AsJ"8#J%J#
+F7DFEF9F9DF9F9F9F9MF7F7AtJ">$J%J$
+F9DFEFEF9FE<FEF9FEFEMF9F9F9J'9(8$8"9$8"9+8"
+O*F9FEFEFEFEF9F9FEFEF9F9F9FEFEF9FEFEFEF9FEFEFEF9F9F9FEFEFEF9F9FEFEJ';#9z9$8%Js
+O)F9F9F9F9F9F9F9F96F9F9F9F9F9F9F9F9O(F7Jt
+Q5F9J"8"
+O0FEFE>z8z8z8z
+/F7P4F7/F7/F7sF"J"F"F&
+F7F7P5F7F7F7F7F7F7F7(z'
+F6F6F6F6F6F6F7Q;D9F6F6F6F6F6F68%J&
+F9F9F9F9Q=F9F9F9F9F7
+
+
+
+
+
+
+
+
+Jz8U
+O:O>D3J"9s"
+Q)FFD9D8Jz"="
+O<O:D4FFFEJ"
+Q1FEJ"
+Q/FEJ#;#F#8#J"J"
+5FEFEFEFEFEFEFEFE<FEO=FEJ"
+Q.FEJ"9":%8&8"8":#=#J$9%9"9"9$9&9"J"
+7FEFEFEFEFEFEFEFED9FEFEFEFEFEFEFEFE4FEFEFEFED4FEFEFEFEFEFEFEFED4FED4FEFEEFEJ'9'8"9%J&9%?&9#J'
+?FEFED9D9FEFEFED9FEFED9D9D9FED9FEFE;FED4D4D4FEFED4D4FEFED4D4D4FEFED4FD9D9D9D9D9D9J$C"A"?#I"="B"="Js
+8FED9FED9D9D9D9D4D4D4D4FD8J"9"J$H$@#JT
+7D9D9O*FEFEFEFEFEFEFED4?J"J"<%G%=#Jr#
+9FEO$FEFED4D4D4FED4D4D4D4FEBFED9D8J$J"B#J"J"
+8D9FED96FEFEFEDFEO$D9'J'?%J&8'>%9'<$J"D&
+F7F7F7F7F7F79D9FEFEFEFED9D9FEFED9:D4FEFEFED4D4FEFEFED4FED4FEFED4D4FEFEFED4FED4FED4FD9F7F7F7F7F7'E#8"8#8%8#8#9&8#<#C$:r9"9%9rJ"I'
+F6F6F6F6F6F6D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D4D4D4D4D4D4D4D4D4D4HD9F6F6F6F6F6F68%J#J"F&
+F9F9F9F9P2FED4FD9F9F9F9F9F7J#J"
+P7FED4DD9J"J"
+P7D4GD9JZ>"
+O<O:D9J"Js
+O;FFO?D8Jz8u
+O:O>D9D9
+
+
+
+
+
+
+
+
+
+=z"z"z
+0F6F7PFF6F71F6<z8z8z
+1F9PEF91F9
+
+
+7z8z8z
+6F7PEF75F7"J"J"
+F77F7PFF7
+ENDBITMAP
+%%EndBinary
+81 215 288 494 R
+7 X
+V
+4 8 Q
+0 X
+(set months {January February March April \134) 81 488.67 T
+-0.25 ( May June July August September \134) 81 478.67 P
+( October November December}) 81 468.67 T
+(proc blockInput {} {return 0}) 81 448.67 T
+(proc spinMonth {direction} {) 81 428.67 T
+( global months) 81 418.67 T
+( set index \134) 81 408.67 T
+( [expr [lsearch $months [.sm get]] + \134) 81 398.67 T
+( $direction]) 81 388.67 T
+( if {$index < 0} {set index 11}) 81 368.67 T
+( if {$index > 11} {set index 0}) 81 358.67 T
+( .sm delete 0 end) 81 338.67 T
+( .sm insert 0 [lindex $months $index]) 81 328.67 T
+(}) 81 318.67 T
+(spinner .sm \134) 81 298.67 T
+( -labeltext \322Month : \322 \134) 81 288.67 T
+( -width 10 -f) 81 278.67 T
+(ixed 10 \134) 157.8 278.67 T
+( -validate blockInput \134) 81 268.67 T
+( -decrement {spinMonth -1} \134) 81 258.67 T
+( -increment {spinMonth 1}) 81 248.67 T
+(.sm insert 0 January) 81 238.67 T
+(pack .sm -padx 10 -pady 10) 81 228.67 T
+0 10 Q
+(FIGURE 19) 143.17 181.17 T
+1 F
+( - Spinner) 194.56 181.17 T
+0 0 612 792 C
+0 12 Q
+0 X
+0 0 0 1 0 0 0 K
+(Spinint) 408.82 712 T
+1 10 Q
+(The most common data type for which spinning behav-) 315 693.33 T
+(ior is useful is that of integers. The Spinint class of) 315 681.33 T
+(fers) 518.42 681.33 T
+(this capability by specializing the Spinner class. Addi-) 315 669.33 T
+-0.07 (tional options are provided which allow speci\336cation of) 315 657.33 P
+-0.25 (a step and range values which vary and limit the cycling.) 315 645.33 P
+( The following example creates a water temperature) 315 621.33 T
+-0.54 (integer spinner widget labeled appropriately) 315 609.33 P
+-0.54 (. The widget) 488.84 609.33 P
+(options limit the range of values to between freezing) 315 597.33 T
+(and boiling, speci\336es a step value of two, enables wrap-) 315 585.33 T
+(ping, and orients the buttons in a side by side fashion.) 315 573.33 T
+0 12 Q
+(Spindate) 404.83 394.71 T
+1 10 Q
+(The spindate class creates a set of spinners for use in) 315 370.05 T
+-0.29 (date entry) 315 358.05 P
+-0.29 (. The set includes three spinners con\336gured to) 353.77 358.05 P
+(support day) 315 346.05 T
+(, month and year entry) 361.29 346.05 T
+(. Options allow con-) 450.9 346.05 T
+(trol over the display of each spinner) 315 334.05 T
+(, the format of the) 458.46 334.05 T
+(month, and the orientation.) 315 322.05 T
+315 422.71 540 570 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+315 450.43 540 561 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+%%BeginBinary: 4730
+255 73 131.14 37.54 0 363.14 513.86
+/red <
+3EC472FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF80808080
+8080808080808080808080808080808080808080404040404040404040404040
+4040404040404040404040000000000000000000000000000000000039C069DD
+00FF0000003333330033CCDD9999112277005544FFCC66AABBFF33EE9999CC7A
+EFD39765E1A36FE700FF5500557FB22EAFB4CD73E6A24DBF99FFFFB07AFFB0CC
+F5008788439D58D750D080C0C080C0808060C000FFA000FF20C0A040C040D0BE
+8BD28BD9B3FF7260F0E010B499FFA00019BF2FFF6223852F465F4770FF0000FF
+> store
+/green <
+57D79F00000000000000000000000000FFFFFFBFBFBFBFBF8080808080404040
+40000000FFFFFFFFFFBFBFBFBF808080808040404040400000000000FFFFFFFF
+FFBFBFBFBFBF8080808040404040400000000000FFFFFFFFFFBFBFBFBFBF8080
+8080804040400000000000FFFFFFBFBFBFBFBF80808040404040400063E0B500
+996699FF00663399BBFF99DD99FF112277005544CCCC66AABB6600EE6600CC69
+E3B59765E1A36FE700FF1A006B7FB28BEEEE0073E6A24DBF99FFFFB094FF30F7
+F500CE884DB358D78080C0C080C080808060C08000A080402070A0402040D0BE
+5BB477D9B3FF77F0F0E010B489E4A0FF19264F00B641DE4F829E4780FF0000FF
+> store
+/blue <
+8CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF8040FFBF804000FFBF804000FFBF80
+00BF8040FFBF804000FF804000FFBF804000FFBF804000FFBF804000FFBF8040
+00FFBF804000FFBF4000FFBF804000FFBF804000FFBF804000FFBF804000FFBF
+804000FFBF00FFBF804000BF8040FFBF804000FFBF40FFBF8040004063E0B500
+FF3399FF88666666009966DDFFFF112277DD554499FFCCAABBCC99EE9966CC69
+E3B59765E1A36FE7BFCC8BEE2F7FB257EEB40073E6A24DBF6BFBB3B015326024
+F580FA8856CA58D7D050C080C08080C08060C080FF0000402070C0802040D0BE
+7A8C65D9B3E0856050E010B476C4A00070264F00FC5AE050B4A0FF9000FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+6F6F7R8F6F76F6F7J"
+S7F78z8z8z
+4F9R7F94F9
+
+;z"
+S.F7F6<z"z"z"z
+0F6F7R'F6F70F6F70F6=z8z8z8z
+/F9R&F9/F9/F9
+J'@#A%B"
+P#FEFEFEFEF9FEFEFEFEFEFEFEFEJ'J"8"A"Js"
+P"FEFEF9F9F9FE8F9F9FEP$F6F7J"A#Jr
+P'F9F9F9P@F9J#8(9$8'>'9"8#
+P$FEFEF9FEFEFEF9FEFEFEFEFEFEFEFEF9FEFEFEFEFEF9FEFEFEFEFE@s"J"9%8(:"8%="8%8"8#J$
+F6F7O=F9FEFEF9F9FEF9FEFEFEF9F9F9FEF9FEFEF9FEF9FEFEF9F9F9OAF6F6F7ArJ#9"9$A"C"J"
+F9O?F9F9FEF9F9F9F9F9OLF9@sJ"8#J#
+F7O>FEF9F9P?F7F7@tJ">$J$
+F9O>FEFEF9FEP7F9F9F9J'9(8$8"9$8$8"9"8$
+P#F9FEFEFEFEF9F9FEFEF9F9F9FEFEF9FEFEFEF9FEFEF9FEFEFEF9FEFEJ';#9z9#Js
+P"F9F9F9F9F9F9F9F9;F9F9F9P"F7Jt
+S&F9J"8"
+P)FEFE=z8z8z8z
+/F7R&F7/F7/F7rF"J"F"F%
+F7F7R'F7F7F7F7F7F7'z&
+F6F6F6F6F6F7S-EDF6F6F6F6F68$J%
+F9F9F9S/F9F9F9F7
+
+
+
+
+
+
+
+
+
+J5=4;4
+Q&IC0FEC0FEC0FEC0FEC0FEC0FEC0FEC0FEC0FEC0FEC0FEC0FEC0FEC0FEC0FEC0FEC0FEC0FEC0FEC0FEC0FFEDFFEDFFEDFFEDFFEDFFEDFFEDFFEDFFEDFFFFEDFFEDFFEDFFEDFFEDFFEDFFEDFFEDFFEDFFJ5<"r#u:"z$
+Q&IFEC0FEC0FEC0FEC0FEC0FEC0FEC0FEC0FEC0FEC0FEC0FEC0FEC0FEC0FEC0FEC0FEC0FEC0FEC0FEC0FFFFEDFEFEEDFF0FEEDEDEDJ#z#<"<"A":"H"
+Q&C0FEEC0FFC0EDFEFEEDFEJ#J#<"?">":"E"8"
+Q&FEC0EC0FFFFFEEDFFEDEDJ#J#<";"B":#G"
+Q&C0FEEFFC0EDFEFEEDEDFEI#8#8#>#HsJ#J#9$:$J#<"@"=":"D"9"
+FEFEFEFEFEFEFEFEFEMFEFE@FEC0FEFEFEFEFEFE8C0FFFFFEEDFFEDEDJ$8$J#8&8&J#<":"C":$F"
+O+EDEDEDEDEDEDOAC0FEFEC0C0C0FEFEC0C0C0FE7FFC0EDFEFEEDEDEDFEJ%8"8"8%8&C%8*8&9%8+8"8%8.9#>#8"<"J#<"A"<":"C":"
+>FEFEFEFEFEFEFEFEFEFEFEFEEDFEFEFEFEFEFEFEEDFEFEFEEDFEFEFEFEFEEDFEFEFEFEFEFEFEFEEDFEFEEDFEFEFEFEFEFEEDFEFEFEFEEDFEFEEDFEFEEDFEFEFEFEFEFEFEC0C0C0;C0FFFFFEEDFFEDEDI">*8)9"D'8*9,9"8)8"@"8'B#:$;#J#<"9"D":"8"E"
+EDEDFEFEEDEDFEFEEDEDEDEDFEFEEDEDFEFEFEFEFEEDEDFEFEFEEDEDFEFEEDEDFEFEFEEDFEFEEDFEFEEDEDFEFEFEFEFEEDEDFEFEEDEDEDFEFEFEEDEDFEFEC0FEFEFEC0FEC07FFC0EDFEFEEDEDFEJ":"8#J#J"D%J#>#>#:$:#J#<"B";":"B";"
+5FEFEEDED4EDED@EDEDEDEDED4EDEDEDEDFEC0C0C0FEFEC08C0FFFFFEEDFFEDEDJ$@#;"F#J#;"9$G":#D#@#J#<"8"E":"9"D"
+>FEFEFEFEFEEDFEFE7FEFEEDFEFEFEEDFEFEC0FEFEC09FFC0EDFEFEEDEDFEJ.@%J%J%<%J%B#8"<#J#<"C":":"A"<"
+4EDFEFEEDEDFEFEEDEDFEFEEDEDEDEDEDED4EDEDEDED5EDEDEDEDFEFEEDED6EDEDEDEDFEC0FEFEC0:C0FFFFFEEDFFEDEDJ":#J#D">#G"9"B#8#>#J#<$F":":"C"
+HFEFEFE6FEFEFEFEFEFEFEFEFEFEFEC0FEEFFC0EDEDFEFEEDEDFEJ3H'D,<1>'B#8&9%J#<"D"9":"@"="
+=EDFEFEFEEDFEFEEDEDFEFEEDEDFEFEFEFEEDEDFEFEFEFEEDEDFEFEEDEDEDFEFEFEFEEDEDFEFEFEEDFEFEEDEDFEFEEDEDFEFEEDEDFEFEFEFEEDFEC0C0FEFEFEC0FEFEFEFE7C0FFFFFEEDFFEDED&F#8#9'8#8%8#@#:%8#8#8#:#9%8#:'8#8s:%9#>#9$9&J#<#G":";"B"D%
+F7F7F7F7F7EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDC0FEC0C0C0C0C0C0C0C07FFC0EDFEFEEDEDFEF7F7F7F7&J#J#<"E"8":"?">"D&
+F6F6F6F6F6Q!FEC0EC0FFFFFEEDFFEDEDF6F6F6F6F68$J#J#<"H":"<"A"E%
+F9F9F9Q!C0FEEFFC0EDFEEDEDFEF9F9F9F7J#J#J#<"F$:">"?"
+OEEDEDO-FEC0EC0FFFFFEEDEDFFEDEDJ5<z":"="@"
+Q&IC0FEC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC03EDFEEDEDFEJ5<5:5
+Q&IFEC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FF4FFEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED4FFEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDJz<z;z
+Q&IED3ED3ED
+
+
+
+
+
+
+
+
+
+
+<z"z"z
+0F6F7R8F6F71F6;z8z8z
+1F9R7F91F9
+
+7z8z8z
+5F7R7F74F7"J"J"
+F76F7R8F7
+ENDBITMAP
+%%EndBinary
+324.71 455.86 531.71 509.86 R
+7 X
+V
+4 8 Q
+0 X
+(spinint .temp -labelpos w \134) 324.71 504.52 T
+( -labeltext \322Water Temperature:\323 \134) 324.71 494.52 T
+( -f) 324.71 484.52 T
+(ixed 5 -width 5 -range {32 212} \134) 353.51 484.52 T
+( -step 2 -wrap yes -orient horizontal) 324.71 474.52 T
+(pack .temp -padx 10 -pady 10) 324.71 464.52 T
+0 10 Q
+(FIGURE 20) 386.68 437.46 T
+1 F
+( - Spinint) 438.07 437.46 T
+0 0 612 792 C
+315 72 540 720 C
+315.14 153.14 540 318.71 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+315.72 187.85 538.57 309.71 R
+0.5 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+349 194.57 520 221.57 R
+7 X
+V
+1 10 Q
+0 X
+(spindate .sd -monthformat string) 349 214.91 T
+(pack .sd -padx 10 -pady 10) 349 202.91 T
+%%BeginBinary: 7044
+138 123 70.97 63.26 0 387.14 237.71
+/red <
+C472FFFFFFFFFFFFFFFFFFFFFFFFFF66F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF808080
+8080808080808080808080808080808080808080804040404040404040404040
+4040404040404040404040400000000000000000000000002EAFB4CD73E6A2F5
+99FFFFB0B07AFFCC00878858D7439D50D080C0C080C08060C000FFA000FF20C0
+A0C0D060F0E010B499FFBE8B8BD900FFA0000000000039C069DD00FF00000033
+33330033CCDD9999112277005544FFCC66AABBFF33EE9999CC7AEFD3BF804040
+9765E1A36FE700FF55004DB2D272B36419BF2FFF6223852F465F4770FF0000FF
+> store
+/green <
+D79F0000000000000000000000000099DEFFFFFFBFBFBFBFBF80808080804040
+4040000000FFFFFFFFFFBFBFBFBF808080808040404040400000000000FFFFFF
+FFFFBFBFBFBFBF8080808040404040400000000000FFFFFFFFFFBFBFBFBFBF80
+808080804040400000000000FFFFFFBFBFBFBFBF808080408BEEEE0073E6A2F5
+99FFFF30B094FFF700CE8858D74DB38080C0C080C0808060C08000A080402070
+A020D0F0F0E010B489E4BE5B77D9FFFFA0404040400063E0B500996699FF0066
+3399BBFF99DD99FF112277005544CCCC66AABB6600EE6600CC69E3B5BF804040
+9765E1A36FE700FF1A004DB2B477B39519264F00B641DE4F829E4780FF0000FF
+> store
+/blue <
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3BF8040FFBF804000FFBF804000FFBF
+8000BF8040FFBF804000FF804000FFBF804000FFBF804000FFBF804000FFBF80
+4000FFBF804000FFBF4000FFBF804000FFBF804000FFBF804000FFBF804000FF
+BF804000FFBF00FFBF804000BF8040FFBF804000FFBF40FF57EEB40073E6A2F5
+6BFBB360B015322480FA8858D756CAD050C080C08080C060C080FF0000402070
+C020D06050E010B476C4BE7A65D900E0A0BF8040004063E0B500FF3399FF8866
+6666009966DDFFFF112277DD554499FFCCAABBCC99EE9966CC69E3B5BF808040
+9765E1A36FE7BFCC8BEE4DB28C85B3ED70264F00FC5AE050B4A0FF9000FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+6F6F7OMF6F76F6F7J"
+PLF78z8z8z
+4F9OLF94F9
+
+;z"
+PCF7F6<z"z"z"z
+0F6F7O<F6F70F6F70F6=z8z8z8z
+/F9O;F9/F9/F9
+J#E$B"
+O!FEFEFEFEFEFEJ"C"Js"
+O2F9FEHF6F7J#Jr
+O!F9F9O9F9Jr$9$8';#<%9"8#8$
+AFEF9FEFEFEFEFEFEFEFEF9FEFEFEFEFEFEFEFEFEFEFEFEFEFE@s"C'8(:"8%8&<%8"8)G$
+F6F7FEF9F9F9FEF9FEF9FEFEFEF9F9F9FEF9FEFEFEFEFEF9FEF9F9FEFEF9F9F9FEFEFEF9FEFEF6F6F7ArE%9$A"=$;$B"J"
+F9FEFEFEF9F9F9F9F9F9F9F9F9FEFEFE4F9@sD"9"J%A%G#
+F7F9FE@FEFEF9F9F9F9F9F9F7F7@tC%:$I$="A%G$
+F9FEF9F9F9FEF9FEFEF9FEFEFEF9FEFEF9F9F9J%9(8$8"9(8'8"8+
+AFEFEFEF9F9FEFEF9F9F9FEFEF9FEFEFEF9F9F9FEFEF9FEF9F9FEFEF9FEF9FEFEF9F9F9FEFEFEF9J%;#9x9'8'9#9$Js
+@F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9@F7Jt
+P;F9J"8"
+EFEFE=z8z8z8z
+/F7O;F7/F7/F7rF"J"F"F%
+F7F7O<F7F7F7F7F7F7'z&
+F6F6F6F6F6F7PBADF6F6F6F6F68$J%
+F9F9F9PDF9F9F9F7
+
+
+
+
+
+
+
+J2
+P*FFADFFADFFADFFADFFADFFADFFADFFADFFJ4
+P)FFADFFADFFADFFADFFADFFADFFADFFADFFADFEJ5:#z#
+O1B7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFEADFF/ADFEADJ5:#="=#
+O1BFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFFADFEADFEJ#z":#<$<#
+O17FFE?7FFFADFFFEFEFEFEADJ#J#:#;"9";#
+O1FE7F>FF7FFFADFEFEADFEJ#J#:#:";":#
+O17FFE>7FFFADFFFEFEFEADJ#;#F#8#B#<"J#:#9"="9#
+4FEFEFEFEFEFEFEFEFE7FFE7FF7FFFADFEFEADFEJ#J#:#8"?"8#
+O17FFE>7FFFADFFFEFEFEADJ"9":%8&8"8":#?#@$9%@#:#8v8#
+6FEFEFEFEFEFEFEFEADFEFEFEFEFEFEFE7FFEFEFEFE7FFEFEFF7FFFADADADFEJ'9'8"9%>#?&9%?#:4
+>FEFEADADFEFEFEADFEFEADADADFEADFEFE7FFEFE7F7F7FFEFE7F7FFE7FFFADFFADFEADFEADFEADFEADFEADFEADFEADFEADJ$C"A"A#?"="B#:4
+7FEADFEADADFE7F7F7FFF7FFFADFEADFEADFEADFEADFEADFEADFEADFEADFEJ"9"J#@$G#:4
+6ADADD7FFEFEFEFE7FFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADJ"J#8"<%G#:4
+8FEFFE7FFEFE7F7F7FFF7FFFADFFADFFADFFADFFADFFADFFADFFADFFADFEJ$J"D#J#:#z#
+7ADFEAD6FE7FFE>7FFFADFF/ADFEADJ'?%D#8&8'E#:#8v8#
+>ADFEFEFEFEADADFEFEADFE7F7FFEFEFE7F7FFEFEFE7FFEFF7FFFADFEADFEJ#8"8#8%8#8#9&8#>#9$:r9"?#:#8"?"8#
+4ADADADADADADADADADADADADADADADADADADADAD7FFE7F7F7F7F7F7FFFADFFADADFEADJ#J#:#9"="9#
+O1FE7F>FF7FFFADADADADFEJ#J#:#:";":#
+O17FFE>7FFFADFFADADFEADJ#J#:#;"9";#
+O1FE7F>FF7FFFADADADADFEJ5:#<$<#
+O1B7FFE7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFFADFFADFEADFEADJ5:#="=#
+O1BFE7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFFADADADFEJz:4
+O1BADADFFADFEADFEADFEADFEADFEADFEADFEADFEADJ4
+P)FFADFEADFEADFEADFEADFEADFEADFEADFEADFEJz
+P)3ADJ2
+P*FFADFFADFFADFFADFFADFFADFFADFFADFFJ4
+P)FFADFFADFFADFFADFFADFFADFFADFFADFFADFEJ5:#z#
+O1B7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFEADFF/ADFEADJ5:#="=#
+O1BFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFFADFEADFEJ#z":#<$<#
+O17FFE?7FFFADFFFEFEFEFEADJ#J#:#;"9";#
+O1FE7F>FF7FFFADFEFEADFEJ#J#:#:";":#
+O17FFE>7FFFADFFFEFEFEADJ&J#:"J#:#9"="9#
+4FEFEFEFEFEFFE7FFE9FF7FFFADFEFEADFEJ%J#8#J#:#8"?"8#
+6ADADFEFEE7FFEFEFE:7FFFADFFFEFEFEADJ$8%8#9#J#8#J#:#8v8#
+8ADFEFEFEFEFEFEFEFEFEFE5FE7F7F7F:FF7FFFADADADFEJ'J#J#:4
+<FEFEADADFEFE=7FFE>7FFFADFFADFEADFEADFEADFEADFEADFEADFEADFEADJ#;(J#J#:4
+<ADADADFEFEADFEFEAD5FE7F>FF7FFFADFEADFEADFEADFEADFEADFEADFEADFEADFEJ$J#J#:4
+=FEFEFE?7FFE>7FFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADJ%:&J#J#:4
+<FEFEADADADFEFEFEAD6FE7F>FF7FFFADFFADFFADFFADFFADFFADFFADFFADFFADFEJ$J#J#:#z#
+8FEFEADD7FFE>7FFFADFF/ADFEADJ%8(8"J#J#:#8v8#
+6FEFEFEADADFEFEFEADFEFEAD9FE7F>FF7FFFADFEADFEJ&:':"J#:"J#:#8"?"8#
+4ADADADADADADADADADADADAD77FFE7F97FFFADFFADADFEADJ"J#J#:#9"="9#
+EFE9FE7F>FF7FFFADADADADFEJ$J#J#:#:";":#
+DFEFEAD87FFE>7FFFADFFADADFEADJ#J#J#:#;"9";#
+DADAD9FE7F>FF7FFFADADADADFEJ5:#<$<#
+O1B7FFE7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFFADFFADFEADFEADJ5:#="=#
+O1BFE7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFFADADADFEJz:4
+O1BADADFFADFEADFEADFEADFEADFEADFEADFEADFEADJ4
+P)FFADFEADFEADFEADFEADFEADFEADFEADFEADFEJz
+P)3ADJ2
+P*FFADFFADFFADFFADFFADFFADFFADFFADFFJ4
+P)FFADFFADFFADFFADFFADFFADFFADFFADFFADFEJ5:#z#
+O1B7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFEADFF/ADFEADJ5:#="=#
+O1BFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFFADFEADFEJ#z":#<$<#
+O17FFE?7FFFADFFFEFEFEFEADJ#J#:#;"9";#
+O1FE7F>FF7FFFADFEFEADFEJ#J#:#:";":#
+O17FFE>7FFFADFFFEFEFEADI#:#J#9$9&F#:#9"="9#
+FEFEFEFEDFE7FFEFEFEFEFEFEFEFEFF7FFFADFEFEADFEJ#8&9%F#:#8"?"8#
+O17FFEFE7F7F7FFE7F7F7F7F7FFFADFFFEFEFEADI$8)9%8&G#J#:#8v8#
+ADFEFEFEFEADADFEFEFEFEFEFEFEFEFEFEADFEFEFE7F>FF7FFFADADADFEJ.9"I#@$G#:4
+;FEFEADADFEFEADFEFEADADFEFEFE7FFEFEFEFE7FFFADFFADFEADFEADFEADFEADFEADFEADFEADFEADJ'>#>#G#8%9&F#:4
+4ADFEFEFEFEADADADADADFE7F7FFEFEFE7F7F7F7FFEFF7FFFADFEADFEADFEADFEADFEADFEADFEADFEADFEJ"8":#:$;"I#9$J#:4
+5ADADFEFEFEFEFEAD7FFE7F7F7F87FFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADJ*J#?"J#:4
+=ADADADADADFEFEADAD9FE7FFE4FF7FFFADFFADFFADFFADFFADFFADFFADFFADFFADFEJ#J#8"J#:#z#
+?FEFE>7FFEFE;7FFFADFF/ADFEADJ/J#8&8&F#:#8v8#
+;ADFEFEFEFEADADADFEFEFEADFEFE6FE7F7FFEFEFE7F7FFEFEFE7FFF7FFFADFEADFE&G#:%9sJ#9$:$G#:#8"?"8#B%
+F7F7F7F7F7ADADADADADADAD47FFE7F7F7F7F7F7F7FFFADFFADADFEADF7F7F7F7&J#J#:#9"="9#B&
+F6F6F6F6F6O,FE7F>FF7FFFADADADADFEF6F6F6F6F68$J#J#:#:";":#C%
+F9F9F9O,7FFE>7FFFADFFADADFEADF9F9F9F7J#J#:#;"9";#
+O1FE7F>FF7FFFADADADADFEJ5:#<$<#
+O1B7FFE7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFFADFFADFEADFEADJ5:#="=#
+O1BFE7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFFADADADFEJz:4
+O1BADADFFADFEADFEADFEADFEADFEADFEADFEADFEADJ4
+P)FFADFEADFEADFEADFEADFEADFEADFEADFEADFEJz
+P)3AD
+
+
+
+
+
+
+
+
+<z"z"z
+0F6F7OMF6F71F6;z8z8z
+1F9OLF91F9
+
+7z8z8z
+5F7OLF74F7"J"J"
+F76F7OMF7
+ENDBITMAP
+%%EndBinary
+0 F
+(FIGURE 21) 387.86 168.32 T
+1 F
+( - Spindate) 439.25 168.32 T
+315 72 540 720 C
+0 0 612 792 C
+FMENDPAGE
+%%EndPage: "12" 12
+%%Page: "13" 13
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 12 Q
+0 X
+0 0 0 1 0 0 0 K
+(Spintime) 161.5 712 T
+1 10 Q
+(The spintime class is simiar to the spindate class sup-) 72 687.33 T
+(porting time entry rather than date. The three spinners) 72 675.33 T
+(are hour) 72 663.33 T
+(, minute, and second.) 104.64 663.33 T
+0 12 Q
+(Scr) 146.6 485 T
+(olledlistbox) 163.72 485 T
+1 10 Q
+(The Scrolledlistbox extends the standard Tk listbox) 72 466.33 T
+-0.51 (widget with prede\336ned vertical and horizontal scrollbars) 72 454.33 P
+-0.08 (and an associated label. The set of options available has) 72 442.33 P
+-0.06 (also been amended to include options which allow spec-) 72 430.33 P
+(i\336cation of the list items. All the usual methods exist,) 72 418.33 T
+-0.41 (plus new ones for sorting the list contents and a short cut) 72 406.33 P
+(version to acquire the current selection.) 72 394.33 T
+72 72 297 720 C
+72 513 297 660 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 534 297 651 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+108 543 270 570 R
+7 X
+V
+1 10 Q
+0 X
+(spintime .st) 108 563.33 T
+(pack .st -padx 10 -pady 10) 108 551.33 T
+%%BeginBinary: 6922
+138 123 70.97 63.26 0 145.03 578.74
+/red <
+C472FFFFFFFFFFFFFFFFFFFFFFFFFF66F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF808080
+8080808080808080808080808080808080808080804040404040404040404040
+4040404040404040404040400000000000000000000000002EAFB4CD73E6A2F5
+99FFFFB0B07AFFCC00878858D7439D50D080C0C080C08060C000FFA000FF20C0
+A0C0D060F0E010B499FFBE8B8BD900FFA0000000000039C069DD00FF00000033
+33330033CCDD9999112277005544FFCC66AABBFF33EE9999CC7AEFD3BF804040
+9765E1A36FE700FF55004DB2D272B36419BF2FFF6223852F465F4770FF0000FF
+> store
+/green <
+D79F0000000000000000000000000099DEFFFFFFBFBFBFBFBF80808080804040
+4040000000FFFFFFFFFFBFBFBFBF808080808040404040400000000000FFFFFF
+FFFFBFBFBFBFBF8080808040404040400000000000FFFFFFFFFFBFBFBFBFBF80
+808080804040400000000000FFFFFFBFBFBFBFBF808080408BEEEE0073E6A2F5
+99FFFF30B094FFF700CE8858D74DB38080C0C080C0808060C08000A080402070
+A020D0F0F0E010B489E4BE5B77D9FFFFA0404040400063E0B500996699FF0066
+3399BBFF99DD99FF112277005544CCCC66AABB6600EE6600CC69E3B5BF804040
+9765E1A36FE700FF1A004DB2B477B39519264F00B641DE4F829E4780FF0000FF
+> store
+/blue <
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3BF8040FFBF804000FFBF804000FFBF
+8000BF8040FFBF804000FF804000FFBF804000FFBF804000FFBF804000FFBF80
+4000FFBF804000FFBF4000FFBF804000FFBF804000FFBF804000FFBF804000FF
+BF804000FFBF00FFBF804000BF8040FFBF804000FFBF40FF57EEB40073E6A2F5
+6BFBB360B015322480FA8858D756CAD050C080C08080C060C080FF0000402070
+C020D06050E010B476C4BE7A65D900E0A0BF8040004063E0B500FF3399FF8866
+6666009966DDFFFF112277DD554499FFCCAABBCC99EE9966CC69E3B5BF808040
+9765E1A36FE7BFCC8BEE4DB28C85B3ED70264F00FC5AE050B4A0FF9000FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+6F6F7OMF6F76F6F7J"
+PLF78z8z8z
+4F9OLF94F9
+
+;z"
+PCF7F6<z"z"z"z
+0F6F7O<F6F70F6F70F6=z8z8z8z
+/F9O;F9/F9/F9
+J#C"9#
+O FEFEFEFEFEJ"Js"
+O.FEO,F6F7J#G#Jr
+O F9F9F9F9O'F9Jr$9$8'9"8&8'8#;$
+@FEF9FEFEFEFEFEFEFEFEF9FEFEFEFEFEFEFEFEFEFEFEF9FEFEFEFEFEFEFE@s"B'8(:"8%8"8$:"8)8'G$
+F6F7FEF9F9F9FEF9FEF9FEFEFEF9F9F9FEF9FEFEF9F9F9F9F9FEF9FEFEFEF9FEFEFEFEFEF9FEFEF6F6F7ArD%9$A"H"9">"J"
+F9FEFEFEF9F9F9F9F9F9F9FE4F9@sC"9"J%G#
+F7F9FEO"F9F9F9F9F7F7@tB%:$J%G$
+F9FEF9F9F9FEF9FEJFEF9FEFEF9F9F9J%9(8$8"9"8&8$8"9"9)
+@FEFEFEF9F9FEFEF9F9F9FEFEF9FEFEFEF9FEFEF9FEFEF9FEFEFEFEF9F9F9FEFEFEF9J%;#9x9z9$Js
+?F9F9F9F9F9F9F94F9F9F9F9@F7Jt
+P;F9J"8"
+DFEFE=z8z8z8z
+/F7O;F7/F7/F7rF"J"F"F%
+F7F7O<F7F7F7F7F7F7'z&
+F6F6F6F6F6F7PBADF6F6F6F6F68$J%
+F9F9F9PDF9F9F9F7
+
+
+
+
+
+
+
+J2
+P*FFADFFADFFADFFADFFADFFADFFADFFADFFJ4
+P)FFADFFADFFADFFADFFADFFADFFADFFADFFADFEJ5:#z#
+O8;7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FADFF/ADFEADJ5:#="=#
+O8;FE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFFFFADFEADFEJ#z#:#<$<#
+O87FFE77FFF7FADFFFEFEFEFEADJ#J#:#;"9";#
+O8FE7F77FFFFFADFEFEADFEJ#J#:#:";":#
+O87FFE7FF7FADFFFEFEFEADJ#9#J#:";$@#:#9"="9#
+4FEFEFEFEKFE7FFEFEFEFE7FFFFFADFEFEADFEJ#8#;&?#:#8"?"8#
+O87FFEFEFEFE7F7F7FFEFF7FADFFFEFEFEADJ%8#8)J#8#;"C#:#8v8#
+=FEFEFEFEFEFEFEFEADFEFEADFEFE7FE7F7F7F7F7FFFFFADADADFEJ'@"J#B#?#:4
+<FEFEADADFEFEFE97FFEFE7FFF7FADFFADFEADFEADFEADFEADFEADFEADFEADFEADJ$J#J#A#@#:4
+6FEFEFE4ADAD7FE7FFE7F7FFFFFADFEADFEADFEADFEADFEADFEADFEADFEADFEJ$I"J#@#A#:4
+6ADADADAD97FFEFE7FFF7FADFFADFFADFFADFFADFFADFFADFFADFFADFFADJ#?#B#:4
+O8FE7FFE7F7FFFFFADFFADFFADFFADFFADFFADFFADFFADFFADFEJ"J#J#:#z#
+FFE?7FFE7FF7FADFF/ADFEADJ,J#@%?#:#8v8#
+<ADFEFEFEFEADADADFEFEAD?FE7FFEFEFEFE7FFFFFADFEADFEJ#9#8%9sJ#:":&?#:#8"?"8#
+4ADADADADADADADADAD:7FFE7F7F7F7F7F7FFF7FADFFADADFEADJ#J#:#9"="9#
+O8FE7F77FFFFFADADADADFEJ#J#:#:";":#
+O87FFE7FF7FADFFADADFEADJ#J#:#;"9";#
+O8FE7F77FFFFFADADADADFEJ5:#<$<#
+O8;7FFE7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FADFFADFEADFEADJ5:#="=#
+O8;FE7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFFFFADADADFEJz:4
+O8;ADADFFADFEADFEADFEADFEADFEADFEADFEADFEADJ4
+P)FFADFEADFEADFEADFEADFEADFEADFEADFEADFEJz
+P)3ADJ2
+P*FFADFFADFFADFFADFFADFFADFFADFFADFFJ4
+P)FFADFFADFFADFFADFFADFFADFFADFFADFFADFEJ5:#z#
+O8;7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FADFF/ADFEADJ5:#="=#
+O8;FE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFFFFADFEADFEJ#z#:#<$<#
+O87FFE77FFF7FADFFFEFEFEFEADJ#J#:#;"9";#
+O8FE7F77FFFFFADFEFEADFEJ#J#:#:";":#
+O87FFE7FF7FADFFFEFEFEADJ#;&F#J#9$:$@#:#9"="9#
+4FEFEFEFEADFEFEFEFE4FE7FFEFEFEFEFEFE7FFFFFADFEFEADFEJ#J#8&8&?#:#8"?"8#
+>ADADF7FFEFE7F7F7FFEFE7F7F7FFEFF7FADFFFEFEFEADJ"9"9)8#8%8"8%C#8"J#:#8v8#
+6FEFEFEFEADFEFEADFEFEFEFEFEFEADFEFEFEFEFEFEFE7F7F47FFFFFADADADFEJ%>"8)B#:$F#:4
+CFEADFEFEADADADFEFEADADFEFE7FFEFEFE7FFF7FADFFADFEADFEADFEADFEADFEADFEADFEADFEADJ$?"J#:$F#:4
+7FEADFEADBFE7F7F7FFE7FFFFFADFEADFEADFEADFEADFEADFEADFEADFEADFEJ"9"J#D#J#:4
+6ADAD;FEFE7FFE7FF7FADFFADFFADFFADFFADFFADFFADFFADFFADFFADJ"J%B#8"J#:4
+8FE=ADADADADFE7FFE47FFFFFADFFADFFADFFADFFADFFADFFADFFADFFADFEJ$G"=":#B#J#:#z#
+7ADFEADFEFEFEFE7FFE7FF7FADFF/ADFEADJ%:+B#8&8&?#:#8v8#
+HADFEFEADADFEFEADADFEFEFEFEADFE7F7FFEFEFE7F7FFEFEFE7F7FFFFFADFEADFEJ#8"8s8#8&9#8%C#9$:$@#:#8"?"8#
+4ADADADADADADADADADADADADADADADADAD7FFE7F7F7F7F7F7FFF7FADFFADADFEADJ#J#:#9"="9#
+O8FE7F77FFFFFADADADADFEJ#J#:#:";":#
+O87FFE7FF7FADFFADADFEADJ#J#:#;"9";#
+O8FE7F77FFFFFADADADADFEJ5:#<$<#
+O8;7FFE7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FADFFADFEADFEADJ5:#="=#
+O8;FE7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFFFFADADADFEJz:4
+O8;ADADFFADFEADFEADFEADFEADFEADFEADFEADFEADJ4
+P)FFADFEADFEADFEADFEADFEADFEADFEADFEADFEJz
+P)3ADJ2
+P*FFADFFADFFADFFADFFADFFADFFADFFADFFJ4
+P)FFADFFADFFADFFADFFADFFADFFADFFADFFADFEJ5:#z#
+O8;7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FADFF/ADFEADJ5:#="=#
+O8;FE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFE7FFFFFADFEADFEJ#z#:#<$<#
+O87FFE77FFF7FADFFFEFEFEFEADJ#J#:#;"9";#
+O8FE7F77FFFFFADFEFEADFEJ#J#:#:";":#
+O87FFE7FF7FADFFFEFEFEADJ&J#>#9$G#:#9"="9#
+5FEFEFEFEFEBFEFEFE7FFEFEFE7FFFFFADFEFEADFEJ(J#8&F#:#8"?"8#
+4FEFEADADADFEFEK7FFEFE7F7F7FFEFF7FADFFFEFEFEADJ%9%9%8&9#A#J#:#8v8#
+=FEFEFEFEFEFEFEFEFEFEFEFEFEFEADFEFEFEFEFE7F77FFFFFADADADFEJ59*@#J#:4
+4<ADFEFEFEADADADADFEFEADADFEFEADFEFEADADFEFEADFEFEADADFEFEFEADFEFEADFEFEADFE7FFE7FF7FADFFADFEADFEADFEADFEADFEADFEADFEADFEADJ&C#@"="@#J#:4
+5ADADFEFEFEADADADADFE7F77FFFFFADFEADFEADFEADFEADFEADFEADFEADFEADFEJ"8"9#J#J#:4
+7ADFEFEFEF7FFE7FF7FADFFADFFADFFADFFADFFADFFADFFADFFADFFADJ#8";%J#J#:4
+4FEFEADADADADADDFE7F77FFFFFADFFADFFADFFADFFADFFADFFADFFADFFADFEJ#;#H"@#J#:#z#
+@FEFEFEFEFE7FFE7FF7FADFF/ADFEADJ5>%@#8&F#:#8v8#
+4<ADFEFEFEFEFEADADADFEFEFEFEADADADFEFEFEFEADADADFEFEFEFEADADFEFEADFE7F7FFEFEFE7F7FFFFFADFEADFE&F&9%9%9%8#8#8&>#9$G#:#8"?"8#B%
+F7F7F7F7F7ADADADADADADADADADADADADADADADADADADADADADADADADADAD7FFE7F7F7FFF7FADFFADADFEADF7F7F7F7&J#J#:#9"="9#B&
+F6F6F6F6F6O3FE7F77FFFFFADADADADFEF6F6F6F6F68$J#J#:#:";":#C%
+F9F9F9O37FFE7FF7FADFFADADFEADF9F9F9F7J#J#:#;"9";#
+O8FE7F77FFFFFADADADADFEJ5:#<$<#
+O8;7FFE7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FADFFADFEADFEADJ5:#="=#
+O8;FE7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFFFFADADADFEJz:4
+O8;ADADFFADFEADFEADFEADFEADFEADFEADFEADFEADJ4
+P)FFADFEADFEADFEADFEADFEADFEADFEADFEADFEJz
+P)3AD
+
+
+
+
+
+
+
+
+<z"z"z
+0F6F7OMF6F71F6;z8z8z
+1F9OLF91F9
+
+7z8z8z
+5F7OLF74F7"J"J"
+F76F7OMF7
+ENDBITMAP
+%%EndBinary
+0 F
+(FIGURE 22) 138.16 518.18 T
+1 F
+( - Spintime) 189.55 518.18 T
+72 72 297 720 C
+0 0 612 792 C
+72 137.14 297 391 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+71.29 159.14 296.29 381.71 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+%%BeginBinary: 7528
+158 221 81.26 113.66 0 149.43 262.63
+/red <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000096FB7DFFCF8AFFE79AFF2CAEB6CF71E7
+A24DF70055BE928AB2D3FF0055F7DB7DB2002CFF6120822C455D4571FF0000FF
+> store
+/green <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000096FB6DFFB67DFFCF8AE78AEFEF0071E7
+A24DF70055BE827530B6FFFF69DFDB7DB2004D00B641DF4D829E4582FF0000FF
+> store
+/blue <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000009AFF5DDF9E69FBB275C755EFB60071E7
+A24DF77D55BE9265618EE3002CB2DB7DB28A4D00FF59E351B6A2FF9200FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+7F6F7P1F6F77F6F7J"
+Q2F78z8z8z
+5F9P0F95F9
+
+
+<z"
+Q'F7F6=z"z"z"z
+0F6F7P F6F70F6F70F6>z8z8z8z
+/F9OMF9/F9/F9
+J#>$
+O5FEFEFEFEFEJ"Js"
+O?F9O.F6F7J#Jr
+O5F9F9O8F9J09%;#
+O(FEFEFEF9FEFEFEFEF9FEFEFEFEFEFEFEFEFEFEFEFEAs"J"9"8':%;%J$
+F6F7BF9F9F9F9F9FEF9F9FEF9F9F9FEF9FEFEHF6F6F7BrJ$9%=%:"J"
+F9DF9FEFEFEF9FEF9FEFEFEF9F9LF9AsJ"9"J#
+F7O&F9FEO"F7F7AtJ)=%J$
+F9DF9FEFEF9F9FEFEF9FEF9F9F9O#F9F9F9J"8"8'8"9"
+O4FEFEFEFEFEF9F9FEFEFEJ#8#9t8sJs
+O+F9F9F9F9F9F9O'F7Jt
+Q F9
+>z8z8z8z
+/F7OMF7/F7/F7sF"J"F"F&
+F7F7P F7F7F7F7F7F7F7(z'
+F6F6F6F6F6F6F7Q&D9F6F6F6F6F6F68%J&
+F9F9F9F9Q(F9F9F9F9F7
+
+
+
+
+
+
+
+
+
+
+
+
+J#
+OJFEFE
+J#8#8#8%9%9#;%
+O-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEJ39'
+O8FEFED9D9FEFED9FEFED9D9FEFED9FEFED9FEFEFED9D9FEFEJ$:$H";%
+O-D9FEFEFEFED9D9FED9D9D9J#;#@&
+O:FEFEFEFED9D9FEFEFEJ%9%@"8"
+O:D9D9D9D9D9D9D9D9D9FEJ)<#;#:"9%
+O.D9FEFED9D9FEFED9FEFEFEFEFEFEFED9D9J39'
+O8D9FEFEFEFED9D9D9FEFEFEFED9D9D9FEFED9D9FEFEFEFED9J#8#:%9%9&8%
+O/D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9
+
+
+
+
+
+Gz
+P&D1
+Iz=z
+P"D03D8J"J"
+P4FF9FFJz"@r"r"
+5OLD6FFD7D8D7FFJzG"
+6OKD7FFJ#J"
+JFEFEOHD8J$F"J"
+7FEFEFED7OFFFJ&J$
+6FED7D7D7FEP*D9D8D8J&8%:$:,8%:$:$J$
+=FED7FEFEFEFEFEFEFEFEFEFEFEFEFED7FED7FED7FEFEFEFEFEFEFEFEFEFEFEFEFELFFFFD9J"8&8&9%8-8&8&8&J$
+:D7D7FED7D7D7D7D7D7D7FED7D7D7FEFED7D7D7FED7D7D7FED7D7D7D7D7D7D7FEFED7D7D7FEFED7D7D7FEO!D9D8D8J$J$9&8&J$
+EFEFEFE9FEFEFED7FEFEFED7D7FEFEFED7JFFFFD9J"?%J%:%9%J$
+:FEFED7D7D78FED7D7D7D7D7D7FED7D7D7FEO"D9D8D8J"<"J$
+O9FEFEMFFFFD9J&8%9-8%9%9-8&J$
+6D7FEFEFED7FEFEFEFED7FEFEFED7FEFED7FEFEFED7D7FEFEFEFEFEFEFED7FEFEFED7FED7D7FEFEFED7D7FEFEFED7O#D9D8D8J$9%:u:$9%:&8$:$J$
+7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7IFFFFD9J$
+PID9D8D8J%J#u
+O%FEFEFED7O5FFFFD8J$J"B"
+O%D7D7D7O7D8D8Jz
+P>/D7JZ
+P>/J"
+PLD8J$:$<"Jv"
+EFEFEFEFEFEFEFEO8D9D8J&@#;#="
+6FEFEFEFEFED7D7D7D7D7J'
+6D7FED7D7D7FEJ%G$;$:,8%:$:$
+>FEFEFEFEFEFEFEFEFEFEFEFEFED7FED7FED7FEFEFEFEFEFEFEFEFEFEFEFEFEJ&F#;&8-8&8&8&
+>D7D7D7D7FED7D7FED7D7D7FEFED7D7D7FED7D7D7FED7D7D7D7D7D7D7FEFED7D7D7FEFED7D7D7FEJ$J&G$9&8&
+?FEFEFE8D7FEFEFED7FEFEFED7FEFEFED7D7FEFEFED7J%J%F%:%9%
+>FED7D7D79D7D7D7FEFED7D7D7D7D7D7FED7D7D7FEJ"J"<"
+O,FE;FEFEJ'858&8%9%9-8&
+6FEFEFEFEFED7:D7FEFEFED7FED7FEFEFEFEFEFED7FEFEFEFEFEFED7FEFEFEFEFED7FEFEFED7D7FEFEFEFEFEFEFED7FEFEFED7FED7D7FEFEFED7D7FEFEFED7J&:z9$:$9%:&8$:$
+6D7D7D7D7D79D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7
+J%
+O4FEFEFED7J$
+O4D7D7D7Jz
+6OKD5Jz
+5OLD1
+J#>"@#J#
+<FEFEFEFEFE>FEFEJ$8"?"@"J"
+7FEFEFED1D1D1?D1J&
+6FED1D1D1FEJ#9$;$<+8$:$:$
+?FEFEFEFEFEFEFEFEFEFED1FEFEFED1FEFEFEFEFEFEFEFEFEFEFEFEJ"9%8#;&:28&8%
+:D1FED1D1FED1D1FED1D1D1FEFED1D1D1D1FED1D1D1FED1D1FED1D1D1FEFED1D1D1FEFED1D1D1J"F"9#<";$:$
+>D1D1FED1FEFEFEFEFEFEFEJ"J#B%9%
+:FE8D1FED1D1D1D1D1D1D1D1J":#9&<"<"
+O!FED1FED1FED1FED1FEFEJ48(9$>&8&8'
+6D1FEFEFED1D1FEFEFED1FEFEFED1FEFEFEFEFED1FEFEFED1D1FED1FEFED1FEFEFED1D1FEFEFED1D1FEFEFED1FEJ$8x9$8#9#8$:$:$:&
+7D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1
+
+
+
+Jz
+5OLD6Jz
+6OKD7J#
+CFEFEJ%>"
+7FEFEFEFED7J%
+7D7D7FED7J$;#8&:$:$8&:,8%:$:$
+>FEFEFEFEFEFED7FEFEFEFEFEFEFEFEFEFED7FEFEFEFEFEFED7FED7FED7FEFEFEFEFEFEFEFEFEFEFEFEFEJ&9,8&8-8-8&8&8&
+=FED7D7D7FEFED7D7FED7D7FEFED7D7FEFED7D7D7FEFED7D7D7FED7D7FEFED7D7FEFED7D7D7FED7D7D7FED7D7D7D7D7D7D7FEFED7D7D7FEFED7D7D7FEJ"<";&@"J$9&8&
+ED7D7D7FEFEFED7D74FEFEFED7FEFEFED7D7FEFEFED7J"J%J%:%9%
+6FE<D7D7D7FE>FED7D7D7D7D7D7FED7D7D7FEJ"J"<"
+O$FEIFEFEJ%919(8*9'9%9-8&
+6D7FEFED7D7FEFEFED7D7FEFEFED7FEFEFEFEFEFEFED7D7FEFEFED7D7FEFEFED7D7FEFEFEFED7D7FEFEFEFEFEFEFED7FEFEFED7FED7D7FEFEFED7D7FEFEFED7J#;$8u8#8$:$8$8#8$9%:&8$:$
+7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7
+J%
+O:FEFEFED7J$
+O:D7D7D7Jz
+6OKD5Jz
+5OLD1
+J"
+OCFEJ&H"J"
+6FEFEFEFEFEFECD1J'
+6D1FED1D1FEFEJ"8#8)9)8#8&9$8,9&:$
+:D1FEFEFEFED1FED1FEFEFEFEFEFEFEFED1FEFEFEFEFED1FEFEFEFEFEFEFEFEFED1FEFEFED1FEFEFEFED1FEFEFEFEFEFEJ"8"9"8'8(9"9&81:'8&
+:FED1D1D1FEFED1D1FED1FED1D1D1D1D1D1D1FED1D1D1FED1D1D1FED1D1FED1D1D1FED1D1D1D1D1FEFED1D1FEFED1D1D1FEJ%@"J$H"<$
+8FEFEFED1D1;FEFEFED1FEFEFEJ$J%8&G%
+8D1D1D1GD1D1D1D1D1FED1FED1D1D1D1D1J"I":"J"
+O#FEFEFE6FEJ%:*9"829&9$9*9(
+6FEFEFEFED1FEFEFED1FEFEFEFEFED1FEFEFED1D1D1FEFEFED1FED1FEFEFEFED1FEFEFED1D1FED1FEFEFEFEFED1FEFEFEFED1D1FEFEFED1J%;s8#9$9u:$;":t8#8$
+6D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1
+Jv
+P@D8J"
+P?D8Jz
+P>/D7
+
+J&
+O FEFED1FEFEJ%I"8"
+7FEFEFEFED1D1J%
+6FED1D1D1J"8%8&:$:$8#8#8&
+:D1FEFEFEFEFED1FEFEFEFEFEFEFEFEFEFEFEFEFEFED1FEFEFEJ#:-8%:'9"9&
+7FEFED1D1D1D1FED1D1FEFED1D1FEFED1D1D1D1D1D1FED1D1D1D1FED1D1D1J&9$:"
+6D1D1FEFEFEFEFEFED1J#9%
+8D1D1FED1D1D1J"
+6FEJ%8*9/8,
+7FEFEFED1D1FEFEFED1FEFEFEFEFED1D1FEFEFED1FEFED1FEFEFED1D1FEFEFED1FED1FEFEFEFEJ%:s8#8u:u
+6D1D1D1D1D1D1D1D1D1
+
+
+
+
+
+JZ
+P>/J$J"C"
+7FEFEFEP$D7D8J&Jt$
+6FED1D1D1FEP&D9D8D8D7J$:$:$:$:,8%:$:$J$
+>FEFEFEFEFEFEFEFEFEFEFEFEFEFEFED1FED1FED1FEFEFEFEFEFEFEFEFEFEFEFEFEBD7FFFFJ"8&8&8&8&8-8&8&8&J$
+:D1FED1D1D1FEFED1D1D1FEFED1D1D1FEFED1D1D1FEFED1D1D1FED1D1D1FED1D1D1D1D1D1D1FEFED1D1D1FEFED1D1D1FEKD8D8D7J#F&9$H$9&8&J$
+9FEFED1FEFEFED1FEFEFEFEFEFED1FEFEFED1D1FEFEFED1BD7FFFFJ"H%9%F%:%9%J$
+9D1D1D1D1FED1D1D1D1FED1D1D1D1D1D1FED1D1D1FEJD8D8D7J"@"J"<"J$
+KFEFE7FEFEGD7FFFFJ&8&8&8&8&8%9%9-8&J$
+6D1FEFEFED1D1FEFEFED1D1FEFEFED1D1FEFEFED1D1FEFEFED1D1FEFEFEFEFEFEFED1FEFEFED1FED1D1FEFEFED1D1FEFEFED1ID8D8D7J$:$:$:$:$:$9%:&8$:$J$
+7D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1ED7FFFFJ$
+PFD8D8D7J%J$
+O,FEFEFED1O3D7FFD8J$J"
+O,D1D1D1O8D7J"
+PDD7J"
+PFD7JZAZ
+5OL/J"J"
+4FFP(FFIz=z
+P"D13D9
+Gz
+P&D9
+
+
+
+
+
+Iz
+P"D8J"
+P4FFJy#Z&x"
+5D7FFD7O*D7D7D7FFFFD7FFJ$J";#
+AFFFFD8O*D8FFFFJ%:z">#
+?FFFFFFD8O&D9D8FFFFJ#8"J#8#
+=FFFFD9O2D9D9FFFFJ#8#J#8#
+;FFFFD9D9O5D9D9FFFFJ#8#J#8#
+9FFFFD9D9O9D9D9FFFFJ#8#J#8#
+7FFFFD9D9O=D9D9FFFFJ'J&
+5D8D8D8D8D9D9OAD9D8D8D8D8J#8#J"9"
+5D7D7D8D8OAD8D7J#8#J#8#
+7D7D7D8D8O=D8D8D7D7J#8#J#8#
+9D7D7D8D8O9D8D8D7D7'J#8#J#8#J&
+F7F7F7F7F7F75D7D7D8D8O5D8D8D7D7MF7F7F7F7F7'J#8"J#8#J'
+F6F6F6F6F6F67D7D7D8O2D8D8D7D7O!F6F6F6F6F6F68%J#<z?#J&
+F9F9F9F99D7D7O&D8D7D7O$F9F9F9F9F7J#9"J$
+AD7D7D8O,D8D7D7JZ
+5OLJ"
+4FFIz
+P"D9
+
+
+
+
+
+
+
+
+
+
+=z"z"z
+0F6F7P1F6F71F6<z8z8z
+1F9P0F91F9
+
+
+7z8z8z
+6F7P0F75F7"J"J"
+F77F7P1F7
+ENDBITMAP
+%%EndBinary
+80.29 166 287.29 256 R
+7 X
+V
+4 8 Q
+0 X
+(scrolledlistbox .slb -vscrollmode static \134) 80.29 250.67 T
+( -hscrollmode dynamic -selection SelProc \134) 80.29 240.67 T
+( -items {Crabgrass Dallisgrass Nutsedge} \134) 80.29 230.67 T
+( -scrollmargin 5 -labelpos n\134) 80.29 220.67 T
+( -labeltext \322Weeds\323) 80.29 210.67 T
+(pack .slb -padx 10 -pady 10) 80.29 200.67 T
+(.slb insert 2 Sandbur Goosegrass) 80.29 180.67 T
+(.slb insert end Chickweed Johnsongrass) 80.29 170.67 T
+0 10 Q
+(FIGURE 23) 128.5 146.89 T
+1 F
+( - Scrolledlistbox) 179.89 146.89 T
+0 0 612 792 C
+0 12 Q
+0 X
+0 0 0 1 0 0 0 K
+(Scr) 396.95 712 T
+(olledtext) 414.06 712 T
+1 10 Q
+-0.28 (The Scrolledtext widget provides all the functionality of) 315 693.33 P
+(the standard Tk text widget along with scrollbar and) 315 681.33 T
+(label control. The set of methods has been extended to) 315 669.33 T
+(include import and export \336le capabilities.) 315 657.33 T
+0 12 Q
+(Scr) 391.28 395 T
+(olledframe) 408.4 395 T
+1 10 Q
+(The Scrolledframe combines the functionality of scroll-) 315 376.33 T
+(ing with that of a typical frame widget to implement a) 315 364.33 T
+-0.13 (clipable viewing area whose visible region may be mod-) 315 352.33 P
+-0.49 (i\336ed with the scrollbars. This enables the construction of) 315 340.33 P
+(visually lar) 315 328.33 T
+(ger areas than which could normally be dis-) 359.54 328.33 T
+-0.34 (played, containing a heterogenous mix of widgets. Once) 315 316.33 P
+-0.49 (created, the Scrolledframe child site can be accessed and) 315 304.33 P
+(\336lled with widgets.) 315 292.33 T
+0 12 Q
+(Scr) 389.27 261 T
+(olledcanvas) 406.39 261 T
+1 10 Q
+(The Scrolledcanvas applies scrollbars and display) 315 242.33 T
+-0.25 (options to a standard Tk canvas widget. All the standard) 315 230.33 P
+-0.17 (canvas commands and options have been maintained. A) 315 218.33 P
+-0.46 (new option, autoresize, has been added which allows the) 315 206.33 P
+(user to engage automatic resizing of the scroll region to) 315 194.33 T
+(be the bounding box covering all the items. The region) 315 182.33 T
+(is adjusted continuously as items are created and) 315 170.33 T
+(destroyed via the canvas commands, ef) 315 158.33 T
+(fecting the dis-) 471.45 158.33 T
+(play of the scrollbars.) 315 146.33 T
+315 423 540 654 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+315 447 540 636 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+%%BeginBinary: 17963
+503 189 201.2 75.6 0 324 546
+/red <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000096FB7DFFCF8AFFE79AFF2CAEB6CF71E7
+A24DF70055BE928AB2D3FF0055F7DB7DB2002CFF6120822C455D4571FF0000FF
+> store
+/green <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000096FB6DFFB67DFFCF8AE78AEFEF0071E7
+A24DF70055BE827530B6FFFF69DFDB7DB2004D00B641DF4D829E4582FF0000FF
+> store
+/blue <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000009AFF5DDF9E69FBB275C755EFB60071E7
+A24DF77D55BE9265618EE3002CB2DB7DB28A4D00FF59E351B6A2FF9200FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+7F6F7WHF6F77F6F7J"
+XIF78z8z8z
+5F9WGF95F9
+
+
+<z"
+X>F7F6=z"z"z"z
+0F6F7W7F6F70F6F70F6>z8z8z8z
+/F9W6F9/F9/F9
+JrJ$<s8#8$
+R,FEO%FEFEFEFEFEFEFEFEFEJ"8&J">"8$>"Js"
+R,F9F9F9F9FEFEO$F9F9F9F9F9F9R5F6F7J"9#Jr
+SGF9F9F9R9F9J%:%8r*8$9'8#D"9$?$
+R6FEFEFEFEFEFEFEFEFEF9FEFEFEFEF9FEFEFEFEFEFEFEFEFEF9FEFEFEFEFEFEFEFEFEFEFEAs"J$9%8%8'9"8/8"8&A#8$?'J$
+F6F7QKFEFEF9F9F9FEFEFEF9F9F9FEF9F9F9FEF9F9F9F9F9FEF9FEFEFEF9FEFEFEF9F9FEFEFEFEF9FEFEFEF9F9F9FEFEFEF9FEFEQKF6F6F7BrJ%9$;%8)9%9$<$8$A#G"J"
+F9QJFEFEFEF9F9FEFEFEFEFEF9FEFEFEF9F9F9FEFEFEF9FEF9F9F9F9F9F9F9F9F9F9F9F9FER F9AsJ$9%:"9$9"J"E%J#
+F7QJF9F9F9FEFEF9F9F9FEF9F9FELF9F9F9F9F9QKF7F7AtJ":%8%9):$A$J%J$
+F9R$FEFEF9F9F9FEF9F9F9F9FEFEF9F9FEFEF9FEF9FEFEF9FE=FEF9FEFEQKF9F9F9J"8";%8"8%8%B*8"8&8";"8";"8$8)
+R,FEFEF9FEFEF9FEFEFEFEF9FEFEFEF9F9F9FEFEFEF9F9F9FEFEF9F9FEFEF9FEFEFEFEFEF9FEFEF9F9F9FEFEFEF9J%<v8%:#8#;$9%:';%;t9$Js
+R,F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9R,F7Jt
+X7F9
+>z8z8z8z
+/F7W6F7/F7/F7sF"J"F"F&
+F7F7W7F7F7F7F7F7F7F7(z'
+F6F6F6F6F6F6F7X=D9F6F6F6F6F6F68%J&
+F9F9F9F9X?F9F9F9F9F7
+
+
+
+
+
+
+
+
+
+
+
+
+J#>#A#J#
+RAFEFEFEFEFEFEKFEFE
+J'8"8"8%;'9%9%9%8#8#8#8#
+RBD9D9FEFEFEFEFEFEFEFEFEFED9FEFED9FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEJ"8)8)8":5B%
+R@FEFEFED9D9FEFED9D9D9D9FEFED9D9FEFEFE9FED9FEFED9FEFED9D9FEFED9FEFED9D9FEFED9FEFED9D9FEFEFEFED9FEJ#=":#=%9):$:"
+S%D9D9D9D9D9FED9D9D9FED9D9D9D9D9FEFEFEFED9D9J"9#G"?$9&8&
+RAD9FEFED9FEFEFED9D9FEFEFED9D9FEFEFEJ%J%;"8"9"8"
+RED9D9D9D98FEFED9D9D9FED9FEJ"=#;":%;"A%9%:);"
+R?FEFEFEFEFEFED9FEFEFEFED9D9FEFED9D9D9FEFED9D9FEFED9FEJ'8+=5B%
+RCD9FEFEFEFED9D9FEFED9D9FEFEFEFED99D9FEFED9D9D9FEFEFED9FEFED9FEFEFEFED9D9D9FEFEFEFED9D9FEFED9J#9%:#8%8#;#9v9%:#8#:&
+R?D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9
+
+J#
+S,D9D9
+
+
+Gz
+W=D1
+Iz=z
+W9D03D8J"J"
+WKFF9FFJz"@r"r"
+5W5D1FFD7D8D7FFJ"
+X-FFJ$J":&A"J#:"J$J"9$J":#J"E$:$J"
+9FEFEFEGFEFEFEFEFEFEFEP4FEFEFEO3FEFEFE@FEFEFEFE<FEFEFE5FEFEFEFEFEFEFEO@D8J%9"J"A#<$@#B$J(wC";"J"J$J#8%9"J#:"J#E#;#J"
+8FED1D1D1FE5FEFEFED1D1D1FEFEFEFEFEO4FEFEFEFEFEFED1FED1D1:FEEFED1D1@FED1FED1D1D1FE7FED1D15FED1D1D1D1D1O>FFJ#;"8#?#B#J&9-J$
+O3D1D1D1FED1D1D1D1D1O5D1FED1D1D1D1D1FED1D1FED1FED1D1FEFET)D9D8D8J&8,@&J$8&:$8&8-:$8#8#9$B"D"A$9$:&9$:$9&9$9.A#:#:$8&:$<#8&8,C#9$:$8(:)8#8#J$
+7FEFEFEFEFEFEFEFEFEFED1FED1FEFEFEFEFEFEFEFEMFED1FEFED1FEFEFEFEFEFEFED1FEFEFEFEFEFED1FEFEFEFEFEFED1FEFEFEFEFEFEFEFEFEFEFEFED1FEFEFEFEFEFEFED1FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFED1FEFEFED1FEFEFED1FEFEFEFED1FEFEFEFEFEFEFEFED1FEFEFEFEFED1FEFEFEFEFEFEFEFEFEFED1FED1FEFEFEFED1FEFEFEFEFEFEFEFEFED1FEFEFEFED1D1FED1FEFEFEFEFEFEFEOHFFFFD9J&8-:":&:"J"C"@'858(9"9&@"8$;":"@%9#;&8&8&8&8&8.9"B%8-8&?&8-:"A%9.=)9"J$
+7D1FED1D1D1D1FED1D1D1D1D1FED1D1D1FEFED1D1FED1D1FE4FEFED1FEFED1D1FE:FED1D1D1FED1D1FEFED1D1FED1D1FED1D1D1FED1D1FED1FED1FEFED1D1D1FED1D1D1FED1D1D1FEFED1D1D1D1FEFED1D1D1D1D1D1FED1D1D1FED1D1D1FEFED1D1D1FED1FED1D1D1FED1D1D1FED1FED1D1D1D1D1FED1D1D1FED1FEFED1D1FEFED1D1D1FED1D1FED1FED1FEFED1D1D1FED1FED1D1D1D1FED1D1D1D1D1FED1D1D1FEFEFED1D1D1FED1D1D1FED1D1FED1D1D1FED1D1FEFED1D1FED1D1D1OMD9D8D8J";$;"J"C":&9"C"J&@"C%J$="J"<#:"J$;#J"<#A$B#:"J$
+O D1FED1FED14D1D1FEFEFEFEFED1D1AD1FEFEFED1D1FEFEFED1?FEFEFED1@D1FED1D14FEFEFEFED1:D1FED1FEFEFEFED1D1P#FFFFD9J$I#J$J&J%A"B$J%J&J%J%8&J$
+O&D1D1D1FED19D1D1D18D1FED1FED18D1D1D1FED1D1D1D1@D1D1D1D1>D1FED1FED1FD1D1D1D1O&D1D1D1D1D1FED1FED1P4D9D8D8J"J"J"J"<"="G"B#J"9#F"F#E":";#J$
+CFEP"FE9FEO4FEFEFEFEFED1=FEFED1FEFED1FEFEFED1P(FFFFD9J%:&8%:"C":&A":&:"9+9,9"8$8";(8->%:+A-8%9&8&9,8%:$;"@0;(?%:&8%:"A-9$?$95J$
+7FEFEFEFED1FEFEFED1FEFEFED1FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFED1FEFEFEFEFEFEFED1D1FEFEFED1D1FEFEFEFED1FED1FEFED1D1FEFEFED1D1FEFEFED1FED1D1FEFEFED1FEFEFEFEFEFEFEFEFED1FEFEFEFED1FEFEFED1FED1FEFEFEFEFEFEFEFEFED1FEFEFED1D1FEFEFED1D1FEFEFED1D1D1FEFEFED1FEFEFEFED1FED1FEFEFEFED1FEFEFED1D1FEFEFED1D1FEFED1D1FEFEFED1FEFEFEFED1FEFEFED1FEFEFED1FED1FEFEFED1FED1D1FEFEFED1D1FED1FEFEFE6FED1D1FEFEFED1FED1FEFEFEFEFEFED1FEFEFEFEFEFEO?D9D8D8J%;$9$;"C":&:"<":&:"9u8#8$8$8#=r8$:&8$?%:uBv8%:$:$;$9$9%B":#:r8$8r8$9#;%;$9$;":#<&8$;":#:$8#8zJ$
+7D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1FED1D1D1D1D1D1D1D1D1FED1D1D1D1D1D1D1D1D1D1D1D1FED1D1D1D1D1D1D1D1D1D1FED1D1D1D1D1D13D1O6FFFFD9J"J"J"J"J$
+SFD1BD1BD1;D1P3D9D8D8J$J$J$J$J#u
+DFEFEFEOKFEFED1P?FEFED1O4FEFEFEQ#FFFFD8J$J#J#J$J"B"
+DD1D1D1OKD1D1P@D1D1O5D1D1D1Q$D8D8J"J#J";$B"J"J#J":$A$<"J"C":#J"E$:$Jz
+HFE4FEFEGFEFEFEFEFE<FE4FEFEO FEFEFEFEFEFEFEFEOAFEFEFEFE5FEFEFEFEFEFEFEO8/D7J"J"J#;&?#A#9#A"J"J":#B#="B"J#B#:"J#E#;#
+HD14D1FFEFEFED1D1D1FEFEFEFEFEFEFED14D1O!D1D1D1D1D1D1FEO3FED1FED1D15FED1D1D1D1D1J#I#A(
+P(D1D1D1D1D1FEFED1FEFED1J&9%9%:$9&9$:$8&?(J%9%:$9&9$:$8&:$?&9%9$J$;$9&@$:$9.8$9&B#B#9$:$8(:)8#8#
+6FEFEFED1FEFEFEFEFEFEFEFEFEFEFEFEFED1FEFEFEFEFEFEFEFEFEFEFEFED1FEFEFEFED1FEFEFEO$FEFEFEFEFEFEFEFEFEFEFEFED1FEFEFEFEFEFEFEFEFEFEFEFED1FEFEFEFEFEFEFED1FEFEFEFEFEFEFEFE9FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFED1FEFEFED1FEFEFED1FEFEFEFEFEFEFED1FEFEFEFED1FED1FEFEFEFEFEFEFEFEFED1FEFEFEFED1D1FED1FEFEFEFEFEFEFEJ'8&8$:&8&8%9-:"9#9#9"A&:"C";$9&8$:&8&8%9-8&>'8&8#J#;&8&?&8&848&:"C"A%9.=)9"
+6D1FED1FED1FED1D1D1D1FED1D1D1FED1D1D1FED1FED1D1D1FED1D1D1FED1D1D1FED1D1FED1FED1FEFED1D1D1D1FED1FEFEFED1FEFED1FED1D1D1D1D1FED1D1D1FED1D1D1FED1FED1D1D1FED1D1D1FED1D1D1FED1D1FED1FED1FEFED1D1D1FED1FED1FED1FED1D1D1D1FED1D1:D1D1FED1D1D1FED1FED1D1D1FED1D1D1FEFED1D1D1FED1FED1D1D1D1D1FED1D1D1FED1D1FED1D1D1FED1FED1D1D1FEFEFED1D1D1FED1D1D1FED1D1FED1D1D1FED1D1FEFED1D1FED1D1D1J$J";$;"A&:"C"B$J$J&F&9$H$B"<#;"<#A$B#:"
+?FEFEFEO!D1D1FED1D1FED1D1D1FED1D1FEFEFEO5FEFEFEFD1FEFEFED1D1FEFEFED1FEFEFEFEFEFED1FED1D1FED1FEFEFEFED1D1J%J$J%J%J%G%9%?&9%J%8&
+>FED1D1D1O'FED1FEO&FED1D1D1O4FED1D1D1GD1D1D1FED1D1D1FED1D1D1D1D1FED1FED1D1D1D1D1MD1D1D1D1D1FED1FED1J&J"J"A">"@"A">"G#B#E":";#
+OHFED1D1D1FEO D1P8FEFEFEFEFEFEFED1FED1FEFEFED1J";)>&8%9/;"9"9";"9":&8&:":&:"9/>&8%9/;(>";/8'>-8&9&>&8&8%:$9&8%;"C"A-9$?$95
+6FEFED1D1FEFEFED1FED1FEFEFED1FEFEFEFED1FEFEFED1FED1D1FEFEFED1D1FEFEFEFEFEFEFEFEFEFEFED1FEFEFED1FEFEFEFEFEFEFEFEFEFED1FEFEFED1D1FEFEFED1FED1FEFEFED1FEFEFEFED1FEFEFED1FED1D1FEFEFED1D1FEFED1D1FEFEFED1FEFED1D1FEFEFED1FED1FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFED1FEFEFEFEFED1FEFEFED1D1FEFEFED1D1FEFEFED1D1FEFEFED1FEFEFEFED1FED1D1FEFEFED1FEFEFEFEFEFED1FEFEFED1FED1D1FEFEFED1D1FED1FEFEFE6FED1D1FEFEFED1FED1FEFEFEFEFEFED1FEFEFEFEFEFEJr8&?$9%:&8$8r9"9#9#9":&9$;":&:"9r8&?$9%:&8$8r8$?r8v8'>w9$;$@$:$9%;";$9%;":#=":#<&8$;":#:$8#8z
+6D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1FED1D1FED1D1D1D1D1D1D1D1D1D1FED1D1D1D1D1D13D1J"C"J"
+U"D1D1;D1J%J%
+EFEFEFED1P0FEFEFED1J$J$
+ED1D1D1P1D1D1D1J";$B"J$J"C":#J"E$:$
+O5FEFEFEFEFEO FEFEFEO,FEFEFEFE5FEFEFEFEFEFEFEJ"A#;&?#A#9#J#J#B#:"J#E#;#
+O'FEFEFEFED1D1D1FEFEFEFEFEFEFE=D1D1O,FED1FED1D15FED1D1D1D1D1J#I#A(
+O3D1D1D1D1D1FEFED1FEFED1J&9%8&@&J%8&8#8#8%F&9%:&8$:$C#B#9$:$8(:)8#8#
+6FEFEFED1FEFEFEFEFEFED1FEFEFEFEFEFEFEFEO%FEFEFEFEFED1FEFEFEFEFEFEFEFEFEFEFEFED1FEFEFEFEFEFEFEFEFEFED1FEFEFEFEFEFEFEFED1FED1FEFEFEFEFEFEFEFEFED1FEFEFEFED1D1FED1FEFEFEFEFEFEFEJ'8-:":&:"J"C";$9/9"9&E'8&8-8&:"C"A%9.=)9"
+6D1FED1FED1FED1D1D1D1FED1D1FEFED1D1FEFED1D1FED1D1FE4FEFED1FED1D1D1D1D1FED1D1FEFED1D1FED1D1D1D1D1D1D1FED1FED1D1D1FED1D1D1D1FEFED1D1D1FED1D1FED1D1D1FEFED1D1D1FEFEFEFED1D1D1FED1D1D1FED1D1FED1D1D1FED1D1FEFED1D1FED1D1D1J$:"=";$;"A%;"C"B$:"C$J$A$9&:"<#;"<#A$B#:"
+?FEFEFED1D1FED1FED1D1FEFEFED1D1FEFEFED1FEFEFE9FEFEFEFEFEFED1FEFEFED1D1FED1D1FED1FEFEFEFED1D1J%H$H$J%G%J%A%9%J%8&
+>FED1D1D1D1D1D1D1D1D1?FED1D1D1FED1D1D18FED1D1D1D1D1D1D1D1D1D1FEFD1D1D1D1D1FED1FED1J#J"J"8"D#B#E":";#
+O=FED19D1O9FEFEFED1FED1FEFEFED1J";,9"9"C":&8%;":&:"9295?%8,9&8&:"C"A-9$?$95
+6FEFED1D1FEFEFED1FEFEFEFEFEFEFEFEFEFEFEFEFEFEFED1FEFEFEFEFEFEFEFEFEFED1FEFEFED1D1FEFEFED1FEFEFEFE6FED1D1FEFEFED1FED1D1FEFEFED1FED1FEFEFEFEFEFEFEFEFED1D1FEFEFED1FED1D1FEFEFED1FEFEFED1D1FEFEFED1FEFED1FEFEFED1FED1D1FEFEFED1D1FED1FEFEFE6FED1D1FEFEFED1FED1FEFEFEFEFEFED1FEFEFEFEFEFEJr8s8#9"C":&8$<":&:"9r8s8#8&8w?$:&8$:$:$;":#=":#<&8$;":#:$8#8z
+6D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1FED1D1FED1D1D1D1D1D1D1D1D1D1FED1D1D1D1D1D13D1J"C"J"
+R'D1D1;D1J$C%
+Q*FEFEFEFEFEFED1J$C$
+Q*D1D1D1D1D1D1J&9$:$A$J$J"J$>"F$I#
+O:FEFEFEFEFEFEFEFEFEFEFEFEFEFEP5FEFEFE@FEO"FEFEFEFEFEFEFEFEFEJ"J%8&8&?&J"J"F$J#J"F$?"E$J"
+O&FE4D1D1D1D1FED1D1D1FEFED1D1D1FEFED1D1D1FEFFEO)FEFED1D1@FED1>FEFED1D1D1FED1D14D1
+J(8#9$:$9&J(8#9$:$9&?%:$:$:$8#8)9&B#:#:$8&:$<#9(8#9$:$9&B#9$9$9&<#9$9%:$;#
+8FEFEFED1FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEO-FEFEFED1FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFED1FED1FEFEFEFEFEFEFEFEFED1FEFEFEFEFEFEFEFED1FEFEFEFEFED1FEFEFED1FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFED1FEFEFEFEFEFEFED1FEFEFEFED1FEFEFEFEFEFEFEFEFEFEFEFEJ(9"9&8&8&:"<";$I"C":(9"9&8&8&?&8&8&8(9"8'8&:"B%8-8&?(9"9&8&8&:"B%8#:'@%8&8&9%
+7FED1D1D1FED1D1D1FED1D1D1FEFED1D1D1FED1FED1D1D1FEFEFEFEFEFEFEFED1D1D1FED1D1D1FED1D1D1FEFED1D1D1FED1FED1D1D1D1D1D1D1FEFED1D1D1FEFED1D1D1FEFED1D1D1FED1D1D1D1FEFED1D1FED1FED1D1D1FEFED1D1FEFED1D1D1FED1D1FED1FED1FEFED1D1D1FEFED1D1D1FED1D1D1FED1D1D1FEFED1D1D1FED1FED1D1D1FED1D1D1FED1D1D1FEFED1D1FED1D1D1FED1D1D1D1FEFED1D1D1FEFED1D1FEJ$9&A"<":&H"C"I$9&G$="<"G"D"<#:"J$;#H$9&A"<#H"=#A$9&9"
+FFEFEFED1FEFEFED1D1D1D1D1D1D1FED1D1FEFEFED1FEFEFED1FEFEFED1D1D1D1FED1D14FEFEFEFED1FEFEFED1FEFEFED1D1FED1D1FED1FEFEFED1FEFEFED1D1J%9%J%9%F%J%J%9%J%:%
+FD1D1D1D1D1D1D1FEOBD1D1D1D1D1D1D1FEFED1D1D1OCD1D1D1D18D1D1D1D1D1D1D1FEO,FED1D1D1D1D1D1FEJ"8"A"D"J"8"A"I"<"J"?#J"9#J"8"A"?#J#H"
+IFEFEFEFEO.FEFEFEFEFE<FEFED1=FEFED16FEFEFEFED1:FED1FEJ%9-8&9&9"<"9'8&8&:":&:":%9-8&9&>-8&8&8*9"8&9"@0;(?%9-8&9&9"@'8*9"='85
+7D1FEFEFED1FEFEFED1FED1D1FEFEFED1D1FEFEFED1D1FEFEFED1FEFED1FEFEFEFED1D1FEFEFED1D1FEFEFED1FED1FEFEFED1FED1FEFEFED1FEFEFED1FED1D1FEFEFED1D1FEFEFED1D1FEFEFED1D1FEFEFED1FED1D1FEFEFED1D1FEFEFED1D1FEFEFED1D1FEFEFED1FEFEFEFEFED1FEFEFED1FEFEFEFED1FEFEFED1D1FEFEFED1D1FEFED1D1FEFEFED1D1FEFEFED1FEFEFED1FED1D1FEFEFED1D1FEFEFED1D1FEFEFED1FEFED1FEFEFED1FEFEFEFEFED1FEFEFEFEFED1FEFEFED14D1FEFEFED1FED1D1FEFEFED1D1FEFEFED1FEFEFEJ$:&8$:$;$:"<":%:$:$;";$;";$:&8$:$;$@&8$:$:$:s8#9$:":#:r8$8r8$9#<$:&8$:$;$:":#:&9t8&:&:&8$8r
+8D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1FED1D1D1D1D1D1D1D1D1FED1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1FED1D1D1D1D1D1D1D1D1D1FED1D1D1D1D1D1D1D1D1D1D1D1D1D1D1J"J"J"J"
+R<D1BD1O"D1;D1J%J%J%
+8FEFEFED1OIFEFEFED1PLFEFEFED1J$J$J$JZ
+8D1D1D1OJD1D1D1PMD1D1D1R9/J#C$<$J";$:$B";$:$J$<$J$J$C$<$J$>"F$I#J"
+6FEFEFEFEFEFEFEFEO FEFEFEFEFEFEFEFEFEFEFEFEFEFEO-FEFEFEFEFEFEJFEFEFE@FEFEFEFEFEFEFEFEFEJFEFEFEFEFEFEFEFEFEO:D8J"D#<%G"J#;&8&?#;&8&>'J+<%G"J$J$D#<%G"J$?"E$J"Jv"
+6D1D1D1FED1D1D1FE:FEFEFED1D1D1FEFED1D1D1FEFEFEFED1D1D1FEFED1D1D1FEFEFEFED1FEFEDFEFEFED1FEFEFED1D1D1FED1D1D1FE7FED1D1@FED1D1D1D1FED1D1D1FE7FED1D1D1FED1D14D1O/D9D8J#J#J$8"J(
+P!D1D1:D1D19D1FED1D1DD1FED1D1D1FED1J&8#?&9$9&8&9$J#9%9&9$8&J&9$9&8&9$C#:#:$8&:$<#;&8#?&9$9&8&9$C#9$9$9&<#9$9%:$;#
+:FEFED1FEFEFEFEFEFEFEFEFEFEFEFEFED1FEFEFEFEFEFEFEFEFEFEFEO=FED1FEFEFEFEFED1FEFEFEFEFEFEFED1FEFEFE8FEFEFEFEFEFEFEFEFED1FEFEFEFEFEFEFEFEFEFEFEFED1FEFEFEFEFEFEFEFED1FEFEFEFEFED1FEFED1FEFEFEFEFEFEFEFEFEFEFEFEFED1FEFEFEFEFEFEFEFEFEFEFEFED1FEFEFEFEFEFEFED1FEFEFEFED1FEFEFEFEFEFEFEFEFEFEFEFEJ&9"@&8&8&8&8&:"<"J"J";#:&8&8-J&8&8&8&8&:"B%8-8&A&9"@&8&8&8&8&:"B%8#:'@%8&8&9%
+9FED1D1D1D1D1D1FED1D1D1FED1D1D1FED1FED1D1D1D1FED1D1D1FED1D1D1FEFEFE;FE;FEFED1D1D1D1D1FED1FED1D1D1FED1D1D1FED1D1FEFED1D1FE7D1FED1D1D1FED1D1D1FED1FED1D1D1D1FED1D1D1FED1D1D1FEFEFED1D1FEFED1D1D1FED1D1FED1FED1FEFED1D1D1FEFED1D1D1D1D1D1FED1D1D1FED1D1D1FED1FED1D1D1D1FED1D1D1FED1D1D1FEFED1D1D1FED1D1D1FEFED1D1FED1D1D1FED1D1D1D1FEFED1D1D1FEFED1D1FEJ#J$G&:"<"J"J"<";$A$:"J$G&:"<#:"J$;#:#J$G&:"<#H"=#A$9&9"
+8FED1:FEFEFED1FEFEFED1D1D1;D1;D1FEFEFEFEFEFEFED1BFEFEFED1FEFEFED1D1FED1D14FEFEFEFED1FED1:FEFEFED1FEFEFED1D1FED1D1FED1FEFEFED1FEFEFED1D1J#J%G%J$9%A%J%G%J%@#J%G%J%:%
+8D1FE:D1D1D1D1D1D1D1FEO;D1D1FEFED1D1D1D1D1D1D1FD1D1D1D1D1D1D1FEFD1D1D1D1D1FE:D1D1D1D1D1D1D1FEO%FED1D1D1D1D1D1FEJ#J"D$J#J"G$J"D$D#J"9#<#J"D$D#J#H"
+9D1FE<FEFED1FEOAD1FE4FEFED1FE5FEFED1FEFED1=FEFED1D1FE<FEFED1FEFED1:FED1FEJ"959&8%:,:"<":&8&8&:":&8&8&:"9$9.9*9">&8,9&8%:,:"@0;(>"959&8%:,:"@'8*9"='85
+6FE6D1FEFED1D1FEFEFED1FED1FEFEFEFEFEFED1FEFEFEFED1FEFEFED1FEFEFEFED1FEFEFED1D1D1FEFEFED1FEFEFEFEFEFEFED1FEFEFED1D1FEFEFED1FEFEFEFEFEFED1FEFEFED1D1FEFEFED1FEFEFEFEFED1D1FEFEFED1FED1FEFEFEFED1FEFEFED1D1FEFEFEFED1FEFEFED1FEFEFEFEFEFED1FEFEFEFED1FEFEFED1FEFEFEFED1FEFEFED1D1D1FEFEFED1FEFEFEFED1FEFEFED1D1FEFEFED1D1FEFED1D1FEFEFED1FE6D1FEFED1D1FEFEFED1FED1FEFEFEFEFEFED1FEFEFEFED1FEFEFED1FEFEFEFED1FEFEFED1D1D1FEFEFED1FEFED1FEFEFED1FEFEFEFEFED1FEFEFEFEFED1FEFEFED14D1FEFEFED1FED1D1FEFEFED1D1FEFEFED1FEFEFEJ#9#8z:$9%;$9$;"<":&9$:$;":&9$:$;"9$8#8u:$8$8#?$9v:$9%;$9$;":#:r8$8r8$9#:#9#8z:$9%;$9$;":#:&9t8&:&:&8$8r
+6D1D1D1D11D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1FED1D1D1D1D1D1D1D1D1FED1D1D1D1D11D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1FED1D1D1D1D1D1D1D1D1D1FED1D1D1D1D1D1D1D1D1D1D1D1D1D1D1J"J"J"J"
+S1D1BD1O7D1;D1Jv
+X)D8J"
+X(D8J$<$J";$;"C";$:$J#J$<$J$J"E$<$J$>"F$I#Jz
+EFEFEFEFEFEFEO FEFEFEFEFEFEFEFEFEFEFEFE>FEFE4FEFEFEFEFEFEJFEFEFE@FEFEFEFEFEFEFEJFEFEFEFEFEFEFEFEFEO3/D7J#<%G"J#;&8#B#;&8&>#9#D"C+<%G"J$J#E#<%G"J$?"E$J"JZ
+ED1D1FED1D1D1FE:FEFEFED1D1D1FEFEFEFEFEFED1D1D1FEFED1D1D1FEFEFEFEFED1FEFEFED1FEFEFED1D1D1FED1D1D1FE7FED1D1@FED1D1D1FED1D1D1FE7FED1D1D1FED1D14D1O4/J#B#B#J(J(J"C"
+P!D1D1D1D1D1D19D1FEFED1FEFED1<D1FED1D1D1FED1T!D7D8J&8#8#?&9$9&8&9$J%9&;#J&9$9&8&9$C#:#:$8&:$<)8#8#?&9$9&8&9$C#9$9$9&<#9$9%:$;#Jt$
+6FEFEFED1FEFEFEFEFEFEFEFEFEFEFEFEFEFED1FEFEFEFEFEFEFEFEFEFEFEOBFEFEFEFEFED1FEFEFEFEFE7FEFEFEFEFEFEFEFEFED1FEFEFEFEFEFEFEFEFEFEFEFED1FEFEFEFEFEFEFEFED1FEFEFEFEFED1D1FEFEFED1FEFEFEFEFEFEFEFEFEFEFEFEFEFED1FEFEFEFEFEFEFEFEFEFEFEFED1FEFEFEFEFEFEFED1FEFEFEFED1FEFEFEFEFEFEFEFEFEFEFEFEO3D9D8D8D7J)9"@&8&8&8&8&:"<"J"J";$9&8&:$J&8&8&8&8&:"B%8-8&>)9"@&8&8&8&8&:"B%8#:'@%8&8&9%J$
+6D1FED1FED1FED1D1D1D1FED1D1D1FED1D1D1FED1FED1D1D1D1FED1D1D1FED1D1D1FEFEFE;FE;FED1FED1D1D1D1D1FED1FED1D1D1FED1D17D1FED1D1D1FED1D1D1FED1FED1D1D1D1FED1D1D1FED1D1D1FEFEFED1D1FEFED1D1D1FED1D1FED1FED1FEFED1D1D1FED1FED1FED1FED1D1D1D1FED1D1D1FED1D1D1FED1FED1D1D1D1FED1D1D1FED1D1D1FEFED1D1D1FED1D1D1FEFED1D1FED1D1D1FED1D1D1D1FEFED1D1D1FEFED1D1FEO0D7FFFFJ$G&:"<"J"J"B$A#J$G&:"<#:"J$;#J$G&:"<#H"=#A$9&9"J$
+O&FEFEFED1FEFEFED1D1D1;D1;D1FEFEFEFED1AFEFEFED1FEFEFED1D1FED1D14FEFEFEFED1@FEFEFED1FEFEFED1D1FED1D1FED1FEFEFED1FEFEFED1D1O=D8D8D7J%G%J%A#J%G%J%J%G%J%:%J$
+O&D1D1D1D1D1D1D1FEOAFED1D1D1D1FEAD1D1D1D1D1D1D1FEFD1D1D1D1FD1D1D1D1D1D1D1FEO%FED1D1D1D1D1D1FEO8D7FFFFJ"D$J"J#A$J"D$D#J"9#J"D$D#J#H"J$
+O)FEFED1FEO@D14D1FEFED1FE5FEFED1FEFED1=FEFED1DFEFED1FEFED1:FED1FEODD8D8D7J";59&8%:,:"<":&8&8&:":&8&8&:"948"9$>&8,9&8%:,:"@0;(>";59&8%:,:"@'8*9"='85J$
+6FE4FED1D1FEFEFED1FED1FEFEFEFEFEFED1FEFEFEFED1FEFEFED1FEFEFEFED1FEFEFED1D1D1FEFEFED1FEFEFEFEFEFEFED1FEFEFED1FEFEFEFEFEFEFEFEFEFEFED1FEFEFED1D1FEFEFED1FEFEFEFED1FEFEFED1D1FEFEFED1FED1FEFEFEFEFED1FEFED1FEFEFED1FEFEFEFEFEFED1FEFEFEFED1FEFEFED1FEFEFEFED1FEFEFED1D1D1FEFEFED1FEFEFEFED1FEFEFED1D1FEFEFED1D1FEFED1D1FEFEFED1FE4FED1D1FEFEFED1FED1FEFEFEFEFEFED1FEFEFEFED1FEFEFED1FEFEFEFED1FEFEFED1D1D1FEFEFED1FEFED1FEFEFED1FEFEFEFEFED1FEFEFEFEFED1FEFEFED14D1FEFEFED1FED1D1FEFEFED1D1FEFEFED1FEFEFEO1D7FFFFJr8z:$9%;$9$;"<":&9$9&:":&9$:$;"9r8u8#9#?$9v:$9%;$9$;":#:r8$8r8$9#:r8z:$9%;$9$;":#:&9t8&:&:&8$8rJ$
+6D11D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1FED1D1D1D1D1D1D1D1D1FED1D11D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1FED1D1D1D1D1D1D1D1D1D1FED1D1D1D1D1D1D1D1D1D1D1D1D1D1D1O7D8D8D7J"J"J"J"J$
+S*D1BD1O7D1;D1P%D7FFFFJ$
+X/D8D8D7J$
+X,D7FFD8J"
+X0D7J"
+X-D7J"
+X/D7JZAZ
+5W5/J"J"
+4FFW?FFIz=z
+W9D13D9
+Gz
+W=D9
+
+
+
+Iz
+W9D8J"
+WKFFJy#Z$x"
+5D7FFD7VCD7FFFFD7FFJ$J"9#
+AFFFFD8VCD8FFFFJ%:z"<#
+?FFFFFFD8V?D9D8FFFFJ#8"J#8#
+=FFFFD9VID9D9FFFFJ#8#J#8#
+;FFFFD9D9VLD9D9FFFFJ#8#J#8#
+9FFFFD9D9W"D9D9FFFFJ#8#J#8#
+7FFFFD9D9W&D9D9FFFFJ'J&
+5D8D8D8D8D9D9W*D9D8D8D8D8J#8#J"9"
+5D7D7D8D8W*D8D7J#8#J#8#
+7D7D7D8D8W&D8D8D7D7J#8#J#8#
+9D7D7D8D8W"D8D8D7D7'J#8#J#8#J&
+F7F7F7F7F7F75D7D7D8D8VLD8D8D7D7MF7F7F7F7F7'J#8"J#8#J'
+F6F6F6F6F6F67D7D7D8VID8D8D7D7O!F6F6F6F6F6F68%J#<z=#J&
+F9F9F9F99D7D7V?D8D7D7O$F9F9F9F9F7J#9"J$
+AD7D7D8VCD8D7D7JZ
+5W5J"
+4FFIz
+W9D9
+
+
+
+
+
+
+
+
+
+
+=z"z"z
+0F6F7WHF6F71F6<z8z8z
+1F9WGF91F9
+
+
+7z8z8z
+6F7WGF75F7"J"J"
+F77F7WHF7
+ENDBITMAP
+%%EndBinary
+324 456 531 537 R
+7 X
+V
+4 8 Q
+0 X
+(scrolledtext .st -labelpos n \134) 324 531.67 T
+( -labeltext \322/etc/passwd\323 \134) 324 521.67 T
+( -vscrollmode static \134) 324 511.67 T
+( -hscrollmode static) 324 501.67 T
+(pack .st -padx 10 -pady 10 -f) 324 491.67 T
+(ill both \134) 463.2 491.67 T
+( -expand yes) 324 481.67 T
+(.st import /etc/passwd) 324 461.67 T
+0 10 Q
+(FIGURE 24) 376.64 431.17 T
+1 F
+( - Scrolledtext) 428.02 431.17 T
+0 0 612 792 C
+FMENDPAGE
+%%EndPage: "13" 13
+%%Page: "14" 14
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 12 Q
+0 X
+0 0 0 1 0 0 0 K
+(Buttonbox) 157.49 272.29 T
+1 10 Q
+(The Buttonbox performs geometry management for) 72 253.62 T
+(Pushbutton instances. Public commands exist which) 72 241.62 T
+(enable the user to add new Pushbuttons, de\336ne the) 72 229.62 T
+(default, and control their display) 72 217.62 T
+(. Options enable the) 201.61 217.62 T
+(user to establish the orientation. This class is used to) 72 205.62 T
+(manage the buttons for all dialogs in the [incr W) 72 193.62 T
+(idgets]) 265.74 193.62 T
+(mega-widget set.) 72 181.62 T
+0 12 Q
+(Panedwindow) 148.49 150.29 T
+1 10 Q
+(The Panedwindow class is composed of panes, separa-) 72 125.62 T
+(tors, and sashes for adjustment of the separators. Each) 72 113.62 T
+(pane is a child site and the class provides a command) 72 101.62 T
+(which returns the paths for the sites. The user may \336ll) 72 89.62 T
+(them with further widget combinations.) 72 77.62 T
+72 298.29 297 720 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 324 297 715.57 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+%%BeginBinary: 5902
+489 391 195.6 156.4 0 85.29 548.57
+/red <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000096FB7DFFCF9AFFFF69FBB29AFF2CAEB6CF71E7
+A24DF70055BE928AB2D3FF00F7557DDBB2002CFF6120822C455D4571FF0000FF
+> store
+/green <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000096FB6DFFB669F7AE86FFDF8AE78AEFEF0071E7
+A24DF70055BE827530B6FFFFDF697DDBB2004D00B641DF4D829E4582FF0000FF
+> store
+/blue <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000009AFF5DDF9E71FFBA8EFFEF75C755EFB60071E7
+A24DF77D55BE9265618EE300B22C7DDBB28A4D00FF59E351B6A2FF9200FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+7F4F5W:F4F57F4F5J"
+X;F58z8z8z
+5F8W9F85F8
+
+
+<z"
+X0F5F4=z"z"z"z
+0F4F5W)F4F50F4F50F4>z8z8z8z
+/F8W(F8/F8/F8
+J'J$8$C$8s
+R$FEFEFEFEF8FE6FEFEFEFEFEFEFEFEFEFEJ'J":"E":"8$Js"
+R#FEFEF8F8F8FE7F8F8F8F8F8F8F8REF4F5J"J"Jr
+R(F8O)F8REF8J#8"9$8'8$E$:#@"9,9'8#;$
+R%FEFEF8FEFEFEFEFEFEF8FEFEFEFEFEFEFEFEFEFEFEFEFEFEF8FEFEF8FEFEFEFEFEFEFEF8FEFEFEFEFEFEFEAs"J"9#8)8"8(A-=#8$8":%8"8)8'J$
+F4F5Q=F8FEFEFEFEFEF8FEFEF8F8FEFEFEFEF8FEFEFEFEFEFEF8FEFEF8FEFEFEF8FEFEFEF8F8F8FEF8F8FEFEF8FEF8FEFEFEF8FEFEFEFEFEF8FEFEQAF4F4F5BrJ#9"9%:$8$F";$=#=(="9">"J"
+F8Q?F8F8FEF8F8F8F8F8F8F8F8F8F8FEF8F8F8F8F8F8F8F8F8F8FEFEF8F8FEQDF8AsJ"8#J%E"?%I%J#
+F5Q>FEF8F8DF8F8F8F8F8FEFEF8F8F8F8F8F8QAF5F5AtJ">%?$E%9$J"I%J$
+F8Q>FEFEF8FEFEFEF8FEFEF8FEFEFEF8FE6FEFEF8FEFEQAF8F8F8J08"8*8$8/8$8";"8"8%8$8"9"9)
+R$F8FEFEFEFEF8F8F8F8FEFEFEF8F8FEFEF8F8FEFEFEF8F8F8FEFEF8FEFEF8F8F8FEFEFEF8F8F8F8FEFEF8FEF8FEFEFEFEF8FEFEF8FEF8FEFEFEFEF8F8F8FEFEFEF8J':$8%:$9t9$:v;%9z9$Js
+R#F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F83F8F8F8F8R"F5Jt
+X)F8
+>z8z8z8z
+/F5W(F5/F5/F5sF"J"F"F&
+F5F5W)F5F5F5F5F5F5F5(z$z'
+F4F4F4F4F4F4F5WGD8D9D9D93CFF4F4F4F4F4F48%J"J(
+F8F8F8F8WGFF5D0F4F8F8F8F8F5?z"<r"r"
+WCD9FFD1D8D1D0J$
+X+FFD8D8
+J"9"
+X*FFD8J"
+X,D9J(
+X)FFFFD9D9D9D8D8J"
+X(FFJ"9$
+X*D9D9D8D8J$;$
+X'FFFFD9D9D8D8
+J$=$
+X&FFFFD9D9D8D8Ju
+X'D8J#B"
+X%FFD8D8J"X"
+X%D1D1J"
+X2D8Jz9zJz9zDt"
+8QHCD3CF>QHCD3CFD9D8J"J"J"J"
+R1FF5D0R7FF5D0Jz"<r"r"Jz"<r"r"
+:QDCEFFD1D8D1D0AQDCEFFD1D8D1D0J$J$
+R=FFD8D8RKFFD8D8
+J"9"J"9"
+R<FFD8RIFFD8J"J"
+R>D9RMD9J(J(
+R;FFFFD9D9D9D8D8RGFFFFD9D9D9D8D8J"J"
+R:FFRMFFJ"9$J"9$
+R<D9D9D8D8RGD9D9D8D8J$;$J$;$
+R9FFFFD9D9D8D8RCFFFFD9D9D8D8
+J$=$J$=$
+R8FFFFD9D9D8D8RAFFFFD9D9D8D8JuJu
+R9D8RDD8J#B"J#B"
+R7FFD8D8R?FFD8D8J"X"J"X"
+R7D1D1R?D1D1J"J"
+RDD8RMD8Jt"Jt"
+R:D9D8RDD9D8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JtJt
+R:D8RED8J"J"
+R9D8RMD8JZJZ
+R7/R?/J"C"J"C"Ft
+R7D1D8R?D1D8D8J#t$J#t$E"
+R8D1FFD9D8D8D1R@D1FFD9D8D8D1D8J"J"Jx
+R:FFRMFF9D1J">$J">$
+R9D1D8D8D1RBD1D8D8D1J"="J"="
+R;FFD1REFFD1J"<"J"<"
+R:D1D8RFD1D8J"9$J"9$
+R<FFD8D8D1RGFFD8D8D1J"J"
+R;D1RMD1J&J&
+R=FFD9D8D8D1RIFFD9D8D8D1J&J&
+R<D1FFD8D8D1RID1FFD8D8D1
+J$J$
+R=D1D8D1RKD1D8D1JZ=zJZ=z
+:QD/D0BQD/D0J"J"J"J"
+9FFQJD0O"FFQJD0Jz9zJz9z
+8QHD93D9>QHD93D9
+
+JzJz
+8QHCFO&QHCFJ"J"
+R1D0RMD0Jw"z#v"Jw"z#v"
+:D1FFQ*D1FFFFD1D0O)D1FFQ*D1FFFFD1D0J$Z8#J$Z8#
+DFFFFD8Q*FFFFO=FFFFD8Q*FFFFJ$J":"J$J":"
+CFFFFD8Q*D8FFO;FFFFD8Q*D8FFJ%:z"9&J%:z"9&
+AFFFFFFD9Q&D9D8D9D9FFFFFFO7FFFFFFD9Q&D9D8D9D9FFFFFFJ&J&J&J&
+?FFFFFFD9D9Q1D9D9FFFFFFO3FFFFFFD9D9Q1D9D9FFFFFFJ"8"J"8"J"8"J"8"
+>FFD9Q5D9FFO1FFD9Q5D9FFJ&J&J&J&
+<FFFFFFD9D9Q7D9D9FFFFFFO-FFFFFFD9D9Q7D9D9FFFFFFJ&J%J&J%
+:D8D8D8D9D9Q;D9D8D8D8O*D8D8D8D9D9Q;D9D8D8D8J&J"8"J&J"8"
+:D1D1D8D8D8Q;D8D1O*D1D1D8D8D8Q;D8D1J&J&J&J&
+<D1D1D8D8D8Q7D8D8D8D1D1O-D1D1D8D8D8Q7D8D8D8D1D1J"8"J"8"J"8"J"8"
+>D1D8Q5D8D1O1D1D8Q5D8D1J&J&J&J&
+?D1D1D8D8D8Q1D8D8D8D1D1O3D1D1D8D8D8Q1D8D8D8D1D1J%:z:&J%:z:&
+AD1D1D8D8Q&D8D8D8D8D1D1O7D1D1D8D8Q&D8D8D8D8D1D1J":"J"J":"J"
+CD1D8Q,D1O;D1D8Q,D1J$z%J$z%
+DD1D1D8Q*D1FFD8D1D1O=D1D1D8Q*D1FFD8D1D1JzJz
+:QDD0O*QDD0J"J"
+9D0RMD0JzJz
+8QHD9O&QHD9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Jz9zJz9z
+8QHCD3CF>QHCD3CFJ"J"J"J"
+R1FF5D0R7FF5D0Jz"<r"r"Jz"<r"r"
+:QDCEFFD1D8D1D0AQDCEFFD1D8D1D0J$J$
+R=FFD8D8RKFFD8D8
+J"9"J"9"
+R<FFD8RIFFD8J"J"
+R>D9RMD9J(J(
+R;FFFFD9D9D9D8D8RGFFFFD9D9D9D8D8J"J"
+R:FFRMFFJ"9$J"9$
+R<D9D9D8D8RGD9D9D8D8J$;$J$;$
+R9FFFFD9D9D8D8RCFFFFD9D9D8D8
+J$=$J$=$
+R8FFFFD9D9D8D8RAFFFFD9D9D8D8JuJu
+R9D8RDD8J#B"J#B"
+R7FFD8D8R?FFD8D8J"X"J"X"
+R7D1D1R?D1D1J"J"
+RDD8RMD8Jt"Jt"
+R:D9D8RDD9D8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JZ
+X%/J"C"
+X%D1D8J#t$
+X&D1FFD9D8D8D1J"
+X(FFJ">$
+X'D1D8D8D1J"="
+X)FFD1J"<"
+X(D1D8J"9$
+X*FFD8D8D1J"
+X)D1J&
+X+FFD9D8D8D1J&
+X*D1FFD8D8D1
+J$
+X+D1D8D1?Z8Q8Z8Q8Z=z
+R'RD2/D0>"J"
+FFWID0=z9z
+WGD93D9
+
+=z
+WGCF'J"J&
+F5F5F5F5F5F5WGD06F5F5F5F5F5'9w"z#v"J'
+F4F4F4F4F4F4D1FFW)D1FFFFD1D07F4F4F4F4F4F48%C$ZA#J&
+F8F8F8F8FFFFD8W FFFFBF8F8F8F8F5H$J"C"
+FFFFD8W D8FFF%:z"B&
+FFFFFFD9VJD9D8D9D9FFFFFFD&J&
+FFFFFFD9D9W0D9D9FFFFFFC"8"J"8"
+FFD9W4D9FFA&J&
+FFFFFFD9D9W6D9D9FFFFFF?&J%
+D8D8D8D9D9W:D9D8D8D8?&J"8"
+D1D1D8D8D8W:D8D1A&J&
+D1D1D8D8D8W6D8D8D8D1D1C"8"J"8"
+D1D8W4D8D1D&J&
+D1D1D8D8D8W0D8D8D8D1D1F%:zC&
+D1D1D8D8VJD8D8D8D8D1D1H":"J"
+D1D8W+D1I$z@$
+D1D1D8W D1D8D1D1?z
+WCD0>"
+D0=z"z"z
+0F4F5W:F4F51F4<z8z8z
+1F8W9F81F8
+
+
+7z8z8z
+6F5W9F55F5"J"J"
+F57F5W:F5
+ENDBITMAP
+%%EndBinary
+81 333 288 531 R
+7 X
+V
+4 8 Q
+0 X
+(scrolledframe .sf -vscrollmode static \134) 81 525.67 T
+( -hscrollmode static \134) 81 515.67 T
+( -width 475 -height 360) 81 505.67 T
+(set childsite [.sf childsite]) 81 495.67 T
+(pack [frame $childsite.topframe]) 81 475.67 T
+(pack [frame $childsite.botframe]) 81 465.67 T
+(scrolledlistbox $childsite.topframe.slb1) 81 445.67 T
+(pack $childsite.topframe.slb1 -side left) 81 435.67 T
+(scrolledlistbox $childsite.topframe.slb2) 81 415.67 T
+(pack $childsite.topframe.slb2 -side left) 81 405.67 T
+(scrolledlistbox $childsite.botframe.slb3) 81 385.67 T
+(pack $childsite.botframe.slb3 -side left) 81 375.67 T
+(scrolledlistbox $childsite.botframe.slb3) 81 365.67 T
+(pack $childsite.botframe.slb3 -side left) 81 355.67 T
+(pack .sf -expand yes -f) 81 335.67 T
+(ill both) 191.4 335.67 T
+0 10 Q
+(FIGURE 25) 125.51 308.17 T
+1 F
+( - Scrolledframe) 176.9 308.17 T
+0 0 612 792 C
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+-0.17 (The Panedwindow of) 315 116.48 P
+-0.17 (fers signi\336cant control over its pre-) 400.03 116.48 P
+(sentation through a lar) 315 104.48 T
+(ge set of options. The option set) 404.53 104.48 T
+(allows speci\336cation of the distance between a pane and) 315 92.48 T
+(its contents, the minimum size a pane\325) 315 80.48 T
+(s contents may) 468.05 80.48 T
+315 527.86 540 720 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+315 558 540 718.14 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+%%BeginBinary: 3593
+264 89 135.77 45.77 0 369 657
+/red <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000008EEF9AFF2CAEB6CF71E7
+A24DF70055BE928AB2D3FF00F7557DDBB2002CFF6120822C455D4571FF0000FF
+> store
+/green <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000082D78AE78AEFEF0071E7
+A24DF70055BE827530B6FFFFDF697DDBB2004D00B641DF4D829E4582FF0000FF
+> store
+/blue <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000006DB675C755EFB60071E7
+A24DF77D55BE9265618EE300B22C7DDBB28A4D00FF59E351B6A2FF9200FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+7F6F7R?F6F77F6F7J"
+S@F78z8z8z
+5F9R>F95F9
+
+
+<z"
+S5F7F6=z"z"z"z
+0F6F7R.F6F70F6F70F6>z8z8z8z
+/F9R-F9/F9/F9
+J'D":"I'
+OJFEFEFEFEFEFEFEFEFEFEFEFEFEFEJ"8%B":"J"8%Js"
+OJF9F9F9FEFEFEFE4F9F9F9FEFEP,F6F7Jr
+S/F9J(8"8$8#8$9'D$9(
+P%FEFEFEF9FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF9FEFEFEFEFEFEFEFEF9FEFEFEAs"J%8"9":"8$8,8%;%8*9$J$
+F6F7O9FEFEFEF9F9F9F9F9F9F9F9F9FEFEFEF9FEFEFEF9F9FEF9FEFEFEFEFEF9FEFEFEF9FEFEFEF9F9F9FEF9O;F6F6F7BrJ&J$<">&9$:&J"
+F9O:F9F9F9FEFE6F9F9F9F9F9F9F9FEFEF9F9F9F9FEFEFEF9O=F9AsJ#
+F7R;F7F7AtJ"F$J$:&J$
+F9OCFEFEF9FE7FEF9FEFEF9F9FEFEO<F9F9F9J"8&8%8"8$8.8"9$829"
+OJFEFEFEFEFEF9F9FEFEF9FEF9FEFEF9FEFEF9F9F9FEFEFEF9F9F9FEFEFEF9FEFEFEFEFEF9F9F9F9FEFEFEF9F9F9FEFEFEFEJr:'9#9#9$9z:$9rJs
+OJF9F9F9F9F9F9F9F9F9F9F9F9F9F90F9F9F9F9F9OIF7Jt
+S.F9
+>z8z8z8z
+/F7R-F7/F7/F7sF"J"F"F&
+F7F7R.F7F7F7F7F7F7F7(z'
+F6F6F6F6F6F6F7S4D9F6F6F6F6F6F68%J&
+F9F9F9F9S6F9F9F9F9F7
+
+
+Bz
+OBFE
+Dz
+O>D9
+Fz
+O:D8J"
+OIFFHz"
+O6D9FF
+
+
+JZJZJZ
+6O.4O.4O.J"J"J"
+OCD8OAD8OAD8Jz"Jz"Jz"
+8O*D9D87O*D9D87O*D9D8
+
+
+
+
+J#:#J#9#J#;#F#
+HFEFEFEFEO>FEFEFEFEO/FEFEFEFEFEFEJ"
+PBFEJ$8)9%J%J"9":%8#9#:#9%
+HD9FEFEFEFED9D9FEFEFEFEFEFEFEFEO;FEFEFEFEO+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEJ.J#:'J'A,
+O"FEFED9D9FEFED9FEFED9D9FEFEO3D9FEFEFED9D9FEFEO2FEFED9D9FEFEFED9FEFED9FEFED9D9FEFEJ'@%J$:#;(9"
+ID9FEFEFEFED9FED9D9D9PJFED9FED9D9D9FEFED9FEFED9D9J"8":#9&J#J"9":$J#
+JD9D9FEFED9D9FEFEFEO5D9FEO3D9D9FEFEFE4FEFEJ%9"8"J";%:&A%
+O$D9D9D9D9D9FEPKFEFEFED9D9D9FEFEFED9D9D9D9D9J(J"J$J">#
+O&FEFED9FEFED9D9O7D9O4D9FED95FEFEFEJ.J'J(8"=,
+O"D9FEFEFEFED9D9D9FEFEFEFED9O9D9FEFEFEFED9O2D9FEFEFED9FEFED9D9FEFED9D9D9FEFEFEFED9J#:%9%J#9#8%J#8"8#8':"9&9%
+KD9D9D9D9D9D9D9D9D9D9O2D9D9D9D9D9D9D9D9O)D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9J"
+R;FEJ$
+R:FEFED9J#
+R:D9D9
+
+
+
+'J&
+F7F7F7F7F7F7S5F7F7F7F7F7'HzJzJzG'
+F6F6F6F6F6F6O*D88O*D88O*D8F6F6F6F6F6F68%G"J"J"J&
+F9F9F9F9D8OAD8OAD8O<F9F9F9F9F7JzJzJz
+6O.D94O.D94O.D9
+
+
+HZ
+O6G"
+FFFz
+O:D9
+Dz
+O>FE
+Bz
+OBD9
+
+
+
+=z"z"z
+0F6F7R?F6F71F6<z8z8z
+1F9R>F91F9
+
+
+7z8z8z
+6F7R>F75F7"J"J"
+F77F7R?F7
+ENDBITMAP
+%%EndBinary
+351 567 513 648 R
+7 X
+V
+4 8 Q
+0 X
+(buttonbox .bb -padx 10 -pady 10) 351 642.67 T
+(.bb add Yes -text Yes) 351 622.67 T
+(.bb add No -text No) 351 612.67 T
+(.bb add Maybe -text Maybe) 351 602.67 T
+(.bb default Yes) 351 592.67 T
+(pack .bb -expand yes -f) 351 572.67 T
+(ill both) 461.4 572.67 T
+0 10 Q
+(FIGURE 26) 376.52 542.16 T
+1 F
+(- Buttonbox) 430.42 542.16 T
+0 0 612 792 C
+315 135.14 540 505.86 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+315 170.71 540 494.43 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+%%BeginBinary: 5963
+314 531 94.2 159.3 0 427.8 323.98
+/red <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000007D96FB7DFFCF8AFFE79AFF2CAEB6CF71E7
+A24DF70055BE928AB2D3FF00F7557DDBB2002CFF6120822C455D4571FF0000FF
+> store
+/green <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000006D96FB6DFFB67DFFCF8AE78AEFEF0071E7
+A24DF70055BE827530B6FFFFDF697DDBB2004D00B641DF4D829E4582FF0000FF
+> store
+/blue <
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000005D9AFF5DDF9E69FBB275C755EFB60071E7
+A24DF77D55BE9265618EE300B22C7DDBB28A4D00FF59E351B6A2FF9200FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+7F6F7SCF6F77F6F7J"
+TDF78z8z8z
+5F9SBF95F9
+
+
+<z"
+T9F7F6=z"z"z"z
+0F6F7S2F6F70F6F70F6>z8z8z8z
+/F9S1F9/F9/F9
+JrJ$8.8#E$
+P'FE>FEFEFEFEFEFEFEF9FEFEFEFEF9FEFEFEFEFEFEFEFEJ"8&J":"8$8&I"Js"
+P'F9F9F9F9FEFE=F9F9F9F9F9F9F9F9FEF9F9P<F6F7J#Jr
+Q2F9F9PMF9J%9';$:#<,8$8';#=$8-
+P1FEFEFEFEFEFEFEF9FEFEFEFEFEFEFEF9FEFEF9FEF9FEFEF9FEF9FEFEFEFEFEFEF9FEFEFEFEFEFEFEFEFEFEF9FEFEFEFEF9FEFEFEAs"J$9%8"8%8-H":"8%8&:)9"8&J$
+F6F7OFFEFEF9F9F9FEFEF9FEF9FEFEFEFEFEF9FEFEF9FEFEFEF9FEF9F9FEF9FEFEFEFEFEF9FEFEFEFEF9FEFEFEF9F9F9F9F9FEF9OEF6F6F7BrJ%9$=">";$J"=$<$9$9%J"
+F9OEFEFEFEF9F9FEFEF9FEF9F9F9:F9F9F9F9F9F9F9F9FEFEFEF9FEF9OGF9AsJ$9%E%B*J#
+F7OEF9F9F9FEFEF9F9F9F9F9F9F9FEFEF9F9F9FEFEF9PDF7F7AtJ"E%9$J$<$:)J$
+F9OMFEFEF9FEFEFEF9FEBFEF9FEFEF9FEF9FEFEF9F9FEFEF9OGF9F9F9J"8";%8$8"9/8"E"8$8"9(8*
+P'FEFEF9FEFEF9FEF9FEFEFEF9F9F9FEFEFEF9F9F9F9FEFEF9FEFEFEF9FEFEFEF9F9F9FEFEF9FEF9F9F9FEFEFEF9F9J%<z9$:':#9#:x9'9$;#8#Js
+P'F9F9F9F9/F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9P(F7Jt
+T2F9
+>z8z8z8z
+/F7S1F7/F7/F7sF"J"F"F&
+F7F7S2F7F7F7F7F7F7F7(z'
+F6F6F6F6F6F6F7T8D9F6F6F6F6F6F68%J&
+F9F9F9F9T:F9F9F9F9F7
+
+
+
+
+
+Ez
+S<D1
+Gz=z
+S8D03D8J"J"
+SHFF9FFIz"@r"r"
+S4D1FFD7D8D7FFJ"
+T*FFJ"
+T,D8J"
+T)FFJ$
+T+D9D8D8J$
+T(FFFFD9J$
+T,D9D8D8J$
+T'FFFFD9J$
+T-D9D8D8J$
+T&FFFFD9J$
+T.D9D8D8J$
+T%FFFFD9J$
+T/D9D8D8J#u
+T$FFFFD8J"B"
+T%D8D8Jz
+T$/D7JZ
+T$/J"
+T2D8Jv"
+T&D9D8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Jv
+T&D8J"
+T%D8Jz
+T$/D7JZ
+T$/J"C"
+T$D7D8Jt$
+T'D9D8D8D7J$
+T%D7FFFFJ$
+T/D8D8D7J$
+T&D7FFFFJ$
+T.D8D8D7J$
+T'D7FFFFJ$
+T-D8D8D7J$
+T(D7FFFFJ$
+T,D8D8D7J$
+T)D7FFD8J"
+T-D7J"
+T*D7J"
+T,D7IZAZ
+S4/H"J"
+FFS>FFGz=z
+S8D13D9
+Ez
+S<D9
+
+
+
+Gz
+S8D8J"
+SHFFIy#Z$x"
+D7FFD7RBD7FFFFD7FFJ$J"9#
+?FFFFD8RBD8FFFFJ%:z"<#
+=FFFFFFD8R>D9D8FFFFJ#8"J#8#
+;FFFFD9RHD9D9FFFFJ#8#J#8#
+9FFFFD9D9RKD9D9FFFFJ#8#J#8#
+7FFFFD9D9S!D9D9FFFFJ#8#J#8#
+5FFFFD9D9S%D9D9FFFFI'J&
+D8D8D8D8D9D9S)D9D8D8D8D8I#8#J"9"
+D7D7D8D8S)D8D7J#8#J#8#
+5D7D7D8D8S%D8D8D7D7J#8#J#8#
+7D7D7D8D8S!D8D8D7D7J#8#J#8#
+9D7D7D8D8RKD8D8D7D7J#8"J#8#
+;D7D7D8RHD8D8D7D7J#<z=#
+=D7D7R>D8D7D7J#9"J$
+?D7D7D8RBD8D7D7IZ
+S4H"
+FFGz
+S8D9
+
+
+
+JU
+T+J"
+T4D8J(
+T-D9D9D9D9D9D9D8
+=z@u
+T$D8D8>z@t"
+T#D9D9FF>Z@T
+T#=z@u
+T$D9D9J'
+T-D8D8D8D8D8D8J"
+T,D8Ju
+T+D9
+
+Ez
+S<D1
+Gz=z
+S8D03D8J"J"
+SHFF9FFIz"@r"r"
+S4D1FFD7D8D7FFJ"
+T*FFJ"
+T,D8J"
+T)FFJ$
+T+D9D8D8J$
+T(FFFFD9J$
+T,D9D8D8J$
+T'FFFFD9J$
+T-D9D8D8J$
+T&FFFFD9J$
+T.D9D8D8J$
+T%FFFFD9J$
+T/D9D8D8J#u
+T$FFFFD8J"B"
+T%D8D8Jz
+T$/D7JZ
+T$/J"
+T2D8Jv"
+T&D9D8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Jv
+T&D8J"
+T%D8Jz
+T$/D7JZ
+T$/J"C"
+T$D7D8Jt$
+T'D9D8D8D7J$
+T%D7FFFFJ$
+T/D8D8D7J$
+T&D7FFFFJ$
+T.D8D8D7J$
+T'D7FFFFJ$
+T-D8D8D7J$
+T(D7FFFFJ$
+T,D8D8D7J$
+T)D7FFD8J"
+T-D7J"
+T*D7J"
+T,D7IZAZ
+S4/H"J"
+FFS>FFGz=z
+S8D13D9
+Ez
+S<D9
+
+
+
+Gz
+S8D8J"
+SHFFIy#Z$x"
+D7FFD7RBD7FFFFD7FFJ$J"9#
+?FFFFD8RBD8FFFFJ%:z"<#
+=FFFFFFD8R>D9D8FFFFJ#8"J#8#
+;FFFFD9RHD9D9FFFFJ#8#J#8#
+9FFFFD9D9RKD9D9FFFFJ#8#J#8#
+7FFFFD9D9S!D9D9FFFFJ#8#J#8#
+5FFFFD9D9S%D9D9FFFFI'J&
+D8D8D8D8D9D9S)D9D8D8D8D8I#8#J"9"
+D7D7D8D8S)D8D7J#8#J#8#
+5D7D7D8D8S%D8D8D7D7J#8#J#8#
+7D7D7D8D8S!D8D8D7D7J#8#J#8#
+9D7D7D8D8RKD8D8D7D7J#8"J#8#
+;D7D7D8RHD8D8D7D7J#<z=#
+=D7D7R>D8D7D7J#9"J$
+?D7D7D8RBD8D7D7IZ
+S4H"
+FFGz
+S8D9
+
+
+JU
+T+J"
+T4D8J(
+T-D9D9D9D9D9D9D8
+=z@u
+T$D8D8>z@t"
+T#D9D9FF>Z@T
+T#=z@u
+T$D9D9J'
+T-D8D8D8D8D8D8J"
+T,D8Ju
+T+D9
+
+Ez
+S<D1
+Gz=z
+S8D03D8J"J"
+SHFF9FFIz"@r"r"
+S4D1FFD7D8D7FFJ"
+T*FFJ"
+T,D8J"
+T)FFJ$
+T+D9D8D8J$
+T(FFFFD9J$
+T,D9D8D8J$
+T'FFFFD9J$
+T-D9D8D8J$
+T&FFFFD9J$
+T.D9D8D8J$
+T%FFFFD9J$
+T/D9D8D8J#u
+T$FFFFD8J"B"
+T%D8D8Jz
+T$/D7JZ
+T$/J"
+T2D8Jv"
+T&D9D8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Jv
+T&D8J"
+T%D8Jz
+T$/D7JZ
+T$/J"C"
+T$D7D8Jt$
+T'D9D8D8D7J$
+T%D7FFFFJ$
+T/D8D8D7J$
+T&D7FFFFJ$
+T.D8D8D7J$
+T'D7FFFFJ$
+T-D8D8D7J$
+T(D7FFFFJ$
+T,D8D8D7J$
+T)D7FFD8J"
+T-D7J"
+T*D7J"
+T,D7IZAZ
+S4/H"J"
+FFS>FFGz=z
+S8D13D9
+Ez
+S<D9
+
+
+
+Gz
+S8D8J"
+SHFFIy#Z$x"
+D7FFD7RBD7FFFFD7FFJ$J"9#
+?FFFFD8RBD8FFFFJ%:z"<#
+=FFFFFFD8R>D9D8FFFFJ#8"J#8#
+;FFFFD9RHD9D9FFFFJ#8#J#8#
+9FFFFD9D9RKD9D9FFFFJ#8#J#8#
+7FFFFD9D9S!D9D9FFFFJ#8#J#8#
+5FFFFD9D9S%D9D9FFFFI'J&
+D8D8D8D8D9D9S)D9D8D8D8D8I#8#J"9"
+D7D7D8D8S)D8D7'E#8#J#8#J&
+F7F7F7F7F7F7D7D7D8D8S%D8D8D7D7GF7F7F7F7F7'G#8#J#8#J'
+F6F6F6F6F6F6D7D7D8D8S!D8D8D7D7IF6F6F6F6F6F68%I#8#J#8#J&
+F9F9F9F9D7D7D8D8RKD8D8D7D7LF9F9F9F9F7J#8"J#8#
+;D7D7D8RHD8D8D7D7J#<z=#
+=D7D7R>D8D7D7J#9"J$
+?D7D7D8RBD8D7D7IZ
+S4H"
+FFGz
+S8D9
+
+
+
+
+
+
+
+
+=z"z"z
+0F6F7SCF6F71F6<z8z8z
+1F9SBF91F9
+
+
+7z8z8z
+6F7SBF75F7"J"J"
+F77F7SCF7
+ENDBITMAP
+%%EndBinary
+325.43 185.43 532.43 307.29 R
+7 X
+V
+4 8 Q
+0 X
+(panedwindow .pw -width 300 -height 500) 325.43 301.95 T
+(.pw add top) 325.43 291.95 T
+(.pw add bottom) 325.43 281.95 T
+(.pw insert 1 middle) 325.43 271.95 T
+(pack .pw -f) 325.43 261.95 T
+(ill both -expand yes) 378.23 261.95 T
+(foreach pane [.pw childsite] {) 325.43 241.95 T
+( scrolledlistbox $pane.slb \134) 325.43 231.95 T
+( -vscrollmode static \134) 325.43 221.95 T
+( -hscrollmode static) 325.43 211.95 T
+( pack $pane.slb -f) 325.43 201.95 T
+(ill both -expand yes) 426.23 201.95 T
+(}) 325.43 191.95 T
+0 10 Q
+(FIGURE 27) 368.71 146.32 T
+1 F
+( - Panedwindow) 420.1 146.32 T
+(Child Sites) 327.49 408.8 T
+447.31 453.58 459 456.29 450.52 447.79 448.91 450.68 4 Y
+V
+378 411.29 448.92 450.68 2 L
+N
+438.46 414.59 450 411.29 438.46 407.98 438.46 411.29 4 Y
+V
+378 411.29 438.46 411.29 2 L
+N
+441.97 375.2 450 366.29 438.46 369.6 440.22 372.4 4 Y
+V
+378 411.29 440.22 372.4 2 L
+N
+0 0 612 792 C
+FMENDPAGE
+%%EndPage: "14" 14
+%%Page: "15" 15
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(reach, the orientation of separators, the thickness of the) 72 713.33 T
+(separators, as well as the dimensions, position, and cur-) 72 701.33 T
+(sor associated with the sash.) 72 689.33 T
+0 12 Q
+(Combobox) 156.5 658 T
+1 10 Q
+(The combobox class is an enhanced entry \336eld widget) 72 633.33 T
+(with an optional associated label and a scrollable list.) 72 621.33 T
+(When an item is selected in the list area of a combobox) 72 609.33 T
+(it\325) 72 597.33 T
+(s value is then displayed in the entry \336eld text area.) 80.34 597.33 T
+(Functionally similar to an optionmenu, the combobox) 72 585.33 T
+(adds list scrolling, item editing and inserting capabili-) 72 573.33 T
+(ties.) 72 561.33 T
+(There are two basic styles of comboboxes, determined) 72 104.22 T
+(by the dropdown option, dropdown and simple. The) 72 92.22 T
+(dropdown style adds an arrow button to the right of the) 72 80.22 T
+72 124.89 297 558 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 146.43 297 548.57 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+81 152.57 288 341.57 R
+7 X
+V
+1 10 Q
+0 X
+(# Non-editable Dropdown Combobox) 81 334.9 T
+(combobox .cb1 -labeltext Month: \134) 81 322.9 T
+( -editable false -items {Jan Feb Mar \134) 81 310.9 T
+( Apr May June Jul Aug Sept Oct Nov Dec}) 81 298.9 T
+(# Editable Dropdown Combobox) 81 274.91 T
+(combobox .cb2 -labeltext \322Operating System:\323 \134) 81 262.91 T
+( -items {Linux HP-UX SunOS Solaris Irix}) 81 250.91 T
+(# Simple Combobox) 81 226.91 T
+(combobox .cb3 -labeltext Fonts: -labelpos nw \134) 81 214.91 T
+( -dropdown false -items [exec xlsfonts]) 81 202.91 T
+(pack .cb1 -padx 10 -pady 10 -\336ll x) 81 178.91 T
+(pack .cb2 -padx 10 -pady 10 -\336ll x) 81 166.91 T
+(pack .cb3 -padx 10 -pady 10 -\336ll x) 81 154.91 T
+%%BeginBinary: 38844
+329 407 157.92 195.36 0 108 347
+/red <
+C472FFFFFFFFFFFFFFFFFFFFFFFFFF66F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF808080
+8080808080808080808080808080808080808080804040404040404040404040
+4040404040404040404040400000000000000000000000002EAFB4CD73E6A2F5
+99FFFFB0B07AFFCC00878858D7439D50D080C0C080C08060C000FFA000FF20C0
+A0C0D060F0E010B499FFBE8B8BD900FFA0000000000039C069DD00FF00000033
+33330033CCDD9999112277005544FFCC66AABBFF33EE9999CC7AEFD3BF804040
+9765E1A36FE700FF55004DB2D272B36419BF2FFF6223852F465F4770FF0000FF
+> store
+/green <
+D79F0000000000000000000000000099DEFFFFFFBFBFBFBFBF80808080804040
+4040000000FFFFFFFFFFBFBFBFBF808080808040404040400000000000FFFFFF
+FFFFBFBFBFBFBF8080808040404040400000000000FFFFFFFFFFBFBFBFBFBF80
+808080804040400000000000FFFFFFBFBFBFBFBF808080408BEEEE0073E6A2F5
+99FFFF30B094FFF700CE8858D74DB38080C0C080C0808060C08000A080402070
+A020D0F0F0E010B489E4BE5B77D9FFFFA0404040400063E0B500996699FF0066
+3399BBFF99DD99FF112277005544CCCC66AABB6600EE6600CC69E3B5BF804040
+9765E1A36FE700FF1A004DB2B477B39519264F00B641DE4F829E4780FF0000FF
+> store
+/blue <
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3BF8040FFBF804000FFBF804000FFBF
+8000BF8040FFBF804000FF804000FFBF804000FFBF804000FFBF804000FFBF80
+4000FFBF804000FFBF4000FFBF804000FFBF804000FFBF804000FFBF804000FF
+BF804000FFBF00FFBF804000BF8040FFBF804000FFBF40FF57EEB40073E6A2F5
+6BFBB360B015322480FA8858D756CAD050C080C08080C060C080FF0000402070
+C020D06050E010B476C4BE7A65D900E0A0BF8040004063E0B500FF3399FF8866
+6666009966DDFFFF112277DD554499FFCCAABBCC99EE9966CC69E3B5BF808040
+9765E1A36FE7BFCC8BEE4DB28C85B3ED70264F00FC5AE050B4A0FF9000FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+6F6F7T&F6F76F6F7J"
+U%F78z8z8z
+4F9T%F94F9
+
+;z"
+TJF7F6<z"z"z"z
+0F6F7SCF6F70F6F70F6=z8z8z8z
+/F9SBF9/F9/F9
+J$C$
+Q+FEFEFEFEFEFEJ"E"Js"
+Q+F9F9Q&F6F7Jr
+TCF9J$:$9'8#<#;$<#;$9(
+P@FEFEFEFEFEFEFEFEFEF9FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF9FEFEFE@s"J18):.909$J$
+F6F7P+FEFEFEF9FEFEF9FEFEFEF9FEFEFEF9F9FEF9FEFEFEF9FEFEFEF9FEFEFEF9FEFEFEF9FEFEFEFEF9FEFEFEF9FEFEFEF9FEFEFEF9F9F9FEF9P/F6F6F7ArJ%9$<"9"=$;$;$;$:&J"
+F9P.F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FEFEFEF9P1F9@sJ#
+F7T"F7F7@tJ%9$J";$=";$:&J$
+F9P-FEF9FEFEFEF9FE4FEFEF9FEFEFEF9FEFEF9F9FEFEP0F9F9F9J18"9"9"8/839"
+P>F9F9FEFEFEF9F9F9F9FEFEFEF9F9F9FEFEFEFEF9FEFEFEF9F9F9F9F9FEFEFEF9F9F9FEFEFEF9F9F9F9F9FEFEFEF9F9F9FEFEFEFEJ$:$9z;$9&;$9rJs
+P@F9F9F9F9F9F92F9F9F9F9F9F9F9F9F9F9F9F9F9P=F7Jt
+TBF9
+=z8z8z8z
+/F7SBF7/F7/F7rF"J"F"F%
+F7F7SCF7F7F7F7F7F7'z&
+F6F6F6F6F6F7TIADF6F6F6F6F68$J%
+F9F9F9TKF9F9F9F7
+
+
+
+
+
+
+
+
+
+J5=4
+O6RAFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEFFADFFADFFADFFADFFADFFADFFADFFADFFADFFJ5<5
+O5RBFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEAD4FFADFFADFFADFFADFFADFFADFFADFFADFFADFFADJ#z"<#z"
+O5ADFER?ADFFADFF1ADFEJ#J#<#F#
+O5FEADR>FFADFFADFEADJ#J#<#F#
+O5ADFER>ADFFADFFADFEJ#;#F#8#F#<"J#<#9u9#
+4FEFEFEFEFEFEFEFEFEADFER7FFADFFADFEFEADJ#J#<#9"B#
+O5ADFER>ADFFADFFADADFEJ"9":%8&8"8":#9#>#?"9"8%:$J#<#B"9#
+6FEFEFEFEFEFEFEFEADFEFEFEFEFEFEFEFEFEADFEFEFEADFEFEFEFEFER#FFADFFADADFEADJ'9'8"9%B#G%8&J#<#:"A#
+>FEFEADADFEFEFEADFEFEADADADFEADFEFEADFEFEADADFEFEADADADFER"ADFFADFFADADFEJ$C"A";#>#G"J#<#A":#
+7FEADFEADADADADFEADADR,FFADFFADADFEADJ"9"J#J$J#<#;"@#
+6ADADHADFE8FEFEFER#ADFFADFFADADFEJ"J#8"J%J#<#@";#
+8FEJFEADFE5ADADADADR"FFADFFADADFEADJ$J">#>#B"D"J#<#<"?#
+7ADFEAD6FEFEFEADFEFEFER"ADFFADFFADADFEJ'?%H#8&8%@&J#<#?"<#
+>ADFEFEFEFEADADFEFEADFEADADFEFEFEADADFEFEADADFEFEFEADR"FFADFFADADFEADJ#8"8#8%8#8#9&8#8#>#9$:%8"9"9$J#<#=">#
+4ADADADADADADADADADADADADADADADADADADADADADADADFEADADADADADADADADADADADADR#ADFFADFFADADFEJ#J#<#>"=#
+O5FEADR>FFADFFADADFEADJ#J#<#F#
+O5ADFER>ADFFADFFADFEJ#J#<#F#
+O5FEADR>FFADFFADFEADJ5<5
+O5RBADFEADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFF4ADFFADFEADFEADFEADFEADFEADFEADFEADFEADFEJ5<5
+O5RBFEADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFAD4FFADFEADFEADFEADFEADFEADFEADFEADFEADFEADJz=z
+O5RAAD3AD
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+J5=4
+Q"Q'FEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEFFADFFADFFADFFADFFADFFADFFADFFADFFADFFJ5<5
+Q!Q(FEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEAD4FFADFFADFFADFFADFFADFFADFFADFFADFFADFFADJ#z"<#z"
+Q!ADFEQ%ADFFADFF1ADFEJ#J#<#F#
+Q!FEADQ$FFADFFADFEADJ#J#<#F#
+Q!ADFEQ$ADFFADFFADFEJ%J#8#J&H#J#8"<"J#<#9u9#
+6FEFEFEFE>FEFEFEFE5FEFEFEFEFEFEFE?FEADFEFEPHFFADFFADFEFEADJ'J#J(J#?"J#<#9"B#
+5FEFEADADFEFEAADAD4FEFEADADADFEFEO$ADFEADPHADFFADFFADADFEJ$8*9%8+8"8+9&D#9#8%8"8"8%8*9#>#?"8%9"9$:"J#<#B"9#
+4FEFEADADFEFEADFEFEADFEFEFEFEFEFEFEFEADFEFEADFEFEFEFEFEFEADFEFEADFEFEADFEFEFEFEADFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEADFEFEFEADFEFEFEFEFEFEADFEFEADFEFEFEFEADFEFEP3FFADFFADADFEADJ,9"8)8"<*>(?)8)8*B#C%>#8#J#<#:"A#
+?FEADFEFEADFEFEADADFEFEFEFEFEADADFEFEADADADFEADFEFEADFEFEADFEADFEFEFEADADADFEFEADADFEFEADADADADFEFEADADFEFEFEADADFEFEADADFEFEADFEFEADADFEADFEFEADP3ADFFADFFADADFEJ"D%E"="?&8(9%J#>#C"B%J#<#A":#
+?ADADADADADADADADADFEFEFEADFEFEADFEFEADFEADADAD9ADADFEADADADFEFEADP4FFADFFADADFEADJ#;"9$J"8"?&?#J#J#<#;"@#
+FFEFEADFEFEFEAADFEADADFEFEFEFEFE9ADFEQ$ADFFADFFADADFEJ%<%J#8":&:"8">%J#J%J#<#@";#
+FADADADADFEFEADAD>FEFEADADFEFEFEADADFEADADADAD7FEAD:FEADADFEP4FFADFFADADFEADJ$8$9">#G"C"J%=":#C#>#J"8#8#J#<#<"?#
+4ADFEFEFEFEADFEFEFEFEFE8FEFEADADFEFEFEFEFEADFE6FEFEADADFEP3ADFFADFFADADFEJ':,<-@%>(9";'8+J#9%B%J#<#?"<#
+5ADFEFEFEFEADADFEFEADADADFEFEFEFEADADFEFEFEADFEFEADADFEFEADADFEFEADADFEFEFEFEFEADADADFEFEFEFEADADFEFEADADFEFEFEFEAD7FEADFEFEFEFEADFEFEADP;FFADFFADADFEADJ%<#9%8#:'8s8#8#@&<":%:#8%8#8#8#8#>#8&8"8"9"9':"J#<#=">#
+6ADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADFEADADADADADADADADADADADADADADADP3ADFFADFFADADFEJ#J"J#J#<#>"=#
+O8FEFE4FEO FEADQ$FFADFFADADFEADJ'E$J#J#<#F#
+O8ADFEFEFEFEADFEFEADMADFEQ$ADFFADFFADFEJ#J%F#J#J#<#F#
+=ADADHADADADADADADO FEADQ$FFADFFADFEADJ5<5
+Q!Q(ADFEADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFF4ADFFADFEADFEADFEADFEADFEADFEADFEADFEADFEJ5<5
+Q!Q(FEADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFAD4FFADFEADFEADFEADFEADFEADFEADFEADFEADFEADJz=z
+Q!Q'AD3AD
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Js$
+4FEADFEFEJ'
+6ADADADADADADJ#;%9%9#
+:FEFEFEFEFEFEFEFEFEFEFEFEJ.
+@FEFEADADFEFEADFEFEADADFEFEJ$F%8#
+6FEFEFEFEADADADADADJ$?#9&
+6ADADADFEFEADADFEFEFEJ%9"8"
+BADADADADADFEJ(:#
+DFEFEADFEFEADADFEFEJ.
+@ADFEFEFEFEADADADFEFEFEFEADJ#:&8%9%9#
+4ADADADADADADADADADADADADADADADADAD
+
+
+
+
+
+
+
+
+I5
+T/FEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEH5
+T0FEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADH#z"
+ADFET-ADFFH#J#
+FEADT,FFADH#J#
+ADFET,ADFFH#J#
+FEADT,FFADH#J#
+ADFET,ADFFH#J#
+FEADT,FFADH#J#
+ADFET,ADFFH#J#
+FEADT,FFADH#J#
+ADFET,ADFFH#J#
+FEADT,FFADH#J#
+ADFET,ADFFH#J#
+FEADT,FFADH#J#
+ADFET,ADFFH#J#
+FEADT,FFADH#J#
+ADFET,ADFFH#J#
+FEADT,FFADH5
+T0ADFEADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFH5
+T0FEADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADHz
+T/AD
+
+
+
+
+I5?2
+SCFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEFEADFEADFEADFEADFEADFEADFEADFEADFEH5=4
+SEFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFFFEADFEADFEADFEADFEADFEADFEADFEADFEADFFH#z#=#r"r#
+ADFESAADFFADADFE98FE98FFADH#J#=#<#=#
+FEADSAADFFFEADFFADADFFH#J#=#<$<#
+ADFESAFFADADFEADFEADFFADH#J"?"J"J"C"<"J"I$B$C";$:$C"8#=#;%<#
+FEAD4FEFEO FE5FEFEFEO-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEADFFFEADADFFADFEADFFH#J"J&@&@#;&8&@#9#=#;&;#
+ADFEO?ADP=FEADADADFEFEADADADFEFEFEFEADADADFEFEADADADFEFEFEFFADADFEFFADADADFEFFADH#@$:#;$;#:$B$:$9"9"8&9$9$A#:$=#C$A%:$9(8":$J#J#9#=#:#8#;#
+FEADFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEADFEADFEFEFEFEFEADFEFEFEFEFEFEFEFEFEFEFEFEADFEFEFEFEFEFEADFEADFEADFEFEFEFEFEO&ADAD;ADADADFFFEADFFADFEADADFFH#?&8%9&9%8&@&8&@#:&9#@%8&;%A&A%8&9#8'8&J#=#:#8$:#
+ADFEFEADADADFEFEADADFEFEADADADFEFEADADFEFEADADADFEFEADADADFEFEADADADFEFEADFEADADADFEFEADFEADADFEFEADADADFEFEADADFEFEADADADFEFEADADFEFEADADADFEFEADFEADFEFEADFEFEADADADFEOGFFADADFEADFFADFEADFFADH#?"?"A"J"G"C"A"H"J"C"9"8":"J#=#9$9#:#
+FEADADADAD8ADADADADAD;ADADADADADOKADFFFEADADFFADADFEADFFH):$J$9&J$=&J&@&J$<&9&@&@&J&>#=#9#;#9#
+ADFEADFEFEFEFEFEFEFEFE9FEFEFEFEFEFEFEFE@FEFEFEFEFEFEFEFE;FEFEFEFEFEFEFEFEFEFE?FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE8FEFEFEFEFEFFADADFEFFADADFEFFADH"r9%J%8&J%<&J&@&J%<&9&@&@&J&>#=#8#<#9#
+FEADFEADADAD9ADADADADADADADADAD@ADADADADADADADADAD;ADADADADADADADADADAD>FEADADADADADADADADADADADADADADADADADADADADADADAD8ADADADADADADFFFEADFFADFEADADFFH#I"A"?"D"B"D"E"H"J#=#8#<$8#
+ADFEFEFEFEFEFEFEFEFEQ%FFADADFEADFFADFEADFFADH#?,9&9%8&@&8&8%@&E%8&;%A&G&E'J&@&G&8&E#='=#8#
+FEADADFEFEFEADFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEFEADADFEFEFEADFE4ADFEFEFEADADFEFEFEADADFEFEFEADADFEFEFEADADFFFEAD98ADFFADADFEADFFH#@&8%9$9%:$B$:$:%8"9"9$9"A%:$9"9%A$A"9"9$9"9"8"8"9rI$B$C";$:$C"8#=&?&
+ADFEADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADFFADADFE98FFADADFE98FFADH#J#=4
+FEADSAADFFFEADFFADFEADFEADFEADFEADFEADFEAD98ADFFH#J#=4
+ADFESAFFADADFEADFEADFEADFEADFEADFEADFEADFEADFFADH#J#=#z#
+FEADSAADFFFEAD/98ADFFH#J#=4
+ADFESAFFADADFEADFFADFFADFFADFFADFFADFFADFFADFFADH#J#=4
+FEADSAADFFFEADFFADFFADFFADFFADFFADFFADFFADFEADFFH#J#=%v%
+ADFESAFFADADFEADFFADFEADFFADH#J#=4
+FEADSAADFFFEADFFADFEADFEADFEADFEADFEADFEADFEADFFH#J"?"J"J"C"<"J"I$B$A&8&@&8(=4
+ADFE4FEFEO FE5FEFEFEO-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFADADFEADFEADFEADFEADFEADFEADFEADFEADFFADH#J"J&@&@%:%@%:'=#z#
+FEADO?ADP=FEADADADFEFEADADADFEADADADADADADADADADADADADADADADADADFFFEAD/98ADFFH#@$:#;$;#:$B$:$9"9"8&9$9$A#:$=#C$A%:$9(8":$J#J#=#=#E#
+ADFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEADFEADFEFEFEFEFEADFEFEFEFEFEFEFEFEFEFEFEFEADFEFEFEFEFEFEADFEADFEADFEFEFEFEFEO)FEAD4FEADFFADADFEFFADH#?&8%9&9%8&@&8&@#:&9#@%8&;%A&A%8&9#8'8&J$I'=#E#
+FEADFEADADADFEFEADADFEFEADADADFEFEADADFEFEADADADFEFEADADADFEFEADADADFEFEADFEADADADFEFEADFEADADFEFEADADADFEFEADADFEFEADADADFEFEADADFEFEADADADFEFEADFEADFEFEADFEFEADADADFEO-FEFEFEFEFEFEADADFFFEADADFFH#?"?"A"J"G"C"A"H"J"C"9"8":"J#9&B#9(=#E#
+ADFEADADAD8ADADADADAD;ADADADADADO+FEADADADADADFEFEADADADADADFEFFADADFEFFADH):$J$9&J$=&J&@&J$<&9&@&@&G&E#=#E#
+FEADADFEFEFEFEFEFEFEFE9FEFEFEFEFEFEFEFE@FEFEFEFEFEFEFEFE;FEFEFEFEFEFEFEFEFEFE?FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEADFFFEADADFFH)9%J%8&J%<&J&@&J%<&9&@&@&@"<&@":#=#E#
+ADFEADADADADADADFEADADAD9ADADADADADADADADAD@ADADADADADADADADAD;ADADADADADADADADADAD>FEADADADADADADADADADADADADADADADADADADADADADADADFEADADADADADFEFFADADFEFFADH#I"A"?"D"B"D"E"H"J#J#?#=#E#
+FEADFEFEFEFEFEFEFEFEP2FEAD4FEADADFFFEADADFFH#?,9&9%8&@&8&8%@&E%8&;%A&G&E'J&@&G&G(=#E#
+ADFEADFEFEFEADFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEFEADADFEFEFEADFE4ADFEFEFEADADFEFEFEADADFEFEFEADADFEFEFEADFFADADFEFFADH#@&8%9$9%:$B$:$:%8"9"9$9"A%:$9"9%A$A"9"9$9"9"8"8"9rI$B$B"<$B"<'=#E#
+FEADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J"?"J"J"C"<"J"J";$C";$:$A&8)=#E#
+FEAD4FEFEO FE5FEFEFEO-FE4FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEADADFFFEADADFFH#J"J#;&@#;&8&@%:(=#E#
+ADFEO?ADP=FEFEFEADADADFEFEFEFEADADADFEFEADADADFEADADADADADADADADADFFADADFEFFADH#@$:#;$;#:$B$:$9"9"8&9$9$A#:$=#C$A%:$9(8":$J#J#J#>#=#E#
+FEADFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEADFEADFEFEFEFEFEADFEFEFEFEFEFEFEFEFEFEFEFEADFEFEFEFEFEFEADFEADFEADFEFEFEFEFE6ADAD4ADAD>FEADADFFFEADADFFH#?&8%9&9%8&@&8&@#:&9#@%8&;%A&A%8&9#8'8&J$8#=#E#
+ADFEFEADADADFEFEADADFEFEADADADFEFEADADFEFEADADADFEFEADADADFEFEADADADFEFEADFEADADADFEFEADFEADADFEFEADADADFEFEADADFEFEADADADFEFEADADFEFEADADADFEFEADFEADFEFEADFEFEADADADFEOBFEFEFEFFADADFEFFADH#?"?"A"J"G"C"A"H"J"C"9"8":"J#9)=#E#
+FEADADADAD8ADADADADAD;ADADADADADO@FEADADADADADFEADADFFFEADADFFH):$J$9&J$=&J&@&J$<&9&G&J&F#=#E#
+ADFEADFEFEFEFEFEFEFEFE9FEFEFEFEFEFEFEFE@FEFEFEFEFEFEFEFE;FEFEFEFEFEFEFEFEFEFE?FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE8FEFEFEFEFEFFADADFEFFADH"r9%J%8&J%<&J&@&J%<&9&G&J&@";#=#E#
+FEADFEADADAD9ADADADADADADADADAD@ADADADADADADADADAD;ADADADADADADADADADAD>FEADADADADADADADADADADADADADADADADADAD8ADADADADADFEADFFFEADADFFH#I"A"?"D"B"D"E"H"J#@#=#E#
+ADFEFEFEFEFEFEFEFEFEPGFEADFFADADFEFFADH#?,9&9%8&@&8&8%@&E%8&;%A&G&E'J&G&8&G)=#E#
+FEADADFEFEFEADFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEFEADADFEFEFEADFE;ADFEFEFEADADFEFEFEADADFEFEFEADADFEFEFEADADADFFFEADADFFH#@&8%9$9%:$B$:$:%8"9"9$9"A%:$9"9%A$A"9"9$9"9"8"8"9rJ";$C";$:$B"<$8#=#E#
+ADFEADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAD4ADADADADADADADADADADADADADADADFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J"?"J"J"C"<"J"J"<"C$:$C";$:$8#=#E#
+ADFE4FEFEO FE5FEFEFEO-FE4FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFADADFEFFADH#J"J#;#C&8&@#;&8)=#E#
+FEADO?ADP=FEFEFEFEFEADADADFEFEADADADFEFEFEFEADADADFEFEADADADFEADADFFFEADADFFH#@$:#;$;#:$B$:$9"9"8&9$9$A#:$=#C$A%:$9(8":$J#;#J#H#=#E#
+ADFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEADFEADFEFEFEFEFEADFEFEFEFEFEFEFEFEFEFEFEFEADFEFEFEFEFEFEADFEADFEADFEFEFEFEFE6ADADADADCADADFFADADFEFFADH#?&8%9&9%8&@&8&@#:&9#@%8&;%A&A%8&9#8'8&J&J#=#E#
+FEADFEADADADFEFEADADFEFEADADADFEFEADADFEFEADADADFEFEADADADFEFEADADADFEFEADFEADADADFEFEADFEADADFEFEADADADFEFEADADFEFEADADADFEFEADADFEFEADADADFEFEADFEADFEFEADFEFEADADADFEKADFEFEFEADEADFFFEADADFFH#?"?"A"J"G"C"A"H"J"C"9"8":"J&J#=#E#
+ADFEADADAD8ADADADADAD;ADADADADADO!FEADADADFEEFFADADFEFFADH):$J$9&J$=&J&@&J$<&9&G&G&J#=#E#
+FEADADFEFEFEFEFEFEFEFE9FEFEFEFEFEFEFEFE@FEFEFEFEFEFEFEFE;FEFEFEFEFEFEFEFEFEFE?FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE7ADFFFEADADFFH)9%J%8&J%<&J&@&J%<&9&G&G&J#=#E#
+ADFEADADADADADADFEADADAD9ADADADADADADADADAD@ADADADADADADADADAD;ADADADADADADADADADAD>FEADADADADADADADADADADADADADADADADADADADADADADAD7FFADADFEFFADH#I"A"?"D"B"D"E"H"J#=#E#
+FEADFEFEFEFEFEFEFEFEQ%ADFFFEADADFFH#?,9&9%8&@&8&8%@&E%8&;%A&G&E'J&8&G&8)=#E#
+ADFEADFEFEFEADFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEFEADADFEFEFEADFEJADFEFEFEADADFEFEFEADADFEFEFEADADFEFEFEADADFFADADFEFFADH#@&8%9$9%:$B$:$:%8"9"9$9"A%:$9"9%A$A"9"9$9"9"8"8"9rJ"<"C$:$C";$:$8#=#E#
+FEADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAD4ADADADADADADADADADADADADADADADADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J"?"J"J"C"<"J"J";$C";$:$A&8)=#E#
+FEAD4FEFEO FE5FEFEFEO-FE4FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEADADFFFEADADFFH#J"J#;&@#;&8&@%:(=#E#
+ADFEO?ADP=FEFEFEADADADFEFEFEFEADADADFEFEADADADFEADADADADADADADADADFFADADFEFFADH#@$:#;$;#:$B$:$9"9"8&9$9$A#:$=#C$A%:$9(8":$J#;"D#;"J#>#=#E#
+FEADFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEADFEADFEFEFEFEFEADFEFEFEFEFEFEFEFEFEFEFEFEADFEFEFEFEFEFEADFEADFEADFEFEFEFEFE6ADADADADADAD8FEADADFFFEADADFFH#?&8%9&9%8&@&8&@#:&9#@%8&;%A&A%8&9#8'8&J#J#J$8#=#E#
+ADFEFEADADADFEFEADADFEFEADADADFEFEADADFEFEADADADFEFEADADADFEFEADADADFEFEADFEADADADFEFEADFEADADFEFEADADADFEFEADADFEFEADADADFEFEADADFEFEADADADFEFEADFEADFEFEADFEFEADADADFE?FEAD4FEAD9FEFEFEFFADADFEFFADH#?"?"A"J"G"C"A"H"J"C"9"8":"J#J#J#9)=#E#
+FEADADADAD8ADADADADAD;ADADADADADBFEAD4FEAD4FEADADADADADFEADADFFFEADADFFH):$J$9&J$=&J&@&J$<&9&A#:&A#A&F#=#E#
+ADFEADFEFEFEFEFEFEFEFE9FEFEFEFEFEFEFEFE@FEFEFEFEFEFEFEFE;FEFEFEFEFEFEFEFEFEFE?FEFEFEFEFEFEFEFEFEFEFEFEFEFEADFEFEFEFEFEFEADFEFEFEFEFEFFADADFEFFADH"r9%J%8&J%<&J&@&J%<&9&@#;&@#B&@";#=#E#
+FEADFEADADAD9ADADADADADADADADAD@ADADADADADADADADAD;ADADADADADADADADADAD>FEADADADADADADADADADADADADADFEADADADADADADFEADADADADADADFEADFFFEADADFFH#I"A"?"D"B"D"E"H"J#@#=#E#
+ADFEFEFEFEFEFEFEFEFEPGFEADFFADADFEFFADH#?,9&9%8&@&8&8%@&E%8&;%A&G&E'J%H%8&G)=#E#
+FEADADFEFEFEADFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEFEADADFEFEFEADFE<FEFEFEFEFEFEFEFEADFEFEFEADADFEFEFEADADADFFFEADADFFH#@&8%9$9%:$B$:$:%8"9"9$9"A%:$9"9%A$A"9"9$9"9"8"8"9rJ":&B":&9$B"<$8#=#E#
+ADFEADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAD4ADADADADADADADADADADADADADADADADADADADFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J"?"J"J"C"<"J"J"="C";$:$C";$8#=#E#
+ADFE4FEFEO FE5FEFEFEO-FE4FEFEFEFEFEFEFEFEFEFEFEFEFEFFADADFEFFADH#J"J#="B#;&8&@#;)=#E#
+FEADO?ADP=FEFEFEFEFEFEADADADFEFEADADADFEFEFEFEADADADFEADADFFFEADADFFH#@$:#;$;#:$B$:$9"9"8&9$9$A#:$=#C$A%:$9(8":$J#<#B#J#A#=#E#
+ADFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEADFEADFEFEFEFEFEADFEFEFEFEFEFEFEFEFEFEFEFEADFEFEFEFEFEFEADFEADFEADFEFEFEFEFE6ADADFEADADAD;ADADFFADADFEFFADH#?&8%9&9%8&@&8&@#:&9#@%8&;%A&A%8&9#8'8&J#=#E#
+FEADFEADADADFEFEADADFEFEADADADFEFEADADFEFEADADADFEFEADADADFEFEADADADFEFEADFEADADADFEFEADFEADADFEFEADADADFEFEADADFEFEADADADFEFEADADFEFEADADADFEFEADFEADFEFEADFEFEADADADFEOGADFFFEADADFFH#?"?"A"J"G"C"A"H"J"C"9"8":"J#J#=#E#
+ADFEADADAD8ADADADADAD;ADADADADAD@FEADO)FFADADFEFFADH):$J$9&J$=&J&@&J$<&9&?#<&J&F#=#E#
+FEADADFEFEFEFEFEFEFEFE9FEFEFEFEFEFEFEFE@FEFEFEFEFEFEFEFE;FEFEFEFEFEFEFEFEFEFE?FEFEFEFEFEFEFEFEFEFEFEFEFEFEADFEFEFEFEFE8FEFEFEFEFEADFFFEADADFFH)9%J%8&J%<&J&@&J%<&9&@&8&J&F#=#E#
+ADFEADADADADADADFEADADAD9ADADADADADADADADAD@ADADADADADADADADAD;ADADADADADADADADADAD>FEADADADADADADADADADADADADADFEFEFEFEFEADADADADAD8ADADADADADFFADADFEFFADH#I"A"?"D"B"D"E"H"J'J#=#E#
+FEADFEFEFEFEFEFEFEFEOGADADADADFEADO&ADFFFEADADFFH#?,9&9%8&@&8&8%@&E%8&;%A&G&E'J&8&G)=#E#
+ADFEADFEFEFEADFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEFEADADFEFEFEADFEO#ADFEFEFEADADFEFEFEADADFEFEFEADADFFADADFEFFADH#@&8%9$9%:$B$:$:%8"9"9$9"A%:$9"9%A$A"9"9$9"9"8"8"9rJ"="C";$:$C";$8#=#E#
+FEADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAD4ADADADADADADADADADADADADADADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J"?"J"J"C"<"J"J"="C"=":$A&8)=#E#
+FEAD4FEFEO FE5FEFEFEO-FE4FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEADADFFFEADADFFH#J"J#="B#=":&@%:(=#E#
+ADFEO?ADP=FEFEFEFEFEFEFEADADADFEADADADADADADADADADFFADADFEFFADH#@$:#;$;#:$B$:$9"9"8&9$9$A#:$=#C$A%:$9(8":$J#<#B#<#J#>#=#E#
+FEADFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEADFEADFEFEFEFEFEADFEFEFEFEFEFEFEFEFEFEFEFEADFEFEFEFEFEFEADFEADFEADFEFEFEFEFE6ADADFEADADADFEAD6FEADADFFFEADADFFH#?&8%9&9%8&@&8&@#:&9#@%8&;%A&A%8&9#8'8&J$8#=#E#
+ADFEFEADADADFEFEADADFEFEADADADFEFEADADFEFEADADADFEFEADADADFEFEADADADFEFEADFEADADADFEFEADFEADADFEFEADADADFEFEADADFEFEADADADFEFEADADFEFEADADADFEFEADFEADFEFEADFEFEADADADFEOBFEFEFEFFADADFEFFADH#?"?"A"J"G"C"A"H"J"C"9"8":"J#J#J#9)=#E#
+FEADADADAD8ADADADADAD;ADADADADAD@FEAD4FEAD6FEADADADADADFEADADFFFEADADFFH):$J$9&J$=&J&@&J$<&9&?#<&?#C&F#=#E#
+ADFEADFEFEFEFEFEFEFEFE9FEFEFEFEFEFEFEFE@FEFEFEFEFEFEFEFE;FEFEFEFEFEFEFEFEFEFE?FEFEFEFEFEFEFEFEFEFEFEFEFEFEADFEFEFEFEFEFEADFEFEFEFEFEFFADADFEFFADH"r9%J%8&J%<&J&@&J%<&9&@&8&@&?&@";#=#E#
+FEADFEADADAD9ADADADADADADADADAD@ADADADADADADADADAD;ADADADADADADADADADAD>FEADADADADADADADADADADADADADFEFEFEFEFEADADADADADFEFEFEFEFEADADADADADFEADFFFEADADFFH#I"A"?"D"B"D"E"H"J'F'H#@#=#E#
+ADFEFEFEFEFEFEFEFEFEOGADADADADFEADADADADADFEADFEADFFADADFEFFADH#?,9&9%8&@&8&8%@&E%8&;%A&G&E'J&G)=#E#
+FEADADFEFEFEADFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEFEADADFEFEFEADFEO*ADFEFEFEADADFEFEFEADADADFFFEADADFFH#@&8%9$9%:$B$:$:%8"9"9$9"A%:$9"9%A$A"9"9$9"9"8"8"9rJ"="C"=":$B"<$8#=#E#
+ADFEADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAD4ADADADADADADADADADADADFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J"?"J"J"C"<"J"J":&B";$:$C";$8#=#E#
+ADFE4FEFEO FE5FEFEFEO-FE4FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFADADFEFFADH#J"J#;%A#;&8&@#;)=#E#
+FEADO?ADP=FEFEADADADADFEFEFEADADADFEFEADADADFEFEFEFEADADADFEADADFFFEADADFFH#@$:#;$;#:$B$:$9"9"8&9$9$A#:$=#C$A%:$9(8":$J#>#@#;"J#A#=#E#
+ADFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEADFEADFEFEFEFEFEADFEFEFEFEFEFEFEFEFEFEFEFEADFEFEFEFEFEFEADFEADFEADFEFEFEFEFE6ADADFEADADADAD5ADADFFADADFEFFADH#?&8%9&9%8&@&8&@#:&9#@%8&;%A&A%8&9#8'8&J#J#=#E#
+FEADFEADADADFEFEADADFEFEADADADFEFEADADFEFEADADADFEFEADADADFEFEADADADFEFEADFEADADADFEFEADFEADADFEFEADADADFEFEADADFEFEADADADFEFEADADFEFEADADADFEFEADFEADFEFEADFEFEADADADFEO'FEAD>ADFFFEADADFFH#?"?"A"J"G"C"A"H"J"C"9"8":"J#J#J#=#E#
+ADFEADADAD8ADADADADAD;ADADADADADBFEAD4FEAD?FFADADFEFFADH):$J$9&J$=&J&@&J$<&9&G&A#A&F#=#E#
+FEADADFEFEFEFEFEFEFEFE9FEFEFEFEFEFEFEFE@FEFEFEFEFEFEFEFE;FEFEFEFEFEFEFEFEFEFE?FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEADFEFEFEFEFEADFFFEADADFFH)9%J%8&J%<&J&@&J%<&9&G&@#B&F#=#E#
+ADFEADADADADADADFEADADAD9ADADADADADADADADAD@ADADADADADADADADAD;ADADADADADADADADADAD>FEADADADADADADADADADADADADADADADADADADFEADADADADADADFFADADFEFFADH#I"A"?"D"B"D"E"H"J#J#=#E#
+FEADFEFEFEFEFEFEFEFEOIFEADO(ADFFFEADADFFH#?,9&9%8&@&8&8%@&E%8&;%A&G&E'J%8&G)=#E#
+ADFEADFEFEFEADFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEFEADADFEFEFEADFEO$FEFEFEFEADFEFEFEADADFEFEFEADADFFADADFEFFADH#@&8%9$9%:$B$:$:%8"9"9$9"A%:$9"9%A$A"9"9$9"9"8"8"9rJ";"E":&9$C";$8#=#E#
+FEADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAD4ADADADADADADADADADADADADADADADADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J"?"J"J"C"<"J"J";$C";$:$A&8)=#E#
+FEAD4FEFEO FE5FEFEFEO-FE4FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEADADFFFEADADFFH#J"J#;&@#;&8&@%:(=#E#
+ADFEO?ADP=FEFEFEADADADFEFEFEFEADADADFEFEADADADFEADADADADADADADADADFFADADFEFFADH#@$:#;$;#:$B$:$9"9"8&9$9$A#:$=#C$A%:$9(8":$J#J#J#>#=#E#
+FEADFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEADFEADFEFEFEFEFEADFEFEFEFEFEFEFEFEFEFEFEFEADFEFEFEFEFEFEADFEADFEADFEFEFEFEFE6ADAD4ADAD>FEADADFFFEADADFFH#?&8%9&9%8&@&8&@#:&9#@%8&;%A&A%8&9#8'8&J&G&J$8#=#E#
+ADFEFEADADADFEFEADADFEFEADADADFEFEADADFEFEADADADFEFEADADADFEFEADADADFEFEADFEADADADFEFEADFEADADFEFEADADADFEFEADADFEFEADADADFEFEADADFEFEADADADFEFEADFEADFEFEADFEFEADADADFE<ADFEFEFEADADFEFEFEAD9FEFEFEFFADADFEFFADH#?"?"A"J"G"C"A"H"J"C"9"8":"J&G&I#9)=#E#
+FEADADADAD8ADADADADAD;ADADADADAD@FEADADADFEFEADADADFEFEADADADADADFEADADFFFEADADFFH):$J$9&J$=&J&@&J$<&9&G&J&F#=#E#
+ADFEADFEFEFEFEFEFEFEFE9FEFEFEFEFEFEFEFE@FEFEFEFEFEFEFEFE;FEFEFEFEFEFEFEFEFEFE?FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE8FEFEFEFEFEFFADADFEFFADH"r9%J%8&J%<&J&@&J%<&9&G&J&@";#=#E#
+FEADFEADADAD9ADADADADADADADADAD@ADADADADADADADADAD;ADADADADADADADADADAD>FEADADADADADADADADADADADADADADADADADAD8ADADADADADFEADFFFEADADFFH#I"A"?"D"B"D"E"H"J#@#=#E#
+ADFEFEFEFEFEFEFEFEFEPGFEADFFADADFEFFADH#?,9&9%8&@&8&8%@&E%8&;%A&G&E'J&G&8&G)=#E#
+FEADADFEFEFEADFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEFEADADFEFEFEADFE;ADFEFEFEADADFEFEFEADADFEFEFEADADFEFEFEADADADFFFEADADFFH#@&8%9$9%:$B$:$:%8"9"9$9"A%:$9"9%A$A"9"9$9"9"8"8"9rJ";$C";$:$B"<$8#=#E#
+ADFEADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAD4ADADADADADADADADADADADADADADADFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J"?"J"J"C"<"J"I$:$C"=":$C";$8#=#E#
+ADFE4FEFEO FE5FEFEFEO-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFADADFEFFADH#J"J&8&@#=":&@#;)=#E#
+FEADO?ADP=FEADADADFEFEADADADFEFEFEFEFEADADADFEFEFEFEADADADFEADADFFFEADADFFH#@$:#;$;#:$B$:$9"9"8&9$9$A#:$=#C$A%:$9(8":$J"J#<#I#A#=#E#
+ADFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEADFEADFEFEFEFEFEADFEFEFEFEFEFEFEFEFEFEFEFEADFEFEFEFEFEFEADFEADFEADFEFEFEFEFE6AD5ADADFEADADADFFADADFEFFADH#?&8%9&9%8&@&8&@#:&9#@%8&;%A&A%8&9#8'8&J#J#=#E#
+FEADFEADADADFEFEADADFEFEADADADFEFEADADFEFEADADADFEFEADADADFEFEADADADFEFEADFEADADADFEFEADFEADADFEFEADADADFEFEADADFEFEADADADFEFEADADFEFEADADADFEFEADFEADFEFEADFEFEADADADFE8FEADO-ADFFFEADADFFH#?"?"A"J"G"C"A"H"J"C"9"8":"J#J#J#=#E#
+ADFEADADAD8ADADADADAD;ADADADADAD;FEAD9FEADAFFADADFEFFADH):$J$9&J$=&J&@&J$<&9&:#A&?#C&F#=#E#
+FEADADFEFEFEFEFEFEFEFE9FEFEFEFEFEFEFEFE@FEFEFEFEFEFEFEFE;FEFEFEFEFEFEFEFEFEFE?FEFEFEFEFEFEFEFEFEFEFEFEFEFEADFEFEFEFEFEFEADFEFEFEFEFEADFFFEADADFFH)9%J%8&J%<&J&@&J%<&9&9#B&@&?&F#=#E#
+ADFEADADADADADADFEADADAD9ADADADADADADADADAD@ADADADADADADADADAD;ADADADADADADADADADAD>FEADADADADADADADADADADADADADFEADADADADADADFEFEFEFEFEADADADADADFFADADFEFFADH#I"A"?"D"B"D"E"H"J'J#=#E#
+FEADFEFEFEFEFEFEFEFEP/ADADADADFEAD>ADFFFEADADFFH#?,9&9%8&@&8&8%@&E%8&;%A&G&E'J%8&J&G)=#E#
+ADFEADFEFEFEADFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEFEADADFEFEFEADFE5FEFEFEFEADFEFEFEAD8ADFEFEFEADADFEFEFEADADFFADADFEFFADH#@&8%9$9%:$B$:$:%8"9"9$9"A%:$9"9%A$A"9"9$9"9"8"8"9rH&9$C"=":$C";$8#=#E#
+FEADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J#=#E#
+FEADSAADFFFEADADFFH#J#=#E#
+ADFESAFFADADFEFFADH#J#=4
+FEADSAADFFFEADFFADFFADFFADFFADFFADFFADFFADFFADFFH#J#=4
+ADFESAFFADADFE98FFADFFADFFADFFADFFADFFADFFADFFADH#J"?"J"J"C"<"J"I$<"B$<":$A&8)=&t&
+FEAD4FEFEO FE5FEFEFEO-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEADADFFFEAD98ADFFADFEAD98ADFFH#J"J&:"B&:":&@%:(='>&
+ADFEO?ADP=FEADADADFEFEFEADADADFEFEFEADADADFEADADADADADADADADADFFADADFE9898ADFFADFE98FFADH#@$:#;$;#:$B$:$9"9"8&9$9$A#:$=#C$A%:$9(8":$J"=#B"=#J#>#=#8#>&
+FEADFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEADFEADFEFEFEFEFEADFEFEFEFEFEFEFEFEFEFEFEFEADFEFEFEFEFEFEADFEADFEADFEFEFEFEFE6ADFEADADFEAD6FEADADFFFEADFFADFE9898ADFFH#?&8%9&9%8&@&8&@#:&9#@%8&;%A&A%8&9#8'8&J#J#J$8#=#8#=#8#
+ADFEFEADADADFEFEADADFEFEADADADFEFEADADFEFEADADADFEFEADADADFEFEADADADFEFEADFEADADADFEFEADFEADADFEFEADADADFEFEADADFEFEADADADFEFEADADFEFEADADADFEFEADFEADFEFEADFEFEADADADFE8FEAD4FEAD@FEFEFEFFADADFE98FFFEADFFADH#?"?"A"J"G"C"A"H"J"C"9"8":"J#9#E#9#J#9)=#9#;$8#
+FEADADADAD8ADADADADAD;ADADADADAD;FEADFEADFEADFEAD6FEADADADADADFEADADFFFEADADFFFEAD98ADFFH):$J$9&J$=&J&@&J$<&9&:#9#<&:#9#C&F#=#9$:#9#
+ADFEADFEFEFEFEFEFEFEFE9FEFEFEFEFEFEFEFE@FEFEFEFEFEFEFEFE;FEFEFEFEFEFEFEFEFEFE?FEFEFEFEFEFEFEFEFEFEFEFEFEFEADFEADFEFEFEFEFEFEADFEADFEFEFEFEFEFFADADFE98ADFFADFEFFADH"r9%J%8&J%<&J&@&J%<&9&9#;&8&9#;&?&@";#=#:#:#9#
+FEADFEADADAD9ADADADADADADADADAD@ADADADADADADADADAD;ADADADADADADADADADAD>FEADADADADADADADADADADADADADFEADFEFEFEFEFEADADADADADFEADFEFEFEFEFEADADADADADFEADFFFEADFFADFE98ADFFH#I"A"?"D"B"D"E"H"J'F'H#@#=#:#9#:#
+ADFEFEFEFEFEFEFEFEFEOGADADADADFEADADADADADFEADFEADFFADADFE98FFFEADFFADH#?,9&9%8&@&8&8%@&E%8&;%A&G&E'J%H%?&G)=#;':#
+FEADADFEFEFEADFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEADADFEFEFEADADFEFEFEADADFEFEFEADFE5FEFEFEFEFEFEFEFEADFEFEFEADADFEFEFEADADADFFFEADADFFADFEAD98ADFFH#@&8%9$9%:$B$:$:%8"9"9$9"A%:$9"9%A$A"9"9$9"9"8"8"9rH&;"A&;":$B"<$8#=#;&;#
+ADFEADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADFFADADFE98ADFEADFEFFADH#J#=#<%;#
+FEADSAADFFFEADFFADFE98ADFFH#J#=#<$<#
+ADFESAFFADADFE98FEADFFADH#J#=#=#<#
+FEADSAADFFFEADAD98ADFFH5=4
+SEADFEADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADADFEADFFADFFADFFADFFADFFADFFADFFADFFADH5=4
+SEFEADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFFEADFFADFFADFFADFFADFFADFFADFFADFFADFFHz=z
+SEAD3AD
+
+
+
+
+
+I5
+SCFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEH5
+SEFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFFH#y5z#x#
+ADFE98PAAD98ADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADP198ADFF98FFADH#B5J%A#
+FEADPCFFADFE98FFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFEP1FFADFFADADFFH#@)z#J'?#
+ADFEADFFADFEAD98ADFFP;ADFEADP1ADFFADFFADFFFFADH#>+J#J)=#
+FEADFFADFFADADADFE98FFADP;ADFEP1FFADADADFFADFFADADFFH#<&8&J#J#8';#
+ADFEADFFADFFADFEAD98ADFFP;FEADP1ADFFADADADFFADFFFFADH#:'9&J#J#;&9#
+FEADFFADFFADADADADFE98FFADP;ADFEP1FFADADFFADFFADADFFH#8&<&J#J#<*
+ADFEADFFADFFADFEAD98ADFFP;FEADP1ADFFADADADFFADFF98FFADH)=&J#J#?'
+FEADFEADFEADADADADFE98FFADP;ADFEP1FFADADFEADFEADFFH)=&J#J#?'
+ADFE9898ADFEADFEFEAD98ADFFP;FEADP1ADFFFEADFE98FFADH#8&<&J#J#<*
+FEAD9898FEADFEADFE98FFADP;ADFEP1FFADFEADFEAD989898ADFFH#:'9&J#J#;&9#
+ADFE9898ADFEADFEFEAD98ADFFP;FEADP1ADFFFEADFE9898FFAD&C#<&8&J#J#8';#J%
+F7F7F7F7F7FEAD9898FEADFEADFE98FFADP;ADFEP1FFADFEADFEAD9898ADFFFF7F7F7F7&C#>+J#J)=#J&
+F6F6F6F6F6ADFE9898ADFEADFEAD98ADFFP;FEADP1ADFFADFEADFE9898FFADFF6F6F6F6F68$C#@5J'?#J%
+F9F9F9FEADPE9898FEADFE98FFADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEP1FFADFEAD9898ADFFGF9F9F9F7H#B5J%A#
+ADFEPC9898AD98ADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADFEADP1ADFE9898FFADH5
+SEFEADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFH5
+SEADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADFFADIz
+SCAD
+
+
+
+
+
+
+
+
+
+
+<z"z"z
+0F6F7T&F6F71F6;z8z8z
+1F9T%F91F9
+
+7z8z8z
+5F7T%F74F7"J"J"
+F76F7T&F7
+ENDBITMAP
+%%EndBinary
+0 F
+(FIGURE 28) 133.57 131.32 T
+1 F
+(- Combobox) 187.46 131.32 T
+0 0 612 792 C
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(entry \336eld which when activated will pop up the) 315 713.33 T
+(scrolledlistbox beneath the entry \336eld. The simple non-) 315 701.33 T
+(dropdown combobox permanently displays the listbox) 315 689.33 T
+(beneath the entry \336eld and has no arrow button. Either) 315 677.33 T
+(style allows an optional entry \336eld label.) 315 665.33 T
+0 12 Q
+(Selectionbox) 395.17 634 T
+1 10 Q
+-0.43 (The Selectionbox class combines a scrolled list of items,) 315 615.33 P
+(an editable entry \336eld for the selected item, and labels) 315 603.33 T
+(for the list and entry \336eld, allowing the user to select or) 315 591.33 T
+(enter one item from a list of alternatives. The Selection-) 315 579.33 T
+-0.32 (box also provides a child site and an option to control its) 315 567.33 P
+(position.) 315 555.33 T
+0 12 Q
+(Fileselectionbox) 386.5 291.14 T
+1 10 Q
+(The Fileselectionbox presents a \336le selector similar to) 315 266.48 T
+(that found in the Motif widget set. It consists of a \336le) 315 254.48 T
+(and directory list as well as a \336lter and selection entry) 315 242.48 T
+-0.25 (widget. A child site also exists which may be positioned) 315 230.48 P
+(at several locations via an option. An extensive option) 315 218.48 T
+(set is provided which enables speci\336cation of initial) 315 206.48 T
+(directory) 315 194.48 T
+(, search commands, \336lter mask, no match) 350.45 194.48 T
+(string, and mar) 315 182.48 T
+(gins.) 375.09 182.48 T
+0 12 Q
+(Dialogshell) 399.16 151.14 T
+1 10 Q
+(The Dialogshell class provides base class support for) 315 128.48 T
+(top level [incr W) 315 116.48 T
+(idgets] modal dialogs. This includes) 382.64 116.48 T
+(dialog mapping, button management, separator control,) 315 104.48 T
+(and a child site. The \324activate\325 command maps the dia-) 315 92.48 T
+-0.3 (log and waits based on the modality) 315 80.48 P
+-0.3 (. Non-modal dialogs) 456.45 80.48 P
+315 72 540 720 C
+315 319.14 540 552 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+315 347 540 543 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+%%BeginBinary: 13238
+226 306 116.23 157.37 0 369.77 381
+/red <
+7266F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF80808080
+8080808080808080808080808080808080808080404040404040404040404040
+4040404040404040404040000000000000000000000000000000000039C069DD
+00FF0000003333330033CCDD9999112277005544FFCC66AABBFF33EE9999CC7A
+EFD39765E1A36FE700557FFF5500B22E99FFFFB07AFFB0CC0087AFB4CD73E6A2
+4DBF88F5439D58D750D080C0C080C0808060C000FFA000FF20C0A040C040D060
+F0E010B499FFA0BE8BD28BD9B3FF720019BF2FFF6223852F465F4770FF0000FF
+> store
+/green <
+9F99DE00000000000000000000000000FFFFFFBFBFBFBFBF8080808080404040
+40000000FFFFFFFFFFBFBFBFBF808080808040404040400000000000FFFFFFFF
+FFBFBFBFBFBF8080808040404040400000000000FFFFFFFFFFBFBFBFBFBF8080
+8080804040400000000000FFFFFFBFBFBFBFBF80808040404040400063E0B500
+996699FF00663399BBFF99DD99FF112277005544CCCC66AABB6600EE6600CC69
+E3B59765E1A36FE7006B7FFF1A00B28B99FFFFB094FF30F700CEEEEE0073E6A2
+4DBF88F54DB358D78080C0C080C080808060C08000A080402070A0402040D0F0
+F0E010B489E4A0BE5BB477D9B3FF77FF19264F00B641DE4F829E4780FF0000FF
+> store
+/blue <
+FFFFB3FFFFFFFFFFFFFFFFFFFFFFFFFFBF8040FFBF804000FFBF804000FFBF80
+00BF8040FFBF804000FF804000FFBF804000FFBF804000FFBF804000FFBF8040
+00FFBF804000FFBF4000FFBF804000FFBF804000FFBF804000FFBF804000FFBF
+804000FFBF00FFBF804000BF8040FFBF804000FFBF40FFBF8040004063E0B500
+FF3399FF88666666009966DDFFFF112277DD554499FFCCAABBCC99EE9966CC69
+E3B59765E1A36FE7BF2F7FCC8BEEB2576BFBB3B01532602480FAEEB40073E6A2
+4DBF88F556CA58D7D050C080C08080C08060C080FF0000402070C0802040D060
+50E010B476C4A0BE7A8C65D9B3E0850070264F00FC5AE050B4A0FF9000FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+6F6F7QIF6F76F6F7J"
+RHF78z8z8z
+4F9QHF94F9
+
+;z"
+R?F7F6<z"z"z"z
+0F6F7Q8F6F70F6F70F6=z8z8z8z
+/F9Q7F9/F9/F9
+J'>$H"9#I'
+O0FEFEFEFEF9FEFEFEFEFEFEFEFEFEFEFEFEFEJ'?"I"J"8%Js"
+O/FEFEF9F9F9FEF9FE9F9F9F9FEFEO@F6F7J"J#Jr
+O4F9BF9F9P-F9J#8"9$?$:$8"8&:$9'D$9(
+O1FEFEF9FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF9FEFEFEFEFEFEFEFEF9FEFEFE@s"J"9#8'<08$:*8%;%8*9$J$
+F6F7JF9FEFEFEFEFEF9FEFEFEFEFEF9FEFEF9FEFEFEF9FEFEF9F9F9F9F9FEFEFEF9FEFEFEF9F9FEF9FEFEFEFEFEF9FEFEFEF9FEFEFEF9F9F9FEF9O!F6F6F7ArJ#9":"A";%C$<">&9$:&J"
+F9LF9F9FEFEFEF9F9F9F9F9F9F9F9F9F9F9FEFEF9F9F9F9FEFEFEF9O#F9@sJ"8#;%>%J#
+F7KFEF9F9F9F9F9F9F9F9F9F9P.F7F7@tJ">%>%9%C$J$:&J$
+F9KFEFEF9FEFEFEF9FEFEFEF9FEFEFEF9FE7FEF9FEFEF9F9FEFEO"F9F9F9J0808&8,8"9$829"
+O0F9FEFEFEFEF9F9F9F9FEFEFEF9F9FEFEF9F9F9FEFEFEF9F9F9F9FEFEFEF9F9FEFEF9FEFEF9F9F9FEFEFEF9F9F9FEFEFEF9FEFEFEFEFEF9F9F9F9FEFEFEF9F9F9FEFEFEFEJ':$8%9$:$:r9$9z:$9rJs
+O/F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F90F9F9F9F9F9O/F7Jt
+R7F9
+=z8z8z8z
+/F7Q7F7/F7/F7rF"J"F"F%
+F7F7Q8F7F7F7F7F7F7'z&
+F6F6F6F6F6F7R>E5F6F6F6F6F68$J%
+F9F9F9R@F9F9F9F7
+
+
+
+
+
+
+
+
+
+
+
+
+J#8#
+4FEFEFEFE
+J"8"8%8*9%
+7FEFEFEFEFEFEFEE5FEFEFEE5FEFEFEFEFEFEFEJ"8)81
+7E5E5E5FEFEE5E5FEFEFEE5E5FEFEE5E5FEFEE5FEFEE5E5FEFEJ%
+O"FEE5E5E5J#D&
+>FEFEE5E5FEFEFEJ%D"8"
+>E5E5E5E5E5FEJ":#B%
+;FEFEFEFEFEE5E5J+B'
+8E5FEFEE5E5FEFEFEFEE5E5FEFEFEFEE5J#9#8%8#8#8#8%
+4E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5
+
+
+
+
+
+
+
+H5>2
+Q:C3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEFEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEH5=4
+Q:FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FFH#z"=#r"r#
+C3FEQ7C3FFE5FEDEFEDEFFE5H#J#=#<#=#
+FEC3Q6FFC3FEE5FFE5E5FFH#J#=#<$<#
+C3FEQ6C3FFE5FEE5FEE5FFE5H#J#=#;%<#
+FEC3Q6FFC3FEE5E5FFE5FEE5FFH#J#=#;&;#
+C3FEQ6C3FFE5FEFFE5E5E5FEFFE5H#J#=#:#8#;#
+FEC3Q6FFC3FEE5FFE5FEE5E5FFH#J#=#:#8$:#
+C3FEQ6C3FFE5FEE5FFE5FEE5FFE5H#J#=#9$9#:#
+FEC3Q6FFC3FEE5E5FFE5E5FEE5FFH#J#=#9#;#9#
+C3FEQ6C3FFE5FEFFE5E5FEFFE5H#J#=#8#<#9#
+FEC3Q6FFC3FEE5FFE5FEE5E5FFH#J#=#8#<$8#
+C3FEQ6C3FFE5FEE5FFE5FEE5FFE5H#J#='=#8#
+FEC3Q6FFC3FEE5DEE5FFE5E5FEE5FFH#J#=&?&
+C3FEQ6C3FFE5FEDEFFE5E5FEDEFFE5H#J#=4
+FEC3Q6FFC3FEE5FFE5FEE5FEE5FEE5FEE5FEE5FEE5DEE5FFH#J#=4
+C3FEQ6C3FFE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FFE5H#J#=#z#
+FEC3Q6FFC3FEE5/DEE5FFH#J#=4
+C3FEQ6C3FFE5FEE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5H#J#=4
+FEC3Q6FFC3FEE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FEE5FFH#J#=%v%
+C3FEQ6C3FFE5FEE5FFE5FEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=%A%
+FEC3Q6FFC3FEE5FFE5E5FEE5FFH#J#=%A%
+C3FEQ6C3FFE5FEE5FFFEE5FFE5H#J#=4
+FEC3Q6FFC3FEE5FFE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FFH#J#=4
+C3FEQ6C3FFE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FFE5H#J#=#z#
+FEC3Q6FFC3FEE5/DEE5FFH#J#=4
+C3FEQ6C3FFE5FEE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5H#J#=4
+FEC3Q6FFC3FEE5DEE5FFE5FFE5FFE5FFE5FFE5FFE5FEE5FFH#J#=%v%
+C3FEQ6C3FFE5FEDEFFE5FEDEFFE5H#J#=&?&
+FEC3Q6FFC3FEE5DEDEFFFEE5DEE5FFH#J#=#8#='
+C3FEQ6C3FFE5FEE5FFFEE5DEDEFFE5H#J#=#8$<#8#
+FEC3Q6FFC3FEE5DEE5FFE5FEE5FFH#J#=#9#<#8#
+C3FEQ6C3FFE5FEFFE5FEDEFFE5H#J#=#9#;#9#
+FEC3Q6FFC3FEE5DEFFFEE5E5FFH#J#=#:#9$9#
+C3FEQ6C3FFE5FEE5FFFEE5DEFFE5H#J#=#:$8#:#
+FEC3Q6FFC3FEE5DEE5FFE5FEE5FFH#J#=#;#8#:#
+C3FEQ6C3FFE5FEFFE5FEDEFFE5H#J#=#;&;#
+FEC3Q6FFC3FEE5DEFFE5FEE5E5FFH#J#=#<%;#
+C3FEQ6C3FFE5FEE5FEE5DEFFE5H#J#=#<$<#
+FEC3Q6FFC3FEE5DEE5FEE5FFH#J#=#=#<#
+C3FEQ6C3FFE5FEFEDEFFE5H5=4
+Q:FEC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FEE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFH5=4
+Q:C3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5Hz>z
+Q:E51E5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+J&?#F#8#
+5FEFEFEFEFEFEFEFEFEFEFEJ(J#
+4FEFEE5E5E5FEFE>E5E5J%<%9%8"8%8%8&
+=FEFEFEFEFEFEFEFEFEFEFEFEFEFEE5FEFEFEFEFEFEFEFEE5FEFEJ/:08":'9%
+4E5FEFEFEE5E5E5E5FEFEE5E5FEFEFEFEE5E5FEFEE5FEFEE5E5FEFEE5E5E5FEFEE5E5FEFEFEE5FEFEJ&J#H"
+5E5E5FEFEFE7E5E5E5J"8"9#>#
+7E5FEFEFEFEFEJ#8";%<%
+4FEFEE5E5E5E5E5E5E5E5E5J#>#;#;"
+@FEFEFEFEFEFEFEJ/:.8%9'
+4E5FEFEFEFEFEE5E5E5FEFEFEFEE5E5FEFEFEFEE5E5E5FEFEFEFEE5E5FEFEE5E5FEFEFEFEE5J&9%8#8%9%:&8%8#8#
+5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5
+
+
+
+
+
+
+
+
+H5
+R%C3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3H5
+R%FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FEC3FFH#z#
+C3FER!C3FFC3H#J#
+FEC3R!C3FFH#J#
+C3FER!FFC3H#J#
+FEC3R!C3FFH#J#
+C3FER!FFC3H#J#
+FEC3R!C3FFH#J#
+C3FER!FFC3H#J#
+FEC3R!C3FFH#J#
+C3FER!FFC3H#J#
+FEC3R!C3FFH#J#
+C3FER!FFC3&C#J#C%
+F7F7F7F7F7FEC3R!C3FFF7F7F7F7&C#J#C&
+F6F6F6F6F6C3FER!FFC3F6F6F6F6F68$C#J#D%
+F9F9F9FEC3R!C3FFF9F9F9F7H#J#
+C3FER!FFC3H5
+R%FEC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFH5
+R%C3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3Hz
+R%E5
+
+
+
+
+
+
+
+
+
+
+<z"z"z
+0F6F7QIF6F71F6;z8z8z
+1F9QHF91F9
+
+7z8z8z
+5F7QHF74F7"J"J"
+F76F7QIF7
+ENDBITMAP
+%%EndBinary
+360 354 495 372 R
+7 X
+V
+4 8 Q
+0 X
+(selectionbox .sb) 360 366.67 T
+(pack .sb -padx 10 -pady 10) 360 356.67 T
+0 10 Q
+(FIGURE 29) 371.53 329.1 T
+1 F
+( - Selectionbox) 422.92 329.1 T
+315 72 540 720 C
+0 0 612 792 C
+FMENDPAGE
+%%EndPage: "15" 15
+%%Page: "16" 16
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(return control immediately) 72 465.48 T
+(, whereas global and applica-) 178.56 465.48 T
+(tion modal dialogs wait until the \324deactivate\325 command) 72 453.48 T
+(is invoked. The \324deactivate\325 command accepts an) 72 441.48 T
+(optional ar) 72 429.48 T
+(gument which becomes the return value of) 114.87 429.48 T
+(the \324activate\325 command. This provides dialog deactiva-) 72 417.48 T
+(tion status noti\336cation.) 72 405.48 T
+0 12 Q
+(Dialog) 167.83 374.14 T
+1 10 Q
+(The Dialog class is a specialized version of the Dia-) 72 351.48 T
+(logShell with four prede\336ned buttons tagged, \322OK\323,) 72 339.48 T
+(\322Cancel\323, \322Apply\323, and \322Help\323. By default the Dialog) 72 327.48 T
+(class provides automatic deactivation and status return) 72 315.48 T
+(following selection of either the \322OK\323 or \322Cancel\323 but-) 72 303.48 T
+(ton. The status indicator is 1 for \322OK\323 and 0 for \322Can-) 72 291.48 T
+(cel\323. Automatic deactivation may be disabled, enabling) 72 279.48 T
+(more user control over deactivation and status noti\336ca-) 72 267.48 T
+(tion. In this case, the user must invoke the deactivate) 72 255.48 T
+-0.43 (method explicitly and is free to pass a status return value) 72 243.48 P
+(as needed.) 72 231.48 T
+0 12 Q
+(Messagedialog) 147.17 200.14 T
+1 10 Q
+(The Messagedialog class provides a bitmap and mes-) 72 181.48 T
+(sage text within a dialog context. Options control the) 72 169.48 T
+(position of the bitmap and message. All the standard) 72 157.48 T
+(dialog control options are also available.) 72 145.48 T
+72 472.14 297 720 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 501 297 718.71 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+%%BeginBinary: 31814
+365 317 187.71 163.03 0 90 543.43
+/red <
+7266F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF80808080
+8080808080808080808080808080808080808080404040404040404040404040
+4040404040404040404040000000000000000000000000000000000039C069DD
+00FF0000003333330033CCDD9999112277005544FFCC66AABBFF33EE9999CC7A
+EFD39765E1A36FE700557FFF5500B22E99FFFFB07AFFB0CC0087AFB4CD73E6A2
+4DBF88F5439D58D750D080C0C080C0808060C000FFA000FF20C0A040C040D060
+F0E010B499FFA0BE8BD28BD9B3FF720019BF2FFF6223852F465F4770FF0000FF
+> store
+/green <
+9F99DE00000000000000000000000000FFFFFFBFBFBFBFBF8080808080404040
+40000000FFFFFFFFFFBFBFBFBF808080808040404040400000000000FFFFFFFF
+FFBFBFBFBFBF8080808040404040400000000000FFFFFFFFFFBFBFBFBFBF8080
+8080804040400000000000FFFFFFBFBFBFBFBF80808040404040400063E0B500
+996699FF00663399BBFF99DD99FF112277005544CCCC66AABB6600EE6600CC69
+E3B59765E1A36FE7006B7FFF1A00B28B99FFFFB094FF30F700CEEEEE0073E6A2
+4DBF88F54DB358D78080C0C080C080808060C08000A080402070A0402040D0F0
+F0E010B489E4A0BE5BB477D9B3FF77FF19264F00B641DE4F829E4780FF0000FF
+> store
+/blue <
+FFFFB3FFFFFFFFFFFFFFFFFFFFFFFFFFBF8040FFBF804000FFBF804000FFBF80
+00BF8040FFBF804000FF804000FFBF804000FFBF804000FFBF804000FFBF8040
+00FFBF804000FFBF4000FFBF804000FFBF804000FFBF804000FFBF804000FFBF
+804000FFBF00FFBF804000BF8040FFBF804000FFBF40FFBF8040004063E0B500
+FF3399FF88666666009966DDFFFF112277DD554499FFCCAABBCC99EE9966CC69
+E3B59765E1A36FE7BF2F7FCC8BEEB2576BFBB3B01532602480FAEEB40073E6A2
+4DBF88F556CA58D7D050C080C08080C08060C080FF0000402070C0802040D060
+50E010B476C4A0BE7A8C65D9B3E0850070264F00FC5AE050B4A0FF9000FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+6F6F7TJF6F76F6F7J"
+UIF78z8z8z
+4F9TIF94F9
+
+;z"
+U@F7F6<z"z"z"z
+0F6F7T9F6F70F6F70F6=z8z8z8z
+/F9T8F9/F9/F9
+Js8#8$@'>$H"9#I'
+P:FEFEFEFEFEFEFEFEFEFEF9FEFEFEFEFEFEFEFEFEFEFEFEFEJ"8$>"A'?"I"J"8%Js"
+P:F9F9F9F9F9FEFEF9F9F9FEF9FE9F9F9F9FEFEPJF6F7J"9#I"J#Jr
+P@F9F9F9F9BF9F9Q7F9J"9$?$:#8"9$?$:$8"8&:$9'D$9(
+P?FEFEFEFEFEFEFEFEFEF9FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF9FEFEFEFEFEFEFEFEF9FEFEFE@s"J#8$?)9#8'<08$:*8%;%8*9$J$
+F6F7P*FEFEF9F9F9FEFEFEF9FEFEF9F9FEFEFEFEFEF9FEFEFEFEFEF9FEFEF9FEFEFEF9FEFEF9F9F9F9F9FEFEFEF9FEFEFEF9F9FEF9FEFEFEFEFEF9FEFEFEF9FEFEFEF9F9F9FEF9P+F6F6F7ArJ#G":#9":"A";%C$<">&9$:&J"
+F9P+F9F9FEF9F9FEFEFEF9F9F9F9F9F9F9F9F9F9F9FEFEF9F9F9F9FEFEFEF9P-F9@sJ"E'8#;%>%J#
+F7P-F9F9F9F9F9F9FEF9F9F9F9F9F9F9F9F9F9Q8F7F7@tJ%8">%>%9%C$J$:&J$
+F9P<FEF9FEFEFEFEF9FEFEFEF9FEFEFEF9FEFEFEF9FE7FEF9FEFEF9F9FEFEP,F9F9F9J"8";"8$8)80808&8,8"9$829"
+P:FEFEFEFEF9FEFEF9F9F9FEFEFEF9F9FEFEFEFEF9F9F9F9FEFEFEF9F9FEFEF9F9F9FEFEFEF9F9F9F9FEFEFEF9F9FEFEF9FEFEF9F9F9FEFEFEF9F9F9FEFEFEF9FEFEFEFEFEF9F9F9F9FEFEFEF9F9F9FEFEFEFEJ%;t9$8':$8%9$:$:r9$9z:$9rJs
+P:F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F90F9F9F9F9F9P9F7Jt
+U8F9
+=z8z8z8z
+/F7T8F7/F7/F7rF"J"F"F%
+F7F7T9F7F7F7F7F7F7'z&
+F6F6F6F6F6F7U?E5F6F6F6F6F68$J%
+F9F9F9UAF9F9F9F7
+
+
+
+
+
+
+
+
+
+
+
+
+Js$8#
+4FEE5FEFEFEFEJ'
+6E5E5E5E5E5E5J#:"8"8%8&
+:FEFEFEFEFEFEFEFEFEFEE5FEFEJ"8)9"
+@E5E5E5FEFEE5E5FEFEFEJ$J#
+6FEFEFE6E5E5J$D#;"
+6E5E5E5FEFEE5J%
+GE5E5E5E5J":#
+DFEFEFEJ+
+AE5FEFEE5E5FEFEFEFEE5J#:&9#8%8#
+4E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5
+
+
+
+
+
+
+
+
+H5
+U&FFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEH5
+U&FEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFH#Z
+FFFEU#H#
+FEFFH#:":&9$>"E$<$J"J"J"9"C"=#J"B$8#A":#J"
+FFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFECFEBFEO"FEFEFEFEFEGFEFEFEFEFEFEFEFEFECFEH#8#<%8&<#E#<%G"F#J#J#9"C"="H"I#B(A#:"J#9"
+FEFFFEFEFFFFFFFFFEFFFFFFFEFEFFFFFFFEFFFFFFFEFEFFAFEFFO!FEFFFFFFFFFEFEFEFEFFFFFFFEFFFFFEFFFFCFEFFFEH#8#J#
+FFFEFFFFS&FFFFH#J)8#8#?&9$9&8&9$<):$9&9$<#9$:$8&8&:$8&<#8$9,;$:&8$9&9$J$<#9$:$8&:$:$<#8&
+FEFF:FEFFFFFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFFFFFEFEFEFFFEFEFEFEFEFFFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEFEFFFEFEFEFEFEFFFEFEFEFEFFFEFEFEFEFEFEFFFEFEFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFE@FEFEFEFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFFFEFEFEFEFEH#@$9"8#>)9"@&8&8&8&8&>'8&8&8&?&848-?#:+;%9-8&8&J%?%9-8&8&?&
+FFFEFEFEFEFFFEFFFFFEFFFEFFFEFFFFFFFFFEFFFFFFFEFFFFFFFEFFFEFFFFFFFFFEFFFFFFFEFFFFFFFEFFFEFFFEFFFEFEFFFFFFFEFFFEFFFFFFFEFFFFFFFEFEFFFFFFFEFEFFFFFFFEFFFFFEFFFEFFFEFFFFFEFFFEFFFEFEFFFFFFFEFFFFFEFEFFFFFEFFFFFFFEFFFFFFFEFFFFFFFFFEFFFFFFFEFFFFFFFEFFFFFEFFFFFFFEFFFEFFFFFFFEFFFFFFFE?FFFFFFFEFEFFFFFFFEFFFFFFFEFFFFFEFFFEFFFEFEFFFFFFFEFEFFFFFFFEFFFFFEFFFFH#?&:#;#J$G&:#A$D":#="J"=#B"J$@&8&J#A$G&:#:$
+FEFFFFFFFFFFFEFEFFFEFF@FEFEFEFFFEFEFEFFFEFFFEFEFEFFFEFFFF?FFFEFFFE:FEFEFEFFFEFEFEFFFEFEFEFEFE@FEFFFEFEFEFFFEFEFEFFFEFFFEFFFEH#G#J%G%G%J%@%8PJ%G%@$
+FFFEFEFFHFFFFFFFFFFFFFFFEFFFFFFFFP0FFFFFFFFFFFFFFFEMFFFFFFFFFFFFFFFEFFFFFFH#>"=#8"9#J"D$=#E"C"9#>"J#A&J"=$J#E"F"=#
+FEFFFEFEFFFEFEFFDFEFEFFFEFEFFFEFEFEFFFEFFEFFFFFEFFFEFF;FEFEFFFEJFEFFFEFEFEFFH#8-9$?";59&8%:,>";(8%9&?&8(;#;,9">&?&8,9&9,?&9";-?/;(8&
+FFFEFEFEFEFEFEFFFFFEFEFEFEFFFEFEFEFE4FEFFFFFEFEFEFFFEFFFEFEFEFEFEFEFFFEFEFEFEFFFEFEFEFFFEFEFEFEFFFEFEFEFFFFFFFEFEFEFFFEFEFFFFFEFEFEFFFEFEFEFEFFFEFEFEFFFFFEFEFEFFFFFEFEFEFFFFFEFEFEFEFFFFFEFEFEFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFEFEFEFFFEFFFFFEFEFEFFFEFEFEFFFFFEFEFEFFFFFFFEFEFEFFFEFEFEFEFEFEFFFEFEFEFFFFFEFFFEFEFEFFFFFEFEFEFFFEFFFFFEFEFEFFFFFEFEFFFFFEFEFEFFFFFEFEFEFFH#8P8%9P8#:R8Z:$9%;$9$9#:R8$9%:$9#<$:$8Y8$8$8&;P9$9P9P8$:$;$9$@P9"<$8P9#<P8$8R8$:$9#
+FEFFFFFFFFFFFEFF1FFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFEFFH#J"J"J"J"J"J"
+FFFE7FFO0FFBFFO"FFP%FFIFFH#J%
+FEFFR6FEFEFEFFH#J$
+FFFER6FFFFFFH#
+FEFFH"
+FFHz
+U&E5
+
+
+
+
+
+
+
+
+
+
+
+
+J&9#J#D#Js$
+4FEFEFEFEFEFEFE5FEFEFEFEP>FEE5FEFEJ%8#J#J'
+6E5E5FEFEE5E5EE5E5P@E5E5E5E5E5E5J29%8"8"8%8(8%9%J#;%9%
+8E5FEFEE5FEFEE5FEFEE5FEFEE5FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEE5FEFEFEFEFEFEFEFEFEFEFEFEP7FEFEFEFEFEFEFEFEFEFEJ"808)9";.J.
+AFEFEFEE5E5FEFEE5FEFEE5E5FEFEE5E5E5E5FEFEE5E5FEFEFEFEFEE5E5FEFEE5FEFEE5E5FEFEP<FEFEE5E5FEFEE5FEFEE5E5FEFEJ#A#F#B%J$F%
+BE5E5E5E5E5E5FEE5E5E5P2FEFEFEFEE5E5E5J":#J"=#9&J$?#9&
+AE5FEFE8E5FEFEE5E5FEFEFEP3E5E5E5FEFEE5E5FEFEFEJ%J%9"8"J%9"8"
+FE5E5E5E5>E5E5E5E5E5FEP>E5E5E5E5E5FEJ$C#;#;"I(J(
+8FEFEE5FEFEFEFEFEFEFEE5FEFEE5E5PBFEFEE5FEFEE5E5J%@.8+?.J.
+6FEFEFEE5E5FEFEFEFEE5E5E5FEFEFEFEE5E5FEFEE5E5FEFEFEFEE5E5FEFEFEFEE5E5E5FEFEFEFEE5P<E5FEFEFEFEE5E5E5FEFEFEFEE5J&9&:%9%:#8%8#9#8%9%J#:&8%9%
+4E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5P1E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5
+
+
+
+
+
+
+
+H5>2C5>2
+PIFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEPHFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEH5>4B5=4
+PHFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FFPHFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FFH5?#r"r#B#Z>#r"r#
+PGFFFEDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEE5FEDEFEDEFFE5FFFEPEE5FEDEFEDEFFE5H#z"?#<#=#B#J#<#=#
+FEFFPDDEFEFEE5FFE5E5FFFEFFPMFEE5FFE5E5FFH#J"B$8#A":#J"J"?#<$<#B#J"J#<$<#
+FFFE8FEFEFEFEFEFEFEFEFECFE>DEE5FEE5FEE5FFE5FFFE4FEP8E5FEE5FEE5FFE5H#8"I#B(A#:"J#J"?#;%<#B#I(A"<"H&J#;%<#
+FEFFFEFEFEFEDEDEDEFEDEDEFEDEDECFEDE>FEFEE5E5FFE5FEE5FFFEFFFEFFFEFEFEFEFEFEFEFEFEFEFEFEO7FEE5E5FFE5FEE5FFH#J#J"?#;&;#B#J'J'J#;&;#
+FFFE6DEDEP,DEE5FEFFE5E5E5FEFFE5FFFE5FFFEFFFFFFFEDFFFEFFFFFFFEO6E5FEFFE5E5E5FEFFE5H)9$J$<#9$:$8&:$:$<#J"?#:#8#;#B#8$:$<#>#8#8&8&9$8&A$8(J#:#8#;#
+FEFFDEFEFEFEFEFEFEFEFE@FEFEFEFEDEFEFEFEFEFEFEFEFEFEDEFEFEFEFEFEFEFEFEDE?FEFEE5FFE5FEE5E5FFFEFFFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEO'FEE5FFE5FEE5E5FFH)8&J%?%9-8&8&J"?#:#8$:#B)8&@'9"9&8&8-9%8)9#J#:#8$:#
+FFFEDEDEFEDEDEDEFEDEDEDEFE?DEDEDEFEFEDEDEDEFEDEDEDEFEDEDEFEDEFEDEFEFEDEDEDEFEFEDEDEDEFEFDEE5FEE5FFE5FEE5FFE5FFFEFFFEFFFFFFFEFEFFFFFFFEFEFEFEFFFFFFFFFFFEFFFFFFFFFEFFFFFFFEFFFFFFFEFFFFFEFEFFFFFEFEFEFEFFFEFFFFFFFEFFFFFFFFFFO'E5FEE5FFE5FEE5FFE5H#>&8&J#A$G&:#J"?#9$9#:#B#>&:#:%J"<%@$J#9$9#:#
+FEFFDEFEFEFEDEFEFEFEFEFE@FEDEFEFEFEDEFEFEFEDEFEDE@FEFEE5E5FFE5E5FEE5FFFEFFFFFEFEFEFFFEFFFFFFFFFE?FFFFFFFFFEFFFEFFO)FEE5E5FFE5E5FEE5FFH#?%8&J%G%J"?#9#;#9#B#?%J$J#9#;#9#
+FFFEDEDEDEFEDEDEDEDEDEMDEDEDEDEDEDEDEFEFDEE5FEFFE5E5FEFFE5FFFEFFFFFFFEO4FEFFFEO)E5FEFFE5E5FEFFE5H#<$J#E"F"=#J"?#8#<#9#B#>"=#J"<"J&J#8#<#9#
+FEFFFEDEFEJFEDEFEFEFEDEAFEFEE5FFE5FEE5E5FFFEFFFEFEFF7FEFE=FEFFFFFFFEO(FEE5FFE5FEE5E5FFH#8,?&9";-?/;(8&@"J"?#8#<$8#B)8&>'8'8&809(8(;"J#8#<$8#
+FFFEDEFEFEFEDEDEDEFEFEFEDEFEFEFEFEFEFEDEFEFEFEDEDEFEDEFEFEFEDEDEFEFEFEDEFEDEDEFEFEFEDEDEFEFEDEDEFEFEFEDEDEFEFEFEDEFE;DEE5FEE5FFE5FEE5FFE5FFFEFFFFFEFEFEFFFFFEFEFEFFFEFEFEFEFEFFFFFEFEFEFFFEFFFEFEFEFFFFFEFEFEFFFFFFFEFEFEFFFFFEFEFEFEFEFEFEFEFEFFFFFEFEFEFFFFFEFEO'E5FEE5FFE5FEE5FFE5H#9$9$@&9"<$8&9#<&8$8r8$:$9#<"J"?'=#8#B#8$:$9#:P:P9$:$9$8$8R:$8#9#J'=#8#
+FEFFDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEFEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEFEDEDE;FEFEE5DEE5FFE5E5FEE5FFFEFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFO'FEE5DEE5FFE5E5FEE5FFH#J"J"J"?&?&B#E"J&?&
+FFFEO$DEIDECDEE5FEDEFFE5E5FEDEFFE5FFFEFFP=E5FEDEFFE5E5FEDEFFE5H#J"?4B#J4
+FEFFPDFEFEE5FFE5FEE5FEE5FEE5FEE5FEE5FEE5DEE5FFFEFFPMFEE5FFE5FEE5FEE5FEE5FEE5FEE5FEE5DEE5FFH#J"?4B#J4
+FFFEPDDEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FFE5FFFEPME5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FFE5H5?#z#B#J#z#
+PGFEFFFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEFEE5/DEE5FFFEFFPMFEE5/DEE5FFH#Z?4B#J4
+FFFEPEE5FEE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFFEPME5FEE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5H#J4B#J4
+FEFFQ FEE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FEE5FFFEFFPMFEE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FEE5FFH#J"B$8#A":#J"J%v%B#J"@"A$J%v%
+FFFE8FEFEFEFEFEFEFEFEFECFEHE5FEE5FFE5FEE5FFE5FFFE4FEFEFEFEFEOME5FEE5FFE5FEE5FFE5H#8"I#B(A#:"J#J%A%B#I(;"A#J%A%
+FEFFFEFEFEFEFFFFFFFEFFFFFEFFFFCFEFFHFEE5FFE5E5FEE5FFFEFFFEFFFEFEFEFEFEFFFFFFP FEE5FFE5E5FEE5FFH#J#J%A%B#J'J%A%
+FFFE6FFFFP6E5FEE5FFFEE5FFE5FFFE5FFFEFFFFFFFEP2E5FEE5FFFEE5FFE5H)9$J$<#9$:$8&:$:$<#J%A%B#8$:$<#?$:%A$:&J%A%
+FEFFFFFEFEFEFEFEFEFEFE@FEFEFEFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFFIFEE5FFE5E5FEE5FFFEFFFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFEFFFEO<FEE5FFE5E5FEE5FFH)8&J%?%9-8&8&J%A%B)8&F#;&?&8'J%A%
+FFFEFFFFFEFFFFFFFEFFFFFFFE?FFFFFFFEFEFFFFFFFEFFFFFFFEFFFFFEFFFEFFFEFEFFFFFFFEFEFFFFFFFEO"E5FEE5FFFEE5FFE5FFFEFFFEFFFFFFFEFEFFFFFFFEFFFFFFFFFFFFFEFEFFFFFFFEFEFFFFFFFEFFO<E5FEE5FFFEE5FFE5H#>&8&J#A$G&:#J%A%B#>&:#H$J%A%
+FEFFFFFEFEFEFFFEFEFEFEFE@FEFFFEFEFEFFFEFEFEFFFEFFJFEE5FFE5E5FEE5FFFEFFFFFEFEFEFFFEFFFEFEFEP%FEE5FFE5E5FEE5FFH#?%8PJ%G%J%A%B#?%J%J%A%
+FFFEFFFFFFFEMFFFFFFFFFFFFFFFEO"E5FEE5FFFEE5FFE5FFFEFFFFFFFE7FEFFFFFFP%E5FEE5FFFEE5FFE5H#<$J#E"F"=#J%A%B#>"=#J%A%
+FEFFFEFFFEJFEFFFEFEFEFFKFEE5FFE5E5FEE5FFFEFFFEFEFFP;FEE5FFE5E5FEE5FFH#8,?&9";-?/;(8&@"<"J%A%B)8&>'8&848%J%A%
+FFFEFFFEFEFEFFFFFFFEFEFEFFFEFEFEFEFEFEFFFEFEFEFFFFFEFFFEFEFEFFFFFEFEFEFFFEFFFFFEFEFEFFFFFEFEFFFFFEFEFEFFFFFEFEFEFFFEFE>E5FEE5FFFEE5FFE5FFFEFFFFFEFEFEFFFFFEFEFEFFFEFEFEFEFEFFFEFEFEFEFEFFFEFEFEFFFEFFFEFEFEFEFEFEFFFFFEFEFEFFFFFEFEFEO>E5FEE5FFFEE5FFE5H#9$9$@P9"<$8P9#<P8$8R8$:$9#<"<"J%A%B#8$:$9#:P9P9W8$:$J%A%
+FEFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFEFFFFFF>FEE5FFE5E5FEE5FFFEFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFO>FEE5FFE5E5FEE5FFH#J"J"J%A%B#E"J%A%
+FFFEO$FFIFFME5FEE5FFFEE5FFE5FFFEFFP=E5FEE5FFFEE5FFE5H#J%A%B#J%J%A%
+FEFFQ FEE5FFE5E5FEE5FFFEFFO,FEFEFEFFO=FEE5FFE5E5FEE5FFH#J%A%B#J$J%A%
+FFFEQ E5FEE5FFFEE5FFE5FFFEO,FFFFFFO>E5FEE5FFFEE5FFE5H#J%A%B#J%A%
+FEFFQ FEE5FFE5E5FEE5FFFEFFPMFEE5FFE5E5FEE5FFH#J%A%B#J%A%
+FFFEQ E5FEE5FFFEE5FFE5FFFEPME5FEE5FFFEE5FFE5H#J%A%B#J%A%
+FEFFQ FEE5FFE5E5FEE5FFFEFFPMFEE5FFE5E5FEE5FFH#J"B$8#A":#J"J%A%B#J"@"A$J#C$:$J%A%
+FFFE8FEFEFEFEFEFEFEFEFECFEHE5FEE5FFFEE5FFE5FFFE4FEFEFEFEFE8FEFEFEFEFEFEFEFEJE5FEE5FFFEE5FFE5H#8"I#B(A#:"J#8$8(8%J%A%B#I(;"A#J'D#;#J%A%
+FEFFFEFEFEFEFFFFFFFEFFFFFEFFFFCFEFFFEFEFEFEFEFEFFFEFEFEFEFEFEFE4FEE5FFE5E5FEE5FFFEFFFEFFFEFEFEFEFEFFFFFF4FEFEFEFEFFFFFFFFFFFFKFEE5FFE5E5FEE5FFH#J#J3J%A%B#J'J%J%A%
+FFFE6FFFFO=FEFFFFFFFEFFFFFEFFFFFFFEFFFFFEFFFFFF5E5FEE5FFFEE5FFE5FFFE5FFFEFFFFFFFEEFEFFFFFFO7E5FEE5FFFEE5FFE5H)9$J$<#9$:$8&:$:$<#J"J%A%B#8$:$<#?$:%A$:&;":#:$J%A%
+FEFFFFFEFEFEFEFEFEFEFE@FEFEFEFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFF4FF4FEE5FFE5E5FEE5FFFEFFFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFEFFFEFFFEFEFEFEFEO)FEE5FFE5E5FEE5FFH)8&J%?%9-8&8&C"9$:#J%A%B)8&F#;&?&8'8#;%8&J%A%
+FFFEFFFFFEFFFFFFFEFFFFFFFE?FFFFFFFEFEFFFFFFFEFFFFFFFEFFFFFEFFFEFFFEFEFFFFFFFEFEFFFFFFFEFFFEFFFEFEFE6E5FEE5FFFEE5FFE5FFFEFFFEFFFFFFFEFEFFFFFFFEFFFFFFFFFFFFFEFEFFFFFFFEFEFFFFFFFEFFFEFEFEFFFFFEFEFFFFFFFEO(E5FEE5FFFEE5FFE5H#>&8&J#A$G&:#@"9"8&J%A%B#>&:#H$J&9"<$J%A%
+FEFFFFFEFEFEFFFEFEFEFEFE@FEFFFEFEFEFFFEFEFEFFFEFFFFFFFFFFFEFEFE4FEE5FFE5E5FEE5FFFEFFFFFEFEFEFFFEFFFEFEFE8FFFFFEFEFEFFFEFEFEO)FEE5FFE5E5FEE5FFH#?%8PJ%G%C"A#J%A%B#?%J%J#A%J4
+FFFEFFFFFFFEMFFFFFFFFFFFFFFFEFEFFFF5E5FEE5FFFEE5FFE5FFFEFFFFFFFE7FEFFFFFF:FFFFFFFFFFFFO(E5FEE5FFE5FEE5FEE5FEE5FEE5FEE5FEE5FFE5H#<$J#E"F"=#C":"J%A%B#>"=#J"G"J4
+FEFFFEFFFEJFEFFFEFEFEFFFEFE8FEE5FFE5E5FEE5FFFEFFFEFEFFO FEFEO(FEE5FFE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FFH#8,?&9";-?/;(8&?&9$:%J%A%B)8&>'8&848%:38.J#z#
+FFFEFFFEFEFEFFFFFFFEFEFEFFFEFEFEFEFEFEFFFEFEFEFFFFFEFFFEFEFEFFFFFEFEFEFFFEFFFFFEFEFEFFFFFEFEFFFFFEFEFEFFFFFEFEFEFFFFFEFEFEFFFFFEFFFEFEFEFF4E5FEE5FFFEE5FFE5FFFEFFFFFEFEFEFFFFFEFEFEFFFEFEFEFEFEFFFEFEFEFEFEFFFEFEFEFFFEFFFEFEFEFEFEFEFFFFFEFEFEFFFFFEFEFEFEFEFEFFFFFEFEFEFFFEFEFEFFFFFEFEFEFFFEFEFEFEFEFEFFFEFEFEFEFEFEGE5FE/DEFFE5H#9$9$@P9"<$8P9#<P8$8R8$:$9#<$;":%J%A%B#8$:$9#:P9P9W8$:$9%8R8$9XJ#E#
+FEFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFF5FEE5FFE5E5FEE5FFFEFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFEE5E5FFH#J"J"J%A%B#E"J#E#
+FFFEO$FFIFFME5FEE5FFFEE5FFE5FFFEFFP=E5FEFFE5H#J%A%B#J%J#E#
+FEFFQ FEE5FFE5E5FEE5FFFEFFO,FEFEFEFFO=FEE5E5FFH#J%A%B#J$J#E#
+FFFEQ E5FEE5FFFEE5FFE5FFFEO,FFFFFFO>E5FEFFE5H#J%A%B#J#E#
+FEFFQ FEE5FFE5E5FEE5FFFEFFPMFEE5E5FFH#J%A%B#J#E#
+FFFEQ E5FEE5FFFEE5FFE5FFFEPME5FEFFE5H#J%A%B#J#E#
+FEFFQ FEE5FFE5E5FEE5FFFEFFPMFEE5E5FFH#J%A%B#J"J"A$=#J#E#
+FFFEQ E5FEE5FFFEE5FFE5FFFE4FEMFEFEFEFEFEFEO!E5FEFFE5H#J%A%B#I)@"H':"A#>"J#E#
+FEFFQ FEE5FFE5E5FEE5FFFEFFFEFFFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFO"FEE5E5FFH#J%A%B#J&J&J#E#
+FFFEQ E5FEE5FFFEE5FFE5FFFE5FFFEFFFFFF>FFFEFFFFFFO>E5FEFFE5H#J%A%B#8$:$<#:*9&8.9":$;$A$J#E#
+FEFFQ FEE5FFE5E5FEE5FFFEFFFEFEFEFEFEFEFEFFFEFFFFFFFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEFFFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFEO"FEE5E5FFH#J%A%B)8&@":'8&8#P'8"8"8#;&?%J#E#
+FFFEQ E5FEE5FFFEE5FFE5FFFEFFFEFFFFFFFEFEFFFFFFFEFEFFFEFEFFFFFEFFFEFFFFFFFFFEFEFFFFFFFEFFFEFFFFFFFEFFFFFFFEFEFFFFFFO"E5FEFFE5H#J%A%B#>&:#:"<"J"C$J#E#
+FEFFQ FEE5FFE5E5FEE5FFFEFFFFFEFEFEFFFEFFFFFF;FFFEFEFEO0FEE5E5FFH#J%A%B#?%A"J&:"B%J#E#
+FFFEQ E5FEE5FFFEE5FFE5FFFEFFFFFFFEFF9FFFEFFFEFFFFFFFFFFFFO/E5FEFFE5H#J%A%B#>"=#>"D"@"J"J#E#
+FEFFQ FEE5FFE5E5FEE5FFFEFFFEFEFFFEFEFE6FEO/FEE5E5FFH#J%A%B)8&>&8$9"8+:$8%:&8&8.J#E#
+FFFEQ E5FEE5FFFEE5FFE5FFFEFFFFFEFEFEFFFFFEFEFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEFFFFFEFEFEFEFFFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEFFFEFEFEFEFEFEFFFFFEFEFEFFFEO E5FEFFE5H#J%A%B#8$:$9#:U8#9$8%?%:P9$9Q8PJ#E#
+FEFFQ FEE5FFE5E5FEE5FFFEFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFO FEE5E5FFH#J%A%B#E"J#E#
+FFFEQ E5FEE5FFFEE5FFE5FFFEFFP=E5FEFFE5H#J%A%B#J$J#E#
+FEFFQ FEE5FFE5E5FEE5FFFEFFO$FEFEFFOFFEE5E5FFH#J%A%B#J#J#E#
+FFFEQ E5FEE5FFFEE5FFE5FFFEO$FFFFOGE5FEFFE5H#J%A%B#J#E#
+FEFFQ FEE5FFE5E5FEE5FFFEFFPMFEE5E5FFH#J%A%B5@#E#
+FFFEQ E5FEE5FFFEE5FFE5PEFFFEDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEE5FEFFE5H#J%A%B#z?#E#
+FEFFQ FEE5FFE5E5FEE5FFFEFFPDDEFEE5E5FFH#J%A%B#J"@":$J$J"J#E#
+FFFEQ E5FEE5FFFEE5FFE5FFFE4FEFEFEFEFE9FEFEFE;FEJE5FEFFE5H#J%A%B#I):":#C%?#J"="G&J#E#
+FEFFQ FEE5FFE5E5FEE5FFFEFFFEDEFEFEFEFEFEFEDEDEDEFEFEFEFEDEDE4FEDEFEFEFEFEFE4FEE5E5FFH#J%A%B#J&J%J'I#E#
+FFFEQ E5FEE5FFFEE5FFE5FFFE5DEFEDEDEDE8FEDEDEDEO,DEFEDEDEDEFEE5FEFFE5H#J%A%B#8$:$<#:":$B$="9$A$:$9&8$;$8&A$8#?#E#
+FEFFQ FEE5FFE5E5FEE5FFFEFFFEFEFEFEFEFEFEDEFEFEFEFEFEFEFEDEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEDEFEFEFEFEFEFEFEFEFEE5E5FFH#J%A%B)8&@"8"8#B&9#:&?&8&8&8#;-9%8)?#E#
+FFFEQ E5FEE5FFFEE5FFE5FFFEDEFEDEDEDEFEFEDEDEDEFEFEDEDEDEFEDEDEDEFEFEFEFEDEDEDEFEFEDEDEDEFEFEDEDEDEFEDEFEDEDEDEDEDEFEDEDEDEFEDEDEFEFEDEDEFEFEFEFEDEFEDEDEDEFEDEDEDEE5FEFFE5H#J%A%B#>&:#:"J$9&9$A$="J"<%I#E#
+FEFFQ FEE5FFE5E5FEE5FFFEFFDEFEFEFEDEFEDEDE4FEFEFEDEDEFEFEFEFEFEFEFEFEFEDE8DEDEDEDEFEFEE5E5FFH#J%A%B#?%A"I%:#:%@%J#E#
+FFFEQ E5FEE5FFFEE5FFE5FFFEDEDEDEFEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEO/E5FEFFE5H#J%A%B#>"=#J"8"@"C"<"="J"?#E#
+FEFFQ FEE5FFE5E5FEE5FFFEFFFEFEDE=FEFEFEFEFEFEDFEFEE5E5FFH#J%A%B)8&>%:&8-9%8&8-8&9,8*9(8(@#E#
+FFFEQ E5FEE5FFFEE5FFE5FFFEDEDEFEFEFEDEDEFEFEFEDEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEDEDEFEFEFEDEFEFEFEDEDEFEFEFEDEFEFEFEFEFEFEDEDEFEFEFEDEDEFEFEFEDEDEFEFEFEDEDEFEFEFEFEFEDEFEFEFEDEDEFEFEFEFEFEFEFEFEFEDEDEFEFEFEDEDEFEE5FEFFE5H#J%A%B#8$:$9#:%:&8'8$9%:$9'8$:$;$8&9$8$8r:$8#?#E#
+FEFFQ FEE5FFE5E5FEE5FFFEFFDEDEDEDEDEDEFEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEFEE5E5FFH#J%A%B#E"J#E#
+FFFEQ E5FEE5FFFEE5FFE5FFFEDEP=E5FEFFE5H#J%A%B#J#E#
+FEFFQ FEE5FFE5E5FEE5FFFEFFPMFEE5E5FFH#J%A%B#J#E#
+FFFEQ E5FEE5FFFEE5FFE5FFFEPME5FEFFE5H#J%A%B5@#E#
+FEFFQ FEE5FFE5E5FEE5FFPEFEFFFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEFEE5E5FFH#J%A%B#Z?#E#
+FFFEQ E5FEE5FFFEE5FFE5FFFEPDE5FEFFE5H#J%A%B#J#E#
+FEFFQ FEE5FFE5E5FEE5FFFEFFPMFEE5E5FFH#J%A%B#J"@":$J$J"J"D#E#
+FFFEQ E5FEE5FFFEE5FFE5FFFE4FEFEFEFEFE9FEFEFE;FE;FEE5FEFFE5H#J%A%B#I):":#C%?#J"="G&;"D#E#
+FEFFQ FEE5FFE5E5FEE5FFFEFFFEFFFEFEFEFEFEFEFFFFFFFEFEFEFEFFFF4FEFFFEFEFEFEFEFFFEE5E5FFH#J%A%B#J&J%J'I#E#
+FFFEQ E5FEE5FFFEE5FFE5FFFE5FFFEFFFFFF8FEFFFFFFO,FFFEFFFFFFFEE5FEFFE5H#J%A%B#8$:$<#:":$B$="9$A$:$9&8$;$8&@$:"?#E#
+FEFFQ FEE5FFE5E5FEE5FFFEFFFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEE5E5FFH#J%A%B)8&@"8"8#B&9#:&?&8&8&8#;-?#;"?#E#
+FFFEQ E5FEE5FFFEE5FFE5FFFEFFFEFFFFFFFEFEFFFFFFFEFEFFFFFFFEFFFFFFFEFEFEFEFFFFFFFEFEFFFFFFFEFEFFFFFFFEFFFEFFFFFFFFFFFEFFFFFFFEFFFFFEFEFFFFFEFFFFFFE5FEFFE5H#J%A%B#>&:#:"J$9&9$A$="J"J#E#
+FEFFQ FEE5FFE5E5FEE5FFFEFFFFFEFEFEFFFEFFFF4FEFEFEFFFFFEFEFEFEFEFEFEFEFEFF8FF=FEE5E5FFH#J%A%B#?%A"I%:#:%@%J"?#E#
+FFFEQ E5FEE5FFFEE5FFE5FFFEFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFO%FEE5FEFFE5H#J%A%B#>"=#J"8"@"C"<"="J#E#
+FEFFQ FEE5FFE5E5FEE5FFFEFFFEFEFF=FEFEFEFEFEFEO FEE5E5FFH#J%A%B)8&>%:&8-9%8&8-8&9,8*9(8&8"?#E#
+FFFEQ E5FEE5FFFEE5FFE5FFFEFFFFFEFEFEFFFFFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFEFEFEFFFEFEFEFFFFFEFEFEFFFEFEFEFEFEFEFFFFFEFEFEFFFFFEFEFEFFFFFEFEFEFFFFFEFEFEFEFEFFFEFEFEFFFFFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFFE5FEFFE5H#J4B#8$:$9#:%:P8Q8$9%:$9Q8$:$;$8P9$8$8R9PB#E#
+FEFFQ FEE5FFE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FFFEFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE5E5FFH#J4B#E"J#E#
+FFFEQ E5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FFE5FFFEFFP=E5FEFFE5H#J#z#B#J#E#
+FEFFQ FEE5/DEE5FFFEFFPMFEE5E5FFH#J4B#J4
+FFFEQ E5FEE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFFEPME5FEE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5H#J4B#J4
+FEFFQ FEE5DEE5FFE5FFE5FFE5FFE5FFE5FFE5FEE5FFFEFFPMFEE5DEE5FFE5FFE5FFE5FFE5FFE5FFE5FEE5FFH#J%v%B#J%v%
+FFFEQ E5FEDEFFE5FEDEFFE5FFFEPME5FEDEFFE5FEDEFFE5H#J&?&B#J&?&
+FEFFQ FEE5DEDEFFFEE5DEE5FFFEFFPMFEE5DEDEFFFEE5DEE5FFH#J#8#='B#J"D#C$D#A"=#J#8#='
+FFFEQ E5FEE5FFFEE5DEDEFFE5FFFE4FEFEFEFEFEFEFEFEFEFEFEO!E5FEE5FFFEE5DEDEFFE5H#J#8$<#8#B#I&A"D#E"8(9"="H"J#8$<#8#
+FEFFQ FEE5DEE5FFE5FEE5FFFEFFFEFFFEFEFEFFFFFFFFFEFEFEFFFEFEFEFFFFFE=FEE5DEE5FFE5FEE5FFH#J#9#<#8#B#J$J(J#9#<#8#
+FFFEQ E5FEFFE5FEDEFFE5FFFE5FFFEFFO FFFEFFFFFFFEFFO.E5FEFFE5FEDEFFE5H#J#9#;#9#B#8$:$<#?%:$:$A$:$;":$;$:&8$9&J#9#;#9#
+FEFFQ FEE5DEFFFEE5E5FFFEFFFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFE:FEE5DEFFFEE5E5FFH#J#:#9$9#B)8&F&9%8&?&8%@#;%9-8&J#:#9$9#
+FFFEQ E5FEE5FFFEE5DEFFE5FFFEFFFEFFFFFFFEFEFFFFFFFEFFFFFFFFFEFFFFFFFEFEFFFFFFFEFEFFFFFFFEFEFFFFFFFFFFFEFFFFFFFEFFFFFFFEFFFFFEFFFFFFFEFFFEFFFFFF:E5FEE5FFFEE5DEFFE5H#J#:$8#:#B#>&:#A$A$A$J$J#:$8#:#
+FEFFQ FEE5DEE5FFE5FEE5FFFEFFFFFEFEFEFFFEFFFEFEFEFEFEFEFEFEFEGFEFEFEBFEE5DEE5FFE5FEE5FFH#J#;#8#:#B#?%C"8%A%@%@$J%J#;#8#:#
+FFFEQ E5FEFFE5FEDEFFE5FFFEFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFEFFFE9FFFFFFFFAE5FEFFE5FEDEFFE5H#J#;&;#B#>"=#J"C"?"9"J"="J#;&;#
+FEFFQ FEE5DEFFE5FEE5E5FFFEFFFEFEFF=FEFEFFFF;FEFE9FEE5DEFFE5FEE5E5FFH#J#<%;#B)8&>&9-8&8-8'>&8,9&9&J#<%;#
+FFFEQ E5FEE5FEE5DEFFE5FFFEFFFFFEFEFEFFFFFEFEFEFFFEFEFEFEFEFFFEFEFEFFFEFEFFFEFEFEFFFFFEFEFEFFFEFEFEFEFEFEFFFFFEFEFEFFFFFEFEFEFFFEFEFEFEFEFEFFFEFEFEFFFEFFFFFEFEFEFFFEFEFEFFFFFEFEFEFF9E5FEE5FEE5DEFFE5H#J#<$<#B#8$:$9#:Q9U:$9Q8$:P8$9P9P8$:$;$J#<$<#
+FEFFQ FEE5DEE5FEE5FFFEFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FEE5DEE5FEE5FFH#J#=#<#B#E"J#=#<#
+FFFEQ E5FEFEDEFFE5FFFEFFP=E5FEFEDEFFE5H#J4B#J"J4
+FEFFQ FEE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFFEFFP$FFHFEE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFH"J4B"J4
+FFQ!E5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFQ E5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5Hz>zCz>z
+PIE51E5PHE51E5
+
+
+
+
+
+I5J5
+PGFEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEHPGFEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEH5J5
+PIFEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FFFPHFEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5H#y"z5x#J#y"z5x#
+E5FEDEE5O:DE=FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5DEE5FFDEFFE5FE5FEDEE5O9DE=E5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5DEDEDEDEDEDEFFE5DEE5FFH#B$J5A#J#B$J5<%A#
+FEE5FFE5FEO:?E5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FEDEFFE5FFE5E5FFFFEE5FFE5FEO95FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FEE5FFE5FFFFE5H#@&J"z*?#J#@&J#z#<'?#
+E5FEE5FFE5FEE5O:FF7E5FEE5DEE5FFE5FFE5FFFFE5FE5FEE5FFE5FEE5O9E5FF1E5FEE5FFE5FFE5FFE5E5FFH#>(J#J,=#J#>(J#G#<)=#
+FEE5FFE5FFE5E5E5FEO:E5FF6E5FEDEFFE5E5E5FFE5FFE5E5FFFFEE5FFE5FFE5E5E5FEO9FFE5E5FEE5FFE5E5E5FFE5FFFFE5H#<&8#J#J&8';#J#<&8#J#G#<#9&;#
+E5FEE5FFE5FFE5FEE5O:FFE56FEE5DEE5FFE5E5E5FFE5FFFFE5FE5FEE5FFE5FFE5FEE5O9E5FFFEE5FFE5E5FFE5FFE5E5FFH#:'9#J#J&;&9#J#:'9#J#G#<#:'9#
+FEE5FFE5FFE5E5E5E5FEO:E5FF6E5FEDEFFE5E5FFE5FFE5E5FFFFEE5FFE5FFE5E5E5E5FEO9FFE5E5FEE5FFE5E5E5FFE5FFFFE5H#8&<#J#J&<*J#8&<#J#G#<#=)
+E5FEE5FFE5FFE5FEE5O:FFE56FEE5DEE5FFE5E5E5FFE5FFDEFFE5FE5FEE5FFE5FFE5FEE5O9E5FFFEE5FFE5E5FFE5FFE5DEE5FFH)=#J#J&?'J)=#J#G#<#>(
+FEE5FEE5FEE5E5E5E5FEO:E5FF6E5FEDEFFE5E5FEE5FEE5FFFFEE5FEE5FEE5E5E5E5FEO9FFE5E5FEE5FFE5FEE5FEE5FFE5H)=#J#J&?'J)=#J#G#<#>(
+E5FEDEDEE5FEE5FEFEE5O:FFE56FEE5DEE5FFFEE5FEDEFFE5FE5FEDEDEE5FEE5FEFEE5O9E5FFFEE5FFE5FEE5FEE5DEE5FFH#8&<#J#J&<*J#8&<#J#G#<#=)
+FEE5DEDEFEE5FEE5FEO:E5FF6E5FEDEFFE5FEE5FEE5DEDEDEE5FFFFEE5DEDEFEE5FEE5FEO9FFE5E5FEE5FFFEE5FEDEDEDEFFE5H#:'9#J#J&;&9#J#:'9#J#G#<#:'9#
+E5FEDEDEE5FEE5FEFEE5O:FFE56FEE5DEE5FFFEE5FEDEDEFFE5FE5FEDEDEE5FEE5FEFEE5O9E5FFFEE5FFE5FEE5FEE5DEDEE5FFH#<&8#J#J&8';#J#<&8#J#G#<#9&;#
+FEE5DEDEFEE5FEE5FEO:E5FF6E5FEDEFFE5FEE5FEE5DEDEE5FFFFEE5DEDEFEE5FEE5FEO9FFE5E5FEE5FFFEE5FEDEDEFFE5H#>(J#J,=#J#>(J#G#<)=#
+E5FEDEDEE5FEE5FEE5O:FFE56FEE5DEE5FFE5FEE5FEDEDEFFE5FE5FEDEDEE5FEE5FEE5O9E5FFFEE5FFE5FEE5FEE5DEDEE5FFH#@&J5?#J#@&J5<'?#
+FEE5DEDEFEE5FEO:AE5FFE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEDEFFE5FEE5DEDEE5FFFFEE5DEDEFEE5FEO95FFE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FFE5FEDEDEFFE5H#B$J5A#J#B$J5<%A#
+E5FEDEDEE5O:?FFE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5DEE5FEDEDEFFE5FE5FEDEDEE5O95E5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FEE5FFE5DEDEE5FFH5J5
+PIFEE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFFPHFEE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5H5J5
+PIE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FPHE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFE5FFIzJz
+PGE5HPGE5
+
+
+
+
+
+
+
+
+
+
+
+
+J&?#F#8#
+5FEFEFEFEFEFEFEFEFEFEFEJ(J#
+4FEFEE5E5E5FEFE>E5E5J%<%9%8"8%8%8&
+=FEFEFEFEFEFEFEFEFEFEFEFEFEFEE5FEFEFEFEFEFEFEFEE5FEFEJ/:08":'9%
+4E5FEFEFEE5E5E5E5FEFEE5E5FEFEFEFEE5E5FEFEE5FEFEE5E5FEFEE5E5E5FEFEE5E5FEFEFEE5FEFEJ&J#H"
+5E5E5FEFEFE7E5E5E5J"8"9#>#
+7E5FEFEFEFEFEJ#8";%<%
+4FEFEE5E5E5E5E5E5E5E5E5J#>#;#;"
+@FEFEFEFEFEFEFEJ/:.8%9'
+4E5FEFEFEFEFEE5E5E5FEFEFEFEE5E5FEFEFEFEE5E5E5FEFEFEFEE5E5FEFEE5E5FEFEFEFEE5J&9%8#8%9%:&8%8#8#
+5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5
+
+
+
+
+
+
+Fz
+U*FE
+H5
+U%FFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFH5
+U&FEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFH#Z
+FFFEU#H#J#
+FEFFO1FEFEH#J"J"9"C"=#J"B$8#A":#J"@":$J$J"
+FFFE5FEO"FEFEFEFEFEGFEFEFEFEFEFEFEFEFECFEFEFEFEFE9FEFEFE;FEH#J#J#9"C"="H"I#B(A#:"J):":#C%?#J"="G&
+FEFF4FEFFO!FEFFFFFFFFFEFEFEFEFFFFFFFEFFFFFEFFFFCFEFFFEFEFEFEFEFEFFFFFFFEFEFEFEFFFF4FEFFFEFEFEFEFEH#J#J&J%J'
+FFFEPKFFFFO<FFFEFFFFFF8FEFFFFFFO,FFFEFFFFFFFEH#8&9$<#9$:$8&8&:$8&<#8$9,;$:&8$9&9$J$<#9$:$8&:$:$<#:":$B$="9$A$:$9&8$;$8&A$8(
+FEFFFEFFFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEFEFFFEFEFEFEFEFFFEFEFEFEFFFEFEFEFEFEFEFFFEFEFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFE@FEFEFEFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEH#8&8&?&848-?#:+;%9-8&8&J%?%9-8&8&@"8"8#B&9#:&?&8&8&8#;-9%8)9#
+FFFEFFFEFFFFFFFEFFFFFFFEFEFFFFFFFEFEFFFFFFFEFFFFFEFFFEFFFEFFFFFEFFFEFFFEFEFFFFFFFEFFFFFEFEFFFFFEFFFFFFFEFFFFFFFEFFFFFFFFFEFFFFFFFEFFFFFFFEFFFFFEFFFFFFFEFFFEFFFFFFFEFFFFFFFE?FFFFFFFEFEFFFFFFFEFFFFFFFEFFFFFEFFFEFFFEFEFFFFFFFEFEFFFFFFFEFEFFFFFFFEFFFFFFFEFEFEFEFFFFFFFEFEFFFFFFFEFEFFFFFFFEFFFEFFFFFFFFFFFEFFFFFFFEFFFFFEFEFFFFFEFEFEFEFFFEFFFFFFFEFFFFFFFFFFH#C":#="J"=#B"J$@&8&J#A$G&:#:"J$9&9$A$="J"<%@$
+FEFFFFFEFFFF?FFFEFFFE:FEFEFEFFFEFEFEFFFEFEFEFEFE@FEFFFEFEFEFFFEFEFEFFFEFFFF4FEFEFEFFFFFEFEFEFEFEFEFEFEFEFF8FFFFFFFFFEFFFEFFH#J%@%8PJ%G%A"I%:#:%@%J$
+FFFEP0FFFFFFFFFFFFFFFEMFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFO&FEFFFEH#C"9#>"J#A&J"=$J#E"F"=#J"8"@"C"<"="J&
+FEFFFEFEFFFEFFEFFFFFEFFFEFF;FEFEFFFEJFEFFFEFEFEFF=FEFEFEFEFEFEDFEFFFFFFFEH#8%9&?&8(;#;,B&?&8,9&9,?&9";-?/;(8&>%:&8-9%8&8-8&9,8*9(8(;"
+FFFEFEFEFEFEFFFEFEFEFFFFFEFEFEFFFFFEFEFEFFFFFEFEFEFEFFFFFEFEFEFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFFFEFEFEFFFEFFFFFEFEFEFFFEFEFEFFFFFEFEFEFFFFFFFEFEFEFFFEFEFEFEFEFEFFFEFEFEFFFFFEFFFEFEFEFFFFFEFEFEFFFEFFFFFEFEFEFFFFFEFEFFFFFEFEFEFFFFFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFEFEFEFFFEFEFEFFFFFEFEFEFFFEFEFEFEFEFEFFFFFEFEFEFFFFFEFEFEFFFFFEFEFEFFFFFEFEFEFEFEFFFEFEFEFFFFFEFEFEFEFEFEFEFEFEFFFFFEFEFEFFFFFEFE&C#8%:$9#<$:$8Y8$8$8"8#;P9$9P9P8$:$;$9$@P9"<$8P9#<P8$8R8$:$9#:%:P8Q8$9%:$9Q8$:$;$8P9$8$8R:$8#9#F%
+F7F7F7F7F7FEFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7F7F7&C#F"J"J"J"J&
+F6F6F6F6F6FFFEFFO"FFP%FFIFFPIF6F6F6F6F68$C#J%J%
+F9F9F9FEFFP)FEFEFEFFS%F9F9F9F7H#J#J$
+FFFEO1FFFFDFFFFFFH#
+FEFFH"
+FFHz
+U&FE
+Fz
+U*E5
+
+
+
+
+
+
+
+
+<z"z"z
+0F6F7TJF6F71F6;z8z8z
+1F9TIF91F9
+
+7z8z8z
+5F7TIF74F7"J"J"
+F76F7TJF7
+ENDBITMAP
+%%EndBinary
+117 510 261 528 R
+7 X
+V
+4 8 Q
+0 X
+(f) 117 522.67 T
+(ileselectionbox .fsb) 121.8 522.67 T
+(pack .fsb -padx 10 -pady 10) 117 512.67 T
+0 10 Q
+(FIGURE 30) 118.67 485.17 T
+1 F
+( - Fileselectionbox) 170.06 485.17 T
+0 0 612 792 C
+0 12 Q
+0 X
+0 0 0 1 0 0 0 K
+(Pr) 392.27 377.71 T
+(omptdialog) 404.72 377.71 T
+1 10 Q
+(Based on the Dialog class, the Promptdialog provides a) 315 359.05 T
+(Motif style prompt dialog.) 315 347.05 T
+315 403.71 540 720 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+315 430.57 540 716.86 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+331.57 439.43 529.57 558.71 R
+7 X
+V
+4 8 Q
+0 X
+(messagedialog .cr -title Copyright \134) 331.57 553.38 T
+( -bitmap @dsc.xbm -imagepos n \134) 331.57 543.38 T
+( -text \322Copyright 1995\134) 331.57 533.38 T
+( DSC Communications Corporation\134n\134) 331.57 523.38 T
+( All rights reserved\323) 331.57 513.38 T
+(.cr hide Apply) 331.57 503.38 T
+(.cr hide Cancel) 331.57 493.38 T
+(.cr hide Help) 331.57 483.38 T
+(.cr activate) 331.57 463.38 T
+(update) 331.57 453.38 T
+(after 10000 \322.cr deactivate\323) 331.57 443.38 T
+0 10 Q
+(FIGURE 31) 373.47 412.6 T
+1 F
+( - Messagedialog) 424.86 412.6 T
+%%BeginBinary: 11506
+368 342 147.2 136.8 0 356.8 566.43
+/red <
+3EC472FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF80808080
+8080808080808080808080808080808080808080404040404040404040404040
+4040404040404040404040000000000000000000000000000000000039C069DD
+00FF0000003333330033CCDD9999112277005544FFCC66AABBFF33EE9999CC7A
+EFD3557F9765E1A36FE700FF5500B22EAFB4CD73E6A24DBF0087F599FFFFB07A
+FFCCB088439D58D750D080C0C080C0808060C000FFA000FF20C0A040C040D060
+F0E010B4BE8BD28BD9B3FF7299FFA00019BF2FFF6223852F465F4770FF0000FF
+> store
+/green <
+57D79F00000000000000000000000000FFFFFFBFBFBFBFBF8080808080404040
+40000000FFFFFFFFFFBFBFBFBF808080808040404040400000000000FFFFFFFF
+FFBFBFBFBFBF8080808040404040400000000000FFFFFFFFFFBFBFBFBFBF8080
+8080804040400000000000FFFFFFBFBFBFBFBF80808040404040400063E0B500
+996699FF00663399BBFF99DD99FF112277005544CCCC66AABB6600EE6600CC69
+E3B56B7F9765E1A36FE700FF1A00B28BEEEE0073E6A24DBF00CEF599FFFFB094
+FFF730884DB358D78080C0C080C080808060C08000A080402070A0402040D0F0
+F0E010B4BE5BB477D9B3FF7789E4A0FF19264F00B641DE4F829E4780FF0000FF
+> store
+/blue <
+8CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF8040FFBF804000FFBF804000FFBF80
+00BF8040FFBF804000FF804000FFBF804000FFBF804000FFBF804000FFBF8040
+00FFBF804000FFBF4000FFBF804000FFBF804000FFBF804000FFBF804000FFBF
+804000FFBF00FFBF804000BF8040FFBF804000FFBF40FFBF8040004063E0B500
+FF3399FF88666666009966DDFFFF112277DD554499FFCCAABBCC99EE9966CC69
+E3B52F7F9765E1A36FE7BFCC8BEEB257EEB40073E6A24DBF80FAF56BFBB3B015
+3224608856CA58D7D050C080C08080C08060C080FF0000402070C0802040D060
+50E010B4BE7A8C65D9B3E08576C4A00070264F00FC5AE050B4A0FF9000FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+6F6F7TMF6F76F6F7J"
+ULF78z8z8z
+4F9TLF94F9
+
+;z"
+UCF7F6<z"z
+0F6F7U0F6=z8z
+/F9U/F9
+J'J#?$>"
+Q8FEFEFEFEF9FE?FEFEFEFEFEFEJ'J"?"
+Q7FEFEF9F9F9FEKF9FEJ$9"J#<#
+Q6FEFEF9F9@F9F9FEFEJ$8'829&;#9"8#
+QAFEFEFEFEFEFEF9FEFEFEFEFEFEF9FEFEFEFEFEFEF9FEFEFEFEFEFEFEFEFEF9FEFEFEFEFE@s"J+8'8'8"8":':%8"8#
+F6F7Q*F9F9FEFEFEF9FEFEFEF9FEF9FEFEFEF9F9F9F9FEF9F9FEF9FEFEF9F9FEFEFEF9FEFEF9F9F9ArJ$;$9':$E"
+F9Q/F9F9F9F9F9F9F9FEFEF9FEF9F9F9F9F9@sJ"J'
+F7Q+FECF9FEFEFEFEF9@tJ$9":$;$:%C&
+F9Q#F9FEFEFEFEF9FEFEF9FEF9FEFEF9FEF9F9F9F9J09&>"8"8"8"8(8"9"8$
+Q7F9FEFEFEFEFEF9F9F9F9FEFEFEF9F9F9FEFEF9F9FEFEFEFEFEFEFEFEFEF9FEFEFEF9FEFEJ&:$<#<"9%8';"s9#
+Q8F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FEF9F9F9J%E&
+R FEFEFEF9FEF9F9F9F9J"8"<"F(
+QFFEFEF9F9FEFEFEFEFEF9=z8z
+/F7U/F7rF"J%
+F7F7U0F7F7F7F7'z&
+F6F6F6F6F6F7UBEDF6F6F6F6F68$J%
+F9F9F9UDF9F9F9F7
+
+
+
+
+
+
+
+
+
+J"9"9"9"
+R$FEFEFEFEJzJz
+R 5FEO7;FEJ"9z8"J%J%J'J'
+O'FEEFEFEOEFEFEFEFE5FEFEFEFEO-FEFEFEFEFEFE;FEFEFEFEFEFEJrJzJ$J&J$J&
+O$FEE/FEO6FEFEFE=FEFEFEFEFEO%FEFEFEGFEFEFEFEFEJ'J#J"J$J%
+P1FEFEFEFEFEFEO.FEFEEFEO!FEFEFEO!FEFEFEFEJ"J%J"J$J%
+O#FEO3FEFEFEFEO)FEOFFEFEFEO(FEFEFEFEJ%J#AwJ$HzJ"
+P;FEFEFEFEO#FEFEEDO-FEFEFE1ED:FEJ"J$J"@$B%D"J#F&G%J"
+O"FEO<FEFEFEMFEEDEDEDEDEDEDEDFEFFEFEEDEDEDEDEDEDEDEDED6EDJ#JzJ#J#?#J"J#D%J$I"
+O"EDED@2ED:FEFEIFEFEEDED4EDO#FEFEEDEDEDED:EDEDEDFEJ&J&H'J%J"@"J$J"D#J#
+O$EDEDEDEDED6EDEDEDEDEDEDEDEDEDEDED6FEFEEDFEDFEED5EDEDEDO!FEEDEDAEDEDJ#H#J%J"J"?"J#J#B$J#
+O)EDEDEDED=EDEDEDED4FEDFEED:EDEDKFEFEEDEDEDEEDEDJ"F"J$I#J"A"J#J#B#J#
+O+EDEDCEDEDEDFEFE@FEED:FEEDHFEFEEDEDJEDEDJ"J$H#J"J$>"J"C"J"
+O,EDO(EDEDEDFEFEHED<EDEDEDFE=FEEDO EDJ"H"J"?"J"J#B#J"
+P9EDFE<FEED?FEDFEFEEDEDO"EDJ%G$J"J#J"C"J"
+P8EDEDEDEDFEFEFE8FEJEDEDBFEEDO%EDJ"J"J"J"J"B#J"
+O-EDO.EDO'EDBED@FEEDEDO'EDJ#G"J"J"B"J"
+P=EDEDFE6FEO?FEEDO*EDJ#F"J"J"J"B"J"
+P?EDEDFE?EDDED=FEEDO,EDJ"F$G"J"B"J"
+PAEDFEEDFEFEO>FEEDO.EDJ"F#J"B"J"
+PBEDFEEDP!FEEDO7FEJ"F"J"J"B"J"
+PCEDFEO4ED9FEEDO1EDJ"J"J"H"B"
+Q'FE:EDLFEFEEDJ#F"D"J":"G"B"J"
+PDEDEDFEFEO$EDEDFEEDO4EDJ"F"J"
+PFEDFEOHFEJ"F"J"J"8"J"J"
+PGEDFE7FEHEDED>EDO6EDJ"J#G"B"
+PHEDOCEDEDFEEDJ"E"J"
+PIEDFEODFEJ"F"J"
+PIFEFEP"EDJ#J"B"J":"
+PIEDEDP$FEEDO:EDFEJ"E#J"J"J"
+PKEDFEFE4FEO*FEOMEDJ"J"J%
+Q.EDOLEDO<EDEDEDEDJ"E"J"
+PLEDFEO>FEJ"
+QDFEJ"E"J"J"C"
+PMEDFE5FEO&FEEDJ"
+PMFEJ#E"<"D"J"C"
+PMEDEDFEEDFEO$FEEDJ"
+QGFEJ"
+QHFEJ"E"<"F"J"
+Q!EDFEEDFEO FEJ"J"
+QJFEO-EDJ"
+QKFEJ"E"<"H$J"
+Q"EDFEEDFEFEFEHFEJ"
+Q:EDJ#J"
+R!FEFEO&EDJ"J"
+Q;ED5FEJ"J#J#J"
+Q#ED7FEED5FEFEBFEJ"J$
+Q;ED8FEEDFEJ"J"
+Q=ED7FEJ"@"J#
+Q3FEED8FEFEJ"J"
+Q?ED9FEJ"J#
+Q@ED9FEFEJ"J"J$J"
+Q$ED<ED:FEEDFE6FEJ"J"
+QBED:FEJ"J"J"
+Q$FE>ED;FEJ"J"J$
+Q$ED?ED;FEFEFEJ#
+QEEDEDJ#J"
+QGEDED:FEJ"J$
+QIED:FEEDFEJ"J#
+QKED9FEEDJ"J$J#
+Q$FEEEDEDED9FEFEJ"J#J"
+Q$EDHEDED:FEJ"J"J#
+Q$FEJED8FEEDJ#J"
+R"EDED7FEJ"J"J"@"
+Q3ED>ED7FEEDJ#J"
+R%EDED6FEJ"
+R'EDJ"J"J"
+R)ED4FE8FEJ$J"
+R(EDEDED4FEJ"J#
+Q2EDFEDEDJ"J"
+Q#FEO)EDJ"G"="
+R.EDFEEDJ"J"
+R/EDHFEJ"J"F"
+Q1EDLEDFEJ"J"
+Q"FEO.EDJ#J"E"
+R1FEED6EDFEJ"J"F"
+Q0EDO EDFEJ"
+R3EDJ"J"E"
+Q!FEOHEDFEJ"J"
+Q/EDO$EDJ"J"E"
+R4FE6EDFEJ"C"J#
+Q FEEDO%EDEDJ"
+RLEDJ"C":#J"
+PMFEEDFEFEOHFEJ"8"J"E"J"
+Q1FEFEO8EDFEO>FEJ"C">"J%
+PLFEEDFEQ7FEFEFEFEJ"C"J"E"J"
+PKFEEDOBEDFEO;FEJ"
+R6EDJ"C"A#J"E"J"
+PJFEEDFEFEO7EDFEO9FEJ"C"J"A"C"E"
+Q)EDEDLFEEDEDFEJ"B#C"J"J"E"J";"
+PIFEEDFEFELED:EDFEO6FEEDJ"D"="J"
+PHFEEDEDO$FEJ"C"F"J"E"J"
+PGFEEDFEO9EDFEO4FEJ"C"J"G"E"J"
+PFFEEDO:EDEDFEO2FEJ"C"I"J"E"J"
+PEFEEDFEO:EDFEO8EDJ"J"C"J"E"J"
+O<FEO'FEEDP"EDFEO/FEJ"C"J"J"@"J"E"J"
+PCFEED6FEHFEED5EDFEO-FEJ"C"J"J"E#J"
+PBFEED8FEO;EDFEFEO*FEJ#J"B#F"?"J"@"J"F"J"?"
+O=FEFEO"FEEDEDEDFEEFEED8EDFEO(FEEDJ"F"J#B#J#J"F"J"
+O-FEEDO FEFEEDFEO=EDFE9EDFEO&FEJ"J"C$J$J"A"J"F#J"@"
+O>FEMFEEDEDED<FEEDFEAFEED:EDFEFEO#FEEDJ"J#B#J#J"@"J#F"J#
+O?FEJFEFEEDED@FEED@FEED=EDEDFEO FEFEJ"I"J$C"J"A$J"@"J"F#J"B"
+O,FEFEFFEFEFEED7EDFEEDFE=FEED@EDFEFEKFEEDJ$J#D#J"J"@"J#F#J#
+OAFEEDFEAFEFEEDEDEFE=FEEDBEDEDFEFEGFEFEJ"J"J$D"J"D"J"@"J"G$J#
+O+FE6FE?FEFEFEED;FEFE:FEEDEEDFEFEFEBFEFEJ$J$J%E"8"J#D$J#@"J#H#J#F"
+O(FEFEFE9FEFEFE7FEFEFEFEEDED:EDEDFEFEFE5FEFEEDGEDEDFEFE>FEFEEDJ&Jr8":tG"8"J#G#A"J#H%J$
+O#FEFEFEFEFE?FEFEFEEDEDO!FEFEFEFEEDJEDEDFEFEFEFE7FEFEFEJ$JrJ&J%?%A"J#J&C&J"
+O FEFEFEKFE7EDEDEDEDEDO%FEFEFEFEFEFEFEFEEDO EDED4FEFEFEFEFEFEFEFEFEFE4EDJ#J$JtD$J$JxJ$
+P;EDEDFEDEDED4FEEDEDEDO!EDEDED6FE6EDEDEDJ"J$8"J"J#J$J$
+O EDO7EDEDEDEDHEDHEDEDO'EDEDEDO%EDEDEDJ&J%J#J$J$
+P3EDEDEDEDEDO!EDEDEDEDBEDEDO,EDEDEDMEDEDEDJ"JrJ$J$J%J&
+O!EDO*EDO*EDEDED<EDEDEDO1EDEDEDEDDEDEDEDEDEDJzJ&I%J'J'
+O"O*EDO4EDEDEDEDEDEDEDEDEDO8EDEDEDEDEDED8EDEDEDEDEDEDJzJz
+QE3EDOB8ED
+
+
+
+
+
+
+
+
+
+Jz
+O"SHFE
+
+
+Jz
+O"SHED
+
+
+
+
+
+
+
+
+
+
+J"H"J"8"J"@#J#
+O+FEFEP@FEFE=FEFEFEO4FEFEJ#9%A#8%A%>%>&=%>&<$=&=$=%B%9#C"Bw>&A#9$A&=$>(
+O&FEFEEDFEFEFEFEFEEDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEEDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEEDEDFEFEFEJ%:"A%9%@"9"@">"D">"9"<$="C"="D%9%A$C$9%>"9"?%9&?"C"=$8"8"
+O$FEFEFEEDEDFEFEEDEDEDEDFEFEEDFEEDEDEDEDEDEDFEEDEDEDEDFEFEEDEDEDEDFEFEFEFEFEEDEDEDEDEDEDEDEDEDFEFEEDEDEDEDFEFEFEEDEDFEFEEDEDFEJ"8"<"?$=$J"J"<"J%="J"@#I"?"8"C"J$
+O#FEEDEDFEFEEDEDFEFE4FEO0FEED6FEFEFEEDED;EDEDEDFEEDFEFE6EDFEEDJ"8">"="C"C"<"F";#8"J"9"J"J"J"J"9"J"
+O"FEEDEDFEFEFEEDFEFEEDFE?EDFEHED9EDBED5EDFE6EDJ"8"?"J"B"J"9":"J"8"J"9"J"A"8"@"9"C"8"
+OBEDFEED7EDED@EDFEFE5FEED4FEFEJFEEDFEEDFEFEFEJ"J"J"9#E"8"9#J"9"9"J"J"J"F"9#
+O!FE6ED:FEFEEDEDFEFEEDEEDFEEDO EDO!ED8EDEDFEFEJ"F"J"J"J"J$8"J"J"8"C":#
+O$EDFE:EDCFEBEDO&EDEDEDFEKFE9EDFEEDFEFEJ":"J"8"J"J"J"8"C";"
+P)EDFEO-EDFEO!FEO#ED:EDFEEDFEJ"F"J"8$;"B"8%J":"8"J$J"J"C#:"
+O$FEED;EDFEEDFEEDEDFEEDFEEDDFEEDFEO!FEFEFEO FE>FEEDEDFEJ"J"J"J"J">#J'8"J"9"D#
+O!ED6FE<FE7FEFEDFEFEKFEFEEDEDEDEDFEO8EDFEEDEDJ"8"B"9";"C"9"J"J"8"I"J"E"
+OBFEEDEDEDFEEDEDKED9EDFEEDO0EDEDJ"8">"="8"J"<"J"="<"8"J"8">"I"A"<"
+O"EDFEFEEDFEOLFEEDEFEFEEDFEGEDFEFEEDFEEDJ"I"?"8"J#H"J"8"="?"J"B"H"A";$
+O#EDEDFEEDO5FEEDED8EDFEFEEDO#EDEDEDFEFEFEEDJ%;"@%:%?";$E";$F"8";"J"J"8";$<"A"J$<$A"J"
+O$EDFEFEFEFEEDFEFEFEFEFEEDEDFEEDFEEDFEEDFEEDEDFEFE5ED8EDFEFEFEEDFEFEHEDFEFEFEFEEDFE4FEJ%8%@*@"8#9"9#9"<"8#9":"9"?+?"8"G#9"@+<"8#:":">#9#?#9"@+?#8"="?"8'
+O%EDEDFEFEFEFEFEEDEDEDFEFEFEFEFEEDEDFEFEFEEDFEFEFEFEFEFEEDFEFEEDEDFEFEFEFEFEFEEDEDFEFEFEFEFEEDEDEDFEFEEDFEFEFEEDFEFEFEFEFEFEFEFEFEFEFEFEEDEDFEFEFEFEFEFEEDEDFEFEFEEDEDFEFEFEFEEDEDJ#8$C&B&='<&>&A'A%>#='C'=&:'>r?'B'A&>#>'
+O'EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+J%J#>#<#>#:%9%9&<&;&;%>%J#F#8#J%J#8#
+IFEFEFEFE<FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFELFEFEFEFEFEFE=FEFEFEFEHFEFEFEFEJ'J#J#;.:$>%9(9'<'J#J#J'J#
+HFEFEEDEDFEFE;EDED8FEFEFEFEEDEDFEFEEDFEFEEDEDFEFEEDEDEDEDEDFEFEFEFEEDEDEDFEFEFEFEEDEDFEFEFEFEEDEDFEFEKEDED4EDED<FEFEEDEDFEFEKEDEDJ$8(8&8#9+8&:#8"8";#I$C$A$8#;$8(8*8*8#8)8#8%9%8"8%8%8&9%=$8(8+9%8+8"8%8%8&
+GFEFEEDEDEDEDFEFEFEFEFEFEEDFEFEFEFEFEFEEDFEFEEDFEFEFEFEFEFEEDFEFEFEFEFEFEEDEDFEFEEDEDFEFEFEFEEDEDEDFEFEEDEDEDEDFEFEFEFEFEEDFEFEFEEDFEFEFEFEEDFEFEFEEDFEFEFEFEFEFEFEEDFEFEEDFEFEFEFEFEFEFEFEFEFEFEFEFEFEEDFEFEFEFEFEFEFEFEEDFEFEFEFEFEFEFEFEEDEDEDEDFEFEFEFEFEFEEDFEFEFEFEEDFEFEFEFEFEFEFEFEEDFEFEEDFEFEFEFEFEFEEDFEFEFEFEFEFEFEFEEDFEFEJ'9%A";%;'8"J$F(J'8*8*@%:08":'9,C'9":,9"8)8":'9%
+O FEFEEDEDFEFEFEEDFEFEFEFEFEEDFEFEEDFEFEEDEDED<FEFEFEEDFEFEFEEDEDED5FEFEEDEDFEFEFEEDEDFEFEEDEDFEFEFEEDEDFEFEEDEDFEFEFEEDFEFEFEFEEDEDFEFEEDFEFEEDEDFEFEEDEDEDFEFEEDEDFEFEFEEDFEFEEDFEFEEDEDFEFEFEFEEDEDFEFEFEFEEDFEFEEDFEFEEDEDFEFEFEFEFEEDEDFEFEEDEDEDFEFEEDEDFEFEFEEDFEFEJ":(:#<";"J%9%9'F&J"A&J"<%J#8"D%J"
+O)EDEDFEFEEDFEFEEDEDEDEDED4EDFEFEFEEDFEFEFEEDEDEDEDFEFEEDEDFEFEFEO.EDEDEDEDEDED6EDFEEDEDED7EDEDEDEDEDEDED6EDJ"J$:$J"8"J$J&J"H"9$
+O8EDDEDEDEDEDEDED;EDFEO=FEFEFE9EDEDFEFEFE7EDEDFEFEFEJ&J#I#8"J%J"8"J%
+O/EDFEFEFEEDO(FEFEFEFEEDO>FEFEEDED;EDFELFEFEEDEDJ$8#?"J"D"A#;#J$A$8#;$8#J"G#B"G%>$8#D"J"
+GEDFEFEFEFEFE7FEFEFEFEFEFE5FEFEEDEDFEFEFEFEEDFEFEFEFE@FEFEFEFEFEFEEDEDEDFEFEFEFEFE;FEJ-9%9"C%A%A5>%9(9'<-J%C49'>'=->,<-9'
+HEDFEFEFEFEEDEDFEFEFEFEEDEDFEFEEDEDEDFEFEEDEDFEFEED4EDFEFEFEFEEDEDEDFEFEFEFEEDEDEDFEFEFEFEEDFEFEFEEDEDFEFEFEFEFEEDEDFEFEFEFEEDEDFEFEFEFEEDEDFEFEFEFEED7EDFEFEEDEDFEFEFEFEEDEDEDFEFEFEEDFEFEEDEDFEFEEDEDFEFEFEFEEDEDFEFEFEFEEDEDFEFEFEFEEDEDFEFEFEFEEDEDFEFEEDEDEDFEFEFEFEEDEDFEFEFEEDFEFEEDEDFEFEEDEDFEFEFEFEEDJ%8%;#<"9#9#8#:#8#9#=#:%9%9%=&;&;%>%8%8#8#8&8#8#8s8&8%9'8&8%8#8#8%?%8%8#<#9%8#:'8&8%8#8#
+IEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDJ"C#
+O0FEFEFEJ$B'
+O/FEFEEDEDFEFEFEFEEDJ#<#D%J#
+O'EDEDEDEDEDEDEDEDR1EDED
+J#9&@#>#<#J#
+PJFEFEFEFEEDFEFEFEFEFEFEFEFEO1FEFEJ"8"G#
+PIFEFEEDEDJ#C(8&:#8"8"8%<+9%9%8(9#8%9#
+PJEDEDFEFEEDFEFEFEFEFEFEEDFEFEFEFEFEFEFEFEFEFEFEFEEDFEFEEDFEFEFEFEFEFEFEFEFEFEFEFEFEFEEDFEFEFEFEFEFEFEFEFEFEFEFEJ":"C";%;'8)="859"@,
+PHFEFEFEFEFEEDFEFEEDFEFEEDEDEDEDFEFEEDEDFEFEFE4FEFEEDEDFEFEEDFEFEEDEDFEFEEDFEFEEDEDFEFEFEFEFEEDEDFEFEEDFEFEEDFEJ#<";"A%>#?%A*A"
+Q.EDEDEDEDFEEDEDEDEDEDFEEDEDEDEDEDEDFEFEEDFEFEEDEDJ#E"J&>":#9&:#;"B#
+PJFEFEED8EDEDFEFEFEEDFEFEEDEDFEFEFEFEFEEDFEFEJ)J"8"B%9"8"9%=&:%
+PGFEFEEDEDEDEDFEFEGEDFEEDEDEDEDEDFEEDEDEDEDEDFEFEFEEDEDEDEDEDJ"D&F(=#H#:"
+Q6FEFEFEFEEDEDFEFEEDFEFEEDEDFEFEFEFEFEJ%A+@5>$9,
+Q3EDFEFEEDEDFEFEEDEDFEFEFEFEED4EDFEFEFEFEEDEDEDFEFEFEFEEDEDEDFEFEFEFEEDEDFEEDEDFEFEFEFEEDEDEDFEFEEDJ#:r;#9#8#:#8#9#8%<#:%9%9%8#<";%9&
+PGEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDJ#
+Q3FEFEJ'
+Q3EDFEFEFEFEEDJ%
+Q4EDEDEDED
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<z
+UBEC=z"
+U@EDFF=Z
+U@<z
+UBED
+
+
+
+
+
+
+
+Jz
+Q0O-ECJ"
+R<FFJz"
+Q2O)EDFF
+
+
+JZ
+Q6O!J"
+R6ECJz"
+Q8KEDEC
+
+
+
+
+J%:#9#
+QFFEFEFEFEFEFEFEFEJ'=$
+QEFEFEEDEDFEFEFEFEEDJ$8$;$
+QDFEFEEDEDFEFEFEFEEDJ$
+R"FEFEED
+J$
+R"EDFEFEJ$
+R#EDFEFEJ$8$<$
+QDEDFEFEFEFEEDEDFEFEJ'>$
+QEEDFEFEFEFEEDEDFEFEJ%:#:#
+QFEDEDEDEDEDEDEDED
+
+
+
+
+
+
+&J%
+F7F7F7F7F7UCF7F7F7F7&JzJ&
+F6F6F6F6F6Q3KECQ3F6F6F6F6F68$J"J%
+F9F9F9Q2ECR1F9F9F9F7Jz
+Q6O!ED
+
+
+JZ
+Q2O)J"
+Q1FFJz
+Q0O-ED
+
+
+
+
+
+
+
+<z"z"z
+0F6F7TMF6F71F6;z8z8z
+1F9TLF91F9
+
+7z8z8z
+5F7TLF74F7"J"J"
+F76F7TMF7
+ENDBITMAP
+%%EndBinary
+0 0 612 792 C
+315 72 540 720 C
+315 183.73 540 343.71 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+315 206.57 540 334.71 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+%%BeginBinary: 4263
+283 155 145.54 79.71 0 351 246
+/red <
+7266F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF80808080
+8080808080808080808080808080808080808080404040404040404040404040
+4040404040404040404040000000000000000000000000000000000039C069DD
+00FF0000003333330033CCDD9999112277005544FFCC66AABBFF33EE9999CC7A
+EFD39765E1A36FE700557FFF5500B22E99FFFFB07AFFB0CC0087AFB4CD73E6A2
+4DBF88F5439D58D750D080C0C080C0808060C000FFA000FF20C0A040C040D060
+F0E010B499FFA0BE8BD28BD9B3FF720019BF2FFF6223852F465F4770FF0000FF
+> store
+/green <
+9F99DE00000000000000000000000000FFFFFFBFBFBFBFBF8080808080404040
+40000000FFFFFFFFFFBFBFBFBF808080808040404040400000000000FFFFFFFF
+FFBFBFBFBFBF8080808040404040400000000000FFFFFFFFFFBFBFBFBFBF8080
+8080804040400000000000FFFFFFBFBFBFBFBF80808040404040400063E0B500
+996699FF00663399BBFF99DD99FF112277005544CCCC66AABB6600EE6600CC69
+E3B59765E1A36FE7006B7FFF1A00B28B99FFFFB094FF30F700CEEEEE0073E6A2
+4DBF88F54DB358D78080C0C080C080808060C08000A080402070A0402040D0F0
+F0E010B489E4A0BE5BB477D9B3FF77FF19264F00B641DE4F829E4780FF0000FF
+> store
+/blue <
+FFFFB3FFFFFFFFFFFFFFFFFFFFFFFFFFBF8040FFBF804000FFBF804000FFBF80
+00BF8040FFBF804000FF804000FFBF804000FFBF804000FFBF804000FFBF8040
+00FFBF804000FFBF4000FFBF804000FFBF804000FFBF804000FFBF804000FFBF
+804000FFBF00FFBF804000BF8040FFBF804000FFBF40FFBF8040004063E0B500
+FF3399FF88666666009966DDFFFF112277DD554499FFCCAABBCC99EE9966CC69
+E3B59765E1A36FE7BF2F7FCC8BEEB2576BFBB3B01532602480FAEEB40073E6A2
+4DBF88F556CA58D7D050C080C08080C08060C080FF0000402070C0802040D060
+50E010B476C4A0BE7A8C65D9B3E0850070264F00FC5AE050B4A0FF9000FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+6F6F7S&F6F76F6F7J"
+T%F78z8z8z
+4F9S%F94F9
+
+;z"
+SJF7F6<z"z
+0F6F7S7F6=z8z
+/F9S6F9
+JrJ"<r:#@$
+P*FEGFEFEFEFEFEFEFEJ"8&J"="8&E"
+P*F9F9F9F9FEFEEFEF9F9F9F9FEFEF9J$8#J#
+Q7F9FEFEF9F9;FEFEJ'8$9'8#8'9"8#D$9%@$:&
+P3FEFEFEF9FEFEFEFEFEFEFEFEF9FEFEFEFEFEFEFEF9FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF9@s"J&8"8*8+8(8#D"<%=/
+F6F7OJFEFEF9F9F9FEFEFEFEF9FEFEFEF9F9FEF9FEFEFEF9FEFEF9F9FEF9FEFEFEF9F9F9F9F9F9F9FEFEFEFEFEF9FEFEFEF9FEFEF9F9FEFEArJ%;$8$<"9"=$J$A$
+F9OIFEFEFEF9F9F9F9F9F9F9F9F9F9F9F9<F9FEFEF9F9F9@sJ$J%G'
+F7OIF9F9F9O0FEFEF9F9F9FEFEFEFEF9@tJ$H$H$?"A$9&
+F9P(FEF9FEFEF9FEFEFEF9FEFEF9FEFEF9F9F9F9J"8";"8"8*8"9"9"9&8$;"8&8"8'8$8*8&
+P*FEFEFEFEF9F9FEFEFEF9F9F9FEFEFEFEF9FEFEF9F9F9FEFEFEFEFEFEFEF9FEFEF9F9FEFEF9FEF9FEFEF9F9F9FEFEFEF9F9FEFEFEFEFEJ%;%:$9w:#;#;r9%8v9$9";"
+P*F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FEJ&
+R'FEF9F9F9F9J"8"J(
+PMFEFEO$F9FEFEFEFEFEF9=z8z
+/F7S6F7rF"J%
+F7F7S7F7F7F7F7'z&
+F6F6F6F6F6F7SIE5F6F6F6F6F68$J%
+F9F9F9SKF9F9F9F7
+
+
+
+
+
+
+
+
+
+
+
+
+J&?#F#8#
+5FEFEFEFEFEFEFEFEFEFEFEJ(J#
+4FEFEE5E5E5FEFE>E5E5J%<%9%8"8%8%8&
+=FEFEFEFEFEFEFEFEFEFEFEFEFEFEE5FEFEFEFEFEFEFEFEE5FEFEJ/:08":'9%
+4E5FEFEFEE5E5E5E5FEFEE5E5FEFEFEFEE5E5FEFEE5FEFEE5E5FEFEE5E5E5FEFEE5E5FEFEFEE5FEFEJ&J#H"
+5E5E5FEFEFE7E5E5E5J"8"9#>#
+7E5FEFEFEFEFEJ#8";%<%
+4FEFEE5E5E5E5E5E5E5E5E5J#>#;#;"
+@FEFEFEFEFEFEFEJ/:.8%9'
+4E5FEFEFEFEFEE5E5E5FEFEFEFEE5E5FEFEFEFEE5E5E5FEFEFEFEE5E5FEFEE5E5FEFEFEFEE5J&9%8#8%9%:&8%8#8#
+5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5
+
+
+
+
+
+
+
+
+Hz
+S0A2J"
+SAFFJZ
+4S-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+I"
+FFHz
+S0E5
+
+
+
+
+
+
+
+
+
+
+<z
+SIE4=z"
+SGE5FF=Z
+SG<z
+SIE5
+
+
+
+
+
+
+
+Ez
+OAE4J"
+P!FFGz"
+O=E5FF
+
+
+JZJZJZ
+5O54O54O5J"J"J"
+OIE4OHE4OHE4Jz"Jz"Jz"
+7O1E5E47O1E5E47O1E5E4
+
+
+
+
+J%:#9#J%J#J#9#>#
+O!FEFEFEFEFEFEFEFEO0FEFEFEFE=FEFEO*FEFEFEFEFEFEJ'=$J'
+O FEFEE5E5FEFEFEFEE5O/FEFEE5E5FEFEJ$8$;$J$8(8&9%9%J%;&
+MFEFEE5E5FEFEFEFEE5O/FEFEE5E5E5E5FEFEFEFEFEFEE5FEFEFEFEFEFEFEFEFEFEO7FEFEFEFEFEFEE5FEFEJ$J'93J'<%
+O+FEFEE5O7FEFEE5E5FEFEFEE5FEFEE5FEFEE5E5FEFEE5FEFEE5E5FEFEO5FEFEE5E5FEFEFEE5FEFEJ#=">#J$E"
+PEE5E5E5E5E5O6FEFEFEE5J$J$I#J$;#
+O+E5FEFEO8FEFEFEFEFEO1E5E5E5FEFEJ$J%I%J%
+O,E5FEFEO6FEFEE5E5E5E5E5E5O7E5E5E5E5J$8$<$J$8#H#;#J#<"
+ME5FEFEFEFEE5E5FEFEO.E5FEFEFEFEFEFEFEFEO9FEFEFEJ'>$J.=.J'<%
+O E5FEFEFEFEE5E5FEFEO.E5FEFEFEFEE5E5FEFEFEE5FEFEE5FEFEFEFEE5E5E5FEFEFEFEE5O5E5FEFEFEFEE5E5FEFEE5J%:#:#J%8s8#8%9%8#J#9#8%8#:#
+O!E5E5E5E5E5E5E5E5O/E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5O*E5E5E5E5E5E5E5E5E5E5E5E5
+
+J#
+S#E5E5
+
+
+
+&J%
+F7F7F7F7F7SJF7F7F7F7&HzJzJzG&
+F6F6F6F6F6O1E48O1E48O1E4F6F6F6F6F68$G"J"J"J%
+F9F9F9E4OHE4OHE4OCF9F9F9F7JzJzJz
+5O5E54O5E54O5E5
+
+
+GZ
+O=F"
+FFEz
+OAE5
+
+
+
+
+
+
+
+<z"z"z
+0F6F7S&F6F71F6;z8z8z
+1F9S%F91F9
+
+7z8z8z
+5F7S%F74F7"J"J"
+F76F7S&F7
+ENDBITMAP
+%%EndBinary
+378 217.71 477 235.71 R
+7 X
+V
+4 8 Q
+0 X
+(promptdialog .pd) 378 230.38 T
+(.pd activate) 378 220.38 T
+0 10 Q
+(FIGURE 32) 368.58 188.61 T
+1 F
+( - Promptdialog) 419.97 188.61 T
+315 72 540 720 C
+0 0 612 792 C
+FMENDPAGE
+%%EndPage: "16" 16
+%%Page: "17" 17
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 12 Q
+0 X
+0 0 0 1 0 0 0 K
+(Selectiondialog) 145.83 712 T
+1 10 Q
+-0.19 (The Selectiondialog class provides a dialog based Selec-) 72 693.33 P
+(tionbox.) 72 681.33 T
+72 377.72 297 720 C
+72 440.98 297 678 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 471 297 669 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+%%BeginBinary: 5294
+262 379 104.8 151.6 0 135 508.4
+/red <
+7266F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF80808080
+8080808080808080808080808080808080808080404040404040404040404040
+4040404040404040404040000000000000000000000000000000000039C069DD
+00FF0000003333330033CCDD9999112277005544FFCC66AABBFF33EE9999CC7A
+EFD39765E1A36FE700557FFF5500B22E99FFFFB07AFFB0CC0087AFB4CD73E6A2
+4DBF88F5439D58D750D080C0C080C0808060C000FFA000FF20C0A040C040D060
+F0E010B499FFA0BE8BD28BD9B3FF720019BF2FFF6223852F465F4770FF0000FF
+> store
+/green <
+9F99DE00000000000000000000000000FFFFFFBFBFBFBFBF8080808080404040
+40000000FFFFFFFFFFBFBFBFBF808080808040404040400000000000FFFFFFFF
+FFBFBFBFBFBF8080808040404040400000000000FFFFFFFFFFBFBFBFBFBF8080
+8080804040400000000000FFFFFFBFBFBFBFBF80808040404040400063E0B500
+996699FF00663399BBFF99DD99FF112277005544CCCC66AABB6600EE6600CC69
+E3B59765E1A36FE7006B7FFF1A00B28B99FFFFB094FF30F700CEEEEE0073E6A2
+4DBF88F54DB358D78080C0C080C080808060C08000A080402070A0402040D0F0
+F0E010B489E4A0BE5BB477D9B3FF77FF19264F00B641DE4F829E4780FF0000FF
+> store
+/blue <
+FFFFB3FFFFFFFFFFFFFFFFFFFFFFFFFFBF8040FFBF804000FFBF804000FFBF80
+00BF8040FFBF804000FF804000FFBF804000FFBF804000FFBF804000FFBF8040
+00FFBF804000FFBF4000FFBF804000FFBF804000FFBF804000FFBF804000FFBF
+804000FFBF00FFBF804000BF8040FFBF804000FFBF40FFBF8040004063E0B500
+FF3399FF88666666009966DDFFFF112277DD554499FFCCAABBCC99EE9966CC69
+E3B59765E1A36FE7BF2F7FCC8BEEB2576BFBB3B01532602480FAEEB40073E6A2
+4DBF88F556CA58D7D050C080C08080C08060C080FF0000402070C0802040D060
+50E010B476C4A0BE7A8C65D9B3E0850070264F00FC5AE050B4A0FF9000FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+6F6F7R?F6F76F6F7J"
+S>F78z8z8z
+4F9R>F94F9
+
+;z"
+S5F7F6<z"z
+0F6F7S"F6=z8z
+/F9S!F9
+J'>$H"9#Jr:#@$
+OHFEFEFEFEF9FEFEFEFEFEFEFE7FEFEFEFEFEFEJ'?"I"J"8&E"
+OGFEFEF9F9F9FEF9FE=F9F9F9F9FEFEF9J"J#J$8#J#
+OLF9BF9F9=F9FEFEF9F9;FEFEJ#8"9$?$:$8"8&:$9'G$9%@$:&
+OIFEFEF9FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF9FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF9@s"J"9#8'<08$:*8%F"<%=/
+F6F7O4F9FEFEFEFEFEF9FEFEFEFEFEF9FEFEF9FEFEFEF9FEFEF9F9F9F9F9FEFEFEF9FEFEFEF9F9FEF9FEFEF9F9F9FEFEFEFEFEF9FEFEFEF9FEFEF9F9FEFEArJ#9":"A";%C$<"J$A$
+F9O6F9F9FEFEFEF9F9F9F9F9F9F9F99F9FEFEF9F9F9@sJ"8#;%>%J%G'
+F7O5FEF9F9F9F9F9F9F9F9F9F9O(FEFEF9F9F9FEFEFEFEF9@tJ">%>%9%C$J$?"A$9&
+F9O5FEFEF9FEFEFEF9FEFEFEF9FEFEFEF9FE6FEFEF9FEFEF9FEFEF9F9F9F9J0808&8,8"9";"8&8"8'8$8*8&
+OHF9FEFEFEFEF9F9F9F9FEFEFEF9F9FEFEF9F9F9FEFEFEF9F9F9F9FEFEFEF9F9FEFEF9FEFEF9F9F9FEFEFEF9F9F9FEFEFEFEFEFEFEFEF9FEFEF9F9FEFEF9FEF9FEFEF9F9F9FEFEFEF9F9FEFEFEFEFEJ':$8%9$:$:r9$9s;r9%8v9$9";"
+OGF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FEJ&
+R"FEF9F9F9F9J(
+R"F9FEFEFEFEFEF9=z8z
+/F7S!F7rF"J%
+F7F7S"F7F7F7F7'z&
+F6F6F6F6F6F7S4E5F6F6F6F6F68$J%
+F9F9F9S6F9F9F9F7
+
+
+
+
+
+
+
+
+
+
+
+
+J#8#
+4FEFEFEFE
+J"8"8%8*9%
+7FEFEFEFEFEFEFEE5FEFEFEE5FEFEFEFEFEFEFEJ"8)81
+7E5E5E5FEFEE5E5FEFEFEE5E5FEFEE5E5FEFEE5FEFEE5E5FEFEJ%
+O"FEE5E5E5J#D&
+>FEFEE5E5FEFEFEJ%D"8"
+>E5E5E5E5E5FEJ":#B%
+;FEFEFEFEFEE5E5J+B'
+8E5FEFEE5E5FEFEFEFEE5E5FEFEFEFEE5J#9#8%8#8#8#8%
+4E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5
+
+
+
+
+
+
+
+Hz=z
+R0A23E4J"J"
+RAFF9FFJZ@r"r"
+4R-DEE4DEFFJ"
+S#FFJ"
+S%E4J"
+S"FFJ$
+S$E5E4E4J$
+S!FFFFE5J$
+S%E5E4E4J$
+S FFFFE5J$
+S&E5E4E4J$
+RMFFFFE5J$
+S'E5E4E4J$
+RLFFFFE5J$
+S(E5E4E4J#u
+RKFFFFE4J"B"
+RLE4E4Jz
+RK/DEJZ
+RK/J"
+S+E4Jv"
+RME5E4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Jv
+RME4J"
+RLE4Jz
+RK/DEJZ
+RK/J"C"
+RKDEE4Jt$
+S E5E4E4DEJ$
+RLDEFFFFJ$
+S(E4E4DEJ$
+RMDEFFFFJ$
+S'E4E4DEJ$
+S DEFFFFJ$
+S&E4E4DEJ$
+S!DEFFFFJ$
+S%E4E4DEJ$
+S"DEFFE4J"
+S&DEJ"
+S#DEJ"
+S%DEJZ
+RK/I"J"
+FFR6FFHz=z
+R0E53E5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+J&?#F#8#
+5FEFEFEFEFEFEFEFEFEFEFEJ(J#
+4FEFEE5E5E5FEFE>E5E5J%<%9%8"8%8%8&
+=FEFEFEFEFEFEFEFEFEFEFEFEFEFEE5FEFEFEFEFEFEFEFEE5FEFEJ/:08":'9%
+4E5FEFEFEE5E5E5E5FEFEE5E5FEFEFEFEE5E5FEFEE5FEFEE5E5FEFEE5E5E5FEFEE5E5FEFEFEE5FEFEJ&J#H"
+5E5E5FEFEFE7E5E5E5J"8"9#>#
+7E5FEFEFEFEFEJ#8";%<%
+4FEFEE5E5E5E5E5E5E5E5E5J#>#;#;"
+@FEFEFEFEFEFEFEJ/:.8%9'
+4E5FEFEFEFEFEE5E5E5FEFEFEFEE5E5FEFEFEFEE5E5E5FEFEFEFEE5E5FEFEE5E5FEFEFEFEE5J&9%8#8%9%:&8%8#8#
+5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5
+
+
+
+
+
+
+
+
+Hz
+RIA2J"
+S,FFJZ
+4RF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+I"
+FFHz
+RIE5
+
+
+
+
+
+
+
+
+
+
+<z
+S4E4=z"
+S2E5FF=Z
+S2<z
+S4E5
+
+
+
+
+
+
+
+Ez
+O:E4J"
+OHFFGz"
+O6E5FF
+
+
+JZJZJZ
+5O.4O.4O.J"J"J"
+OBE4OAE4OAE4Jz"Jz"Jz"
+7O*E5E47O*E5E47O*E5E4
+
+
+
+
+J%:#9#J%J#J#9#>#
+KFEFEFEFEFEFEFEFEO)FEFEFEFE=FEFEO$FEFEFEFEFEFEJ'=$J'
+JFEFEE5E5FEFEFEFEE5O(FEFEE5E5FEFEJ$8$;$J$8(8&9%9%J%;&
+IFEFEE5E5FEFEFEFEE5O(FEFEE5E5E5E5FEFEFEFEFEFEE5FEFEFEFEFEFEFEFEFEFEO1FEFEFEFEFEFEE5FEFEJ$J'93J'<%
+O'FEFEE5O0FEFEE5E5FEFEFEE5FEFEE5FEFEE5E5FEFEE5FEFEE5E5FEFEO/FEFEE5E5FEFEFEE5FEFEJ#=">#J$E"
+P:E5E5E5E5E5O0FEFEFEE5J$J$I#J$;#
+O'E5FEFEO1FEFEFEFEFEO+E5E5E5FEFEJ$J%I%J%
+O(E5FEFEO/FEFEE5E5E5E5E5E5O1E5E5E5E5J$8$<$J$8#H#;#J#<"
+IE5FEFEFEFEE5E5FEFEO'E5FEFEFEFEFEFEFEFEO3FEFEFEJ'>$J.=.J'<%
+JE5FEFEFEFEE5E5FEFEO'E5FEFEFEFEE5E5FEFEFEE5FEFEE5FEFEFEFEE5E5E5FEFEFEFEE5O/E5FEFEFEFEE5E5FEFEE5J%:#:#J%8s8#8%9%8#J#9#8%8#:#
+KE5E5E5E5E5E5E5E5O(E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5O$E5E5E5E5E5E5E5E5E5E5E5E5
+
+J#
+R@E5E5
+
+
+
+&J%
+F7F7F7F7F7S5F7F7F7F7&HzJzJzG&
+F6F6F6F6F6O*E48O*E48O*E4F6F6F6F6F68$G"J"J"J%
+F9F9F9E4OAE4OAE4O<F9F9F9F7JzJzJz
+5O.E54O.E54O.E5
+
+
+GZ
+O6F"
+FFEz
+O:E5
+
+
+
+
+
+
+
+<z"z"z
+0F6F7R?F6F71F6;z8z8z
+1F9R>F91F9
+
+7z8z8z
+5F7R>F74F7"J"J"
+F76F7R?F7
+ENDBITMAP
+%%EndBinary
+135 480 243 498 R
+7 X
+V
+4 8 Q
+0 X
+(selectiondialog .sd) 135 492.67 T
+(.sd activate) 135 482.67 T
+0 10 Q
+(FIGURE 33) 123.53 453.1 T
+1 F
+( - Selectiondialog) 174.92 453.1 T
+72 377.72 297 720 C
+0 0 612 792 C
+0 12 Q
+0 X
+0 0 0 1 0 0 0 K
+(Fileselectiondialog) 380.17 712 T
+1 10 Q
+(The Fileselectiondialog is a dialog based Fileselection-) 315 687.33 T
+(box.) 315 675.33 T
+315 406.97 540 672 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+315 438 540 663 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0.5 H
+2 Z
+0 X
+N
+%%BeginBinary: 33477
+462 429 184.8 171.6 0 337.2 482.4
+/red <
+7266F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF80808080
+8080808080808080808080808080808080808080404040404040404040404040
+4040404040404040404040000000000000000000000000000000000039C069DD
+00FF0000003333330033CCDD9999112277005544FFCC66AABBFF33EE9999CC7A
+EFD39765E1A36FE700557FFF5500B22E99FFFFB07AFFB0CC0087AFB4CD73E6A2
+4DBF88F5439D58D750D080C0C080C0808060C000FFA000FF20C0A040C040D060
+F0E010B499FFA0BE8BD28BD9B3FF720019BF2FFF6223852F465F4770FF0000FF
+> store
+/green <
+9F99DE00000000000000000000000000FFFFFFBFBFBFBFBF8080808080404040
+40000000FFFFFFFFFFBFBFBFBF808080808040404040400000000000FFFFFFFF
+FFBFBFBFBFBF8080808040404040400000000000FFFFFFFFFFBFBFBFBFBF8080
+8080804040400000000000FFFFFFBFBFBFBFBF80808040404040400063E0B500
+996699FF00663399BBFF99DD99FF112277005544CCCC66AABB6600EE6600CC69
+E3B59765E1A36FE7006B7FFF1A00B28B99FFFFB094FF30F700CEEEEE0073E6A2
+4DBF88F54DB358D78080C0C080C080808060C08000A080402070A0402040D0F0
+F0E010B489E4A0BE5BB477D9B3FF77FF19264F00B641DE4F829E4780FF0000FF
+> store
+/blue <
+FFFFB3FFFFFFFFFFFFFFFFFFFFFFFFFFBF8040FFBF804000FFBF804000FFBF80
+00BF8040FFBF804000FF804000FFBF804000FFBF804000FFBF804000FFBF8040
+00FFBF804000FFBF4000FFBF804000FFBF804000FFBF804000FFBF804000FFBF
+804000FFBF00FFBF804000BF8040FFBF804000FFBF40FFBF8040004063E0B500
+FF3399FF88666666009966DDFFFF112277DD554499FFCCAABBCC99EE9966CC69
+E3B59765E1A36FE7BF2F7FCC8BEEB2576BFBB3B01532602480FAEEB40073E6A2
+4DBF88F556CA58D7D050C080C08080C08060C080FF0000402070C0802040D060
+50E010B476C4A0BE7A8C65D9B3E0850070264F00FC5AE050B4A0FF9000FF00FF
+> store
+ BEGINBITMAPCOLORc
+z"z"z"
+6F6F7W!F6F76F6F7J"
+X F78z8z8z
+4F9W F94F9
+
+;z"
+WEF7F6<z"z
+0F6F7W2F6=z8z
+/F9W1F9
+Js8#8$D'>$H"9#Jr:#@$
+Q@FEFEFEFEFEFEFEFEFEFEF9FEFEFEFEFEFEFE7FEFEFEFEFEFEJ"8$>"E'?"I"J"8&E"
+Q@F9F9F9F9F9FEFEF9F9F9FEF9FE=F9F9F9F9FEFEF9J"9#J"J#J$8#J#
+QFF9F9F97F9BF9F9=F9FEFEF9F9;FEFEJ"9$?$>#8"9$?$:$8"8&:$9'G$9%@$:&
+QEFEFEFEFEFEFEFEFEFEF9FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF9FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF9@s"J#8$?';"9#8'<08$:*8%F"<%=/
+F6F7Q0FEFEF9F9F9FEFEFEF9FEFEF9FEFEFEFEFEF9FEFEFEFEFEF9FEFEF9FEFEFEF9FEFEF9F9F9F9F9FEFEFEF9FEFEFEF9F9FEF9FEFEF9F9F9FEFEFEFEFEF9FEFEFEF9FEFEF9F9FEFEArJ#G">#9":"A";%C$<"J$A$
+F9Q1F9F9FEF9F9FEFEFEF9F9F9F9F9F9F9F99F9FEFEF9F9F9@sJ"E%;"8#;%>%J%G'
+F7Q3F9F9F9F9F9FEF9F9F9F9F9F9F9F9F9F9O(FEFEF9F9F9FEFEFEFEF9@tJ%<">%>%9%C$J$?"A$9&
+F9QBFEF9FEFEFEFEF9FEFEFEF9FEFEFEF9FEFEFEF9FE6FEFEF9FEFEF9FEFEF9F9F9F9J"8";"8$8)<0808&8,8"9";"8&8"8'8$8*8&
+Q@FEFEFEFEF9FEFEF9F9F9FEFEFEF9F9FEFEFEFEF9F9F9F9FEFEFEF9F9FEFEF9F9F9FEFEFEF9F9F9F9FEFEFEF9F9FEFEF9FEFEF9F9F9FEFEFEF9F9F9FEFEFEFEFEFEFEFEF9FEFEF9F9FEFEF9FEF9FEFEF9F9F9FEFEFEF9F9FEFEFEFEFEJ%;t9$<':$8%9$:$:r9$9s;r9%8v9$9";"
+Q@F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FEJ&
+T9FEF9F9F9F9J(
+T9F9FEFEFEFEFEF9=z8z
+/F7W1F7rF"J%
+F7F7W2F7F7F7F7'z&
+F6F6F6F6F6F7WDE5F6F6F6F6F68$J%
+F9F9F9WFF9F9F9F7
+
+
+
+
+
+
+
+
+
+
+
+
+Js$8#
+4FEE5FEFEFEFEJ'
+6E5E5E5E5E5E5J#:"8"8%8&
+:FEFEFEFEFEFEFEFEFEFEE5FEFEJ"8)9"
+@E5E5E5FEFEE5E5FEFEFEJ$J#
+6FEFEFE6E5E5J$D#;"
+6E5E5E5FEFEE5J%
+GE5E5E5E5J":#
+DFEFEFEJ+
+AE5FEFEE5E5FEFEFEFEE5J#:&9#8%8#
+4E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5
+
+
+
+
+
+
+
+
+H5
+W+FFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFH5
+W*FEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFH#Z
+FFFEW'H#
+FEFFH#J$J"J":&9$>"E$<$J"J"J"9"C"=#J"B$8#A":#J"
+FFFECFEFEFE@FE8FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFECFEBFEO"FEFEFEFEFEGFEFEFEFEFEFEFEFEFECFEH#J"?$J#J#<%8&<#E#<%G"F#J#J#9"C"="H"I#B(A#:"J#9"
+FEFF8FEFEFFFF@FEFF6FEFEFFFFFFFFFEFFFFFFFEFEFFFFFFFEFFFFFFFEFEFFAFEFFO!FEFFFFFFFFFEFEFEFEFFFFFFFEFFFFFEFFFFCFEFFFEH#J#J#
+FFFEP!FFFFS&FFFFH#>&8&9&;#:#:$8&:$<#9$8#8)J)8#8#?&9$9&8&9$<):$9&9$<#9$:$8&8&:$8&<#8$9,;$:&8$9&9$J$<#9$:$8&:$:$<#8&
+FEFFFEFEFEFFFEFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFFFEFEFEFEFEFFFEFEFEFEFEFEFEFFFEFFFEFEFE;FEFFFFFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFFFFFEFEFEFFFEFEFEFEFEFFFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEFEFFFEFEFEFEFEFFFEFEFEFEFFFEFEFEFEFEFEFFFEFEFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFE@FEFEFEFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFFFEFEFEFEFEH#>.8&@%8-8&?(9"8'@$9"8#>)9"@&8&8&8&8&>'8&8&8&?&848-?#:+;%9-8&8&J%?%9-8&8&?&
+FFFEFFFEFFFEFFFEFFFFFEFEFFFFFEFFFEFFFFFFFEFFFFFEFEFFFFFFFEFFFFFEFFFEFFFEFEFFFFFFFEFEFFFFFFFEFFFFFFFFFEFEFFFFFEFEFEFEFFFEFFFFFEFFFEFFFEFFFFFFFFFEFFFFFFFEFFFFFFFEFFFEFFFFFFFFFEFFFFFFFEFFFFFFFEFFFEFFFEFFFEFEFFFFFFFEFFFEFFFFFFFEFFFFFFFEFEFFFFFFFEFEFFFFFFFEFFFFFEFFFEFFFEFFFFFEFFFEFFFEFEFFFFFFFEFFFFFEFEFFFFFEFFFFFFFEFFFFFFFEFFFFFFFFFEFFFFFFFEFFFFFFFEFFFFFEFFFFFFFEFFFEFFFFFFFEFFFFFFFE?FFFFFFFEFEFFFFFFFEFFFFFFFEFFFFFEFFFEFFFEFEFFFFFFFEFEFFFFFFFEFFFFFEFFFFH#G"D#:"J$;#9&@"B&:#;#J$G&:#A$D":#="J"=#B"J$@&8&J#A$G&:#:$
+FEFFFFFEFFFF4FEFEFEFEFFFFFEFEFEFFFFFFFFFFFFFEFEFFFEFF@FEFEFEFFFEFEFEFFFEFFFEFEFEFFFEFFFF?FFFEFFFE:FEFEFEFFFEFEFEFFFEFEFEFEFE@FEFFFEFEFEFFFEFEFEFFFEFFFEFFFEH#J%@%J#J%G%G%J%@%8PJ%G%@$
+FFFEO-FFFFFFFFFFFFFFFE?FEFFHFFFFFFFFFFFFFFFEFFFFFFFFP0FFFFFFFFFFFFFFFEMFFFFFFFFFFFFFFFEFFFFFFH#J"8#J"9#:"J"=#8"9#J"D$=#E"C"9#>"J#A&J"=$J#E"F"=#
+FEFF<FEFEFF=FEFEFFFE:FEFEFFFEFEFFDFEFEFFFEFEFFFEFEFEFFFEFFEFFFFFEFFFEFF;FEFEFFFEJFEFFFEFEFEFFH#>";%9"8&=0;(?&8*9/9$?";59&8%:,>";(8%9&?&8(;#;,9">&?&8,9&9,?&9";-?/;(8&
+FFFEFEFEFEFEFEFEFFFEFEFEFFFEFEFEFFFEFEFEFFFFFEFEFEFFFFFEFEFFFFFEFEFEFFFFFEFEFEFFFFFEFEFEFFFEFEFEFEFEFFFEFEFEFEFEFFFFFEFEFEFEFFFEFEFEFE4FEFFFFFEFEFEFFFEFFFEFEFEFEFEFEFFFEFEFEFEFFFEFEFEFFFEFEFEFEFFFEFEFEFFFFFFFEFEFEFFFEFEFFFFFEFEFEFFFEFEFEFEFFFEFEFEFFFFFEFEFEFFFFFEFEFEFFFFFEFEFEFEFFFFFEFEFEFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFEFEFEFFFEFFFFFEFEFEFFFEFEFEFFFFFEFEFEFFFFFFFEFEFEFFFEFEFEFEFEFEFFFEFEFEFFFFFEFFFEFEFEFFFFFEFEFEFFFEFFFFFEFEFEFFFFFEFEFFFFFEFEFEFFFFFEFEFEFFH#>U8#9$8#:R8$8R8$9#<$:S8S8%9P8#:R8Z:$9%;$9$9#:R8$9%:$9#<$:$8Y8$8$8&;P9$9P9P8$:$;$9$@P9"<$8P9#<P8$8R8$:$9#
+FEFFFFFFFFFFFFFEFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFEFF1FFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFEFFH#J"J"J"J"J"J"J"J"
+FFFE>FFBFFO"FFO0FFBFFO"FFP%FFIFFH$rJ%
+FEFFFFFET-FEFEFEFFH#SJ$
+FFFET-FFFFFFH#
+FEFFH"
+FFHz
+W+E5
+
+
+
+
+
+
+
+
+
+
+
+
+J&9#J#D#Js$
+4FEFEFEFEFEFEFE5FEFEFEFEQ@FEE5FEFEJ%8#J#J'
+6E5E5FEFEE5E5EE5E5QBE5E5E5E5E5E5J29%8"8"8%8(8%9%J#;%9%
+8E5FEFEE5FEFEE5FEFEE5FEFEE5FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEE5FEFEFEFEFEFEFEFEFEFEFEFEQ9FEFEFEFEFEFEFEFEFEFEJ"808)9";.J.
+AFEFEFEE5E5FEFEE5FEFEE5E5FEFEE5E5E5E5FEFEE5E5FEFEFEFEFEE5E5FEFEE5FEFEE5E5FEFEQ>FEFEE5E5FEFEE5FEFEE5E5FEFEJ#A#F#B%J$F%
+BE5E5E5E5E5E5FEE5E5E5Q4FEFEFEFEE5E5E5J":#J"=#9&J$?#9&
+AE5FEFE8E5FEFEE5E5FEFEFEQ5E5E5E5FEFEE5E5FEFEFEJ%J%9"8"J%9"8"
+FE5E5E5E5>E5E5E5E5E5FEQ@E5E5E5E5E5FEJ$C#;#;"I(J(
+8FEFEE5FEFEFEFEFEFEFEE5FEFEE5E5QDFEFEE5FEFEE5E5J%@.8+?.J.
+6FEFEFEE5E5FEFEFEFEE5E5E5FEFEFEFEE5E5FEFEE5E5FEFEFEFEE5E5FEFEFEFEE5E5E5FEFEFEFEE5Q>E5FEFEFEFEE5E5E5FEFEFEFEE5J&9&:%9%:#8%8#9#8%9%J#:&8%9%
+4E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5Q3E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5
+
+
+
+
+
+
+
+H5=zB5=z
+QKFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFF3E4QKFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFF3E4H5J"B5J"
+QJFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFF:FFQJFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFF:FFH5Ar"r"C#ZAr"r"
+QIFFFEDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEDEE4DEFFFFFEQGDEE4DEFFH#z"G"J#J"
+FEFFQFDEFEFF6FEFFR*FFH#<"9"C"=#J"B$8#A":#J"J"I"J#J"J"
+FFFEFEFEFEFEFEGFEFEFEFEFEFEFEFEFECFE=DEE44FFFEBFEQ7E4H#;#9"C"="H"I#B(A#:"J#J"F"J#J(A"<"H&J"
+FEFFFEDEDEDEDEFEFEFEFEDEDEDEFEDEDEFEDEDECFEDE=FEFF7FEFFAFEFFFEFEFEFEFEFEFEFEFEFEFEFEP3FFH#J#J"H$I#J'J'J$
+FFFEO9DEDEP+DEE5E4E4FFFECFFFEFFFFFFFEDFFFEFFFFFFFEP4E5E4E4H#:#8$9,;$:&8$9&9$J$<#9$:$8&:$:$<#J"E$J#8$8&:$:$<#>#8#8&8&9$8&A$8(J$
+FEFFFEDEFEFEFEFEFEFEDEFEFEFEDEFEFEFEFEFEFEFEFEFEDEFEFEFEFEFEFEFEFEFEFEFEFE@FEFEFEFEDEFEFEFEFEFEFEFEFEFEDEFEFEFEFEFEFEFEFEDE>FEFFFFE56FEFFFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEP"FFFFE5H#>#:+;%9-8&8&J%?%9-8&8&J"I$H08&8&@'9"9&8&8-9%8)9#J$
+FFFEDEDEDEFEDEDEDEFEDEDEDEDEFEDEDEDEFEDEDEDEFEDEDEFEDEDEDEFEDEFEDEDEDEFEDEDEDEFE?DEDEDEFEFEDEDEDEFEDEDEDEFEDEDEFEDEFEDEFEFEDEDEDEFEFEDEDEDEFEEDEE5E4E4FFFEFFFEFFFFFFFEFFFFFEFFFEFFFEFEFFFFFFFEFEFFFFFFFEFEFEFEFFFFFFFFFFFEFFFFFFFFFEFFFFFFFEFFFFFFFEFFFFFEFEFFFFFEFEFEFEFFFEFFFFFFFEFFFFFFFFFFP&E5E4E4H#9#B"J$@&8&J#A$G&:#J"D$J#8$G&:#:%J"<%@$J$
+FEFFFEDEFE:FEFEFEDEFEFEFEDEFEFEFEFEFE@FEDEFEFEFEDEFEFEFEDEFEDE?FEFFFFE57FEFFFEFEFEFFFEFEFEFFFEFFFFFFFFFE?FFFFFFFFFEFFFEFFP#FFFFE5H#J%@%8&J%G%J"J$G#8%G%J$J$
+FFFELDEDEDEDEDEDEDEFEDEDEDEDEDEMDEDEDEDEDEDEDEFEEDE4E5E4E4FFFEFFFFFFFFFFFFFFFEO4FEFFFEP)E5E4E4H#8#A&J"=$J#E"F"=#J"C$J#;"F"=#J"<"J&J$
+FEFFFEDEDEFEDEFEDE;FEFEDEFEJFEDEFEFEFEDE@FEFFFFE58FEFFFEFEFEFF7FEFE=FEFFFFFFFEP!FFFFE5H#>&?&8,9&9,?&9";-?/;(8&@"J"J$F+;(8&>'8'8&809(8(;"J$
+FFFEFEFEFEFEFEFEFEFEFEFEDEFEFEFEDEFEDEDEFEFEFEDEFEFEFEDEDEFEFEFEDEDEDEFEFEFEDEFEFEFEFEFEFEDEFEFEFEDEDEFEDEFEFEFEDEDEFEFEFEDEFEDEDEFEFEFEDEDEFEFEDEDEFEFEFEDEDEFEFEFEDEFE:DE5E5E4E4FFFEFFFFFEFEFEFFFFFEFEFFFFFEFEFEFFFFFEFEFEFFFEFEFEFEFEFFFFFEFEFEFFFEFFFEFEFEFFFFFEFEFEFFFFFFFEFEFEFFFFFEFEFEFEFEFEFEFEFEFFFFFEFEFEFFFFFEFEP(E5E4E4H&;&9$9&9&8$:$;$9$@&9"<$8&9#<&8$8r8$:$9#<"J"B$J#8$8R8$:$9#:P:P9$:$9$8$8R:$8#9#J$
+FEFFDEFEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEFEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEFEDEDE:FEFFFFE59FEFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFOMFFFFE5H%J"J"J"J$E#J"J$
+FFFEDEDEP%DEIDEBDE6E5E4E4FFFE=FFQ?E5E4E4H#J%J"A#uG#J#u
+FEFFEFEFEFEDEPKFEFFFFE4FEFFR$FFFFE4H#J$J"B"B"D#J"B"
+FFFEEDEDEDEPLDEE4E4FFFER%E4E4H5AzD#Jz
+QIFEFFFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFE/DEFEFFR$/DEH#ZAZD#JZ
+FFFEQG/FFFER$/H#J"D#J"
+FEFFR2E4FEFFR2E4H#<"9"C"=#J"B$8#A":#J"Jv"E#J"@"A$Jv"
+FFFEFEFEFEFEFEGFEFEFEFEFEFEFEFEFECFEKE5E4FFFEBFEFEFEFEFEPFE5E4H#;#9"C"="H"I#B(A#:"J#J#J(;"A#
+FEFFFEFFFFFFFFFEFEFEFEFFFFFFFEFFFFFEFFFFCFEFFO8FEFFAFEFFFEFEFEFEFEFFFFFFH#J#J#J'
+FFFEO9FFFFQ&FFFECFFFEFFFFFFFEH#:#8$9,;$:&8$9&9$J$<#9$:$8&:$:$<#J#8$8&:$:$<#?$:%A$:&
+FEFFFEFFFEFEFEFEFEFEFFFEFEFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFE@FEFEFEFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFFO9FEFFFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFEFFFEH#>#:+;%9-8&8&J%?%9-8&8&J08&8&F#;&?&8'
+FFFEFFFFFFFEFFFFFFFEFFFFFFFFFEFFFFFFFEFFFFFFFEFFFFFEFFFFFFFEFFFEFFFFFFFEFFFFFFFE?FFFFFFFEFEFFFFFFFEFFFFFFFEFFFFFEFFFEFFFEFEFFFFFFFEFEFFFFFFFEO@FFFEFFFEFFFFFFFEFFFFFEFFFEFFFEFEFFFFFFFEFEFFFFFFFEFFFFFFFFFFFFFEFEFFFFFFFEFEFFFFFFFEFFH#9#B"J$@&8&J#A$G&:#J#8$G&:#H$
+FEFFFEFFFE:FEFEFEFFFEFEFEFFFEFEFEFEFE@FEFFFEFEFEFFFEFEFEFFFEFFO:FEFFFEFEFEFFFEFEFEFFFEFFFEFEFEH#J%@%8PJ%G%J#8%G%J%
+FFFELFFFFFFFFFFFFFFFEMFFFFFFFFFFFFFFFEO@FFFEFFFFFFFFFFFFFFFE7FEFFFFFFH#8#A&J"=$J#E"F"=#J#;"F"=#
+FEFFFEFFFFFEFFFEFF;FEFEFFFEJFEFFFEFEFEFFO;FEFFFEFEFEFFH#>&?&8,9&9,?&9";-?/;(8&@"<"J+;(8&>'8&848%
+FFFEFEFEFEFEFEFEFEFEFEFEFFFEFEFEFFFEFFFFFEFEFEFFFEFEFEFFFFFEFEFEFFFFFFFEFEFEFFFEFEFEFEFEFEFFFEFEFEFFFFFEFFFEFEFEFFFFFEFEFEFFFEFFFFFEFEFEFFFFFEFEFFFFFEFEFEFFFFFEFEFEFFFEFEO.FFFEFFFFFEFEFEFFFFFEFEFFFFFEFEFEFFFFFEFEFEFFFEFEFEFEFEFFFEFEFEFEFEFFFEFEFEFFFEFFFEFEFEFEFEFEFFFFFEFEFEFFFFFEFEFEH&;P9$9P9P8$:$;$9$@P9"<$8P9#<P8$8R8$:$9#<"<"J#8$8R8$:$9#:P9P9W8$:$
+FEFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFEFFFFFFO.FEFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFH%J"J"J#J"
+FFFEFFFFP%FFIFFO=FFFE=FFH#J%J#J%
+FEFFEFEFEFEFFQFFEFFO:FEFEFEFFH#J$J#J$
+FFFEEFFFFFFQGFFFEO:FFFFFFH#J#
+FEFFRAFEFFH#J#
+FFFERAFFFEH#J#
+FEFFRAFEFFH#<"9"C"=#J"B$8#A":#J"J#J"@"A$J#C$:$
+FFFEFEFEFEFEFEGFEFEFEFEFEFEFEFEFECFEO8FFFEBFEFEFEFEFE8FEFEFEFEFEFEFEFEH#;#9"C"="H"I#B(A#:"J#8$8(8%J#J(;"A#J'D#;#
+FEFFFEFFFFFFFFFEFEFEFEFFFFFFFEFFFFFEFFFFCFEFFFEFEFEFEFEFEFFFEFEFEFEFEFEFEO$FEFFAFEFFFEFEFEFEFEFFFFFF4FEFEFEFEFFFFFFFFFFFFH#J#J3J#J'J%
+FFFEO9FFFFO=FEFFFFFFFEFFFFFEFFFFFFFEFFFFFEFFFFFFO%FFFECFFFEFFFFFFFEEFEFFFFFFH#:#8$9,;$:&8$9&9$J$<#9$:$8&:$:$<#J"J#8$8&:$:$<#?$:%A$:&;":#:$
+FEFFFEFFFEFEFEFEFEFEFFFEFEFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFE@FEFEFEFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFF4FFO$FEFFFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFEFFFEFFFEFEFEFEFEH#>#:+;%9-8&8&J%?%9-8&8&C"9$:#J08&8&F#;&?&8'8#;%8&
+FFFEFFFFFFFEFFFFFFFEFFFFFFFFFEFFFFFFFEFFFFFFFEFFFFFEFFFFFFFEFFFEFFFFFFFEFFFFFFFE?FFFFFFFEFEFFFFFFFEFFFFFFFEFFFFFEFFFEFFFEFEFFFFFFFEFEFFFFFFFEFFFEFFFEFEFEO&FFFEFFFEFFFFFFFEFFFFFEFFFEFFFEFEFFFFFFFEFEFFFFFFFEFFFFFFFFFFFFFEFEFFFFFFFEFEFFFFFFFEFFFEFEFEFFFFFEFEFFFFFFFEH#9#B"J$@&8&J#A$G&:#@"9"8&J#8$G&:#H$J&9"<$
+FEFFFEFFFE:FEFEFEFFFEFEFEFFFEFEFEFEFE@FEFFFEFEFEFFFEFEFEFFFEFFFFFFFFFFFEFEFEO$FEFFFEFEFEFFFEFEFEFFFEFFFEFEFE8FFFFFEFEFEFFFEFEFEH#J%@%8PJ%G%C"A#J#8%G%J%J#A%
+FFFELFFFFFFFFFFFFFFFEMFFFFFFFFFFFFFFFEFEFFFFO%FFFEFFFFFFFFFFFFFFFE7FEFFFFFF:FFFFFFFFFFFFH#8#A&J"=$J#E"F"=#C":"J#;"F"=#J"G"
+FEFFFEFFFFFEFFFEFF;FEFEFFFEJFEFFFEFEFEFFFEFEO(FEFFFEFEFEFFO FEFEH#>&?&8,9&9,?&9";-?/;(8&?&9$:%J+;(8&>'8&848%:38.
+FFFEFEFEFEFEFEFEFEFEFEFEFFFEFEFEFFFEFFFFFEFEFEFFFEFEFEFFFFFEFEFEFFFFFFFEFEFEFFFEFEFEFEFEFEFFFEFEFEFFFFFEFFFEFEFEFFFFFEFEFEFFFEFFFFFEFEFEFFFFFEFEFFFFFEFEFEFFFFFEFEFEFFFFFEFEFEFFFFFEFFFEFEFEFFO$FFFEFFFFFEFEFEFFFFFEFEFFFFFEFEFEFFFFFEFEFEFFFEFEFEFEFEFFFEFEFEFEFEFFFEFEFEFFFEFFFEFEFEFEFEFEFFFFFEFEFEFFFFFEFEFEFEFEFEFFFFFEFEFEFFFEFEFEFFFFFEFEFEFFFEFEFEFEFEFEFFFEFEFEFEFEFEH&;P9$9P9P8$:$;$9$@P9"<$8P9#<P8$8R8$:$9#<$;":%J#8$8R8$:$9#:P9P9W8$:$9%8R8$9X
+FEFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFO%FEFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFH%J"J"J#J"
+FFFEFFFFP%FFIFFO=FFFE=FFH#J%J#J%
+FEFFEFEFEFEFFQFFEFFO:FEFEFEFFH#J$J#J$
+FFFEEFFFFFFQGFFFEO:FFFFFFH#J#
+FEFFRAFEFFH#J#
+FFFERAFFFEH#J#
+FEFFRAFEFFH#J#J"J"A$=#
+FFFERAFFFEBFEMFEFEFEFEFEFEH#J#J)@"H':"A#>"
+FEFFRAFEFFAFEFFFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFH#J#J&J&
+FFFERAFFFECFFFEFFFFFF>FFFEFFFFFFH#J#8$8&:$:$<#:*9&8.9":$;$A$
+FEFFRAFEFFFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFFFEFFFFFFFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEFFFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFEH#J08&8&@":'8&8#P'8"8"8#;&?%
+FFFERAFFFEFFFEFFFFFFFEFFFFFEFFFEFFFEFEFFFFFFFEFEFFFFFFFEFEFFFEFEFFFFFEFFFEFFFFFFFFFEFEFFFFFFFEFFFEFFFFFFFEFFFFFFFEFEFFFFFFH#J#8$G&:#:"<"J"C$
+FEFFRAFEFFFEFEFEFFFEFEFEFFFEFFFFFF;FFFEFEFEH#J#8%G%A"J&:"B%
+FFFERAFFFEFFFFFFFFFFFFFFFEFF9FFFEFFFEFFFFFFFFFFFFH#J#;"F"=#>"D"@"J"
+FEFFRAFEFFFEFEFEFFFEFEFE6FEH#J+;(8&>&8$9"8+:$8%:&8&8.
+FFFERAFFFEFFFFFEFEFEFFFFFEFEFFFFFEFEFEFFFFFEFEFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEFFFFFEFEFEFEFFFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEFFFEFEFEFEFEFEFFFFFEFEFEFFFEH#J#8$8R8$:$9#:U8#9$8%?%:P9$9Q8P
+FEFFRAFEFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFH#J#J"
+FFFERAFFFE=FFH#J#J$
+FEFFRAFEFFO2FEFEFFH#J#J#
+FFFERAFFFEO2FFFFH#J#
+FEFFRAFEFFH#J#
+FFFERAFFFEH#J#
+FEFFRAFEFFH#J#J"@":$J$J"
+FFFERAFFFEBFEFEFEFEFE9FEFEFE;FEH#J#J):":#C%?#J"="G&
+FEFFRAFEFFAFEFFFEFEFEFEFEFEFFFFFFFEFEFEFEFFFF4FEFFFEFEFEFEFEH#J#J&J%J'
+FFFERAFFFECFFFEFFFFFF8FEFFFFFFO,FFFEFFFFFFFEH#J#8$8&:$:$<#:":$B$="9$A$:$9&8$;$8&A$8(
+FEFFRAFEFFFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEH#J08&8&@"8"8#B&9#:&?&8&8&8#;-9%8)9#
+FFFERAFFFEFFFEFFFFFFFEFFFFFEFFFEFFFEFEFFFFFFFEFEFFFFFFFEFEFFFFFFFEFFFFFFFEFEFEFEFFFFFFFEFEFFFFFFFEFEFFFFFFFEFFFEFFFFFFFFFFFEFFFFFFFEFFFFFEFEFFFFFEFEFEFEFFFEFFFFFFFEFFFFFFFFFFH#J#8$G&:#:"J$9&9$A$="J"<%@$
+FEFFRAFEFFFEFEFEFFFEFEFEFFFEFFFF4FEFEFEFFFFFEFEFEFEFEFEFEFEFEFF8FFFFFFFFFEFFFEFFH#J#8%G%A"I%:#:%@%J$
+FFFERAFFFEFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFO&FEFFFEH#J#;"F"=#J"8"@"C"<"="J&
+FEFFRAFEFFFEFEFEFF=FEFEFEFEFEFEDFEFFFFFFFEH#J+;(8&>%:&8-9%8&8-8&9,8*9(8(;"
+FFFERAFFFEFFFFFEFEFEFFFFFEFEFFFFFEFEFEFFFFFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFEFEFEFFFEFEFEFFFFFEFEFEFFFEFEFEFEFEFEFFFFFEFEFEFFFFFEFEFEFFFFFEFEFEFFFFFEFEFEFEFEFFFEFEFEFFFFFEFEFEFEFEFEFEFEFEFFFFFEFEFEFFFFFEFEH#J#8$8R8$:$9#:%:P8Q8$9%:$9Q8$:$;$8P9$8$8R:$8#9#
+FEFFRAFEFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFH#J#J"
+FFFERAFFFE=FFH#J#
+FEFFRAFEFFH#J#Jv
+FFFERAFFFER&E4H#J#J"
+FEFFRAFEFFR%E4H#J5Az
+FFFERAQIFFFEDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDEFFDE/DEH#J#z"
+FEFFRAFEFFQFDEFEH#J#J"@":$J$J"J"A$J"
+FFFERAFFFEBFEFEFEFEFE9FEFEFE;FE;FEFEFEFE9DEH#J#J):":#C%?#J"="G&;"A#J"
+FEFFRAFEFFAFEDEFEFEFEFEFEFEDEDEDEFEFEFEFEDEDE4FEDEFEFEFEFEFEDEDEDE:FEH#J#J&J%J'J"
+FFFERAFFFECDEFEDEDEDE8FEDEDEDEO,DEFEDEDEDEFELDEH#J#8$8&:$:$<#:":$B$="9$A$:$9&8$;$8&@$:%A$:&>"
+FEFFRAFEFFFEFEFEFEFEFEDEFEFEFEFEFEFEFEFEDEFEFEFEFEFEFEFEDEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEDEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEDEFEFEH#J08&8&@"8"8#B&9#:&?&8&8&8#;-?#;&?&8'>"
+FFFERAFFFEDEFEDEDEDEFEDEDEFEDEFEDEFEFEDEDEDEFEFEDEDEDEFEFEDEDEDEFEDEDEDEFEFEFEFEDEDEDEFEFEDEDEDEFEFEDEDEDEFEDEFEDEDEDEDEDEFEDEDEDEFEDEDEFEFEDEDEFEDEDEDEDEDEDEFEFEDEDEDEFEFEDEDEDEFEDEDEH#J#8$G&:#:"J$9&9$A$="J"J$J"
+FEFFRAFEFFFEFEFEDEFEFEFEDEFEDEDE4FEFEFEDEDEFEFEFEFEFEFEFEFEFEDE8DE4FEFEFE?FEH#J#8%G%A"I%:#:%@%J%J"
+FFFERAFFFEDEDEDEDEDEDEDEFEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEO%FEDEDEDE?DEH#J#;"F"=#J"8"@"C"<"="J"
+FEFFRAFEFFFEFEFEDE=FEFEFEFEFEFEO9FEH#J+;(8&>%:&8-9%8&8-8&9,8*9(8&848%@"
+FFFERAFFFEDEDEFEFEFEDEDEFEFEDEDEFEFEFEDEDEFEFEFEDEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEDEDEFEFEFEDEFEFEFEDEDEFEFEFEDEFEFEFEFEFEFEDEDEFEFEFEDEDEFEFEFEDEDEFEFEFEDEDEFEFEFEFEFEDEFEFEFEDEDEFEFEFEFEFEFEFEFEFEDEFEFEFEFEFEDEFEFEFEDEFEDEFEFEFEFEFEFEDEDEFEFEFEDEDEFEFEFEDEH#J#8$8r8$:$9#:%:&8'8$9%:$9'8$:$;$8&9$8$8r9&9w8$:$@"
+FEFFRAFEFFDEDEDEDEDEDEDEDEDEDEFEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEFEH#J#J"J"
+FFFERAFFFE=DEQ(DEH#J#J%?"
+FEFFRAFEFFQ9FEFEFEDEFEH#J#J$@"
+FFFERAFFFEQ9DEDEDEDEH#J5
+FEFFRAQIFEFFFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEDEFEH#J#Z
+FFFERAFFFEQGH#J#
+FEFFRAFEFFH#J#J"D#C$D#A"=#
+FFFERAFFFEBFEFEFEFEFEFEFEFEFEFEFEH#J#J&A"D#E"8(9"="H"
+FEFFRAFEFFAFEFFFEFEFEFFFFFFFFFEFEFEFFFEFEFEFFFFFEH#J#J$J(
+FFFERAFFFECFFFEFFO FFFEFFFFFFFEFFH#J#8$8&:$:$<#?%:$:$A$:$;":$;$:&8$9&
+FEFFRAFEFFFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEH#J08&8&F&9%8&?&8%@#;%9-8&
+FFFERAFFFEFFFEFFFFFFFEFFFFFEFFFEFFFEFEFFFFFFFEFEFFFFFFFEFFFFFFFFFEFFFFFFFEFEFFFFFFFEFEFFFFFFFEFEFFFFFFFFFFFEFFFFFFFEFFFFFFFEFFFFFEFFFFFFFEFFFEFFFFFFH#J#8$G&:#A$A$A$J$
+FEFFRAFEFFFEFEFEFFFEFEFEFFFEFFFEFEFEFEFEFEFEFEFEGFEFEFEH#J#8%G%C"8%A%@%@$J%
+FFFERAFFFEFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFEFFFE9FFFFFFFFH#J#;"F"=#J"C"?"9"J"="
+FEFFRAFEFFFEFEFEFF=FEFEFFFF;FEFEH#J+;(8&>&9-8&8-8'>&8,9&9&
+FFFERAFFFEFFFFFEFEFEFFFFFEFEFFFFFEFEFEFFFFFEFEFEFFFEFEFEFEFEFFFEFEFEFFFEFEFFFEFEFEFFFFFEFEFEFFFEFEFEFEFEFEFFFFFEFEFEFFFFFEFEFEFFFEFEFEFEFEFEFFFEFEFEFFFEFFFFFEFEFEFFFEFEFEFFFFFEFEFEFFH#J#8$8R8$:$9#:Q9U:$9Q8$:P8$9P9P8$:$;$
+FEFFRAFEFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFH#J#J"
+FFFERAFFFE=FFH#J#J%
+FEFFRAFEFFP/FEFEFEFFH#J#J$
+FFFERAFFFEP/FFFFFFH#J#
+FEFFRAFEFFH#J#
+FFFERAFFFEH#J#
+FEFFRAFEFFH#J#J"J"A$
+FFFERAFFFEBFEO-FEFEFEFEH#J#J%9#J&;"A#
+FEFFRAFEFFAFEFFFEFEFEFEJFEFEFEFEFEFFFFFFH#J#J(J'
+FFFERAFFFECFFFEFEFFFEFEFFJFFFEFFFFFFFEH#J#8$8&:$:$<#@$:$:$9%:&8$@$:%A$:&
+FEFFRAFEFFFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFEH#J08&8&@$9&8&8&8&8-?#;&?&8'
+FFFERAFFFEFFFEFFFFFFFEFFFFFEFFFEFFFEFEFFFFFFFEFEFFFFFFFEFFFEFFFEFFFFFFFEFEFFFFFFFEFEFFFFFFFEFFFFFFFFFEFEFFFFFFFEFFFFFEFFFFFFFEFFFFFFFFFFFFFEFEFFFFFFFEFEFFFFFFFEFFH#J#8$G&:#A$9&8&9$A$H$
+FEFFRAFEFFFEFEFEFFFEFEFEFFFEFFFEFEFEFFFEFEFEFFFFFEFEFEFFFEFEFEFEFEFEFEFEFEH#J#8%G%G%9%9%8%A%F%
+FFFERAFFFEFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFEFFFFFFFEFEFFFFFFFFFFFFFFFEFFFFFFH#J#;"F"=#<">"8"<"J"
+FEFFRAFEFFFEFEFEFFFFFEFEFE8FEH#J+;(8&>.8&8&8,9-8&848%
+FFFERAFFFEFFFFFEFEFEFFFFFEFEFFFFFEFEFEFFFFFEFEFEFFFEFEFEFFFEFEFEFFFFFEFEFEFFFFFEFEFEFFFFFEFEFEFFFFFEFEFEFFFEFFFFFEFEFEFFFEFEFEFFFFFEFEFEFEFEFFFEFEFEFEFEFFFEFEFEFFFEFFFEFEFEFEFEFEFFFFFEFEFEFFFFFEFEFEH#J#8$8R8$:$9#:R8$:$:$:P8$:$8P9P9W8$:$
+FEFFRAFEFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFH#J#J"
+FFFERAFFFE=FFH#J#J%J%
+FEFFRAFEFFO:FEFEFEFFMFEFEFEFFH#J#J$J$
+FFFERAFFFEO:FFFFFFO FFFFFFH#J#
+FEFFRAFEFFH#J#
+FFFERAFFFEH#J#
+FEFFRAFEFFH#J#J"J"
+FFFERAFFFEBFE8FEH#J#J#8$A"="G#9#
+FEFFRAFEFFAFEFFFEFEFEFEFFFEFEFEFEH#J#J&J(
+FFFERAFFFEDFEFFFFFFFEDFFFEFEFFFEFEFFH#J#8$8&:$:$<#>&9&8$;$8&A$8&8#8#
+FEFFRAFEFFFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFFFEFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEH#J08&8&E'8&8#;-9$9/9"
+FFFERAFFFEFFFEFFFFFFFEFFFFFEFFFEFFFEFEFFFFFFFEFEFFFFFFFEFFFEFFFFFFFEFFFEFFFFFFFFFFFEFFFFFFFEFFFFFEFEFFFFFEFFFEFFFEFFFFFFFEFFFFFEFEFFFFFEFFFFFFH#J#8$G&:#J"C$:"
+FEFFRAFEFFFEFEFEFFFEFEFEFFFEFFGFFFEFEFEFFH#J#8%G%J%
+FFFERAFFFEFFFFFFFFFFFFFFFEO-FFFFFFFFH#J#;"F"=#J"J">"
+FEFFRAFEFFFEFEFEFF7FE8FFFEH#J+;(8&?&9%9,8*939)
+FFFERAFFFEFFFFFEFEFEFFFFFEFEFFFFFEFEFEFFFFFEFEFEFFFFFEFEFEFFFEFEFEFFFFFEFEFEFFFFFEFEFEFEFEFFFEFEFEFFFFFEFEFEFEFEFEFEFFFEFEFEFFFFFEFEFEFFFFFEFEFEFEFFFFFEFEFEFFFEH#J#8$8R8$:$9#<$:$;$8P9$8$8T8$8$8#8P
+FEFFRAFEFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFH#J#J"
+FFFERAFFFE=FFH#J#J$
+FEFFRAFEFFJFEFEFEH#JvF#J$
+FFFER&E4FFFEJFFFFFFH#J"J#
+FEFFR%E4;FEFFH#JzD#
+FFFER$/DEFFFEH#JZD#JZ
+FEFFR$/FEFFR$/H#J"C"D#J"J#A"D#J"C"
+FFFER$DEE4FFFEBFE@FEFEFEFEFEOMDEE4H#Jt$D#J(J"8(9"D"Jt$
+FEFFR'E5E4E4DEFEFFAFEFFFEFEFEFEFE;FFFEFEFEFFFEFEFEFFFFP#E5E4E4DEH#J$J#J'J(J$
+FFFER%DEFFFF9FFFECFFFEFFFFFEFE=FFFEFFFFFFFEFFP4DEFFFFH#J$E#8$8&:$:$<#;"9%8&:$:$;":$9&:$:$8(J$
+FEFFR/E4E4DEFEFFFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFFFFFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFFFEFEFEOIE4E4DEH#J$J08&8&B"9-8&8%@#:'8%9.J$
+FFFER&DEFFFF8FFFEFFFEFFFFFFFEFFFFFEFFFEFFFEFEFFFFFFFEFEFFFFFFFEFEFFFFFFFFFEFFFFFEFEFFFFFEFEFFFFFFFEFEFFFFFFFFFFFFFEFEFFFFFEFEFFFFFFFEFFFFFFFEFFFFFEFFFFFFFEFFO@DEFFFFH#J$F#8$G&:#:%9$:"<$J"J"J$
+FEFFR.E4E4DEFEFFFEFEFEFFFEFEFEFFFEFFFEFEFEFFFEFEFEFFFEFEFE9FF5FEOKE4E4DEH#J$J#8%G%@$9%A%@$J$
+FFFER'DEFFFF7FFFEFFFFFFFFFFFFFFFEFFFFFFFEFFFFFFFFFFFFFFFEFFFEP8DEFFFFH#J$G#;"F"=#J"?"9"J&J$
+FEFFR-E4E4DEFEFFFEFEFEFF=FEFFFF>FFFEFFFEFFOHE4E4DEH#J$J+;(8&>%:*9(8'>*9/J$
+FFFER(DEFFFF6FFFEFFFFFEFEFEFFFFFEFEFFFFFEFEFEFFFFFEFEFEFFFEFEFEFEFFFEFEFEFFFEFEFEFEFEFFFFFEFEFEFFFFFEFEFEFFFEFEFEFEFEFEFFFEFEFEFEFFFFFEFEFEFFFEFFFFFEFEFEFFOJDEFFFFH#J$H#8$8R8$:$9#:%;S8#8$:P8$9T8#8P8$:$J$
+FEFFR,E4E4DEFEFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFOHE4E4DEH#J$J#J"J$
+FFFER)DEFFE45FFFE=FFQ9DEFFE4H#J"I#J"
+FEFFR-DEFEFFR-DEH#J"J#J"
+FFFER*DE6FFFER*DEH#J"J#J"
+FEFFR,DE4FEFFR,DEH#JZD#JZ
+FFFER$/FFFER$/H#J"J#J"
+FEFFR#FF=FEFFR#FFHz=zBz=z
+QKE53E5QKE53E5
+
+
+
+
+
+HzJz
+QKE4FQKE4J"J"
+R.FFRBFFJy"zZ$x"Jy"zZ$x"
+4DEFFP DEO(DEFFFFDEFFIDEFFP+DEKDEFFFFDEFFJ$J"9#J$J"9#
+@FFFFE4Q'E4FFFFO3FFFFE4Q'E4FFFFJ%Jz"<#J%Jz"<#
+>FFFFFFE4P#O$E5E4FFFFO/FFFFFFE4P.GE5E4FFFFJ#8"J#8#J#8"J#8#
+<FFFFE5Q-E5E5FFFFO+FFFFE5Q-E5E5FFFFJ#8#J#8#J#8#J#8#
+:FFFFE5E5Q0E5E5FFFFO'FFFFE5E5Q0E5E5FFFFJ#8#J#8#J#8#J#8#
+8FFFFE5E5Q4E5E5FFFFO#FFFFE5E5Q4E5E5FFFFJ#8#J#8#J#8#J#8#
+6FFFFE5E5Q8E5E5FFFFMFFFFE5E5Q8E5E5FFFFJ'J&J'J&
+4E4E4E4E4E5E5Q<E5E4E4E4E4JE4E4E4E4E5E5Q<E5E4E4E4E4J#8#J"9"J#8#J"9"
+4DEDEE4E4Q<E4DEJDEDEE4E4Q<E4DEJ#8#J#8#J#8#J#8#
+6DEDEE4E4Q8E4E4DEDEMDEDEE4E4Q8E4E4DEDEJ#8#J#8#J#8#J#8#
+8DEDEE4E4Q4E4E4DEDEO#DEDEE4E4Q4E4E4DEDEJ#8#J#8#J#8#J#8#
+:DEDEE4E4Q0E4E4DEDEO'DEDEE4E4Q0E4E4DEDEJ#8"J#8#J#8"J#8#
+<DEDEE4Q-E4E4DEDEO+DEDEE4Q-E4E4DEDEJ#Jz=#J#Jz=#
+>DEDEP%O$E4DEDEO/DEDEP0GE4DEDEJ#J"J$J#J"J$
+@DEDEP"E4O(E4DEDEO3DEDEP-E4KE4DEDEJZJZ
+4QGJQGI"J"
+FFRBFFHzJz
+QKE5FQKE5
+
+
+
+
+
+
+
+
+
+
+
+
+J&?#F#8#
+5FEFEFEFEFEFEFEFEFEFEFEJ(J#
+4FEFEE5E5E5FEFE>E5E5J%<%9%8"8%8%8&
+=FEFEFEFEFEFEFEFEFEFEFEFEFEFEE5FEFEFEFEFEFEFEFEE5FEFEJ/:08":'9%
+4E5FEFEFEE5E5E5E5FEFEE5E5FEFEFEFEE5E5FEFEE5FEFEE5E5FEFEE5E5E5FEFEE5E5FEFEFEE5FEFEJ&J#H"
+5E5E5FEFEFE7E5E5E5J"8"9#>#
+7E5FEFEFEFEFEJ#8";%<%
+4FEFEE5E5E5E5E5E5E5E5E5J#>#;#;"
+@FEFEFEFEFEFEFEJ/:.8%9'
+4E5FEFEFEFEFEE5E5E5FEFEFEFEE5E5FEFEFEFEE5E5E5FEFEFEFEE5E5FEFEE5E5FEFEFEFEE5J&9%8#8%9%:&8%8#8#
+5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5
+
+
+
+
+
+
+Fz
+W/FE
+H5
+W+FFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFH5
+W*FEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFFEFFH#Z
+FFFEW'H#J#
+FEFFVMFEFEH#?$<$J"J"J"9"C"=#J"B$8#A":#J"@":$J$J"J"A$
+FFFEFEFEFEFEFEFECFEBFEO"FEFEFEFEFEGFEFEFEFEFEFEFEFEFECFEFEFEFEFE9FEFEFE;FE;FEFEFEFEH#?#<%G"F#J#J#9"C"="H"I#B(A#:"J):":#C%?#J"="G&;"A#
+FEFFFFFFFEFFFFFFFEFEFFAFEFFO!FEFFFFFFFFFEFEFEFEFFFFFFFEFFFFFEFFFFCFEFFFEFEFEFEFEFEFFFFFFFEFEFEFEFFFF4FEFFFEFEFEFEFEFFFFFFH#J#J&J%J'
+FFFER5FFFFO<FFFEFFFFFF8FEFFFFFFO,FFFEFFFFFFFEH&8#?&9$9&8&9$<):$9&9$<#9$:$8&8&:$8&<#8$9,;$:&8$9&9$J$<#9$:$8&:$:$<#:":$B$="9$A$:$9&8$;$8&@$:%A$:$
+FEFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFFFFFEFEFEFFFEFEFEFEFEFFFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEFEFFFEFEFEFEFEFFFEFEFEFEFFFEFEFEFEFEFEFFFEFEFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFE@FEFEFEFEFFFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEH%9"@&8&8&8&8&>'8&8&8&?&848-?#:+;%9-8&8&J%?%9-8&8&@"8"8#B&9#:&?&8&8&8#;-?#;&?&8&
+FFFEFFFFFFFFFEFFFFFFFEFFFFFFFEFFFEFFFFFFFFFEFFFFFFFEFFFFFFFEFFFEFFFEFFFEFEFFFFFFFEFFFEFFFFFFFEFFFFFFFEFEFFFFFFFEFEFFFFFFFEFFFFFEFFFEFFFEFFFFFEFFFEFFFEFEFFFFFFFEFFFFFEFEFFFFFEFFFFFFFEFFFFFFFEFFFFFFFFFEFFFFFFFEFFFFFFFEFFFFFEFFFFFFFEFFFEFFFFFFFEFFFFFFFE?FFFFFFFEFEFFFFFFFEFFFFFFFEFFFFFEFFFEFFFEFEFFFFFFFEFEFFFFFFFEFEFFFFFFFEFFFFFFFEFEFEFEFFFFFFFEFEFFFFFFFEFEFFFFFFFEFFFEFFFFFFFFFFFEFFFFFFFEFFFFFEFEFFFFFEFFFFFFFFFFFFFEFEFFFFFFFEFEFFFFFFFEH#J$G&:#A$D":#="J"=#B"J$@&8&J#A$G&:#:"J$9&9$A$="J"J$
+FEFF8FEFEFEFFFEFEFEFFFEFFFEFEFEFFFEFFFF?FFFEFFFE:FEFEFEFFFEFEFEFFFEFEFEFEFE@FEFFFEFEFEFFFEFEFEFFFEFFFF4FEFEFEFFFFFEFEFEFEFEFEFEFEFEFF8FF4FEFEFEH#J%G%G%J%@%8PJ%G%A"I%:#:%@%J%
+FFFE8FFFFFFFFFFFFFFFEFFFFFFFFP0FFFFFFFFFFFFFFFEMFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFO%FEFFFFFFH#J"D$=#E"C"9#>"J#A&J"=$J#E"F"=#J"8"@"C"<"="
+FEFF;FEFEFFFEFEFFFEFEFEFFFEFFEFFFFFEFFFEFF;FEFEFFFEJFEFFFEFEFEFF=FEFEFEFEFEFEH#839&8%:,>";(8%9&?&8(;#;,9">&?&8,9&9,?&9";-?/;(8&>%:&8-9%8&8-8&9,8*9(8&848%
+FFFEFFFEFEFEFFFEFFFEFEFEFEFEFEFFFEFEFEFEFFFEFEFEFFFEFEFEFEFFFEFEFEFFFFFFFEFEFEFFFEFEFFFFFEFEFEFFFEFEFEFEFFFEFEFEFFFFFEFEFEFFFFFEFEFEFFFFFEFEFEFEFFFFFEFEFEFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFEFEFEFFFEFFFFFEFEFEFFFEFEFEFFFFFEFEFEFFFFFFFEFEFEFFFEFEFEFEFEFEFFFEFEFEFFFFFEFFFEFEFEFFFFFEFEFEFFFEFFFFFEFEFEFFFFFEFEFFFFFEFEFEFFFFFEFEFEFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFEFEFEFFFEFEFEFFFFFEFEFEFFFEFEFEFEFEFEFFFFFEFEFEFFFFFEFEFEFFFFFEFEFEFFFFFEFEFEFEFEFFFEFEFEFFFFFEFEFEFEFEFEFEFEFEFFFEFEFEFEFEFFFEFEFEFFFEFFFEFEFEFEFEFEFFFFFEFEFEFFFFFEFEFEH#9Z:$9%;$9$9#:R8$9%:$9#<$:$8Y8$8$8&;P9$9P9P8$:$;$9$@P9"<$8P9#<P8$8R8$:$9#:%:P8Q8$9%:$9Q8$:$;$8P9$8$8R9P9W8$:$
+FEFF1FFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFH#J"J"J"J"J"
+FFFEO%FFBFFO"FFP%FFIFFH#J%J%
+FEFFQAFEFEFEFFS$FEFEFEFFH#J$JQ
+FFFEQAFFFFFFS%H#
+FEFFH"
+FFHz
+W+FE
+Fz
+W/E5
+
+
+
+
+
+
+
+
+<z
+WDE4=z"
+WBE5FF=Z
+WB<z
+WDE5
+
+
+
+
+
+
+
+Jz
+AOAE4J"
+P3FFJz"
+CO=E5FF
+
+
+JZJZJZJZ
+GO5FO5FO5FO5J"J"J"J"
+P-E4P,E4P,E4P,E4Jz"Jz"Jz"Jz"
+IO1E5E4IO1E5E4IO1E5E4IO1E5E4
+
+
+
+
+J%:#9#Js$8#J%J#J#9#>#
+O3FEFEFEFEFEFEFEFEODFEE5FEFEFEFEOJFEFEFEFE=FEFEO<FEFEFEFEFEFEJ'=$J'J'
+O2FEFEE5E5FEFEFEFEE5OFE5E5E5E5E5E5P"FEFEE5E5FEFEJ$8$;$J#:"8"8%8&J$8(8&9%9%J%;&
+O1FEFEE5E5FEFEFEFEE5OKFEFEFEFEFEFEFEFEFEFEE5FEFEO:FEFEE5E5E5E5FEFEFEFEFEFEE5FEFEFEFEFEFEFEFEFEFEOIFEFEFEFEFEFEE5FEFEJ$J"8)9"J'93J'<%
+O=FEFEE5P$E5E5E5FEFEE5E5FEFEFEOCFEFEE5E5FEFEFEE5FEFEE5FEFEE5E5FEFEE5FEFEE5E5FEFEOGFEFEE5E5FEFEFEE5FEFEJ$J#J#=">#J$E"
+Q:FEFEFE6E5E5OAE5E5E5E5E5OHFEFEFEE5J$J$D#;"J$I#J$;#
+O=E5FEFEOHE5E5E5FEFEE5ODFEFEFEFEFEOCE5E5E5FEFEJ$J%J%I%J%
+O>E5FEFEP*E5E5E5E5OGFEFEE5E5E5E5E5E5OIE5E5E5E5J$8$<$J":#J$8#H#;#J#<"
+O1E5FEFEFEFEE5E5FEFEP&FEFEFEO@E5FEFEFEFEFEFEFEFEOKFEFEFEJ'>$J+J.=.J'<%
+O2E5FEFEFEFEE5E5FEFEP"E5FEFEE5E5FEFEFEFEE5OAE5FEFEFEFEE5E5FEFEFEE5FEFEE5FEFEFEFEE5E5E5FEFEFEFEE5OGE5FEFEFEFEE5E5FEFEE5J%:#:#J#:&9#8%8#J%8s8#8%9%8#J#9#8%8#:#
+O3E5E5E5E5E5E5E5E5OCE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5O?E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5O<E5E5E5E5E5E5E5E5E5E5E5E5
+
+J#
+V8E5E5
+
+
+
+&J%
+F7F7F7F7F7WEF7F7F7F7&JzJzJzJzJ&
+F6F6F6F6F6DO1E4JO1E4JO1E4JO1E4EF6F6F6F6F68$J"J"J"J"J%
+F9F9F9CE4P,E4P,E4P,E4P)F9F9F9F7JzJzJzJz
+GO5E5FO5E5FO5E5FO5E5
+
+
+JZ
+CO=J"
+BFFJz
+AOAE5
+
+
+
+
+
+
+
+<z"z"z
+0F6F7W!F6F71F6;z8z8z
+1F9W F91F9
+
+7z8z8z
+5F7W F74F7"J"J"
+F76F7W!F7
+ENDBITMAP
+%%EndBinary
+369 447 495 465 R
+7 X
+V
+4 8 Q
+0 X
+(f) 369 459.67 T
+(ileselectiondialog .fsd) 373.8 459.67 T
+(.fsd activate) 369 449.67 T
+0 10 Q
+(FIGURE 34) 359.58 420.1 T
+1 F
+( - Fileselectiondialog) 410.98 420.1 T
+0 0 612 792 C
+FMENDPAGE
+%%EndPage: "17" 17
+%%Trailer
+%%BoundingBox: 0 0 612 792
+%%PageOrder: Ascend
+%%Pages: 17
+%%DocumentFonts: Times-Bold
+%%+ Times-Roman
+%%+ Times-BoldItalic
+%%+ Times-Italic
+%%+ Courier
+%%+ Courier-Bold
+%%EOF
diff --git a/itcl/iwidgets/doc/labeledframe.n b/itcl/iwidgets/doc/labeledframe.n
new file mode 100644
index 00000000000..d4426c4e7ad
--- /dev/null
+++ b/itcl/iwidgets/doc/labeledframe.n
@@ -0,0 +1,195 @@
+'\"
+'\" Copyright (c) 1997 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) labeledframe.n 1.21 97/1/30 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::labeledframe iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::labeledframe \- Create and manipulate a labeled frame widget
+.SH SYNOPSIS
+\fBiwidgets::labeledframe\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Archetype <- iwidgets::Labeledframe
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbackground\fR \fBborderwidth\fR \fBcursor\fR
+\fBforeground\fR \fBrelief\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBiPadX\fR
+Class: \fBIPad\fR
+Command-Line Switch: \fB-ipadx\fR
+.fi
+.IP
+Specifies horizontal padding space between the border and the childsite.
+The value may have any of the forms acceptable to \fBTk_GetPixels\fR.
+The default is 0.
+.LP
+.nf
+Name: \fBiPadY\fR
+Class: \fBIPad\fR
+Command-Line Switch: \fB-ipady\fR
+.fi
+.IP
+Specifies vertical padding space between the border and the childsite.
+The value may have any of the forms acceptable to \fBTk_GetPixels\fR.
+The default is 0.
+.LP
+.nf
+Name: \fBlabelBitmap\fR
+Class: \fBBitmap\fR
+Command-Line Switch: \fB-labelbitmap\fR
+.fi
+.IP
+Specifies a bitmap to display in the label, in any of the forms
+acceptable to \fBTk_GetBitmap\fR. This option overrides the \fIlabeltext\fR
+option.
+.LP
+.nf
+Name: \fBlabelImage\fR
+Class: \fBImage\fR
+Command-Line Switch: \fB-labelimage\fR
+.fi
+.IP
+Specifies a image to be used as the label. The image may be any of the
+values created by the \fBimage create\fR command. This option overrides
+both the \fIlabelbitmap\fR and \fIlabeletext\fR options.
+.LP
+.nf
+Name: \fBlabelMargin\fR
+Class: \fBMargin\fR
+Command-Line Switch: \fB-labelmargin\fR
+.fi
+.IP
+Specifies the distance between the inner ede of the hull frames relief,
+and the label in any of the forms acceptable to \fBTk_GetPixels\fR.
+The default is 10 pixels.
+.LP
+.nf
+Name: \fBlabelText\fR
+Class: \fBText\fR
+Command-Line Switch: \fB-labeltext\fR
+.fi
+.IP
+Specifies the text of the label around the childsite.
+.LP
+.nf
+Name: \fBlabelVariable\fR
+Class: \fBVariable\fR
+Command-Line Switch: \fB-labelvariable\fR
+.fi
+.IP
+Specifies the text variable of the label around the childsite.
+.LP
+.nf
+Name: \fBlabelFont\fR
+Class: \fBFont\fR
+Command-Line Switch: \fB-labelfont\fR
+.fi
+.IP
+Specifies the font of the label around the childsite.
+.LP
+.nf
+Name: \fBlabelPos\fR
+Class: \fBPosition\fR
+Command-Line Switch: \fB-labelpos\fR
+.fi
+.IP
+Specifies the position of the label within the grooved relief of the hull widget.
+\fB ne, n, nw, se, s, sw, en, e, es, wn, w, ws\fR Default is \fBn\fR.
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::labeledframe\fR command creates a hull frame with a
+grooved relief, a label positioned within the grooved relief of
+the hull frame, and a frame childsite. The frame childsite can filled with any
+widget via a derived class or though the use of the childsite method.
+This class was designed to be a general purpose base class for supporting the
+combination of labeled frame and a childsite. The options include the
+ability to position the label at configurable locations within the
+grooved relief of the hull frame, and control the display of the label.
+.SH "METHODS"
+.PP
+The \fBiwidgets::labeledframe\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for labeledframe widgets:
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBchildsite\fR
+Return the path name of the child site.
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::labeledframe\fR
+command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::labeledframe\fR
+command.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBlabel\fR
+Class: \fBlabel\fR
+.fi
+.IP
+The label component provides the label for the labeled widget. See the
+"label" widget manual entry for details on the label component item.
+.fi
+.LP
+
+.SH EXAMPLE
+.IP
+The labeledframe was primarily meant to be a base class. The
+Radiobox is a good example of a derived classe of the labeledframe class.
+In order to provide equal support for composite classes, the 'childsite' methods
+also exists. The following is an example of 'childsite' method usage.
+.LP
+.DS
+ package require Iwidgets 4.0
+ iwidgets::labeledframe .lw -labeltext "Entry Frame" -labelpos n
+ pack .lw -fill both -expand yes -padx 10 -pady 10
+ set cs [.lw childsite]
+
+ pack [iwidgets::entryfield $cs.entry1 -labeltext "Name:"] -side top -fill x
+ pack [iwidgets::spinint $cs.entry2 -labeltext "Number:"] -side top -fill x
+ pack [iwidgets::pushbutton $cs.entry3 -text "Details:"] -side top -fill x
+
+.DE
+.SH AUTHOR
+John A. Tucker
+.SH KEYWORDS
+labeledframe, widget
diff --git a/itcl/iwidgets/doc/labeledwidget.n b/itcl/iwidgets/doc/labeledwidget.n
new file mode 100644
index 00000000000..ac40596cb05
--- /dev/null
+++ b/itcl/iwidgets/doc/labeledwidget.n
@@ -0,0 +1,217 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) labeledwidget.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::labeledwidget iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::labeledwidget \- Create and manipulate a labeled widget
+.SH SYNOPSIS
+\fBiwidgets::labeledwidget\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Labeledwidget
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbackground\fR \fBcursor\fR \fBforeground\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBdisabledForeground\fR
+Class: \fBDisabledForeground\fR
+Command-Line Switch: \fB-disabledforeground\fR
+.fi
+.IP
+Specifies the foreground to be used when the state is disabled.
+.LP
+.nf
+Name: \fBlabelBitmap\fR
+Class: \fBBitmap\fR
+Command-Line Switch: \fB-labelbitmap\fR
+.fi
+.IP
+Specifies a bitmap to display in the widget, in any of the forms
+acceptable to \fBTk_GetBitmap\fR. This option overrides the \fIlabeltext\fR
+option.
+.LP
+.nf
+Name: \fBlabelFont\fR
+Class: \fBFont\fR
+Command-Line Switch: \fB-labelfont\fR
+.fi
+.IP
+Specifies the font to be used for the label.
+.LP
+.nf
+Name: \fBlabelImage\fR
+Class: \fBImage\fR
+Command-Line Switch: \fB-labelimage\fR
+.fi
+.IP
+Specifies a image to be used as the label. The image may be any of the
+values created by the \fBimage create\fR command. This option overrides
+both the \fIlabelbitmap\fR and \fIlabeletext\fR options.
+.LP
+.nf
+Name: \fBlabelMargin\fR
+Class: \fBMargin\fR
+Command-Line Switch: \fB-labelmargin\fR
+.fi
+.IP
+Specifies the distance between the childsite and label in any of the forms
+acceptable to \fBTk_GetPixels\fR. The default is 2 pixel.
+.LP
+.nf
+Name: \fBlabelPos\fR
+Class: \fBPosition\fR
+Command-Line Switch: \fB-labelpos\fR
+.fi
+.IP
+Specifies the position of the label along the side of the childsite:
+\fBnw\fR, \fBn\fR, \fBne\fR, \fBsw\fR, \fBs\fR, \fBse\fR, \fBen\fR, \fBe\fR,
+\fBes\fR, \fBwn\fR, \fBw\fR, or \fBws\fR. The default is w.
+.LP
+.nf
+Name: \fBlabelText\fR
+Class: \fBText\fR
+Command-Line Switch: \fB-labeltext\fR
+.fi
+.IP
+Specifies the text of the label around the childsite.
+.LP
+.nf
+Name: \fBlabelVariable\fR
+Class: \fBVariable\fR
+Command-Line Switch: \fB-labelvariable\fR
+.fi
+.IP
+Specifies the text variable of the label around the childsite.
+.LP
+.nf
+Name: \fBstate\fR
+Class: \fBState\fR
+Command-Line Switch: \fB-state\fR
+.fi
+.IP
+Specifies one of two states for the label: \fBnormal\fR or \fBdisabled\fR.
+If the label is disabled then it is displayed in a disabled foreground
+color. The default is normal.
+.LP
+.nf
+Name: \fBsticky\fR
+Class: \fBSticky\fR
+Command-Line Switch: \fB-sticky\fR
+.fi
+.IP
+Specifies the "sticky-ness" of the childsite. The default value is nsew,
+which is the the same behavior of the labeledwidget before this option was
+added.
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::labeledwidget\fR command creates a labeled widget which contains
+a label and child site. The child site is a frame
+which can filled with any widget via a derived class or though the use
+of the childsite method. This class
+was designed to be a general purpose base class for supporting the
+combination of label widget and a childsite. The options include the
+ability to position the label around the childsite widget, modify the
+font and margin, and control the display of the labels.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::labeledwidget\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for labeledwidget widgets:
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBchildsite\fR
+Return the path name of the child site.
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::labeledwidget\fR
+command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::labeledwidget\fR
+command.
+
+.SH "STATIC METHODS"
+.TP
+\fBiwidgets::Labeledwidget::alignlabels\fR \fIwidget\fR ?\fIwidget ...\fR?
+The alignlabels procedure takes a list of widgets derived from
+the Labeledwidget class and uses the label margin to make each widget
+have the same total space for the combination of label and margin. The
+net effect is to left align the labels. Generally, this method is only
+useful with a label position of w, which is the default.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBlabel\fR
+Class: \fBlabel\fR
+.fi
+.IP
+The label component provides the label for the labeled widget. See the
+"label" widget manual entry for details on the label component item.
+.LP
+.nf
+Name: \fBlwchildsite\fR
+Class: \fBframe\fR
+.fi
+.IP
+The lwchildsite component is the user child site for the labeled widget. See
+the "frame" widget manual entry for details on the lwchildsite component item.
+.fi
+
+.SH EXAMPLE
+.IP
+The labeledwidget was primarily meant to be a base class. The
+ScrolledListBox and EntryField are good examples of derived
+classes of the labeledwidget class. In order to provide equal
+support for composite classes, the 'childsite' methods also exists.
+The following is an example of 'childsite' method usage.
+.LP
+.DS
+ package require Iwidgets 4.0
+ iwidgets::labeledwidget .lw -labeltext "Canvas Widget" -labelpos s
+ pack .lw -fill both -expand yes -padx 10 -pady 10
+
+ set cw [canvas [.lw childsite].c -relief raised -width 200 -height 200]
+ pack $cw -padx 10 -pady 10
+.DE
+.SH AUTHOR
+Mark L. Ulferts
+.SH KEYWORDS
+labeledwidget, widget
diff --git a/itcl/iwidgets/doc/mainwindow.n b/itcl/iwidgets/doc/mainwindow.n
new file mode 100644
index 00000000000..984a00b4327
--- /dev/null
+++ b/itcl/iwidgets/doc/mainwindow.n
@@ -0,0 +1,308 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) mainwindow.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::mainwindow iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::mainwindow \- Create and manipulate a mainwindow widget
+.SH SYNOPSIS
+\fBiwidgets::mainwindow\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Toplevel <- iwidgets::Shell <- iwidgets::Mainwindow
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+background cursor disabledForeground font
+foreground highlightBackground highlightColor highlightThickness\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBballoonBackground\fR \fBballoonDelay1\fR \fBballoonDelay2\fR \fBballonFont\fR
+\fBballoonForeground\fR
+.fi
+.LP
+See the "toolbar" manual entry for details on the above associated options.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBtitle\fR
+.fi
+.LP
+See the "Toplevel" manual entry for details on the above inherited options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBheight\fR \fBmaster\fR \fBmodality\fR \fBpadX\fR
+\fBpadY\fR \fBwidth\fR
+.fi
+.LP
+See the "shell" manual entry for details on the above inherited options.
+
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBhelpLine\fR
+Class: \fBHelpLine\fR
+Command-Line Switch: \fB-helpline\fR
+.fi
+.IP
+Specifies whether or not to display the help line. The value
+may be given in any of the forms acceptable to Tk_GetBoolean.
+The default is yes.
+.LP
+.nf
+Name: \fBmenuBarBackground\fR
+Class: \fBBackground\fR
+Command-Line Switch: \fB-menubarbackground\fR
+.fi
+.IP
+Specifies the normal background color for the menubar.
+.LP
+.nf
+Name: \fBmenuBarFont\fR
+Class: \fBFont\fR
+Command-Line Switch: \fB-menubarfont\fR
+.fi
+.IP
+Specifies the font to use when drawing text inside the menubar.
+.LP
+.nf
+Name: \fBmenuBarForeround\fR
+Class: \fBForeground\fR
+Command-Line Switch: \fB-menubarforeground\fR
+.fi
+.IP
+Specifies the normal foreground color for the menubar.
+.LP
+.nf
+Name: \fBstatusLine\fR
+Class: \fBStatusLine\fR
+Command-Line Switch: \fB-statusline\fR
+.fi
+.IP
+Specifies whether or not to display the status line. The value
+may be given in any of the forms acceptable to Tk_GetBoolean.
+The default is yes.
+.LP
+.nf
+Name: \fBtoolBarBackground\fR
+Class: \fBBackground\fR
+Command-Line Switch: \fB-toolbarbackground\fR
+.fi
+.IP
+Specifies the normal background color for the toolbar.
+.LP
+.nf
+Name: \fBtoolBarFont\fR
+Class: \fBFont\fR
+Command-Line Switch: \fB-toolbarfont\fR
+.fi
+.IP
+Specifies the font to use when drawing text inside the toolbar.
+.LP
+.nf
+Name: \fBtoolBarForeround\fR
+Class: \fBForeground\fR
+Command-Line Switch: \fB-toolbarforeground\fR
+.fi
+.IP
+Specifies the normal foreground color for the toolbar.
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::mainwindow\fR command creates a mainwindow shell which contains
+a menubar, toolbar, mousebar, childsite, status line, and help line.
+Each item may be filled and configured to suit individual needs.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::mainwindow\fR command create a new Tcl command whose
+name is \fIpathName\fR. This command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for mainwindow widgets:
+.SH "INHERITED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBactivate\fR \fBcenter\fR \fBdeactivate\fR
+.fi
+.LP
+See the "shell" manual entry for details on the above inherited methods.
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::mainwindow\fR
+command.
+.TP
+\fIpathName \fBchildsite\fR
+Returns the pathname of the child site widget.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::mainwindow\fR
+command.
+.TP
+\fIpathName \fBmenubar\fR ?\fIargs\fR?
+The \fBmenubar\fR method provides access to the menubar. Invoked with
+no arguments it returns the pathname of the menubar. With arguments,
+they are evaluated against the menubar which in effect provides
+access to the entire API of the menubar. See the "menubar" manual
+entry for details on the commands available in the menubar.
+.TP
+\fIpathName \fBmousebar\fR ?\fIargs\fR?
+The \fBmousebar\fR method provides access to the mousebar which is a
+vertical toolbar. Invoked with no arguments it returns the pathname
+of the mousebar. With arguments, they are evaluated against the mousebar
+which in effect provides access to the entire API of the underlying
+toolbar. See the "toolbar" manual entry for details on the commands
+available in the mousebar.
+.TP
+\fIpathName \fBmsgd\fR ?\fIargs\fR?
+The \fBmsgd\fR method provides access to the messagedialog contained
+in the mainwindow. Invoked with no arguments it returns the pathname
+of the messagedialog. With arguments, they are evaluated against the
+messagedialog which in effect provides access to the entire API of the
+messagedialog. See the "messagedialog" manual
+entry for details on the commands available in the messagedialog.
+.TP
+\fIpathName \fBtoolbar\fR ?\fIargs\fR?
+The \fBtoolbar\fR method provides access to the toolbar. Invoked with
+no arguments it returns the pathname of the toolbar. With arguments,
+they are evaluated against the toolbar which in effect provides
+access to the entire API of the toolbar. See the "toolbar" manual
+entry for details on the commands available in the toolbar.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBhelp\fR
+Class: \fBLabel\fR
+.fi
+.IP
+The help component provides a location for displaying any help
+strings provided in the menubar, toolbar, or mousebar. See the "label"
+widget manual entry for details on the help component item.
+.LP
+.nf
+Name: \fBmenubar\fR
+Class: \fBMenubar\fR
+.fi
+.IP
+The menubar component is the menubar located at the top of the window.
+See the "menubar" widget manual entry for details on the menubar
+component item.
+.LP
+.nf
+Name: \fBmousebar\fR
+Class: \fBToolbar\fR
+.fi
+.IP
+The mousebar component is the vertical toolbar located on the right side
+of the window. See the "toolbar" widget manual entry for details on
+the mousebar component item.
+.LP
+.nf
+Name: \fBmsgd\fR
+Class: \fBMessagedialog\fR
+.fi
+.IP
+The msgd component is a messagedialog which may be reconfigured as needed
+and used repeatedly throughout the application. See the "messagedialog"
+widget manual entry for details on the messagedialog component item.
+.LP
+.nf
+Name: \fBstatus\fR
+Class: \fBLabel\fR
+.fi
+.IP
+The status component provides a location for displaying application
+status information. See the "label" widget manual entry for details
+on the status component item.
+.LP
+.nf
+Name: \fBtoolbar\fR
+Class: \fBToolbar\fR
+.fi
+.IP
+The toolbar component is the horizontal toolbar located on the top
+of the window. See the "toolbar" widget manual entry for details on
+the toolbar component item.
+.fi
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ iwidgets::mainwindow .mw
+
+ #
+ # Add a File menubutton
+ #
+ .mw menubar add menubutton file -text "File" -underline 0 -padx 8 -pady 2 \\
+ -menu {options -tearoff no
+ command new -label "New" -underline 0 \\
+ -helpstr "Create a new file"
+ command open -label "Open ..." -underline 0 \\
+ -helpstr "Open an existing file"
+ command save -label "Save" -underline 0 \\
+ -helpstr "Save the current file"
+ command saveas -label "Save As ..." -underline 5 \\
+ -helpstr "Save the file as a differnet name"
+ command print -label "Print" -underline 0 \\
+ -helpstr "Print the file"
+ separator sep1
+ command close -label "Close" -underline 0 \\
+ -helpstr "Close the file"
+ separator sep2
+ command exit -label "Exit" -underline 1 \\
+ -helpstr "Exit this application"
+ }
+
+ #
+ # Install a scrolledtext widget in the childsite.
+ #
+ iwidgets::scrolledtext [.mw childsite].st
+ pack [.mw childsite].st -fill both -expand yes
+
+ #
+ # Activate the main window.
+ #
+ .mw activate
+.DE
+.SH AUTHOR
+Mark L. Ulferts
+.DE
+John A. Tucker
+.LP
+.SH KEYWORDS
+mainwindow, shell, widget
diff --git a/itcl/iwidgets/doc/man.macros b/itcl/iwidgets/doc/man.macros
new file mode 100644
index 00000000000..c575ce6befa
--- /dev/null
+++ b/itcl/iwidgets/doc/man.macros
@@ -0,0 +1,186 @@
+'\" The definitions below are for supplemental macros used in Tcl/Tk
+'\" manual entries.
+'\"
+'\" .HS name section [date [version]]
+'\" Replacement for .TH in other man pages. See below for valid
+'\" section names.
+'\"
+'\" .AP type name in/out [indent]
+'\" Start paragraph describing an argument to a library procedure.
+'\" type is type of argument (int, etc.), in/out is either "in", "out",
+'\" or "in/out" to describe whether procedure reads or modifies arg,
+'\" and indent is equivalent to second arg of .IP (shouldn't ever be
+'\" needed; use .AS below instead)
+'\"
+'\" .AS [type [name]]
+'\" Give maximum sizes of arguments for setting tab stops. Type and
+'\" name are examples of largest possible arguments that will be passed
+'\" to .AP later. If args are omitted, default tab stops are used.
+'\"
+'\" .BS
+'\" Start box enclosure. From here until next .BE, everything will be
+'\" enclosed in one large box.
+'\"
+'\" .BE
+'\" End of box enclosure.
+'\"
+'\" .VS
+'\" Begin vertical sidebar, for use in marking newly-changed parts
+'\" of man pages.
+'\"
+'\" .VE
+'\" End of vertical sidebar.
+'\"
+'\" .DS
+'\" Begin an indented unfilled display.
+'\"
+'\" .DE
+'\" End of indented unfilled display.
+'\"
+'\" @(#) man.macros 1.1 94/08/09 13:07:19
+.\"
+'\" # Heading for Tcl/Tk man pages
+.de HS
+.ds ^3 \\0
+.if !"\\$3"" .ds ^3 \\$3
+.if '\\$2'cmds' .TH "\\$1" 1 "\\*(^3" "\\$4" "\\$5"
+.if '\\$2'lib' .TH "\\$1" 3 "\\*(^3" "\\$4" "\\$5"
+.if '\\$2'ncmds' .TH "\\$1" n "\\*(^3" "\\$4" "\\$5"
+.if '\\$2'tcl' .TH "\\$1" n "\\*(^3" Tcl "Tcl Built-In Commands"
+.if '\\$2'tk' .TH "\\$1" n "\\*(^3" Tk "Tk Commands"
+.if '\\$2'tclc' .TH "\\$1" 3 "\\*(^3" Tcl "Tcl Library Procedures"
+.if '\\$2'tkc' .TH "\\$1" 3 "\\*(^3" Tk "Tk Library Procedures"
+.if '\\$2'tclcmds' .TH "\\$1" 1 "\\*(^3" Tk "Tcl Applications"
+.if '\\$2'tkcmds' .TH "\\$1" 1 "\\*(^3" Tk "Tk Applications"
+.if '\\$2'iwid' .TH "\\$1" 1 "\\*(^3" Tk "[incr Widgets]"
+.if t .wh -1.3i ^B
+.nr ^l \\n(.l
+.ad b
+..
+'\" # Start an argument description
+.de AP
+.ie !"\\$4"" .TP \\$4
+.el \{\
+. ie !"\\$2"" .TP \\n()Cu
+. el .TP 15
+.\}
+.ie !"\\$3"" \{\
+.ta \\n()Au \\n()Bu
+\&\\$1 \\fI\\$2\\fP (\\$3)
+.\".b
+.\}
+.el \{\
+.br
+.ie !"\\$2"" \{\
+\&\\$1 \\fI\\$2\\fP
+.\}
+.el \{\
+\&\\fI\\$1\\fP
+.\}
+.\}
+..
+'\" # define tabbing values for .AP
+.de AS
+.nr )A 10n
+.if !"\\$1"" .nr )A \\w'\\$1'u+3n
+.nr )B \\n()Au+15n
+.\"
+.if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
+.nr )C \\n()Bu+\\w'(in/out)'u+2n
+..
+'\" # BS - start boxed text
+'\" # ^y = starting y location
+'\" # ^b = 1
+.de BS
+.br
+.mk ^y
+.nr ^b 1u
+.if n .nf
+.if n .ti 0
+.if n \l'\\n(.lu\(ul'
+.if n .fi
+..
+'\" # BE - end boxed text (draw box now)
+.de BE
+.nf
+.ti 0
+.mk ^t
+.ie n \l'\\n(^lu\(ul'
+.el \{\
+.\" Draw four-sided box normally, but don't draw top of
+.\" box if the box started on an earlier page.
+.ie !\\n(^b-1 \{\
+\h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
+.\}
+.el \}\
+\h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
+.\}
+.\}
+.fi
+.br
+.nr ^b 0
+..
+'\" # VS - start vertical sidebar
+'\" # ^Y = starting y location
+'\" # ^v = 1 (for troff; for nroff this doesn't matter)
+.de VS
+.mk ^Y
+.ie n 'mc \s12\(br\s0
+.el .nr ^v 1u
+..
+'\" # VE - end of vertical sidebar
+.de VE
+.ie n 'mc
+.el \{\
+.ev 2
+.nf
+.ti 0
+.mk ^t
+\h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
+.sp -1
+.fi
+.ev
+.\}
+.nr ^v 0
+..
+'\" # Special macro to handle page bottom: finish off current
+'\" # box/sidebar if in box/sidebar mode, then invoked standard
+'\" # page bottom macro.
+.de ^B
+.ev 2
+'ti 0
+'nf
+.mk ^t
+.if \\n(^b \{\
+.\" Draw three-sided box if this is the box's first page,
+.\" draw two sides but no top otherwise.
+.ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
+.el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
+.\}
+.if \\n(^v \{\
+.nr ^x \\n(^tu+1v-\\n(^Yu
+\kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
+.\}
+.bp
+'fi
+.ev
+.if \\n(^b \{\
+.mk ^y
+.nr ^b 2
+.\}
+.if \\n(^v \{\
+.mk ^Y
+.\}
+..
+'\" # DS - begin display
+.de DS
+.RS
+.nf
+.sp
+..
+'\" # DE - end display
+.de DE
+.fi
+.RE
+.sp
+..
diff --git a/itcl/iwidgets/doc/menubar.n b/itcl/iwidgets/doc/menubar.n
new file mode 100644
index 00000000000..c927a212db7
--- /dev/null
+++ b/itcl/iwidgets/doc/menubar.n
@@ -0,0 +1,348 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) menubar.n
+'\"
+.so man.macros
+.HS iwidgets::menubar iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::menubar \- Create and manipulate menubar menu widgets
+.SH SYNOPSIS
+\fBiwidgets::menubar\fR \fIpathName\fR ?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Menubar
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+activeBackground activeBorderWidth activeForeground
+anchor background borderWidth
+cursor disabledForeground font
+foreground highlightBackground hightlightColor
+highligthThickness justify relief
+padX padY wrapLength\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBhelpVariable\fR
+Class: \fBHelpVariable\fR
+Command-Line Switch: \fB-helpvariable\fR
+.fi
+.IP
+Specifies the global variable to update whenever the mouse is in motion over a menu entry. This global variable is updated with the current value of the active menu entry's \fBhelpStr\fR. Other widgets can "watch" this variable with the trace command, or as is the case with entry or label widgets, they can set their \fBtextVariable\fR to the same global variable. This allows for a simple implementation of a help status bar. Whenever the mouse leaves a menu entry, the helpVariable is set to the empty string {}. The mainwindow(1) associates its helpstatus and its menubar in this fashion.
+.LP
+.nf
+Name: \fBmenuButtons\fR
+Class: \fBMenuButtons\fR
+Command-Line Switch: \fB-menubuttons\fR
+.fi
+.IP
+The menuButton option is a string which specifies the arrangement of menubuttons on the menubar frame. Each menubutton entry is delimited by the newline character.
+.nf
+.IP
+.ta 2c 8c 12c
+iwidgets::menubar .mb -menubuttons {
+ menubutton file -text File
+ menubutton edit -text Edit
+ menubutton options -text Options
+}
+.fi
+.IP
+specifies that three menubuttons will be added to the menubar (file, edit, options). Each entry is translated into an add command call.
+.IP
+The \fBmenuButtons\fR option can accept embedded variables, commands, and
+backslash quoting. Embedded variables and commands must be enclosed in
+curly braces ({}) to ensure proper parsing of the substituted values.
+.BE
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::menubar\fR command creates a new window (given by the \fIpathName\fR argument) and makes it into a \fBmenubar\fR menu widget. Additional options, described above may be specified on the command line or in the option database to configure aspects of the menubar such as its colors and font. The \fBiwidgets::menubar\fR command returns its \fIpathName\fR argument. At the time this command is invoked, there must not exist a window named pathName, but pathName's parent must exist.
+.PP
+A \fBmenubar\fR is a widget that simplifies the task of creating menu hierarchies. It encapsulates a \fBframe\fR widget, as well as \fBmenubuttons\fR, \fBmenus\fR, and menu \fBentries\fR. The menubar allows menus to be specified and referenced in a more consistent manner than using Tk to build menus directly.
+
+\fBMenubar\fR allows a menu tree to be expressed in a hierachical "language". The \fBmenubar\fR accepts a \fBmenuButtons\fR option that allows a list of menubuttons to be added to the menubar. In turn, each menubutton accepts a \fBmenu\fR option that specifies a list of menu entries to be added to the menubutton's menu. Cascade entries also accept the \fBmenu\fR option for specifying a list of menu entries to be added to the cascade's menu.
+
+Additionally, the menubar allows each component of the menubar system to be referenced by a simple \fImenuPathName\fR syntax. The menubar also extends the set of options for menu entries to include a \fBhelpStr\fR option.
+.SH "MENU PATH NAMES"
+.PP
+A \fImenuPathName\fR is a series of component names separated by the `.' character. Each menubar component can be referenced via these \fImenuPathNames\fR. \fImenuPathNames\fR are similar to widget pathNames in Tk. Some correspond directly to a widget pathName (components of type \fBmenu\fR or \fBmenubutton\fR), others correspond to a menu entry type. Every widget and entry in a menubar can be referenced with the \fImenuPathName\fR naming convention. A menubar can have four types of components:
+.IP
+\fBframe\fR. A menubar holds exactly one frame which manages menubuttons. The frame is always signified by the `.' character as the path name.
+.IP
+\fBmenubutton\fR. A menubutton corresponds directly to a Tk menubutton. See menubutton(n).
+.IP
+\fBmenu\fR. A menu is attached to a menubutton and corresponds directly to Tk's menu widget. A menu is always signified by the \fImenuPathName\fR ending with the keyword \fBmenu\fR. See menu(n).
+.IP
+\fBentry\fR. An entry corresponds directly to Tk's menu widget entries. Menus consist of a column of one line entries. Entries may be of type: \fBcommand\fR, \fBcheckbutton\fR, \fBradiobutton\fR, \fBseparator\fR, or \fBcascade\fR. For a complete description of these types see the discussion on \fBENTRIES\fR in menu(n).
+.PP
+The suffix of a \fImenuPathName\fR may have the form of:
+.TP 14
+\fItkWidgetName\fR
+Specifies the name of the component, either a \fBframe\fR, \fBmenubutton\fR, \fBmenu\fR, or an \fBentry\fR. This is the normal naming of widgets. For example, .file references a \fBmenubutton\fR named \fIfile\fR.
+.PP
+The \fImenuPathName\fR is a series of segment names, each separated by the '.' character. Segment names may be one of the following forms:
+.TP 14
+\fInumber\fR
+Specifies the index of the the component. For menubuttons, 0 corresponds to the left-most menubutton of the menu bar frame. As an example, \fI.1\fR would correspond to the second menubutton on the menu bar frame.
+.IP
+For entries, 0 corresponds to the top-most entry of the menu. For example, .file.0 would correspond to the first entry on the menu attached to the menubutton named \fIfile\fR.
+.TP 14
+\fBend\fR
+Specifes the last component. For menubuttons, it specifies the right-most entry of the menu bar frame. For menu entries, it specifies the bottom-most entry of the menu.
+.TP 14
+\fBlast\fR
+Same as end.
+.PP
+Finally, menu components always end with the \fBmenu\fR keyword. These components are automatically created via the -menu option on menubuttons and cascades or via the \fBadd\fR or \fBinsert\fR commands.
+.TP 14
+\fBmenu\fR
+Specifes the menu pane that is associated with the given menubutton prefix. For example, \fI.file.menu\fR specifies the menu pane attached to the \fI.file\fR menubutton.
+.PP
+For example, the path \fI.file.new\fR specifies the entry named new on the menu associated with the file menubutton located on the menu bar. The path \fI.file.menu\fR specifies the menu pane associated with the menubutton \fI.file\fR. The path \fI.last\fR specifies the last menu on the menu bar. The path \fI.0.last\fR would specify the first menu (file) and the last entry on that menu (quit), yielding \fI.file.quit\fR.
+
+As a restriction, the last name segment of \fImenuPathName\fR cannot be one of the keywords last, menu, end, nor may it be a numeric value (integer).
+.SH "WIDGET-SPECIFIC METHODS"
+.PP
+The \fBiwidgets::menubar\fR command creates a new Tcl command whose name is \fIpathName\fR.
+This command may be used to invoke various operations on the widget. It has
+the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIoption\fR and the \fIarg\fRs
+determine the exact behavior of the command.
+.PP
+In addition, many of the widget commands for menubar take as one argument a path name to a menu component. These path names are called \fImenuPathName\fRs. See the discussion on \fBMENUBAR PATH NAMES\fR above.
+.PP
+The following commands are possible for menubar widgets:
+.TP
+\fIpathName\fR \fBadd\fR \fItype\fR \fImenuPathName\fR ?\fIoption value option value\fR?
+Adds either a menu to the menu bar or a menu entry to a menu pane.
+.IP
+If additional arguments are present, they specify \fIoption\fRs available to component type \fBentry\fR. See the man pages for \fBmenu\fR(1) in the section on \fBENTRIES\fR.
+
+If \fItype\fR is one of \fBcascade\fR, \fBcheckbutton\fR, \fBcommand\fR, \fBradiobutton\fR, or \fBseparator\fR it adds a new entry to the bottom of the menu denoted by the prefix of \fImenuPathName\fR. If additonal arguments are present, they specify options available to menu \fBentry\fR widgets. In addition, the \fBhelpStr\fR option is added by the menubar widget to all components of type entry.
+.RS
+.TP
+\fB-helpstr\fR \fIvalue\fR
+Specifes the string to associate with the entry. When the mouse moves over the associated entry, the variable denoted by \fBhelpVariable\fR is set. Another widget can bind to the helpVariable and thus display status help.
+.RE
+.IP
+If the type of the component added is \fBmenubutton\fR or \fBcascade\fR, a menubutton or cascade is added to the menubar. If additional arguments are present, they specify options available to menubutton or cascade widgets. In addition, the \fBmenu\fR option is added by the menubar widget to all menubutton and cascade widgets.
+.RS
+.TP
+\fB-menu\fR \fImenuSpec\fR
+This is only valid for \fImenuPathName\fRs of type \fBmenubutton\fR or \fBcascade\fR. Specifes an option set and/or a set of entries to place on a menu and associate with the menubutton or cascade. The \fBoption\fR keyword allows the menu widget to be configured. Each item in the \fImenuSpec\fR is treated as add commands (each with the possibility of having other -menu options). In this way a menu can be recursively built.
+.IP
+The last segment of \fImenuPathName\fR cannot be one of the keywords \fBlast\fR, \fBmenu\fR, \fBend\fR. Additionally, it may not be a \fInumber\fR. However the \fImenuPathName\fR may be referenced in this manner (see discussion of \fBCOMPONENT PATH NAMES\fR).
+.IP
+Note that the same curly brace quoting rules apply to \fB-menu\fR option strings as did to \fB-menubuttons\fR option strings. See the earlier discussion on \fBumenubuttons\fR in the "\fBWIDGET-SPECIFIC OPTIONS\fR" section.
+.RE
+.TP
+\fIpathName\fR \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given by \fIoption\fR.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoptions\fR \fIvalue\fR \fIoption\fR \fIvalue\fR?
+Query or modify the configuration options of the widget. If no \fIoption\fR is specified, returns a list describing all of the available options for \fBpathName\fR (see \fBTk_ConfigureInfo\fR for information on the format of this list). If \fIoption\fR is specified with no value, then the command returns a list describing the one named option (this list will be identical to the corresponding sublist of the value returned if no option is specified). If one or more option-value pairs are specified, then the command modifies the given widget option(s) to have the given value(s); in this case the command returns an empty string.
+.TP
+\fIpathName\fR \fBdelete\fR \fImenuPathName\fR ?\fImenuPathName2\fR?
+If \fImenuPathName\fR is of component type \fBMenubutton\fR or \fBMenu\fR, delete operates on menus. If \fImenuPathName\fR is of component type \fBEntry\fR, delete operates on menu entries.
+
+This command deletes all components between \fImenuPathName\fR and \fImenuPathName2\fR inclusive. If \fImenuPathName2\fR is omitted then it defaults to \fImenuPathName\fR. Returns an empty string.
+
+If \fImenuPathName\fR is of type menubar, then all menus and the menu bar frame will be destroyed. In this case \fImenuPathName2\fR is ignored.
+.TP
+\fIpathName\fR \fBindex\fR \fImenuPathName\fR
+If \fImenuPathName\fR is of type menubutton or menu, it returns the position of the menu/menubutton on the menubar frame.
+
+If \fImenuPathName\fR is of type \fBcommand\fR, \fBseparator\fR, \fBradiobutton\fR, \fBcheckbutton\fR, or \fBcascade\fR, it returns the menu widget's numerical index for the entry corresponding to \fImenuPathName\fR. If path is not found or the path is equal to ".", a value of -1 is returned.
+.TP
+\fIpathName\fR \fBinsert\fR \fImenuPathName\fR \fItype\fR \fIname\fR ?\fIoption\fR \fIvalue\fR?
+Insert a new component named name before the component specified by \fImenuPathName\fR.
+.IP
+If \fImenuPathName\fR is of type \fBMenubutton\fR or \fBMenu\fR, the new component inserted is of type \fBMenu\fR and given the name name. In this case valid \fIoption\fR \fIvalue\fR pairs are those accepted by menubuttons.
+.IP
+If \fImenuPathName\fR is of type \fBEntry\fR, the new component inserted is of type \fBentry\fR and given the name \fIname\fR. In this case, valid \fIoption\fR \fIvalue\fR pairs are those accepted by menu entries.
+\fIName\fR cannot be one of the keywords \fBlast\fR, \fBmenu\fR, \fBend\fR. Additionally, it may not be a number. However the \fImenuPathName\fR may be referenced in this manner (see discussion of \fBCOMPONENT PATH NAMES\fR).
+.TP
+\fIpathName\fR \fBinvoke\fR \fImenuPathName\fR
+Invoke the action of the menu entry denoted by \fImenuPathName\fR. See the sections on the individual entries in the menu(1) man pages. If the menu entry is disabled then nothing happens. If the entry has a command associated with it then the result of that command is returned as the result of the \fBinvoke\fR widget command. Otherwise the result is an empty string.
+
+If \fImenuPathName\fR is not a menu entry, an error is issued.
+.TP
+\fIpathName\fR \fBmenucget\fR \fImenuPathName\fR \fIoption\fR
+Returns the current value of the configuration option given by \fIoption\fR. The component type of \fImenuPathName\fR determines the valid available options.
+.TP
+\fIpathName\fR \fBmenuconfigure\fR \fImenuPathName\fR ?\fIoption\fR \fIvalue\fR?
+Query or modify the configuration options of the componet of the menubar specified by \fImenuPathName\fR. If no \fIoption\fR is specified, returns a list describing all of the available options for \fImenuPathName\fR (see \fBTk_ConfigureInfo\fR for information on the format of this list). If \fIoption\fR is specified with no value, then the command returns a list describing the one named option (this list will be identical to the corresponding sublist of the value returned if no option is specified). If one or more option-value pairs are specified, then the command modifies the given widget option(s) to have the given value(s); in this case the command returns an empty string. The component type of \fImenuPathName\fR determines the valid available options.
+.TP
+\fIpathName\fR \fBpath\fR ?\fImode\fR? \fIpattern\fR
+Returns a fully formed \fImenuPathName\fR that matches \fIpattern\fR. If no match is found it returns -1. The \fImode\fR argument indicates how the search is to be matched against \fIpattern\fR and it must have one of the following values:
+.RS
+.TP
+\fB-glob\fR
+Pattern is a glob-style pattern which is matched against each component path using the same rules as the string match command.
+.TP
+\fB-regexp\fR
+Pattern is treated as a regular expression and matched against each component of the \fImenuPathName\fR using the same rules as the regexp command.
+The default mode is -glob.
+.RE
+.TP
+\fIpathName\fR \fBtype\fR \fImenuPathName\fR
+Returns the type of the component specified by \fImenuPathName\fR. For menu entries, this is the type argument passed to the \fBadd\fR/\fBinsert\fR widget command when the entry was created, such as \fBcommand\fR or \fBseparator\fR. Othewise it is either a \fBmenubutton\fR or a \fBmenu\fR.
+.TP
+\fIpathName\fR \fByposition\fR \fImenuPathName\fR
+Returns a decimal string giving the y-coordinate within the menu window of the topmost pixel in the entry specified by \fImenuPathName\fR. If the \fImenuPathName\fR is not an entry, an error is issued.
+.SH "EXAMPLE ONE: USING GRAMMAR"
+.PP
+The following example creates a menubar with "File", "Edit", "Options" menubuttons. Each of these menubuttons has an associated menu.
+In turn the File menu has menu entries, as well as the Edit
+menu and the Options menu. The Options menu is a tearoff menu
+with selectColor (for radiobuttons) set to blue.
+In addition, the Options menu has a cascade titled More,
+with several menu entries attached to it as well. An entry widget is
+provided to display help status.
+.DS
+package require Iwidgets 4.0
+iwidgets::menubar .mb -helpvariable helpVar -menubuttons {
+ menubutton file -text File -menu {
+ options -tearoff false
+ command new -label New \\
+ -helpstr "Open new document" \\
+ -command {puts NEW}
+ command close -label Close \\
+ -helpstr "Close current document" \\
+ -command {puts CLOSE}
+ separator sep1
+ command exit -label Exit -command {exit} \\
+ -helpstr "Exit application"
+ }
+ menubutton edit -text Edit -menu {
+ options -tearoff false
+ command undo -label Undo -underline 0 \\
+ -helpstr "Undo last command" \\
+ -command {puts UNDO}
+ separator sep2
+ command cut -label Cut -underline 1 \\
+ -helpstr "Cut selection to clipboard" \\
+ -command {puts CUT}
+ command copy -label Copy -underline 1 \\
+ -helpstr "Copy selection to clipboard" \\
+ -command {puts COPY}
+ command paste -label Paste -underline 0 \\
+ -helpstr "Paste clipboard contents" \\
+ -command {puts PASTE}
+ }
+ menubutton options -text Options -menu {
+ options -tearoff false -selectcolor blue
+ radiobutton byName -variable viewMode \\
+ -value NAME -label "by Name" \\
+ -helpstr "View files by name order" \\
+ -command {puts NAME}
+ radiobutton byDate -variable viewMode \\
+ -value DATE -label "by Date" \\
+ -helpstr "View files by date order" \\
+ -command {puts DATE}
+ cascade prefs -label Preferences -menu {
+ command colors -label Colors... \\
+ -helpstr "Change text colors" \\
+ -command {puts COLORS}
+ command fonts -label Fonts... \\
+ -helpstr "Change text font" \\
+ -command {puts FONT}
+ }
+ }
+
+}
+.if
+.nf
+frame .fr -width 300 -height 300
+entry .ef -textvariable helpVar
+pack .mb -anchor nw -fill x -expand yes
+pack .fr -fill both -expand yes
+pack .ef -anchor sw -fill x -expand yes
+.if
+.DE
+.SH "EXAMPLE TWO: USING METHODS"
+Alternatively the same menu could be created by using the add and configure methods:
+.PP
+.nf
+.ta 2c 4c 6c 8c 10c 12c 14c 16c
+.DS
+ package require Iwidgets 4.0
+ iwidgets::menubar .mb
+ .mb configure -menubuttons {
+ menubutton file -text File -menu {
+ command new -label New
+ command close -label Close
+ separator sep1
+ command quit -label Quit
+ }
+ menubutton edit -text Edit
+ }
+.if
+.PP
+ .mb add command .edit.undo -label Undo -underline 0
+ .mb add separator .edit.sep2
+ .mb add command .edit.cut -label Cut -underline 1
+ .mb add command .edit.copy -label Copy -underline 1
+ .mb add command .edit.paste -label Paste -underline 0
+
+ .mb add menubutton .options -text Options -menu {
+ radiobutton byName -variable viewMode \\
+ -value NAME -label "by Name"
+ radiobutton byDate -variable viewMode \\
+ -value DATE -label "by Date"
+}
+
+ .mb add cascade .options.prefs -label Preferences -menu {
+ command colors -label Colors...
+ command fonts -label Fonts...
+ }
+ pack .mb -side left -anchor nw -fill x -expand yes
+.DE
+.SH CAVEATS
+The \fB-menubuttons\fR option as well as the \fB-menu\fR option is evaluated by menubar with the \fBsubst\fR command. The positive side of this is that the option string may contain variables, commands, and/or backslash substitutions. However, substitutions might expand into more than a single word. These expansions can be protected by enclosing candidate substitutions in curly braces ({}). This ensures, for example, a value for an option will still be treated as a single value and not multiple values. The following example illustrates this case:
+.nf
+.IP
+.ta 2c 4c 6c
+set fileMenuName "File Menu"
+set var {}
+iwidgets::menubar .mb -menubuttons {
+ menubutton file -text {$fileMenuName}
+ menubutton edit -text Edit -menu {
+ checkbutton check \\
+ -label Check \\
+ -variable {[scope var]} \\
+ -onvalue 1 \\
+ -offvalue 0
+ }
+ menubutton options -text Options
+}
+.fi
+.IP
+The variable \fIfileMenuName\fR will expand to "File Menu" when the \fBsubst\fR command is used on the menubutton specification. In addition, the [\fBscope\fR...] command will expand to @scope :: var. By enclosing these inside {} they stay as a single value. Note that only {} work for this. [list...], "" etc. will not protect these from the subst command.
+.SH ACKNOWLEDGMENTS
+.LP
+Bret Schumaker
+.IP
+1994 - Early work on a menubar widget.
+.LP
+Mark Ulferts, Mark Harrison, John Sigler
+.IP
+Invaluable feedback on grammar and usability of the menubar widget
+.LP
+.SH AUTHOR
+Bill W. Scott
+.SH KEYWORDS
+frame, menu, menubutton, entries, help
+
diff --git a/itcl/iwidgets/doc/messagebox.n b/itcl/iwidgets/doc/messagebox.n
new file mode 100644
index 00000000000..829910890de
--- /dev/null
+++ b/itcl/iwidgets/doc/messagebox.n
@@ -0,0 +1,277 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) messagebox.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::messagebox iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::messagebox \- Create and manipulate a messagebox text widget
+.SH SYNOPSIS
+\fBiwidgets::messagebox\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Labeledwidget <- iwidgets::Scrolledwidget <- iwidgets::Messagebox
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+activeBackground activeForeground background borderWidth
+cursor exportSelection font foreground
+highlightColor highlightThickness padX padY
+relief setGrid\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBlabelBitmap\fR \fBlabelFont\fR \fBlabelImage\fR \fBlabelMargin\fR
+\fBlabelPos\fR \fBlabelText\fR \fBlabelVariable\fR
+.fi
+.LP
+See the "labeledwidget" class manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBactiveRelief\fR \fBelementBorderWidth\fR \fBjump\fR \fBtroughColor\fR
+.fi
+.LP
+See the "scrollbar" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBheight\fR \fBhscrollMode\fR \fBsbWidth\fR \fBscrollMargin\fR
+\fBtextBackground\fR \fBvisibleItems\fR \fBvscrollMode\fR \fBwidth\fR
+.fi
+.LP
+See the "scrolledtext" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBspacing1\fR \fBspacing2\fR \fBspacing3\fR
+.fi
+.LP
+See the "text" widget manual entry for details on the above
+associated options.
+
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBfileName\fR
+Class: \fBFileName\fR
+Command-Line Switch: \fB-filename\fR
+.fi
+.IP
+Specifies the filename to be displayed in the file selection dialog when
+it pops up during a save of the messagebox contents operation.
+.LP
+.nf
+Name: \fBmaxLines\fR
+Class: \fBMaxLines\fR
+Command-Line Switch: \fB-maxlines\fR
+.fi
+.IP
+Specifies the maximum number of lines allowed in the text area of the
+messagebox. When this limit is reached, the oldest line will be deleted
+such that the total number of lines remains \fImaxlines\fR.
+.LP
+.nf
+Name: \fBsaveDir\fR
+Class: \fBSaveDir\fR
+Command-Line Switch: \fB-savedir\fR
+.fi
+.IP
+Specifies the default directory to display when the file selection dialog
+pops up during a save of the messagebox contents operation. If this
+parameter is not specified, then the files in the current working directory
+are displayed.
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::messagebox\fR command creates
+a scrolled information messages area widget.
+Message types can be user defined and configured. Their options
+include foreground, background, font, bell, and their display
+mode of on or off. This allows message types to defined as needed,
+removed when no longer so, and modified when necessary. An export
+method is provided for file I/O.
+
+.PP
+The number of lines displayed may be limited with
+the default being 1000. When this limit is reached, the oldest line
+is removed. A popup menu which appears when the right mouse button
+has been pressed in the message area has been predefined. The contents
+of the popup menu by default support clearing the area and saving its
+contents to a file. Additional operations may be defined or existing
+operations removed by using the component command to access the
+popup menu.
+
+.SH "MESSAGE TYPES"
+.PP
+The display characteristics of messages issued to the messagebox vary
+with the message type. Types are defined by the user and they may
+be added, removed, and configured. The options of the message type
+control the display include the following:
+.TP
+\fB\-background \fIcolor\fR
+\fIColor\fR specifies the background color to use for characters
+associated with the message type.
+It may have any of the forms accepted by \fBTk_GetColor\fR.
+.TP
+\fB\-bell \fIboolean\fR
+Specifies whether or not to ring the bell whenenver a message of this
+type is issued. \fIBoolean\fR may have any of the forms accepted by
+\fBTk_GetBoolean\fR. The default is 0.
+.TP
+\fB-font\ \fIfontName\fR
+\fIFontName\fR is the name of a font to use for drawing
+characters. It may have any of the forms accepted
+by Tk_GetFontStruct.
+.TP
+\fB\-foreground \fIcolor\fR
+\fIColor\fR specifies the foreground color to use for characters
+associated with the message type.
+It may have any of the forms accepted by \fBTk_GetColor\fR.
+.TP
+\fB\-show \fIboolean\fR
+Specifies whether of not to display this message type when issued.
+\fIBoolean\fR may have any of the forms accepted by
+\fBTk_GetBoolean\fR. The default is 1.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::messagebox\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for messagebox widgets:
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::messagebox\fR
+command.
+.TP
+\fIpathName \fBclear\fR
+Clear the messagebox of all messages.
+.TP
+\fIpathName \fBexport\fR \fIfilename\fR
+Write text to a file. If \fIfilename\fR exists then
+contents are replaced with text widget contents.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::messagebox\fR
+command.
+.TP
+\fIpathName \fBtype\fR \fIoption\fR \fImsgtype\fR ?\fIarg arg ...\fR?
+This command is used to manipulate message types. The behavior of
+the command depends on the option argument that follows the type keyword.
+The following forms of the command are supported:
+.RS
+.TP
+.TP
+\fIpathName \fBtype add\fR \fImsgtype\fR ?\fIoption value ...\fR?
+Adds a new message type given by \fImsgtype\fR with the display
+properties defined by the option value pairs.
+See MESSAGE TYPES for information on the options that
+are supported.
+.TP
+\fIpathName \fBtype cget\fR \fImsgtype option\fR
+Returns the value of a configuration option for a message type.
+\fIMsgtype\fR identifies the message type, and \fIoption\fR
+specifies a particular configuration option, which must be one of
+the ones listed in the section MESSAGE TYPES.
+.TP
+\fIpathName \fBtype configure \fImsgtype\fR ?\fIoption value ...\fR?
+Query or modify the configuration options for a message type.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for the message type \fImsgtype\fR.
+If \fIoption\fR is specified with no \fIvalue\fR, then the command
+returns a list describing the one named option.
+If one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given option(s) to have the given value(s); in
+this case the command returns an empty string.
+See MESSAGE TYPES for information on the options that
+are supported.
+\fIpathName \fBtype remove\fR \fImsgtype\fR
+Removes an existing message type given by \fImsgtype\fR.
+.RE
+.TP
+\fIpathName \fBissue\fR \fIstring\fR \fI?level?\fR \fI?tags?\fR
+Print a \fIstring\fR to the text area at the given level and with
+any additional tags specified.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBitemMenu\fR
+Class: \fBMenu\fR
+.fi
+.IP
+This is the popup menu that gets displayed when you right-click in the
+text area of the messagebox. Its contents may be modified via the component
+command.
+.LP
+.nf
+Name: \fBtext\fR
+Class: \fBScrolledtext\fR
+.fi
+.IP
+The text component is the scrolledtext widget. See the "scrolledtext" widget
+manual entry for details on the text component item.
+.fi
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ iwidgets::messagebox .mb -hscrollmode dynamic \\
+ -labeltext "Messages" -labelpos n \\
+ -height 120 -width 550 -savedir "/tmp" -textbackground #d9d9d9
+
+ pack .mb -padx 5 -pady 5 -fill both -expand yes
+
+ .mb type add ERROR -background red -foreground white -bell 1
+ .mb type add WARNING -background yellow -foreground black
+ .mb type add INFO -background white -foreground black
+
+ .mb issue "This is an error message in red with a beep" ERROR
+ .mb issue "This warning message in yellow" WARNING
+ .mb issue "This is an informational message" INFO
+.DE
+.SH AUTHOR
+Alfredo Jahn V
+.DE
+Mark L. Ulferts
+.LP
+.SH KEYWORDS
+messagebox, scrolledtext, text, widget
+
diff --git a/itcl/iwidgets/doc/messagedialog.n b/itcl/iwidgets/doc/messagedialog.n
new file mode 100644
index 00000000000..991affe034f
--- /dev/null
+++ b/itcl/iwidgets/doc/messagedialog.n
@@ -0,0 +1,215 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) messagedialog.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::messagedialog iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::messagedialog \- Create and manipulate a message dialog widget
+.SH SYNOPSIS
+\fBiwidgets::messagedialog\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Toplevel <- iwidgets::Shell <- iwidgets::Dialogshell <- iwidgets::Dialog <- iwidgets::Messagedialog
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbackground\fR \fBbitmap\fR \fBcursor\fR \fBfont\fR
+\fBforeground\fR \fBimage\fR \fBtext\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbuttonBoxPadX\fR \fBbuttonBoxPadY\fR \fBbuttonBoxPos\fR \fBpadX\fR
+\fBpadY\fR \fBseparator\fR \fBthickness\fR
+.fi
+.LP
+See the "dialogshell" widget manual entry for details on the above
+inherited options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBmaster\fR \fBmodality\fR
+.fi
+.LP
+See the "shell" widget manual entry for details on the above
+inherited options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBtitle\fR
+.fi
+.LP
+See the "Toplevel" widget manual entry for details on the above
+inherited options.
+.LP
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBimagePos\fR
+Class: \fBPosition\fR
+Command-Line Switch: \fB-imagepos\fR
+.fi
+.IP
+Specifies the image position relative to the message text: \fBn\fR, \fBs\fR,
+\fBe\fR, or \fBw\fR. The default is w.
+.LP
+.nf
+Name: \fBtextPadX\fR
+Class: \fBPad\fR
+Command-Line Switch: \fB-textpadx\fR
+.fi
+.IP
+Specifies a non-negative value indicating how much extra space to request for
+the message text in the X direction. The value may have any of the forms
+acceptable to Tk_GetPixels.
+.LP
+.nf
+Name: \fBtextPadY\fR
+Class: \fBPad\fR
+Command-Line Switch: \fB-textpady\fR
+.fi
+.IP
+Specifies a non-negative value indicating how much extra space to request for
+the message text in the X direction. The value may have any of the forms
+acceptable to Tk_GetPixels.
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::messagedialog\fR command creates a message dialog composite widget.
+The messagedialog is derived from the Dialog class and is composed of
+an image and associated message text with commands to manipulate the
+dialog buttons.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::messagedialog\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for messagedialog widgets:
+
+.SH "INHERITED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBadd\fR \fBbuttonconfigure\fR \fBdefault\fR \fBhide\fR
+\fBinsert\fR \fBinvoke\fR \fBshow\fR
+.fi
+.LP
+See the "buttonbox" widget manual entry for details on the above
+inherited methods.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBchildsite\fR
+.fi
+.LP
+See the "dialogshell" widget manual entry for details on the above
+inherited methods.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBactivate\fR \fBcenter\fR \fBdeactivate\fR
+.fi
+.LP
+See the "dialogshell" widget manual entry for details on the above
+inherited methods.
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::messagedialog\fR
+command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::messagedialog\fR
+command.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBimage\fR
+Class: \fBLabel\fR
+.fi
+.IP
+The image component is the bitmap or image of the message dialog. See
+the "label" widget manual entry for details on the image component item.
+.LP
+.nf
+Name: \fBmessage\fR
+Class: \fBLabel\fR
+.fi
+.IP
+The message component provides the textual portion of the message dialog.
+See the "label" widget manual entry for details on the message component item.
+.fi
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ #
+ # Standard question message dialog used for confirmation.
+ #
+ iwidgets::messagedialog .md -title "Message Dialog" -text "Are you sure ?" \\
+ -bitmap questhead -modality global
+
+ .md buttonconfigure OK -text Yes
+ .md buttonconfigure Cancel -text No
+
+ if {[.md activate]} {
+ .md configure -text "Are you really sure ?"
+ if {[.md activate]} {
+ puts stdout "Yes"
+ } else {
+ puts stdout "No"
+ }
+ } else {
+ puts stdout "No"
+ }
+
+ destroy .md
+
+ #
+ # Copyright notice with automatic deactivation.
+ #
+ iwidgets::messagedialog .cr -title "Copyright" -bitmap @dsc.xbm -imagepos n \\
+ -text "Copyright 1995 DSC Communications Corporation\\n \\
+ All rights reserved"
+
+ .cr hide Cancel
+
+ .cr activate
+ after 10000 ".cr deactivate"
+.DE
+.SH AUTHOR
+Mark L. Ulferts
+.SH KEYWORDS
+messagedialog, dialog, dialogshell, shell, widget
diff --git a/itcl/iwidgets/doc/mkitclman b/itcl/iwidgets/doc/mkitclman
new file mode 100644
index 00000000000..cbcd1dbb72e
--- /dev/null
+++ b/itcl/iwidgets/doc/mkitclman
@@ -0,0 +1,320 @@
+#!/bin/sh
+# \
+ exec itkwish "$0" ${1+"$@"}
+#
+# mkitclman "4 Dec 1995"
+# mkitclman - generate a man page from an itcl class
+#
+# SYNOPSIS
+# mkitclman classfile
+#
+# DESCRIPTION
+# Reads an [incr Tcl] or [incr Tk] class file as input, and outputs nroff.
+# mkitclman generates a standard format used for [incr Widget] classes. It
+# locates the class name, inheritance to one level, widget specific options,
+# and widget specific methods. Areas that the script cannot handle it
+# places and uppercased name delimited by leading and trailing '_' characters.
+#
+# [incr Tcl/Tk] 2.0 is the supported class format.
+#
+# CAVEATS
+# mkitlcman does not work with normal Tk or Tcl script files.
+# It expects only one class per file. In addition, it does not work on
+# namespace files.
+
+proc init { } {
+ global _className
+ global _inheritClass
+ global _publicMethod
+ global _publicVariable
+ global _protectedMethod
+ global _protectedVariable
+ global _privateMethod
+ global _privateVariable
+ global _options
+
+ set _className {}
+ set _inheritClass {}
+
+}
+proc namespace { args } {
+ global _className
+
+ set _className [lindex $args 0]
+ set classBody [lindex $args 1]
+
+ eval $classBody
+}
+proc class { args } {
+ global _className
+
+ set _className [lindex $args 0]
+ set classBody [lindex $args 1]
+
+ eval $classBody
+}
+proc itk_option { action switch args } {
+ global _options
+
+ if { $action == "define" } {
+ set _options($switch) $args
+ }
+}
+proc inherit { inheritClass } {
+ global _inheritClass
+ set _inheritClass $inheritClass
+}
+
+# default is public method
+proc method { name args } {
+ global _publicMethod
+
+ set _publicMethod($name) $args
+}
+
+# pick up arrays later...
+proc common { name args } {
+ global _commonVariable
+
+ # set to defaults
+ set _commonVariable($name) $args
+}
+
+proc public { type args } {
+ global _publicMethod
+ global _publicVariable
+
+ switch $type {
+ method {
+ set _publicMethod([lindex $args 0]) [lindex $args 1]
+ }
+ variable {
+ # _publicVariable(varName) = defaultValue
+ set _publicVariable([lindex $args 0]) [lindex $args 1]
+ }
+ }
+}
+
+proc protected { type args } {
+ global _protectedMethod
+ global _protectedVariable
+
+ switch $type {
+ method {
+ # _protectedMethod(methodName) = argList
+ set _protectedMethod([lindex $args 0]) [lrange $args 1 end]
+ }
+ variable {
+ # _protectedVariable(varName) = defaultValue
+ set _protectedVariable([lindex $args 0]) [lindex $args 1]
+ }
+ }
+}
+
+proc private { type args } {
+ global _privateMethod
+ global _privateVariable
+
+ switch $type {
+ method {
+ # _privateMethod(methodName) = argList
+ set _privateMethod([lindex $args 0]) [lrange $args 1 end]
+ }
+ variable {
+ # _privateVariable(varName) = defaultValue
+ set _privateVariable([lindex $args 0]) [lindex $args 1]
+ }
+ }
+}
+
+proc body { args } {
+}
+
+proc configbody { args } {
+}
+
+proc destructor { args } {
+}
+proc constructor { args } {
+}
+
+proc gen { } {
+ global _className
+ global _classBody
+ global _inheritClass
+ global _publicMethod
+ global _publicVariable
+ global _protectedMethod
+ global _protectedVariable
+ global _privateMethod
+ global _privateVariable
+ global _methodSection
+ global _optionSection
+ global _manpage
+ global _optionManFmt
+ global _methodManFmt
+ global _method
+ global _options
+ global _optionSwitch
+ global _optionName
+ global _optionClass
+
+ if { $_inheritClass != {} } {
+ set _inheritClass "$_inheritClass <-"
+ }
+ set _optionManFmt {}
+ set _methodManFmt {}
+ set _methodArgs {}
+ foreach pbv [lsort [array names _publicVariable]] {
+ set _optionSwitch "-$pbv"
+ set _optionName $pbv
+ set _optionClass "[string toupper [string index $pbv 0]][string range $pbv 1 end]"
+ lappend _optionManFmt [subst -nobackslash -nocommand $_optionSection]
+ }
+
+ foreach opt [lsort [array names _options]] {
+ set _optionSwitch $opt
+ set _optionName [lindex $_options($opt) 0]
+ set _optionClass [lindex $_options($opt) 1]
+ lappend _optionManFmt [subst -nobackslash -nocommand $_optionSection]
+ }
+ foreach pbm [lsort [array names _publicMethod]] {
+ set _method $pbm
+ eval set _methodArgs [list $_publicMethod($pbm)]
+ lappend _methodManFmt [subst -nobackslash -nocommand $_methodSection]
+ }
+ foreach ptm [lsort [array names _protectedMethod]] {
+ }
+ foreach ptv [lsort [array names _protectedVariable]] {
+ }
+ foreach pvm [lsort [array names _privateMethod]] {
+ }
+ foreach pvv [lsort [array names _privateVariable]] {
+ }
+
+ set _methodManFmt [join $_methodManFmt " "]
+ set _optionManFmt [join $_optionManFmt " "]
+
+ set _manpage [subst -nobackslash -nocommand $_manpage]
+
+ puts $_manpage
+}
+
+set _manpage {
+'\"
+'\" Copyright (c) _AUTHOR_
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) $_className.n
+'/"
+.so man.macros
+.HS $_className iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+'\"
+'\"
+.SH NAME
+$_className \- _NAME_DESCRIPTION_
+.SH SYNOPSIS
+\fB$_className\fI \fIpathName\fR ?\fIoptions\fR?
+.SH "INHERITANCE"
+$_inheritClass $_className
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+_STANDARD_OPTIONS_
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+_ASSOCIATED_OPTIONS_
+.fi
+.LP
+See the "_ASSOCIATED_WIDGET_" widget manual entry for details on the above
+associated options.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+_INHERITED_OPTIONS_
+.fi
+.LP
+See the "_INHERITED_WIDGET_" class manual entry for details on the inherited options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+$_optionManFmt
+.BE
+.SH DESCRIPTION
+.PP
+_DESCRIPTION_
+.SH "METHODS"
+.PP
+The \fB$_className\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for $_className widgets:
+.SH "ASSOCIATED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+_ASSOCIATED_METHODS_
+.fi
+.LP
+See the "_ASSOCIATED_WIDGET_" manual entry for details on the standard methods.
+.SH "WIDGET-SPECIFIC METHODS"
+$_methodManFmt
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fB_COMPONENT_NAME_\fR
+Class: \fB_COMPONENT_CLASS_\fR
+.fi
+.IP
+_COMPONENT_DESCRIPTION_
+See the "_COMPONENT_TYPE_" widget manual entry for details on the _COMPONENT_NAME_ component item.
+.fi
+.SH EXAMPLE
+.DS
+_EXAMPLE_CODE_
+.DE
+.SH AUTHOR
+_AUTHOR_
+.SH KEYWORDS
+_KEYWORDS_
+}
+
+set _optionSection {
+.nf
+Name: \fB$_optionName\fR
+Class: \fB$_optionClass\fR
+Command-Line Switch: \fB$_optionSwitch\fR
+.fi
+.IP
+_OPTION_DESCRIPTION_
+.LP
+}
+
+set _methodSection {
+.TP
+\fIpathName\fR \fB$_method\fR \fI$_methodArgs\fR
+_METHOD_DESCRIPTION_
+}
+
+# Add these two lines up into the man page above to enable
+
+init
+source [lindex $argv 0]
+gen
+exit
diff --git a/itcl/iwidgets/doc/notebook.n b/itcl/iwidgets/doc/notebook.n
new file mode 100644
index 00000000000..a356b8aea88
--- /dev/null
+++ b/itcl/iwidgets/doc/notebook.n
@@ -0,0 +1,321 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) notebook.n
+'\"
+.so man.macros
+.HS iwidgets::notebook iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+'\"
+'\"
+.SH NAME
+iwidgets::notebook \- create and manipulate notebook widgets
+.SH SYNOPSIS
+\fBiwidgets::notebook\fR \fIpathName\fR ?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Notebook
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbackground\fR \fBforeground\fR \fBscrollCommand\fR \fBwidth\fR
+\fBcursor\fR \fBheight\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBauto\fR
+Class: \fBAuto\fR
+Command-Line Switch: \fB-auto\fR
+.fi
+.IP
+Specifies whether to use the automatic packing/unpacking algorithm of the
+notebook. A value of \fBtrue\fR indicates that page frames will be unpacked
+and packed acoording to the algorithm described in the \fBselect\fR command.
+A value of \fBfalse\fR leaves the current page packed and subsequent selects,
+next, or previous commands do not switch pages automatically. In either
+case the page's associated command (see the \fBadd\fR command's description
+of the \fBcommand\fR option) is invoked. The value may have any of the
+forms accepted by the \fBTcl_GetBoolean\fR, such as true, false, 0, 1, yes,
+or no.
+.IP
+For example, if a series of pages in a notebook simply change certain display
+configurations of a graphical display, the \fB-auto\fR flag could be used.
+By setting it, the \fB-command\fR procs could do the appropriate reconfiguring
+of the page when the page is switched.
+.BE
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::notebook\fR command creates a new window (given by the pathName
+argument) and makes it into a notebook widget. Additional options, described
+above may be specified on the command line or in the option database to
+configure aspects of the notebook such as its colors, font, and text.
+The \fBiwidgets::notebook\fR command returns its \fIpathName\fR argument. At the time
+this command is invoked, there must not exist a window named pathName, but
+pathName's parent must exist.
+
+A notebook is a widget that contains a set of pages. It displays one page from
+the set as the selected page. When a page is selected, the page's contents are
+displayed in the page area. When first created a notebook has no pages. Pages
+may be added or deleted using widget commands described below.
+
+.SH "NOTEBOOK PAGES"
+.PP
+A notebook's pages area contains a single child site \fBframe\fR. When a new
+page is created it is a child of this frame. The page's child site frame
+serves as a geometry container for applications to pack widgets into. It is
+this frame that is automatically unpacked or packed when the \fBauto\fR
+option is \fBtrue\fR. This creates the effect of one page being visible at
+a time. When a new page is selected, the previously selected page's child
+site frame is automatically unpacked from the notebook's child site frame
+and the newly selected page's child site is packed into the notebook's
+child site frame.
+
+However, sometimes it is desirable to handle page changes in a different
+manner. By specifying the \fBauto\fR option as \fBfalse\fR, child site
+packing can be disabled and done differently. For example, all widgets might
+be packed into the first page's child site frame. Then when a new page is
+selected, the application can reconfigure the widgets and give the appearance
+that the page was flipped.
+
+In both cases the \fBcommand\fR option for a page specifies a Tcl Command to
+execute when the page is selected. In the case of \fBauto\fR being \fBtrue\fR,
+it is called between the unpacking of the previously selected page and the
+packing of the newly selected page.
+
+.SH "WIDGET-SPECIFIC METHODS"
+.PP
+The \fBiwidgets::notebookfR command creates a new Tcl command whose name
+is \fIpathName\fR. This command may be used to invoke various operations
+on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIoption\fR and the \fIarg\fRs
+determine the exact behavior of the command.
+.PP
+Many of the widget commands for a notebook take as one argument an indicator
+of which page of the notebook to operate on. These indicators are called
+indexes and may be specified in any of the following forms:
+.TP
+\fInumber\fR
+Specifies the index of the the component. For menus, 0 corresponds to the
+left-most menu of the menu bar. For entries, 0 corresponds to the top-most
+entry of the menu.
+\fInumber\fR
+Specifies the page numerically, where 0 corresponds to the first page in
+the notebook, 1 to the second, and so on.
+.TP
+\fBselect\fR
+Specifies the currently selected page's index. If no page is currently
+selected, the value -1 is returned.
+.TP
+\fBend\fR
+Specifes the last page in the notebooks's index. If the notebook is empty
+this will return -1.
+.TP
+\fIpattern\fR
+If the index doesn't satisfy the form of a number, then this form is used.
+Pattern is pattern-matched against the \fBlabel\fR of each page in the
+notebook, in order from the first to the last page, until a matching entry
+is found. The rules of \fBTcl_StringMatch\fR are used.
+.PP
+'.............................................................................
+The following commands are possible for notebook widgets:
+.TP
+\fIpathName\fR \fBadd\fR ?\fIoption value\fR?
+Add a new page at the end of the notebook. A new child site frame is
+created. Returns the child site pathName. If additional arguments are
+present, they specify any of the following options:
+.RS
+.TP
+\fB-background\fR \fIvalue\fR
+Specifies a background color to use for displaying the child site frame
+of this page. If this option is specified as an empty string (the default),
+then the background option for the overall notebook is used.
+.TP
+\fB-command\fR \fIvalue\fR
+Specifies a Tcl command to be executed when this page is selected. This
+allows the programmer a hook to reconfigure this page's widgets or any other
+page's widgets.
+.IP
+If the notebook has the auto option set to true, when a page is selected
+this command will be called immediately after the previously selected page
+is unpacked and immediately before this page is selected. The index value
+select is valid during this Tcl command. `index select' will return this
+page's page number.
+.IP
+If the auto option is set to false, when a page is selected the unpack and
+pack calls are bypassed. This Tcl command is still called.
+.TP
+\fB-foreground\fR \fIvalue\fR
+Specifies a foreground color to use for displaying tab labels when tabs are
+in their normal unselected state. If this option is specified as an empty
+string (the default), then the foreground option for the overall notebook
+is used.
+.TP
+\fB-label\fR \fIvalue\fR
+Specifies a string to associate with this page. This label serves as an
+additional identifier used to reference the page. This label may be used
+for the index value in widget commands.
+.RE
+.TP
+\fIpathName\fR \fBchildSite\fR ?\fIindex\fR?
+If passed no arguments, returns a list of pathNames for all the pages in
+the notebook. If the notebook is empty, an empty list is returned
+.IP
+If index is passed, it returns the pathName for the page's child site
+frame specified by index. Widgets that are created with this pathName will
+be displayed when the associated page is selected. If index is not a valid
+index, an empty string is returned.
+.TP
+\fIpathName\fR \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given by \fIoption\fR.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue\fR \fIoption\fR \fIvalue\fR ...?
+Query or modify the configuration options of the widget. If no \fIoption\fR
+is specified, returns a list describing all of the available options
+for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for information on the
+format of this list). If \fIoption\fR is specified with no \fIvalue\fR,
+then the command returns a list describing the one named option (this
+list will be identical to the corresponding sublist of the value returned
+if no option is specified). If one or more option-value pairs are specified,
+then the command modifies the given widget option(s) to have the given
+value(s); in this case the command returns an empty string. \fIOption\fR
+may have any of the values accepted by the \fBiwidgets::notebook\fR command.
+.TP
+\fIpathName\fR \fBdelete\fR \fIindex1\fR ?i\fRndex2?
+Delete all of the pages between \fIindex1\fR and \fIindex2\fR inclusive.
+If \fIindex2\fR is omitted then it defaults to \fIindex1\fR. Returns an
+empty string.
+.TP
+\fIpathName\fR \fBindex\fR \fIindex\fR
+Returns the numerical index corresponding to \fIindex\fR.
+.TP
+\fBpathName\fR \fBinsert\fR \fIindex\fR ?\fIoption\fR \fIvalue\fR?
+Insert a new page in the notebook before the page specified by \fIindex\fR.
+A new child site \fBframe\fR is created. See the \fBadd\fR command for
+valid options. Returns the child site pathName.
+.TP
+\fIpathName\fR \fBnext\fR
+Advances the selected page to the next page (order is determined by insertion
+order). If the currently selected page is the last page in the notebook,
+the selection wraps around to the first page in the notebook.
+.IP
+For notebooks with auto set to true the current page's child site is
+unpacked from the notebook's child site frame. Then the next page's child
+site is packed into the notebooks child site frame. The Tcl command given
+with the command option will be invoked between these two operations.
+.IP
+For notebooks with auto set to false the Tcl command given with the
+command option will be invoked.
+.TP
+\fIpathName\fR \fBpagecget\fR \fIindex\fR ?\fIoption\fR?
+Returns the current value of the configuration option given by \fIoption\fR
+for the page specified by \fIindex\fR. The valid available options are the
+same as available to the \fBadd\fR command.
+.TP
+\fIpathName\fR \fBpageconfigure\fR \fIindex\fR ?\fIoption\fR? ?\fIvalue\fR \fIoption\fR \fIvalue\fR ...?
+This command is similar to the configure command, except that it applies to
+the options for an individual page, whereas configure applies to the options
+for the notebook. Options may have any of the values accepted by the add
+widget command. If options are specified, options are modified as indicated
+in the command and the command returns an empty string. If no options are
+specified, returns a list describing the current options for
+page \fIindex\fR (see \fBTk_ConfigureInfo\fR for information on the
+format of this list).
+.TP
+\fIpathName\fR \fBprev\fR
+Moves the selected page to the previous page (order is determined by
+insertion order). If the currently selected page is the first page in the
+notebook, the selection wraps around to the last page in the notebook.
+.IP
+For notebooks with \fBauto\fR set to \fBtrue\fR the current page's child
+site is unpacked from the notebook's child site frame. Then the previous
+page's child site is packed into the notebooks child site frame. The Tcl
+command given with the command option will be invoked between these two
+operations.
+.IP
+For notebooks with \fBauto\fR set to \fBfalse\fR the Tcl command given with
+the command option will be invoked.
+.TP
+\fIpathName\fR \fBselect\fR \fIindex\fR
+Selects the page specified by \fIindex\fR as the currently selected page.
+.IP
+For notebooks with \fBauto\fR set to \fBtrue\fR the current page's child
+site is unpacked from the notebook's child site frame. Then the index page's
+child site is packed into the notebooks child site frame. The Tcl command
+given with the command option will be invoked between these two operations.
+.IP
+For notebooks with \fBauto\fR set to \fBfalse\fR the Tcl command given with
+the command option will be invoked.
+.TP
+\fIpathName\fR \fBview\fR
+Returns the currently selected page. This command is for compatibility
+with the scrollbar widget.
+.TP
+\fIpathName\fR \fBview\fR \fIindex\fR
+Selects the page specified by \fIindex\fR as the currently selected page.
+This command is for compatibility with the scrollbar widget.
+.TP
+\fIpathName\fR \fBview\fR \fImoveto\fR \fIfraction\fR
+Uses the fraction value to determine the corresponding page to move to.
+This command is for compatibility with the scrollbar widget.
+.TP
+\fIpathName\fR \fBview\fR \fIscroll\fR \fInum\fR \fIwhat\fR
+Uses the \fInum\fR value to determine how many pages to move forward or
+backward (num can be negative or positive). The \fIwhat\fR argument is
+ignored. This command is for compatibility with the scrollbar widget.
+
+.SH EXAMPLE
+.PP
+Following is an example that creates a notebook with two pages. In this example, we use a scrollbar widget to control the notebook widget.
+.nf
+.IP
+.ta 2c 8c 12c
+.DS
+package require Iwidgets 4.0
+# Create the notebook widget and pack it.
+ iwidgets::notebook .nb -width 100 -height 100
+ pack .nb -anchor nw \\
+ -fill both \\
+ -expand yes \\
+ -side left \\
+ -padx 10 \\
+ -pady 10
+.IP
+# Add two pages to the notebook, labelled
+# "Page One" and "Page Two", respectively.
+ .nb add -label "Page One"
+ .nb add -label "Page Two"
+.IP
+# Get the child site frames of these two pages.
+ set page1CS [.nb childsite 0]
+ set page2CS [.nb childsite "Page Two"]
+.IP
+# Create buttons on each page of the notebook
+ button $page1CS.b -text "Button One"
+ pack $page1CS.b
+ button $page2CS.b -text "Button Two"
+ pack $page2CS.b
+.IP
+# Select the first page of the notebook
+ .nb select 0
+.IP
+# Create the scrollbar and associate teh scrollbar
+# and the notebook together, then pack the scrollbar
+ scrollbar .scroll -command ".nb view"
+ .nb configure -scrollcommand ".scroll set"
+ pack .scroll -fill y -expand yes -pady 10
+.DE
+.fi
+.SH AUTHOR
+Bill W. Scott
+.SH KEYWORDS
+notebook page
diff --git a/itcl/iwidgets/doc/optionmenu.n b/itcl/iwidgets/doc/optionmenu.n
new file mode 100644
index 00000000000..5c2d1067fc3
--- /dev/null
+++ b/itcl/iwidgets/doc/optionmenu.n
@@ -0,0 +1,261 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) optionmenu.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::optionmenu iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::optionmenu \- Create and manipulate a option menu widget
+.SH SYNOPSIS
+\fBiwidgets::optionmenu\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Labeledwidget <- iwidgets::Optionmenu
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+activeBackground activeBorderWidth activeForeground background
+borderWidth cursor disabledForeground font
+foreground highlightColor highlightThickness relief\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBdisabledForeground\fR \fBlabelBitmap\fR \fBlabelFont\fR \fBlabelImage\fR
+\fBlabelMargin\fR \fBlabelPos\fR \fBlabelText\fR \fBlabelVariable\fR
+\fBstate\fR \fBsticky\fR
+.fi
+.LP
+See the "LabeledWidget" manual entry for details on the inherited options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBclickTime\fR
+Class: \fBClickTime\fR
+Command-Line Switch: \fB-clicktime\fR
+.fi
+.IP
+Interval time, in msec, used to determine that a single mouse
+click has occurred. Used to post menu on a "quick" mouse click.
+\fBNote\fR: changing this value may cause the sigle-click
+functionality to not work properly. The default is 150 msec.
+.LP
+.nf
+Name: \fBcommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-command\fR
+.fi
+.IP
+Specifies a Tcl command procedure to be evaluated following a change in
+the current option menu selection.
+.LP
+.nf
+Name: \fBcyclicOn\fR
+Class: \fBCyclicOn\fR
+Command-Line Switch: \fB-cyclicon\fR
+.fi
+.IP
+Turns on/off the 3rd mouse button capability. The value may be specified
+in any of the forms acceptable to \fBTcl_GetBoolean\fR. This feature
+allows the right mouse button to cycle through the popup
+menu list without poping it up. The right mouse button cycles through
+the menu in reverse order. The default is true.
+.LP
+.nf
+Name: \fBpopupCursor\fR
+Class: \fBCursor\fR
+Command-Line Switch: \fB-popupcursor\fR
+.fi
+.IP
+Specifies the mouse cursor to be used for the popup menu. The value may
+have any of the forms acceptable to \fBTk_GetCursor\fR.
+.LP
+.nf
+Name: \fBstate\fR
+Class: \fBState\fR
+Command-Line Switch: \fB-state\fR
+.fi
+.IP
+Specified one of two states for the optionmenu: \fBnormal\fR, or
+\fBdisabled\fR. If the optionmenu is disabled, then option menu
+selection is ignored.
+.LP
+.nf
+Name: \fBwidth\fR
+Class: \fBWidth\fR
+Command-Line Switch: \fB-width\fR
+.fi
+.IP
+Specifies a fixed size for the menu button label in any of the forms
+acceptable to \Tk_GetPixels\fR. If the text
+is too small to fit in the label, the text is clipped.
+Note: Normally, when a new list is created, or new items are
+added to an existing list, the menu button label is resized
+automatically. Setting this option overrides that functionality.
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::optionmenu\fR command creates an option menu widget with options
+to manage it. An option menu displays a frame containing a label and a button.
+A pop-up menu will allow for the value of the button to change.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::optionmenu\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command.
+.PP
+Many of the widget commands for an optionmenu take as one argument an
+indicator of which entry of the option menu to operate on. These
+indicators are called \fIindex\fRes and may be specified in
+any of the following forms:
+.TP 12
+\fInumber\fR
+Specifies the entry numerically, where 0 corresponds
+to the top-most entry of the option menu, 1 to the entry below it, and
+so on.
+.TP 12
+\fBend\fR
+Indicates the bottommost entry in the menu. If there are no
+entries in the menu then -1 is returned.
+.TP 12
+\fBselect\fR
+Returns the numerical index of the currently selected option menu entry.
+If no entries exist in the menu, then -1 is returned.
+.TP 12
+\fIpattern\fR
+If the index doesn't satisfy one of the above forms then this
+form is used. \fIPattern\fR is pattern-matched against the label of
+each entry in the option menu, in order from the top down, until a
+matching entry is found. The rules of \fBTcl_StringMatch\fR
+are used.
+.PP
+The following widget commands are possible for optionmenu widgets:
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::optionmenu\fR
+command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::optionmenu\fR
+command.
+.TP
+\fIpathName \fBdelete \fIfirst\fR ?\fIlast\fR?
+Delete all of the option menu entries between \fIfirst\fR and
+\fIlast\fR inclusive. If \fIlast\fR is omitted then it defaults
+to \fIfirst\fR.
+.TP
+\fIpathName \fBdisable \fIindex\fR
+Disable the option menu entry specified by \fIindex\fR.
+Disabling a menu item will prevent the user from being able to select
+this item from the menu. This only effects the state of the item
+in the menu, in other words, should the item be the currently
+selected item, the programmer is responsible for determining this condition
+and taking appropriate action.
+.TP
+\fIpathName \fBenable \fIindex\fR
+Enable the option menu entry specified by \fIindex\fR.
+Enabling a menu item allows the user to select this item from the menu.
+.TP
+\fIpathName \fBget\fR ?\fIfirst\fR? ?\fIlast\fR?
+If no arguments are specified, this operation returns the currently
+selected option menu item. Otherwise, it returns the name of the
+option at index \fIfirst\fR, or a range of options between \fIfirst\fR
+and \fIlast\fR.
+.TP
+\fIpathName \fBindex \fIindex\fR
+Returns the numerical index corresponding to \fIindex\fR.
+.TP
+\fIpathName \fBinsert \fIindex string\fR ?\fIstring\fR?
+Insert an item, or list of items, into the menu at location \fIindex\fR.
+.TP
+\fIpathName \fBselect \fIindex\fR
+Select an item from the option menu to be displayed as the currently
+selected item.
+.TP
+\fIpathName \fBsort \fImode\fR
+Sort the current menu in either \fBascending\fR, or \fBdescending\fR order.
+The values \fBincreasing\fR, or \fBdecreasing\fR are also accepted.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBmenuBtn\fR
+Class: \fBMenubutton\fR
+.fi
+.IP
+The menuBtn component is the option menu button which displays the current
+choice from the popup menu. See the "menubutton" widget manual entry
+for details on the menuBtn component item.
+.LP
+.nf
+Name: \fBpopupMenu\fR
+Class: \fBMenu\fR
+.fi
+.IP
+The popupMenu component is menu displayed upon selection of the menu button.
+The menu contains the choices for the option menu. See the "menu" widget
+manual entry for details on the popupMenu component item.
+.fi
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ iwidgets::optionmenu .om -labelmargin 5 \\
+ -labelon true -labelpos w -labeltext "Operating System :"
+
+ .om insert end Unix VMS Linux OS/2 {Windows NT} DOS
+ .om sort ascending
+ .om select Linux
+
+ pack .om -padx 10 -pady 10
+.DE
+.SH ACKNOWLEDGEMENTS:
+Michael J. McLennan
+.IP
+Borrowed some ideas (next & previous) from OptionButton class.
+.LP
+Steven B. Jaggers
+.IP
+Provided an initial prototype in [incr Tcl].
+.LP
+Bret Schuhmacher
+.IP
+Helped with popup menu functionality.
+.LP
+.SH AUTHOR
+Alfredo Jahn
+.SH KEYWORDS
+optionmenu, widget
diff --git a/itcl/iwidgets/doc/panedwindow.n b/itcl/iwidgets/doc/panedwindow.n
new file mode 100644
index 00000000000..a6a8d7d4dfd
--- /dev/null
+++ b/itcl/iwidgets/doc/panedwindow.n
@@ -0,0 +1,307 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) panedwindow.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::panedwindow iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::panedwindow \- Create and manipulate a paned window widget
+.SH SYNOPSIS
+\fBiwidgets::panedwindow\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Panedwindow
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbackground\fR \fBcursor\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBheight\fR
+Class: \fBHeight\fR
+Command-Line Switch: \fB-height\fR
+.fi
+.IP
+Specifies the overall height of the paned window in any of the forms
+acceptable to \fBTk_GetPixels\fR. The default is 10 pixels.
+.LP
+.nf
+Name: \fBorient\fR
+Class: \fBOrient\fR
+Command-Line Switch: \fB-orient\fR
+.fi
+.IP
+Specifies the orientation of the separators: \fBvertical\fR or
+\fBhorizontal\fR. The default is horizontal.
+.LP
+.nf
+Name: \fBsashBorderWidth\fR
+Class: \fBBorderWidth\fR
+Command-Line Switch: \fB-sashborderwidth\fR
+.fi
+.IP
+Specifies a value indicating the width of the 3-D border to draw
+around the outside of the sash in any of the forms acceptable to
+\fBTk_GetPixels\fR. The default is 2 pixels.
+.LP
+.nf
+Name: \fBsashCursor\fR
+Class: \fBCursor\fR
+Command-Line Switch: \fB-sashcursor\fR
+.fi
+.IP
+Specifies the type of cursor to be displayed in the sash. The default
+is crosshair.
+.LP
+.nf
+Name: \fBsashHeight\fR
+Class: \fBHeight\fR
+Command-Line Switch: \fB-sashheight\fR
+.fi
+.IP
+Specifies the height of the sash in any of the forms acceptable to
+\fBTk_GetPixels\fR. The default is 10 pixels.
+.LP
+.nf
+Name: \fBsashIndent\fR
+Class: \fBSashIndent\fR
+Command-Line Switch \fBsashindent\fR
+.fi
+.IP
+Specifies the placement of the sash along the panes in any of the forms
+acceptable to \fBTk_GetPixels\fR. A positive
+value causes the sash to be offset from the near (left/top) side
+of the pane, and a negative value causes the sash to be offset from
+the far (right/bottom) side. If the offset is greater than the
+width, then the sash is placed flush against the side. The
+default is -10 pixels.
+.LP
+.nf
+Name: \fBsashWidth\fR
+Class: \fBWidth\fR
+Command-Line Switch: \fB-sashwidth\fR
+.fi
+.IP
+Specifies the width of the sash in any of the forms acceptable to
+\fBTk_GetPixels\fR. The default is 10 pixels.
+.LP
+.nf
+Name: \fBshowHandle\fR
+Class: \fBShowHandle\fR
+Command-Line Switch: \fB-showhandle\fR
+.fi
+.IP
+Specifies whether or not to display the sashes on the window panes.
+The default is 1, and valid options are 0 and 1.
+.LP
+.nf
+Name: \fBthickness\fR
+Class: \fBThickness\fR
+Command-Line Switch: \fB-thickness\fR
+.fi
+.IP
+Specifies the thickness of the separators in any of the forms acceptable to
+\fBTk_GetPixels\fR. The default is 3 pixels.
+.LP
+.LP
+.nf
+Name: \fBwidth\fR
+Class: \fBWidth\fR
+Command-Line Switch: \fB-width\fR
+.fi
+.IP
+Specifies the overall width of the paned window in any of the forms
+acceptable to \fBTk_GetPixels\fR. The default is 10 pixels.
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::panedwindow\fR command creates a multiple paned window widget
+capable of orienting the panes
+either vertically or horizontally. Each pane is itself a frame acting
+as a child site for other widgets. The border separating each pane
+contains a sash which allows user positioning of the panes relative to
+one another.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::panedwindow\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command.
+.PP
+Many of the widget commands for the \fBpanedwindow\fR take as one argument an
+indicator of which pane of the paned window to operate on. These indicators
+are called \fIindexes\fR and allow reference and manipulation of panes
+regardless of their current map state. Paned window indexes may be
+specified in any of the following forms:
+.TP 12
+\fInumber\fR
+Specifies the pane numerically, where 0 corresponds to the nearest
+(top/left-most) pane of the paned window.
+.TP 12
+\fBend\fR
+Indicates the farthest (bottom/right-most) pane of the paned window.
+.TP 12
+\fIpattern\fR
+If the index doesn't satisfy one of the above forms then this
+form is used. \fIPattern\fR is pattern-matched against the tag of
+each pane in the panedwindow, in order from left/top to right/left,
+until a matching entry is found. The rules of \fBTcl_StringMatch\fR
+are used.
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBadd\fR \fItag\fR ?\fIoption value option value\fR?
+Adds a new pane to the paned window on the far side (right/bottom). The
+following options may be specified:
+.RS
+.TP
+\fB-margin\fR \fIvalue\fR
+Specifies the border distance between the pane and pane contents is any of
+the forms acceptable to \fBTk_GetPixels\fR. The default is 8 pixels.
+.TP
+\fB-minimum\fR \fIvalue\fR
+Specifies the minimum size that a pane's contents may reach not
+inclusive of twice the margin in any of the forms acceptable to
+\fBTk_GetPixels\fR. The default is 10 pixels.
+
+The \fBadd\fR method returns the path name of the pane.
+.RE
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::panedwindow\fR
+command.
+.TP
+\fIpathName \fBchildsite\fR ?\fIindex\fR?
+Returns a list of the child site path names or a specific child site given
+an index. The list is constructed from the near side (left/top) to the far
+side (right/bottom).
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::panedwindow\fR
+command.
+.TP
+\fIpathName \fBdelete\fR \fIindex\fR
+Deletes a specified pane given an \fIindex\fR.
+.TP
+\fIpathName \fBfraction\fR \fIpercentage\fR \fIpercentage\fR ?\fIpercentage percentage ...\fR?
+Sets the visible percentage of the panes. Specifies a set of
+percentages which are applied to the visible panes from the near side
+(left/top). The number of percentages must be equal to the current number
+of visible (mapped) panes and add up to 100.
+.TP
+\fIpathName \fBhide\fR \fIindex\fR
+Changes the visiblity of the specified pane, allowing a previously displayed
+pane to be visually removed rather than deleted.
+.TP
+\fIpathName \fBindex\fR \fIindex\fR
+Returns the numerical index corresponding to index.
+.TP
+\fIpathName \fBinsert \fIindex\fR \fItag\fR ?\fIoption value option value ...\fR?
+Same as the \fBadd\fR command except that it inserts the new
+pane just before the one given by \fIindex\fR, instead of appending
+to the end of the panedwindow. The \fIoption\fR, and \fIvalue\fR
+arguments have the same interpretation as for the \fBadd\fR widget
+command.
+.TP
+\fIpathName \fBpaneconfigure\fR \fIindex\fR ?\fIoptions\fR?
+This command is similar to the \fBconfigure\fR command, except that
+it applies to the options for an individual pane, whereas \fBconfigure\fR
+applies to the options for the paned window as a whole.
+\fIOptions\fR may have any of the values accepted by the \fBadd\fR
+widget command. If \fIoptions\fR are specified, options are modified
+as indicated in the command and the command returns an empty string.
+If no \fIoptions\fR are specified, returns a list describing
+the current options for entry \fIindex\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list).
+.TP
+\fIpathName \fBreset\fR
+Redisplays the pane window using default percentages.
+.TP
+\fIpathName \fBshow\fR \fIindex\fR
+Changes the visiblity of the specified pane, allowing a previously hidden
+pane to be displayed.
+
+.SH "NOTES"
+.IP
+Dynamic changing of the margin and or minimum options to values which
+make the current configuration invalid will block subsequent sash
+movement until the fractions are modified via the fraction method.
+For example a panedwindow is created with three panes and the minimum
+and margin options are at their default settings. Next the user moves
+the sashes to compact the panes to one side. Now, if the minimum is
+increased on the most compressed pane via the paneconfigure method to
+a large enough value, then sash movement is blocked
+until the fractions are adjusted. This situation is unusual and under
+normal operation of the panedwindow, this problem will never occur.
+.LP
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ iwidgets::panedwindow .pw -width 300 -height 300
+ .pw add top
+ .pw add middle -margin 10
+ .pw add bottom -margin 10 -minimum 10
+
+ pack .pw -fill both -expand yes
+
+ foreach pane [.pw childSite] {
+ button $pane.b -text $pane -relief raised -borderwidth 2
+ pack $pane.b -fill both -expand yes
+ }
+
+ .pw fraction 50 30 20
+ .pw paneconfigure 0 -minimum 20
+ .pw paneconfigure bottom -margin 15
+.DE
+.SH ACKNOWLEDGEMENTS:
+.LP
+Jay Schmidgall
+.IP
+1994 - Base logic posted to comp.lang.tcl
+.LP
+Joe Hidebrand <hildjj@fuentez.com>
+.IP
+07/25/94 - Posted first multipane version to comp.lang.tcl
+.LP
+.IP
+07/28/94 - Added support for vertical panes
+.LP
+Ken Copeland <ken@hilco.com>
+.IP
+09/28/95 - Smoothed out the sash movement and added squeezable panes.
+.LP
+.SH AUTHOR
+Mark L. Ulferts
+.SH KEYWORDS
+panedwindow, widget
diff --git a/itcl/iwidgets/doc/promptdialog.n b/itcl/iwidgets/doc/promptdialog.n
new file mode 100644
index 00000000000..ecacaed6195
--- /dev/null
+++ b/itcl/iwidgets/doc/promptdialog.n
@@ -0,0 +1,200 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) promptdialog.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::promptdialog iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::promptdialog \- Create and manipulate a prompt dialog widget
+.SH SYNOPSIS
+\fBiwidgets::promptdialog\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Toplevel <- iwidgets::Dialogshell <- iwidgets::Dialog <- iwidgets::Promptdialog
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+background borderWidth cursor exportSelection
+foreground highlightColor highlightThickness insertBackground
+insertBorderWidth insertOffTime insertOnTime insertWidth
+relief selectBackground selectBorderWidth selectForeground\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBshow\fR
+.fi
+.LP
+See the "entry" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBinvalid\fR \fBtextBackground\fR \fBtextFont\fR \fBvalidate\fR
+.fi
+.LP
+See the "entryfield" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBlabelFont\fR \fBlabelPos\fR \fBlabelText\fR
+.fi
+.LP
+See the "labeledwidget" widget manual entry for details on the above
+associated options.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbuttonBoxPadX\fR \fBbuttonBoxPadY\fR \fBbuttonBoxPos\fR \fBpadX\fR
+\fBpadY\fR \fBseparator\fR \fBthickness\fR
+.fi
+.LP
+See the "dialogshell" widget manual entry for details on the above
+inherited options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBheight\fR \fBmaster\fR \fBmodality\fR \fBwidth\fR
+.fi
+.LP
+See the "shell" widget manual entry for details on the above
+inherited options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBtitle\fR
+.fi
+.LP
+See the "Toplevel" widget manual entry for details on the above
+inherited options.
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::promptdialog\fR command creates a prompt dialog similar to the
+OSF/Motif standard prompt dialog composite widget. The promptdialog
+is derived from the dialog class and is composed of a EntryField
+with commands to manipulate the dialog buttons.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::promptdialog\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for promptdialog widgets:
+.SH "ASSOCIATED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBdelete\fR \fBget\fR \fBicursor\fR \fBindex\fR
+\fBinsert\fR \fBscan\fR \fBselection\fR \fBxview\fR
+.fi
+.LP
+See the "entry" widget manual entry for details on the above
+associated methods.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBclear\fR
+.fi
+.LP
+See the "entryfield" widget manual entry for details on the above
+associated methods.
+.SH "INHERITED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBadd\fR \fBbuttonconfigure\fR \fBdefault\fR \fBhide\fR
+\fBinvoke\fR \fBshow\fR
+.fi
+.LP
+See the "buttonbox" widget manual entry for details on the above
+inherited methods.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBchildsite\fR
+.fi
+.LP
+See the "dialogshell" widget manual entry for details on the above
+inherited methods.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBactivate\fR \fBcenter\fR \fBdeactivate\fR
+.fi
+.LP
+See the "shell" widget manual entry for details on the above
+inherited methods.
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::promptdialog\fR
+command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::promptdialog\fR
+command.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBprompt\fR
+Class: \fBEntryfield\fR
+.fi
+.IP
+The prompt component is the entry field for user input in the prompt
+dialog. See the "entryfield" widget manual entry for details on
+the prompt component item.
+.fi
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ option add *textBackground white
+
+ iwidgets::promptdialog .pd -modality global -title Password -labeltext Password: -show *
+ .pd hide Apply
+
+ if {[.pd activate]} {
+ puts "Password entered: [.pd get]"
+ } else {
+ puts "Password prompt cancelled"
+ }
+.DE
+.SH AUTHOR
+Mark L. Ulferts
+.SH KEYWORDS
+promptdialog, dialog, dialogshell, shell, widget
diff --git a/itcl/iwidgets/doc/pushbutton.n b/itcl/iwidgets/doc/pushbutton.n
new file mode 100644
index 00000000000..40d670f6178
--- /dev/null
+++ b/itcl/iwidgets/doc/pushbutton.n
@@ -0,0 +1,151 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) pushbutton.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::pushbutton iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::pushbutton \- Create and manipulate a push button widget
+.SH SYNOPSIS
+\fBiwidgets::pushbutton\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Pushbutton
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+activeBackground activeForeground background
+bitmap borderWidth command
+cursor disabledForeground font
+foreground highlightBackground highlightColor
+highlightThickness image padX
+padY state text
+underline wrapLength\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBdefaultRing\fR
+Class: \fBDefaultRing\fR
+Command-Line Switch: \fB-defaultring\fR
+.fi
+.IP
+Boolean describing whether the button displays its default ring given in
+any of the forms acceptable to \fBTcl_GetBoolean\fR. The default is false.
+.LP
+.nf
+Name: \fBdefaultRingPad\fR
+Class: \fBPad\fR
+Command-Line Switch: \fB-defaultringpad\fR
+.fi
+.IP
+Specifies the amount of space to be allocated to the indentation of the
+default ring ring given in any of the forms acceptable to \fBTcl_GetPixels\fR.
+The option has no effect if the defaultring option is set to false. The
+default is 2 pixels.
+.LP
+.nf
+Name: \fBheight\fR
+Class: \fBHeight\fR
+Command-Line Switch: \fB-height\fR
+.fi
+.IP
+Specifies the height of the button inclusive of any default ring given in
+any of the forms acceptable to \fBTk_GetPixels\fR. A value of zero lets
+the push button determine the height based on the requested height plus
+highlightring and defaultringpad.
+.LP
+.nf
+Name: \fBwidth\fR
+Class: \fBWidth\fR
+Command-Line Switch: \fB-width\fR
+.fi
+.IP
+Specifies the width of the button inclusive of any default ring given in
+any of the forms acceptable to \fBTk_GetPixels\fR. A value of zero lets
+the push button determine the width based on the requested width plus
+highlightring and defaultringpad.
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::pushbutton\fR command creates a push button with an
+optional default ring used for default designation and traversal.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::pushbutton\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for pushbutton widgets:
+.SH "ASSOCIATED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBflash\fR \fBinvoke\fR
+.fi
+.LP
+See the "button" manual entry for details on the associated methods.
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::pushbutton\fR
+command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::pushbutton\fR
+command.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBpushbutton\fR
+Class: \fBButton\fR
+.fi
+.IP
+The pushbutton component is the button surrounded by the optional default ring.
+See the "button" widget manual entry for details on the pushbutton
+component item.
+.fi
+
+.SH EXAMPLE
+.DS
+package require Iwidgets 4.0
+iwidgets::pushbutton .pb -text "Hello" -command {puts "Hello World"} -defaultring 1
+pack .pb -padx 10 -pady 10
+.DE
+.SH AUTHOR
+Bret A. Schuhmacher
+.DE
+Mark L. Ulferts
+.SH KEYWORDS
+pushbutton, widget
diff --git a/itcl/iwidgets/doc/radiobox.n b/itcl/iwidgets/doc/radiobox.n
new file mode 100644
index 00000000000..a273fc1ebb3
--- /dev/null
+++ b/itcl/iwidgets/doc/radiobox.n
@@ -0,0 +1,180 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) radiobox.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::radiobox iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::radiobox \- Create and manipulate a radiobox widget
+.SH SYNOPSIS
+\fBiwidgets::radiobox\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Labeledframe <- iwidgets::Radiobox
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbackground\fR \fBborderWidth\fR \fBcursor\fR \fBdisabledForeground\fR
+\fBforeground\fR \fBrelief\fR \fBselectColor\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBlabelBitmap\fR \fBlabelFont\fR \fBlabelImage\fR \fBlabelMargin\fR
+\fBlabelPos\fR \fBlabelText\fR \fBlabelVariable\fR
+.fi
+.LP
+See the "labeledframe" class manual entry for details on the
+inherited options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBcommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-command\fR
+.fi
+.IP
+Specifies a Tcl command procedure to be evaluated following a change in
+the current radio box selection.
+.LP
+.nf
+Name: \fBorient\fR
+Class: \fBOrient\fR
+Command-Line Switch: \fB-orient\fR
+Default Value: \fBvertical\fR
+.fi
+.IP
+Specifies the orientation of the radiobuttons within the radiobox. Valid
+values are either "horizontal" or "vertical".
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::radiobox\fR command creates a radio button box widget
+capable of adding, inserting, deleting, selecting, and configuring
+radiobuttons as well as obtaining the currently selected button.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::radiobox\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command.
+.PP
+Many of the widget commands for the \fBradiobox\fR take as one argument an
+indicator of which radiobutton of the radiobox to operate on. These indicators
+are called \fIindexes\fR and allow reference and manipulation of radiobuttons.
+Radiobox indexes may be specified in any of the following forms:
+.TP 12
+\fInumber\fR
+Specifies the radiobutton numerically, where 0 corresponds to the top
+radiobutton of the radiobox.
+.TP 12
+\fBend\fR
+Indicates the last radiobutton of the radiobox.
+.TP 12
+\fIpattern\fR
+If the index doesn't satisfy one of the above forms then this
+form is used. \fIPattern\fR is pattern-matched against the tag of
+each radiobutton in the radiobox, in order from top to bottom,
+until a matching entry is found. The rules of \fBTcl_StringMatch\fR
+are used.
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBadd\fR \fItag\fR ?\fIoption value option value\fR?
+Adds a new radiobutton to the radiobuttond window on the bottom. The command
+takes additional options which are passed on to the radiobutton as construction
+arguments. These include the standard Tk radiobutton options. The tag is
+returned.
+.TP
+\fIpathName \fBbuttonconfigure\fR \fIindex\fR ?\fIoptions\fR?
+This command is similar to the \fBconfigure\fR command, except that
+it applies to the options for an individual radiobutton,
+whereas \fBconfigure\fRapplies to the options for the radiobox as a whole.
+\fIOptions\fR may have any of the values accepted by the \fBadd\fR
+widget command. If \fIoptions\fR are specified, options are modified
+as indicated in the command and the command returns an empty string.
+If no \fIoptions\fR are specified, returns a list describing
+the current options for entry \fIindex\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list).
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::radiobox\fR
+command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::radiobox\fR
+command.
+.TP
+\fIpathName \fBdelete\fR \fIindex\fR
+Deletes a specified radiobutton given an \fIindex\fR.
+.TP
+\fIpathName \fBdeselect\fR \fIindex\fR
+Deselects a specified radiobutton given an \fIindex\fR.
+.TP
+\fIpathName \fBflash\fR \fIindex\fR
+Flashes a specified radiobutton given an \fIindex\fR.
+.TP
+\fIpathName \fBget\fR
+Returns the tag of the currently selected radiobutton.
+.TP
+\fIpathName \fBindex\fR \fIindex\fR
+Returns the numerical index corresponding to index.
+.TP
+\fIpathName \fBinsert \fIindex\fR \fItag\fR ?\fIoption value option value ...\fR?
+Same as the \fBadd\fR command except that it inserts the new
+radiobutton just before the one given by \fIindex\fR, instead of appending
+to the end of the radiobox. The \fIoption\fR, and \fIvalue\fR
+arguments have the same interpretation as for the \fBadd\fR widget
+command.
+.TP
+\fIpathName \fBselect\fR \fIindex\fR
+Selects a specified radiobutton given an \fIindex\fR.
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ iwidgets::radiobox .rb -labeltext Fonts
+ .rb add times -text Times
+ .rb add helvetica -text Helvetica
+ .rb add courier -text Courier
+ .rb add symbol -text Symbol
+ .rb select courier
+
+ pack .rb -padx 10 -pady 10 -fill both -expand yes
+.DE
+
+.SH AUTHOR
+Michael J. McLennan
+.DE
+Mark L. Ulferts
+.SH KEYWORDS
+radiobox, widget
diff --git a/itcl/iwidgets/doc/scopedobject.n b/itcl/iwidgets/doc/scopedobject.n
new file mode 100644
index 00000000000..c209b5951d4
--- /dev/null
+++ b/itcl/iwidgets/doc/scopedobject.n
@@ -0,0 +1,100 @@
+'\"
+'\" Copyright (c) 1997 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) scopedobject.n 1.21 97/1/30 16:04:44
+'\"
+.so man.macros
+.HS scopedobject iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+scopedobject \- Create and manipulate a scoped \[incr Tcl\] class object.
+.SH SYNOPSIS
+\fBscopedobject\fI \fIobjName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+None
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+Name: \fBenterscopecommand:\fR
+Command-Line Switch: \fB-enterscopecommand\fR
+.fi
+.IP
+Specifies a Tcl command to invoke when an object enters scope
+(i.e. when it is created..). The default is {}.
+.LP
+.nf
+Name: \fBenterscopecommand:\fR
+Command-Line Switch: \fB-enterscopecommand\fR
+.fi
+.IP
+Specifies a Tcl command to invoke when an object exits scope
+(i.e. when it is deleted..). The default is {}.
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBscopedobject\fR command creates a base class for defining
+Itcl classes which posses scoped behavior like Tcl variables.
+The objects are only accessible within the procedure in which
+they are instantiated and are deleted when the procedure returns.
+This class was designed to be a general purpose base class for
+supporting scoped incr Tcl classes. The options include the
+execute a Tcl script command when an object enters and exits its
+scope.
+.SH "METHODS"
+.PP
+The \fBscopedobject\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various operations on the object.
+It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for scopedobject objects:
+.SH "OBJECT-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBscopedobject\fR
+command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the object.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR. If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given objects option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBscopedobject\fR
+command.
+
+.SH EXAMPLE
+.IP
+The scopedobject was primarily meant to be a base class. The
+following is an example of usage without inheritance:
+.LP
+.DS
+ proc scopedobject_demo {} {
+ iwidgets::scopedobject #auto \
+ -exitscopecommand {puts "enter scopedobject_demo"} \
+ -exitscopecommand {puts "exit scopedobject_demo"}
+ }
+
+ scopedobject_demo
+
+.DE
+.SH AUTHOR
+John A. Tucker
+.SH KEYWORDS
+scopedobject, object
diff --git a/itcl/iwidgets/doc/scrolledcanvas.n b/itcl/iwidgets/doc/scrolledcanvas.n
new file mode 100644
index 00000000000..3f95a3f7d48
--- /dev/null
+++ b/itcl/iwidgets/doc/scrolledcanvas.n
@@ -0,0 +1,257 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) ScrolledListBox.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::scrolledcanvas iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::scrolledcanvas \- Create and manipulate scrolled canvas widgets
+.SH SYNOPSIS
+\fBiwidgets::scrolledcanvas\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Labeledwidget <- iwidgets::Scrolledwidget <- iwidgets::Scrolledcanvas
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+activeBackground background borderWidth cursor
+exportSelection font foreground highlightColor
+highlightThickness insertBorderWidth insertOffTime insertOnTime
+insertWidth relief selectBackground selectBorderWidth
+selectForeground\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBcloseEnough\fR \fBconfine\fR \fBscrollRegion\fR \fBxScrollIncrement\fR
+\fByScrollIncrement\fR
+.fi
+.LP
+See the "canvas" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBactiveRelief\fR \fBelementBorderWidth\fR \fBjump\fR \fBtroughColor\fR
+.fi
+.LP
+See the "scrollbar" widget manual entry for details on the above
+associated options.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBdisabledForeground\fR \fBlabelBitmap\fR \fBlabelFont\fR \fBlabelImage\fR
+\fBlabelMargin\fR \fBlabelPos\fR \fBlabelText\fR \fBlabelVariable\fR
+\fBstate\fR \fBsticky\fR
+.fi
+.LP
+See the "labeledwidget" class manual entry for details on the inherited options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBautoMargin\fR
+Class: \fBAutoMargin\fR
+Command-Line Switch: \fB-automargin\fR
+.fi
+.IP
+Specifies the autoresize extra margin to reserve. This option is only
+effective with autoresize turned on. The default is 10.
+.LP
+.nf
+Name: \fBautoResize\fR
+Class: \fBAutoResize\fR
+Command-Line Switch: \fB-autoresize\fR
+.fi
+.IP
+Automatically adjusts the scrolled region to be the bounding
+box covering all the items in the canvas following the execution
+of any method which creates or destroys items. Thus, as new
+items are added, the scrollbars adjust accordingly.
+.LP
+.nf
+Name: \fBheight\fR
+Class: \fBHeight\fR
+Command-Line Switch: \fB-height\fR
+.fi
+.IP
+Specifies the height of the scrolled canvas widget in any of the forms
+acceptable to \fBTk_GetPixels\fR. The default height is 30 pixels.
+.LP
+.nf
+Name: \fBhscrollMode\fR
+Class: \fBScrollMode\fR
+Command-Line Switch: \fB-hscrollmode\fR
+.fi
+.IP
+Specifies the the display mode to be used for the horizontal
+scrollbar: \fBstatic, dynamic,\fR or \fBnone\fR. In static mode, the
+scroll bar is displayed at all times. Dynamic mode displays the
+scroll bar as required, and none disables the scroll bar display. The
+default is static.
+.LP
+.nf
+Name: \fBsbWidth\fR
+Class: \fBWidth\fR
+Command-Line Switch: \fB-sbwidth\fR
+.fi
+.IP
+Specifies the width of the scrollbar in any of the forms acceptable
+to \fBTk_GetPixels\fR. The default width is 15 pixels..
+.LP
+.nf
+Name: \fBscrollMargin\fR
+Class: \fBScrollMargin\fR
+Command-Line Switch: \fB-scrollmargin\fR
+.fi
+.IP
+Specifies the distance between the canvas and scrollbar in any of the
+forms acceptable to \fBTk_GetPixels\fR. The default is 3 pixels.
+.LP
+.nf
+Name: \fBtextBackground\fR
+Class: \fBBackground\fR
+Command-Line Switch \fB-textbackground\fR
+.fi
+.IP
+Specifies the background color for the canvas. This allows the background
+within the canvas to be different from the normal background color.
+.LP
+.nf
+Name: \fBvscrollMode\fR
+Class: \fBScrollMode\fR
+Command-Line Switch: \fB-vscrollmode\fR
+.fi
+.IP
+Specifies the the display mode to be used for the vertical
+scrollbar: \fBstatic, dynamic,\fR or \fBnone\fR. In static mode, the
+scroll bar is displayed at all times. Dynamic mode displays the
+scroll bar as required, and none disables the scroll bar display. The
+default is static.
+.LP
+.nf
+Name: \fBwidth\fR
+Class: \fBWidth\fR
+Command-Line Switch: \fB-width\fR
+.fi
+.IP
+Specifies the width of the scrolled canvas widget in any of the forms
+acceptable to \fBTk_GetPixels\fR. The default height is 30 pixels.
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::scrolledcanvas\fR command creates
+a scrolled canvas with additional options to manage
+horizontal and vertical scrollbars. This includes options to control
+which scrollbars are displayed and the method, i.e. statically or
+dynamically.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::scrolledcanvas\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for scrolledcanvas widgets:
+.SH "ASSOCIATED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBaddtag\fR \fBbbox\fR \fBbind\fR \fBcanvasx\fR
+\fBcanvasy\fB \fBcoords\fR \fBcreate\fR \fBdchars\fR
+\fBdelete\fR \fBdtag\fR \fBfind\fR \fBfocus\fR
+\fBgettags\fR \fBicursor\fR \fBindex\fR \fBinsert\fR
+\fBitemconfigure\fR \fBlower\fR \fBmove\fR \fBpostscript\fR
+\fBraise\fR \fBscale\fR \fBscan\fR \fBselect\fR
+\fBtype\fR \fBxview\fR \fByview\fR
+.fi
+.LP
+See the "canvas" manual entry for details on the associated methods.
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::scrolledcanvas\fR
+command.
+.TP
+\fIpathName \fBchildsite\fR
+Returns the child site widget path name.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::scrolledcanvas\fR
+command.
+.TP
+\fIpathName \fBjustify \fIdirection\fR
+Justifies the canvas contents via the scroll bars in one of four directions:
+\fBleft\fR, \fBright\fR, \fBtop\fR, or \fBbottom\fR.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBcanvas\fR
+Class: \fBCanvas\fR
+.fi
+.IP
+The canvas component is the canvas widget. See the "canvas" widget
+manual entry for details on the canvas component item.
+.LP
+.nf
+Name: \fBhorizsb\fR
+Class: \fBScrollbar\fR
+.fi
+.IP
+The horizsb component is the horizontal scroll bar. See the "ScrollBar"
+widget manual entry for details on the horizsb component item.
+.LP
+.nf
+Name: \fBvertsb\fR
+Class: \fBScrollbar\fR
+.fi
+.IP
+The vertsb component is the vertical scroll bar. See the "ScrollBar" widget
+manual entry for details on the vertsb component item.
+.fi
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ iwidgets::scrolledcanvas .sc
+
+ .sc create rectangle 100 100 400 400 -fill red
+ .sc create rectangle 300 300 600 600 -fill green
+ .sc create rectangle 200 200 500 500 -fill blue
+
+ pack .sc -padx 10 -pady 10 -fill both -expand yes
+.DE
+.SH AUTHOR
+Mark L. Ulferts
+.SH KEYWORDS
+scrolledcanvas, canvas, widget
diff --git a/itcl/iwidgets/doc/scrolledframe.n b/itcl/iwidgets/doc/scrolledframe.n
new file mode 100644
index 00000000000..415a31f5d41
--- /dev/null
+++ b/itcl/iwidgets/doc/scrolledframe.n
@@ -0,0 +1,211 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) scrolledframe.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::scrolledframe iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::scrolledframe \- Create and manipulate scrolled frame widgets
+.SH SYNOPSIS
+\fBiwidgets::scrolledframe\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Labeledwidget <- iwidgets::Scrolledwidget <- iwidgets::Scrolledframe
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+activeBackground background borderWidth cursor
+font foreground highlightColor highlightThickness
+relief selectBackground selectBorderWidth selectForeground\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBactiveRelief\fR \fBelementBorderWidth\fR \fBjump\fR \fBtroughColor\fR
+.fi
+.LP
+See the "scrollbar" manual entry for details on the associated options.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBLabelBitmap\fR \fBlabelFont\fR \fBlabelImage\fR \fBlabelMargin\fR
+\fBlabelPos\fR \fBlabelText\fR \fBlabelVariable\fR \fBsticky\fR
+.fi
+.LP
+See the "labeledwidget" class manual entry for details on the inherited options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBheight\fR
+Class: \fBHeight\fR
+Command-Line Switch: \fB-height\fR
+.fi
+.IP
+Specifies the height of the scrolled frame widget in any of the forms acceptable to \fBTk_GetPixels\fR. The default height is 100 pixels.
+.LP
+.nf
+Name: \fBhscrollMode\fR
+Class: \fBScrollMode\fR
+Command-Line Switch: \fB-hscrollmode\fR
+.fi
+.IP
+Specifies the the display mode to be used for the horizontal
+scrollbar: \fBstatic\fR, \fBdynamic\fR, or \fBnone\fR. In static mode, the
+scroll bar is displayed at all times. Dynamic mode displays the
+scroll bar as required, and none disables the scroll bar display. The
+default is static.
+.LP
+.nf
+Name: \fBsbWidth\fR
+Class: \fBWidth\fR
+Command-Line Switch: \fB-sbwidth\fR
+.fi
+.IP
+Specifies the width of the scrollbar in any of the forms acceptable
+to \fBTk_GetPixels\fR. The default width is 15 pixels.
+.LP
+.nf
+Name: \fBscrollMargin\fR
+Class: \fBMargin\fR
+Command-Line Switch: \fB-scrollmargin\fR
+.fi
+.IP
+Specifies the distance between the frame and scrollbar in any of the
+forms acceptable to \fBTk_GetPixels\fR. The default is 3 pixels.
+.LP
+.nf
+Name: \fBvscrollMode\fR
+Class: \fBScrollMode\fR
+Command-Line Switch: \fB-vscrollmode\fR
+.fi
+.IP
+Specifies the the display mode to be used for the vertical
+scrollbar: \fBstatic\fR, \fBdynamic\fR, or \fBnone\fR. In static mode, the
+scroll bar is displayed at all times. Dynamic mode displays the
+scroll bar as required, and none disables the scroll bar display. The
+default is static.
+.LP
+.nf
+Name: \fBwidth\fR
+Class: \fBWidth\fR
+Command-Line Switch: \fB-width\fR
+.fi
+.IP
+Specifies the width of the scrolled frame widget in any of the forms
+acceptable to \fBTk_GetPixels\fR. The default height is 100 pixels.
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBscrolledframe\fR combines the functionallity of scrolling with that
+of a typical frame widget to implement a clipable viewing area whose visible
+region may be modified with the scroll bars. This enables the contruction
+of visually larger areas than which could normally be displayed, containing
+a heterogenous mix of other widgets. Options exist which allow full control
+over which scrollbars are displayed and the method, i.e. statically or
+dynamically. The frame itself may be accessed by the \fBchildsite\fR
+method and then filled with other widget combinations.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::scrolledframe\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for scrolledframe widgets:
+.SH "ASSOCIATED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBxview\fR \fByview\fR
+.fi
+.LP
+See the "canvas" manual entry for details on the associated methods.
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::scrolledframe\fR
+command.
+.TP
+\fIpathName \fBchildsite\fR
+Return the path name of the child site.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::scrolledframe\fR
+command.
+.TP
+\fIpathName \fBjustify \fIdirection\fR
+Justifies the frame contents via the scroll bars in one of four directions:
+\fBleft\fR, \fBright\fR, \fBtop\fR, or \fBbottom\fR.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBhorizsb\fR
+Class: \fBScrollbar\fR
+.fi
+.IP
+The horizsb component is the horizontal scroll bar. See the "ScrollBar"
+widget manual entry for details on the horizsb component item.
+.LP
+.nf
+Name: \fBvertsb\fR
+Class: \fBScrollbar\fR
+.fi
+.IP
+The vertsb component is the vertical scroll bar. See the "ScrollBar" widget
+manual entry for details on the vertsb component item.
+.fi
+
+.SH EXAMPLE
+.DS
+package require Iwidgets 4.0
+iwidgets::scrolledframe .sf -width 150 -height 180 \\
+ -labelon yes -labeltext scrolledframe
+
+set cs [.sf childsite]
+pack [button $cs.b1 -text Hello] -pady 10
+pack [button $cs.b2 -text World] -pady 10
+pack [button $cs.b3 -text "This is a test"] -pady 10
+pack [button $cs.b4 -text "This is a really big button"] -pady 10
+pack [button $cs.b5 -text "This is another really big button"] -pady 10
+pack [button $cs.b6 -text "This is the last really big button"] -pady 10
+
+pack .sf -expand yes -fill both -padx 10 -pady 10
+.DE
+.SH AUTHOR
+.TP
+Mark L. Ulferts
+.TP
+Sue Yockey
+.SH KEYWORDS
+scrolledframe, frame, widget
diff --git a/itcl/iwidgets/doc/scrolledhtml.n b/itcl/iwidgets/doc/scrolledhtml.n
new file mode 100644
index 00000000000..a3ae1f9d96f
--- /dev/null
+++ b/itcl/iwidgets/doc/scrolledhtml.n
@@ -0,0 +1,313 @@
+'\"
+'\" Copyright (c) 1996 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) scrolledhtml.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::scrolledhtml iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::scrolledhtml \- Create and manipulate a scrolled text widget with the capability
+of displaying HTML formatted documents.
+.SH SYNOPSIS
+\fBiwidgets::scrolledhtml\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Labeledwidget <- iwidgets::Scrolledtext <- iwidgets::Scrolledhtml
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+activeBackground background borderWidth cursor
+exportSelection foreground highlightColor highlightThickness
+insertBackground insertBorderWidth insertOffTime insertOnTime
+insertWidth padX padY relief
+repeatDelay repeatInterval selectBackground selectBorderWidth
+selectForeground setGrid\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBactiveRelief\fR \fBelementBorderWidth\fR \fBjump\fR \fBtroughColor\fR
+.fi
+.LP
+See the "scrollbar" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBspacing1\fR \fBspacing2\fR \fBspacing3\fR \fBstate\fR
+\fBtabs\fR \fBwrap\fR
+.fi
+.LP
+See the "text" widget manual entry for details on the above
+associated options.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBlabelBitmap\fR \fBlabelFont\fR \fBlabelImage\fR \fBlabelMargin\fR
+\fBlabelPos\fR \fBlabelText\fR \fBlabelVariable\fR \fBheight\fR
+\fBhscrollMode\fR \fBsbWidth\fR \fBscrollMargin\fR \fBvisibleitems\fR
+\fBvscrollMode\fR \fBwidth\fR
+.fi
+.LP
+See the "scrolledtext" class manual entry for details on the inherited options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBsticky\fR
+.fi
+.LP
+See the "labeledwidget" class manual entry for details on the inherited options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBfeedback\fR
+Class: \fBFeedBack\fR
+Command-Line Switch: \fB-feedback\fR
+.fi
+.IP
+Specifies the callback command to use to give feedback on current
+status. The command is executed in the form \fIcommand\fR \fI<number of
+characters remaining>\fR
+.LP
+.nf
+Name: \fBfixedfont\fR
+Class: \fBFixedFont\fR
+Command-Line Switch: \fB-fixedfont\fR
+.fi
+.IP
+Specifies the name of the font to be used for fixed-width character
+text (such as <pre>...</pre> or <tt>...</tt>.) The size, style, and
+other font attributes are determined by the format tags in the
+document. The default is courier.
+.LP
+.nf
+Name: \fBfontname\fR
+Class: \fBFontName\fR
+Command-Line Switch: \fB-fontname\fR
+.fi
+.IP
+Specifies the name of the font to be used for normal-width character
+spaced text. The size, style, and other font attributes are
+determined by the format tags in the document. The default is times.
+.LP
+.nf
+Name: \fBfontsize\fR
+Class: \fBFontSize\fR
+Command-Line Switch: \fB-fontsize\fR
+.fi
+.IP
+Specifies the general size of the fonts used. One of small, medium,
+large, or huge. The default is medium.
+.LP
+.nf
+Name: \fBforeground\fR
+Class: \fBForeground\fR
+Command-Line Switch: \fB-foreground\fR
+.fi
+.IP
+Specifies the color of text other than hypertext links, in any
+of the forms acceptable to \fBTk_GetColor\fR. This value may
+be overridden in a particular document by the \fItext\fR attribute
+of the \fBBody\fR HTML tag.
+.LP
+.nf
+Name: \fBlink\fR
+Class: \fBLink\fR
+Command-Line Switch: \fB-link\fR
+.fi
+.IP
+Specifies the default color of hypertext links in any of the forms
+acceptable to \fBTk_GetColor\fR. This value may be overridden in a
+particular document by the \fIlink\fR attribute of the \fBBody\fR
+HTML tag. The default is blue.
+.LP
+.nf
+Name: \fBlinkcommand\fR
+Class: \fBLinkCommand\fR
+Command-Line Switch: \fB-linkcommand\fR
+.fi
+.IP
+Specifies the command to execute when the user clicks on a hypertext
+link. Execution is of the form \fBlinkcommand href\fR, where \fBhref\fR is
+the value given in the \fIhref\fR attribute of the \fBA\fR HTML tag.
+.LP
+.nf
+Name: \fBalink\fR
+Class: \fBalink\fR
+Command-Line Switch: \fB-alink\fR
+.fi
+.IP
+Specifies the color of hypertext links when the cursor is over the link
+in any of the forms acceptable to \fBTk_GetColor\fR. The default is red.
+.LP
+.nf
+Name: \fBtextBackground\fR
+Class: \fBBackground\fR
+Command-Line Switch: \fB-textbackground\fR
+.fi
+.IP
+Specifies the background color for the text area in any of
+the forms acceptable to \fBTk_GetColor\fR. This value may be
+overridden in a particular document by the \fIbgcolor\fR attribute
+of the \fBBody\fR HTML tag.
+.LP
+.nf
+Name: \fBunknownimage\fR
+Class: \fBUnknownImage\fR
+Command-Line Switch: \fB-unknownimage\fR
+.fi
+.IP
+Specifies the name of the image file to display when an \fBimg\fR
+specified in the html document cannot be loaded.
+.LP
+.nf
+Name: \fBupdate\fR
+Class: \fBUpdate\fR
+Command-Line Switch: \fB-alink\fR
+.fi
+.IP
+A boolean value indicating whether to call update during html rendering.
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::scrolledhtml\fR command creates
+a scrolled text widget with the additional capability to display
+html formatted documents.
+An import method is provided to read an html document file, and
+a render method is provided to display a html formatted text string.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::scrolledhtml\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for scrolledhtml widgets:
+.SH "ASSOCIATED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbbox\fR \fBcompare\fR \fBdebug\fR \fBdelete\fR
+\fBdlineinfo\fR \fBget\fR \fBindex\fR \fBinsert\fR
+\fBmark\fR \fBscan\fR \fBsearch\fR \fBsee\fR
+\fBtag\fR \fBwindow\fR \fBxview\fR \fByview\fR
+.fi
+.LP
+See the "text" manual entry for details on the standard methods.
+.SH "INHERITED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBexport\fR \fBclear\fR
+.fi
+.LP
+See the "scrolledhtml" manual entry for details on the inherited methods.
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::scrolledhtml\fR
+command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::scrolledhtml\fR
+command.
+.TP
+\fIpathName\fR \fBimport\fR ?\fIoption\fR? \fIhref\fR
+Load html formatted text from a file. \fIHref\fR must exist.
+If \fIoption\fR is -link, \fIhref\fR is assumed to be relative
+to the application's current working directory. Otherwise,
+\fIhref\fR is assumed to be relative to the path of the last
+page loaded. \fIHref\fR is either a filename, or a reference
+of the form \fIfilename\fR#\fIanchorname\fR. In the latter form,
+fIFilename\fR and/or \fIanchorname\fR may be empty.
+If \fIfilename\fR is empty, the current document is assumed.
+If \fIanchorname\fR is empty, the top of the document is assumed.
+.TP
+\fIpathName\fR \fBpwd\fR
+Print the current working directory of the widget, i.e. the directory of the
+last page loaded.
+.TP
+\fIpathName\fR \fBrender\fR \fIhtmltext\fR ?\fIwd\fR?
+Display HTML formatted text \fIhtmltext\fR. \fIWd\fR gives the base
+path to use for all links and images in the document. \fIWd\fR defaults
+to the application's current working directory.
+.TP
+\fIpathName\fR \fBtitle\fR
+Return the title of the current page, as given in the <title>...</title>
+field in the document.
+
+.SH "HTML COMPLIANCE"
+.LP
+This widget is compliant with HTML 3.2 with the following exceptions:
+.LP
+No features requiring a connection to an http server are supported.
+.LP
+Some image alignments aren't supported, because they are not supported by
+the text widget.
+.LP
+The <br> attributes dealing with image alignments aren't supported.
+.LP
+Automatic table sizing is not supported very well, due to limitations of the
+text widget
+.RE
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ option add *textBackground white
+
+ iwidgets::scrolledhtml .sh -fontname helvetica -linkcommand "this import -link"
+
+ pack .sh -padx 10 -pady 10 -fill both -expand yes
+
+ .sh import ~/public_html/index.html
+.DE
+.SH BUGS
+.IP
+Cells in a table can be caused to overlap. ex:
+ <table border width="100%">
+ <tr><td>cell1</td><td align=right rowspan=2>cell2</td></tr>
+ <tr><td colspan=2>cell3 w/ overlap</td>
+ </table>
+It hasn't been fixed because 1) it's a pain to fix, 2) it will slow
+tables down by a significant amount, and 3) netscape has the same
+bug, as of V3.01.
+.SH ACKNOWLEDGEMENTS
+Sam Shen
+.IP
+This code is based largely on his tkhtml.tcl code from tk inspect. Tkhtml
+is copyright 1995 Lawrence Berkeley Laboratory.
+.LP
+.SH AUTHOR
+Kris Raney
+.SH KEYWORDS
+scrolledhtml, html, text, widget
diff --git a/itcl/iwidgets/doc/scrolledlistbox.n b/itcl/iwidgets/doc/scrolledlistbox.n
new file mode 100644
index 00000000000..9e5de5cd72c
--- /dev/null
+++ b/itcl/iwidgets/doc/scrolledlistbox.n
@@ -0,0 +1,356 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) scrolledlistbox.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::scrolledlistbox iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::scrolledlistbox \- Create and manipulate scrolled listbox widgets
+.SH SYNOPSIS
+\fBiwidgets::scrolledlistbox\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Labeledwidget <- iwidgets::Scrolledwidget <- iwidgets::Scrolledlistbox
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+activeBackground background borderWidth cursor
+exportSelection foreground highlightColor highlightThickness
+relief selectBackground selectBorderWidth selectForeground\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBselectMode\fR \fBlistvariable\fR
+.fi
+.LP
+See the "listbox" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBactiveRelief\fR \fBelementBorderwidth\fR \fBjump\fR \fBtroughColor\fR
+.fi
+.LP
+See the "scrollbar" widget manual entry for details on the above
+associated options.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBdisabledForeground\fR \fBlabelBitmap\fR \fBlabelFont\fR \fBlabelImage\fR
+\fBlabelMargin\fR \fBlabelPos\fR \fBlabelText\fR \fBlabelVariable\fR
+\fBstate\fR \fBsticky\fR
+.fi
+.LP
+See the "labeledwidget" class manual entry for details on the inherited
+options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBdblClickCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-dblclickcommand\fR
+.fi
+.IP
+Specifies a Tcl command procedure which is called when an item is
+double clicked. Typically this occurs when mouse button 1 is double
+clicked over an item. Selection policy does not matter.
+.LP
+.nf
+Name: \fBheight\fR
+Class: \fBHeight\fR
+Command-Line Switch: \fB-height\fR
+.fi
+.IP
+Specifies the height of the scrolled list box as an entire unit.
+The value may be specified in any of the forms acceptable to
+\fBTk_GetPixels\fR. Any additional space needed to display the other
+components such as labels, margins, and scrollbars force the listbox
+to be compressed. A value of zero along with the same value for
+the width causes the value given for the visibleitems option
+to be applied which administers geometry constraints in a different
+manner. The default height is zero.
+.LP
+.nf
+Name: \fBhscrollMode\fR
+Class: \fBScrollMode\fR
+Command-Line Switch: \fB-hscrollmode\fR
+.fi
+.IP
+Specifies the the display mode to be used for the horizontal
+scrollbar: \fBstatic, dynamic,\fR or \fBnone\fR. In static mode, the
+scroll bar is displayed at all times. Dynamic mode displays the
+scroll bar as required, and none disables the scroll bar display. The
+default is static.
+.LP
+.nf
+Name: \fBsbWidth\fR
+Class: \fBWidth\fR
+Command-Line Switch: \fB-sbwidth\fR
+.fi
+.IP
+Specifies the width of the scrollbar in any of the forms acceptable
+to \fBTk_GetPixels\fR. The default width is 15 pixels..
+.LP
+.nf
+Name: \fBscrollMargin\fR
+Class: \fBMargin\fR
+Command-Line Switch: \fB-scrollmargin\fR
+.fi
+.IP
+Specifies the distance between the listbox and scrollbar in any of the
+forms acceptable to \fBTk_GetPixels\fR. The default is 3 pixels.
+.LP
+.nf
+Name: \fBselectionCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-selectioncommand\fR
+.fi
+.IP
+Specifies a Tcl command procedure which is called when an item is
+selected. Selection policy does not matter.
+.LP
+.nf
+Name: \fBstate\fR
+Class: \fBState\fR
+Command-Line Switch: \fB-state\fR
+.fi
+.IP
+Specifies one of two states for the listbox: \fBnormal\fR or \fBdisabled\fR.
+If the listbox is disabled then selection is ignored. The default is
+normal.
+.LP
+.nf
+Name: \fBtextBackground\fR
+Class: \fBBackground\fR
+Command-Line Switch \fB-textbackground\fR
+.fi
+.IP
+Specifies the background color for the listbox. This allows the background
+within the listbox to be different from the normal background color.
+.LP
+.nf
+Name: \fBtextFont\fR
+Class: \fBFont\fR
+Command-Line Switch: \fB-textfont\fR
+.fi
+.IP
+Specifies the font to be used for text in the listbox. This allows for
+the font associated with text internal to the scrolled listbox to be
+different than the font for labels.
+.LP
+.nf
+Name: \fBvisibleitems\fR
+Class: \fBVisibleItems\fR
+Command-Line Switch: \fB-visibleitems\fR
+.fi
+.IP
+Specifies the widthxheight in characters and lines for the listbox.
+This option is only administered if the width and height options
+are both set to zero, otherwise they take precedence. The default value
+is 20x10. With the visibleitems option engaged, geometry constraints
+are maintained only on the listbox. The size of the other components such as
+labels, margins, and scroll bars, are additive and independent,
+effecting the overall size of the scrolled list box. In contrast,
+should the width and height options have non zero values, they
+are applied to the scrolled list box as a whole. The listbox
+is compressed or expanded to maintain the geometry constraints.
+.LP
+.nf
+Name: \fBvscrollMode\fR
+Class: \fBScrollMode\fR
+Command-Line Switch: \fB-vscrollmode\fR
+.fi
+.IP
+Specifies the the display mode to be used for the vertical
+scrollbar: \fBstatic, dynamic,\fR or \fBnone\fR. In static mode, the
+scroll bar is displayed at all times. Dynamic mode displays the
+scroll bar as required, and none disables the scroll bar display. The
+default is static.
+.LP
+.nf
+Name: \fBwidth\fR
+Class: \fBWidth\fR
+Command-Line Switch: \fB-width\fR
+.fi
+.IP
+Specifies the width of the scrolled list box as an entire unit.
+The value may be specified in any of the forms acceptable to
+\fBTk_GetPixels\fR. Any additional space needed to display the other
+components such as labels, margins, and scrollbars force the listbox
+to be compressed. A value of zero along with the same value for
+the height causes the value given for the visibleitems option
+to be applied which administers geometry constraints in a different
+manner. The default width is zero.
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::scrolledlistbox\fR command creates
+a scrolled listbox with additional options to manage
+horizontal and vertical scrollbars. This includes options to control
+which scrollbars are displayed and the method, i.e. statically or
+dynamically.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::scrolledlistbox\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command.
+.PP
+Many of the widget commands for a scrolledlistbox take as one argument an
+indicator of which entry of the list box to operate on. These
+indicators are called \fIindex\fRes and may be specified in
+any of the following forms:
+.TP 12
+\fInumber\fR
+Specifies the element as a numerical index, where 0 corresponds
+to the first element in the listbox.
+.TP 12
+\fBactive\fR
+Indicates the element that has the location cursor. This element
+will be displayed with an underline when the listbox has the
+keyboard focus, and it is specified with the \fBactivate\fR
+widget command.
+.TP 12
+\fBanchor\fR
+Indicates the anchor point for the selection, which is set with the
+\fBselection anchor\fR widget command.
+.TP 12
+\fBend\fR
+Indicates the end of the listbox.
+For some commands this means just after the last element;
+for other commands it means the last element.
+.TP 12
+\fB@\fIx\fB,\fIy\fR
+Indicates the element that covers the point in the listbox window
+specified by \fIx\fR and \fIy\fR (in pixel coordinates). If no
+element covers that point, then the closest element to that
+point is used.
+.TP 12
+\fIpattern\fR
+If the index doesn't satisfy one of the above forms then this
+form is used. \fIPattern\fR is pattern-matched against the items in
+the list box, in order from the top down, until a matching entry is found.
+The rules of \fBTcl_StringMatch\fR are used.
+.PP
+The following widget commands are possible for scrolledlistbox widgets:
+
+.SH "ASSOCIATED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBactivate\fR \fBbbox\fR \fBcurselection\fR \fBdelete\fR
+\fBget\fR \fBindex\fR \fBinsert\fR \fBitemconfigure\fR
+\fBnearest\fR \fBscan\fR \fBsee\fR \fBselection\fR
+\fBsize\fR \fBxview\fR \fByview\fR
+.fi
+.LP
+See the "listbox" manual entry for details on the associated methods.
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::scrolledlistbox\fR
+command.
+.TP
+\fIpathName \fBclear\fR
+Clears the listbox of all items.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::scrolledlistbox\fR
+command.
+.TP
+\fIpathName \fBgetcurselection\fR
+Returns the contents of the listbox element indicated by the current
+selection indexes. Short cut version of get and curselection command
+combination.
+.TP
+\fIpathName \fBjustify \fIdirection\fR
+Justifies the list contents via teh scroll bars in one of four directions:
+\fBleft\fR, \fBright\fR, \fBtop\fR, or \fBbottom\fR.
+.TP
+\fIpathName \fBselecteditemcount\fR
+Returns the number of items currently selected in the list.
+.TP
+\fIpathName \fBsort\fR \fIorder\fR
+Sort the current list in any of the forms accepted by Tcl's lsort command.
+Also accepts either \fBascending\fR or \fBdescending\fR order.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBlistbox\fR
+Class: \fBlistbox\fR
+.fi
+.IP
+The listbox component is the listbox widget. See the "listbox" widget
+manual entry for details on the listbox component item.
+.LP
+.nf
+Name: \fBhorizsb\fR
+Class: \fBScrollbar\fR
+.fi
+.IP
+The horizsb component is the horizontal scroll bar. See the "scrollbar"
+widget manual entry for details on the horizsb component item.
+.LP
+.nf
+Name: \fBvertsb\fR
+Class: \fBScrollbar\fR
+.fi
+.IP
+The vertsb component is the vertical scroll bar. See the "scrollbar" widget
+manual entry for details on the vertsb component item.
+.fi
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ option add *textBackground white
+ proc selCmd {} {
+ puts stdout "[.slb getcurselection]"
+ }
+ proc defCmd {} {
+ puts stdout "Double Click"
+ return [selCmd]
+ }
+ iwidgets::scrolledlistbox .slb -selection single \\
+ -vscrollmode static -hscrollmode dynamic -labeltext "List" \\
+ -selectioncommand selCmd -dblclickcommand defCmd
+ pack .slb -padx 10 -pady 10 -fill both -expand yes
+ .slb insert end {Hello {Out There} World}
+.DE
+.SH AUTHOR
+Mark L. Ulferts
+.SH KEYWORDS
+scrolledlistbox, listbox, widget
diff --git a/itcl/iwidgets/doc/scrolledtext.n b/itcl/iwidgets/doc/scrolledtext.n
new file mode 100644
index 00000000000..2d6e1e68ebd
--- /dev/null
+++ b/itcl/iwidgets/doc/scrolledtext.n
@@ -0,0 +1,284 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) scrolledtext.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::scrolledtext iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::scrolledtext \- Create and manipulate a scrolled text widget
+.SH SYNOPSIS
+\fBiwidgets::scrolledtext\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Labeledwidget <- iwidgets::Scrolledwidget <- iwidgets::Scrolledtext
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBactiveBackground\fR \fBbackground\fR \fBborderWidth\fR \fBcursor\fR
+\fBexportSelection\fR \fBforeground\fR \fBhighlightColor\fR
+\fBhighlightThickness\fR \fBinsertBackground\fR
+\fBinsertBorderWidth\fR \fBinsertOffTime\fR \fBinsertOnTime\fR
+\fBinsertWidth\fR \fBpadX\fR \fBpadY\fR
+\fBrelief\fR \fBselectBackground\fR
+\fBselectBorderWidth\fR \fBselectForeground\fR
+\fBsetGrid\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBactiveRelief\fR \fBelementBorderWidth\fR \fBjump\fR \fBtroughColor\fR
+.fi
+.LP
+See the "scrollbar" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBspacing1\fR \fBspacing2\fR \fBspacing3\fR \fBstate\fR
+\fBtabs\fR \fBwrap\fR
+.fi
+.LP
+See the "text" widget manual entry for details on the above
+associated options.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBdisabledForeground\fR \fBlabelBitmap\fR \fBlabelFont\fR \fBlabelImage\fR
+\fBlabelMargin\fR \fBlabelPos\fR \fBlabelText\fR \fBlabelVariable\fR
+\fBstate\fR \fBsticky\fR
+.fi
+.LP
+See the "labeledwidget" class manual entry for details on the inherited options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBheight\fR
+Class: \fBHeight\fR
+Command-Line Switch: \fB-height\fR
+.fi
+.IP
+Specifies the height of the scrolled text as an entire unit.
+The value may be specified in any of the forms acceptable to
+\fBTk_GetPixels\fR. Any additional space needed to display the other
+components such as labels, margins, and scrollbars force the text
+to be compressed. A value of zero along with the same value for
+the width causes the value given for the visibleitems option
+to be applied which administers geometry constraints in a different
+manner. The default height is zero.
+.LP
+.nf
+Name: \fBhscrollMode\fR
+Class: \fBScrollMode\fR
+Command-Line Switch: \fB-hscrollmode\fR
+.fi
+.IP
+Specifies the the display mode to be used for the horizontal
+scrollbar: \fBstatic, dynamic,\fR or \fBnone\fR. In static mode, the
+scroll bar is displayed at all times. Dynamic mode displays the
+scroll bar as required, and none disables the scroll bar display. The
+default is static.
+.LP
+.nf
+Name: \fBsbWidth\fR
+Class: \fBWidth\fR
+Command-Line Switch: \fB-sbwidth\fR
+.fi
+.IP
+Specifies the width of the scrollbar in any of the forms
+acceptable to \fBTk_GetPixels\fR.
+.LP
+.nf
+Name: \fBscrollMargin\fR
+Class: \fBMargin\fR
+Command-Line Switch: \fB-scrollmargin\fR
+.fi
+.IP
+Specifies the distance between the text area and scrollbar in any of the forms
+acceptable to \fBTk_GetPixels\fR. The default is 3 pixels.
+.LP
+.nf
+Name: \fBtextBackground\fR
+Class: \fBBackground\fR
+Command-Line Switch: \fB-textbackground\fR
+.fi
+.IP
+Specifies the background color for the text area in any of the forms
+acceptable to \fBTk_GetColor\fR.
+.LP
+.nf
+Name: \fBtextFont\fR
+Class: \fBFont\fR
+Command-Line Switch: \fB-textfont\fR
+.fi
+.IP
+Specifies the font to be used in the scrolled text area.
+.LP
+.nf
+Name: \fBvisibleitems\fR
+Class: \fBVisibleItems\fR
+Command-Line Switch: \fB-visibleitems\fR
+.fi
+.IP
+Specifies the widthxheight in characters and lines for the text.
+This option is only administered if the width and height options
+are both set to zero, otherwise they take precedence. The default value
+is 80x24. With the visibleitems option engaged, geometry constraints
+are maintained only on the text. The size of the other components such as
+labels, margins, and scroll bars, are additive and independent,
+effecting the overall size of the scrolled text. In contrast,
+should the width and height options have non zero values, they
+are applied to the scrolled text as a whole. The text
+is compressed or expanded to maintain the geometry constraints.
+.LP
+.nf
+Name: \fBvscrollMode\fR
+Class: \fBScrollMode\fR
+Command-Line Switch: \fB-vscrollmode\fR
+.fi
+.IP
+Specifies the the display mode to be used for the vertical
+scrollbar: \fBstatic, dynamic,\fR or \fBnone\fR. In static mode, the
+scroll bar is displayed at all times. Dynamic mode displays the
+scroll bar as required, and none disables the scroll bar display. The
+default is static.
+.LP
+.nf
+Name: \fBwidth\fR
+Class: \fBWidth\fR
+Command-Line Switch: \fB-width\fR
+.fi
+.IP
+Specifies the width of the scrolled text as an entire unit.
+The value may be specified in any of the forms acceptable to
+\fBTk_GetPixels\fR. Any additional space needed to display the other
+components such as labels, margins, and scrollbars force the text
+to be compressed. A value of zero along with the same value for
+the height causes the value given for the visibleitems option
+to be applied which administers geometry constraints in a different
+manner. The default width is zero.
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::scrolledtext\fR command creates
+a scrolled text widget with additional options to manage
+the scrollbars. This includes options to control the method
+in which the scrollbars are displayed, i.e. statically or dynamically.
+Options also exist for adding a label to the scrolled text area and
+controlling its position. Import/export of methods are provided for
+file I/O.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::scrolledtext\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for scrolledtext widgets:
+.SH "ASSOCIATED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbbox\fR \fBcompare\fR \fBdebug\fR \fBdelete\fR
+\fBdlineinfo\fR \fBget\fR \fBimage\fR \fBindex\fR
+\fBinsert\fR \fBmark\fR \fBscan\fR \fBsearch\fR
+\fBsee\fR \fBtag\fR \fBwindow\fR \fBxview\fR
+\fByview\fR
+.fi
+.LP
+See the "text" manual entry for details on the standard methods.
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::scrolledtext\fR
+command.
+.TP
+\fIpathName \fBchildsite\fR
+Returns the child site widget path name.
+.TP
+\fIpathName \fBclear\fR
+Clear the text area of all characters.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::scrolledtext\fR
+command.
+.TP
+\fIpathName \fBimport\fR \fIfilename\fR ?\fIindex\fR?
+Load the text from a file into the text area at the \fIindex\fR. The
+\fIfilename\fR must exist.
+.TP
+\fIpathName \fBexport\fR \fIfilename\fR
+Write text to a file. If \fIfilename\fR exists then contents are
+replaced with text widget contents.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBtext\fR
+Class: \fBText\fR
+.fi
+.IP
+The text component is the text widget. See the "text" widget
+manual entry for details on the text component item.
+.LP
+.nf
+Name: \fBhorizsb\fR
+Class: \fBScrollbar\fR
+.fi
+.IP
+The horizsb component is the horizontal scroll bar. See the "scrollbar"
+widget manual entry for details on the horizsb component item.
+.LP
+.nf
+Name: \fBvertsb\fR
+Class: \fBScrollbar\fR
+.fi
+.IP
+The vertsb component is the vertical scroll bar. See the "scrollbar" widget
+manual entry for details on the vertsb component item.
+.fi
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ option add *textBackground white
+
+ iwidgets::scrolledtext .st -hscrollmode dynamic -labeltext "Password File"
+
+ pack .st -padx 10 -pady 10 -fill both -expand yes
+
+ .st import /etc/passwd
+.DE
+.SH AUTHOR
+Mark L. Ulferts
+.SH KEYWORDS
+scrolledtext, text, widget
diff --git a/itcl/iwidgets/doc/selectionbox.n b/itcl/iwidgets/doc/selectionbox.n
new file mode 100644
index 00000000000..9d687208bcc
--- /dev/null
+++ b/itcl/iwidgets/doc/selectionbox.n
@@ -0,0 +1,302 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) selectionbox.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::selectionbox iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::selectionbox \- Create and manipulate a selection box widget
+.SH SYNOPSIS
+\fBiwidgets::selectionbox\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Selectionbox
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+activeBackground background borderWidth cursor
+exportSelection foreground highlightColor highlightThickness
+insertBackground insertBorderWidth insertOffTime insertOnTime
+insertWidth relief repeatDelay repeatInterval
+selectBackground selectBorderWidth selectForeground\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBtextBackground\fR \fBtextFont\fR
+.fi
+.LP
+See the "entryfield" widget class manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBlabelFont\fR \fBlabelMargin\fR
+.fi
+.LP
+See the "labeledwidget" class manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBactiveRelief\fR \fBelementBorderWidth\fR \fBjump\fR \fBtroughColor\fR
+.fi
+.LP
+See the "scrollbar" widget class manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBdblClickCommand\fR \fBhscrollMode\fR \fBsbWidth\fR \fBscrollMargin\fR
+\fBtextBackground\fR \fBtextFont\fR \fBvscrollMode\fR
+.fi
+.LP
+See the "scrolledlistbox" widget class manual entry for details on the above
+associated options.
+
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBchildSitePos\fR
+Class: \fBPosition\fR
+Command-Line Switch: \fB-childsitepos\fR
+.fi
+.IP
+Specifies the position of the child site in the selection box: \fBn\fR,
+\fBs\fR, \fBe\fR, \fBw\fR, or \fB\fR. The default is center
+.LP
+.nf
+Name: \fBheight\fR
+Class: \fBHeight\fR
+Command-Line Switch: \fB-height\fR
+.fi
+.IP
+Specifies the height of the selection box. The value may be specified in
+any of the forms acceptable to Tk_GetPixels. The default is 320 pixels.
+.LP
+.nf
+Name: \fBitemsCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-itemscommand\fR
+.fi
+.IP
+Specifies a command to be evaluated following selection of an item.
+.LP
+.nf
+Name: \fBitemsLabel\fR
+Class: \fBText\fR
+Command-Line Switch: \fB-itemslabel\fR
+.fi
+.IP
+Specifies the text of the label for the items list. The default is "List".
+.LP
+.nf
+Name: \fBitemsLabelPos\fR
+Class: \fBPosition\fR
+Command-Line Switch: \fB-itemslabelpos\fR
+.fi
+.IP
+Specifies the position of the label along the side of the items
+list: \fBn\fR, \fBne\fR, \fBe\fR, \fBse\fR, \fBs\fR, \fBsw\fR, \fBw\fR,
+or \fBnw\fR. The default is nw.
+.LP
+.nf
+Name: \fBitemsOn\fR
+Class: \fBItemsOn\fR
+Command-Line Switch: \fB-itemson\fR
+.fi
+.IP
+Specifies whether or not to display the items list in any
+of the forms acceptable to \fBTcl_GetBoolean\fR. The default is true.
+.LP
+.nf
+Name: \fBmargin\fR
+Class: \fBMargin\fR
+Command-Line Switch: \fB-margin\fR
+.fi
+.IP
+Specifies distance between the items list and selection entry in any of
+the forms acceptable to \fBTk_GetPixels\fR. The default is 7 pixels.
+.LP
+.nf
+Name: \fBselectionCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-selectioncommand\fR
+.fi
+.IP
+Specifies a Tcl procedure to be associated with a return key press event
+in the selection entry field.
+.LP
+.nf
+Name: \fBselectionLabel\fR
+Class: \fBText\fR
+Command-Line Switch: \fB-selectionlabel\fR
+.fi
+.IP
+Specifies the text of the label for the selection entry field. The default
+is "Selection".
+.LP
+.nf
+Name: \fBselectionLabelPos\fR
+Class: \fBPosition\fR
+Command-Line Switch: \fB-selectionlabelpos\fR
+.fi
+.IP
+Specifies the position of the label along the side of the selection:
+\fBn\fR, \fBne\fR, \fBe\fR, \fBse\fR, \fBs\fR, \fBsw\fR, \fBw\fR,
+or \fBnw\fR. The default is nw.
+.LP
+.nf
+Name: \fBselectionOn\fR
+Class: \fBSelectionOn\fR
+Command-Line Switch: \fB-selectionon\fR
+.fi
+.IP
+Specifies whether or not to display the selection entry in any
+of the forms acceptable to \fBTcl_GetBoolean\fR. The default is true.
+.LP
+.nf
+Name: \fBwidth\fR
+Class: \fBWidth\fR
+Command-Line Switch: \fB-width\fR
+.fi
+.IP
+Specifies the width of the selection box. The value may be specified in
+any of the forms acceptable to Tk_GetPixels. The default is 260 pixels.
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::selectionbox\fR command creates a scrolled list of items and
+a selection entry field. The user may choose any of the items displayed
+in the scrolled list of alternatives and the selection field will be
+filled with the choice. The user is also free to enter a new value in
+the selection entry field. Both the list and entry areas have labels.
+A child site is also provided in which the user may create other widgets
+to be used in conjunction with the selection box.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::selectionbox\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command.
+
+.SH "ASSOCIATED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBcurselection\fR \fBdelete\fR \fBindex\fR \fBnearest\fR
+\fBscan\fR \fBselection\fR \fBsize\fR
+.fi
+.LP
+See the "listbox" widget class manual entry for details on the
+associated methods.
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::selectionbox\fR
+command.
+.TP
+\fIpathName \fBchildsite\fR
+Returns the child site widget path name.
+.TP
+\fIpathName \fBclear\fR \fIcomponent\fR
+Delete the contents of either the selection entry widget or
+items list. The \fIcomponent\fR argument may be either \fBitems\fR
+or \fBselection\fR.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::selectionbox\fR
+command.
+.TP
+\fIpathName \fBget\fR
+Returns the current value of the selection entry widget.
+.TP
+\fIpathName \fBinsert\fR \fIcomponent\fR \fIargs\fR
+Insert element(s) into either the selection entry widget or
+items list. The \fIcomponent\fR argument may be either \fBitems\fR
+or \fBselection\fR. The \fIargs\fR follow the rules of either an entry
+or list widget depending on the \fIcomponent\fR value.
+.TP
+\fIpathName \fBselectitem\fR
+Replace the selection entry field contents with the currently
+selected items value.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBchildsite\fR
+Class: \fBFrame\fR
+.fi
+.IP
+The childsite component is the user child site for the selection box. See
+the "frame" widget manual entry for details on the childsite component item.
+.LP
+.nf
+Name: \fBitems\fR
+Class: \fBScrolledlistbox\fR
+.fi
+.IP
+The items component provides the scrolled list box of items for the selection
+box. See the "scrolledlistbox" widget manual entry for details on the
+items component item.
+.LP
+.nf
+Name: \fBselection\fR
+Class: \fBEntryfield\fR
+.fi
+.IP
+The selection component provides the entry field in the selection box for
+display of the selected item in the items component. See the "entryfield"
+widget manual entry for details on the selection component item.
+.fi
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ option add *textBackground white
+
+ iwidgets::selectionbox .sb -items {Hello {Out There} World}
+ pack .sb -padx 10 -pady 10 -fill both -expand yes
+
+ set cs [label [.sb childsite].label -text "Child Site"]
+ pack $cs -fill x -padx 10 -pady 10
+
+ .sb insert items 2 {Cruel Cruel}
+
+ .sb selection set 1
+.DE
+.SH AUTHOR
+Mark L. Ulferts
+.SH KEYWORDS
+selectionbox, widget
diff --git a/itcl/iwidgets/doc/selectiondialog.n b/itcl/iwidgets/doc/selectiondialog.n
new file mode 100644
index 00000000000..fc0ab0acf20
--- /dev/null
+++ b/itcl/iwidgets/doc/selectiondialog.n
@@ -0,0 +1,199 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) selectiondialog.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::selectiondialog iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::selectiondialog \- Create and manipulate a selection dialog widget
+.SH SYNOPSIS
+\fBiwidgets::selectiondialog\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Toplevel <- iwidgets::Shell <- iwidgets::Dialogshell <- iwidgets::Dialog <- iwidgets::Selectiondialog
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+activeBackground background borderWidth cursor
+exportSelection foreground highlightColor highlightThickness
+insertBackground insertBorderWidth insertOffTime insertOnTime
+insertWidth selectBackground selectBorderWidth selectForeground\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBtextBackground\fR \fBtextFont\fR
+.fi
+.LP
+See the "entryfield" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBlabelFont\fR
+.fi
+.LP
+See the "labeledwidget" widget manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBactiveRelief\fR \fBelementBorderWidth\fR \fBjump\fR \fBtroughColor\fR
+.fi
+.LP
+See the "scrollbar" widget class manual entry for details on the above
+associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBtextBackground\fR \fBtextFont\fR
+.fi
+.LP
+See the "scrolledlistbox" widget class manual entry for details on the above
+associated options.
+\fBchildsitepos\fR \fBitemsCommand\fR \fBitemsLabel\fR \fBitemsOn\fR
+\fBselectionCommand\fR \fBselectionLabel\fR \fBselectionOn\fR
+.fi
+.LP
+See the "selectionbox" widget manual entry for details on the above
+associated options.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbuttonBoxPadX\fR \fBbuttonBoxPadY\fR \fBbuttonBoxPos\fR \fBpadX\fR
+\fBpadY\fR \fBseparator\fR \fBthickness\fR
+.fi
+.LP
+See the "dialogshell" widget manual entry for details on the above
+inherited options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBheight\fR \fBmaster\fR \fBmodality\fR \fBwidth\fR
+.fi
+.LP
+See the "shell" widget manual entry for details on the above
+inherited options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBtitle\fR
+.fi
+.LP
+See the "Toplevel" widget manual entry for details on the above
+inherited options.
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::selectiondialog\fR command creates a selection box similar to
+the OSF/Motif standard selection
+dialog composite widget. The selectiondialog is derived from the
+Dialog class and is composed of a selectionbox with commands
+to manipulate the dialog buttons.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::selectiondialog\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for selectiondialog widgets:
+.SH "ASSOCIATED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBchildsite\fR \fBclear\fR \fBget\fR \fBinsert\fR
+\fBselectitem\fR
+.fi
+.LP
+See the "selectionbox" widget manual entry for details on the above
+associated methods.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBcurselection\fR \fBdelete\fR \fBindex\fR \fBnearest\fR
+\fBscan\fR \fBselection\fR \fBsize\fR
+.fi
+.LP
+See the "listbox" widget manual entry for details on the above
+associated methods.
+.SH "INHERITED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBadd\fR \fBbuttonconfigure\fR \fBdefault\fR \fBhide\fR
+\fBinvoke\fR \fBshow\fR
+.fi
+.LP
+See the "buttonbox" widget manual entry for details on the above
+inherited methods.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBactivate\fR \fBcenter\fR \fBdeactivate\fR
+.fi
+.LP
+See the "shell" widget manual entry for details on the above
+inherited methods.
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::selectiondialog\fR
+command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::selectiondialog\fR
+command.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBselectionbox\fR
+Class: \fBSelectionbox\fR
+.fi
+.IP
+The selectionbox component is the selection box for the selection
+dialog. See the "selectionbox" widget manual entry for details on the
+selectionbox component item.
+.fi
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ iwidgets::selectiondialog .sd
+ .sd activate
+.DE
+.SH AUTHOR
+Mark L. Ulferts
+.SH KEYWORDS
+selectiondialog, selectionbox, dialog, dialogshell, shell, widget
+
diff --git a/itcl/iwidgets/doc/shell.n b/itcl/iwidgets/doc/shell.n
new file mode 100644
index 00000000000..4659cfc0dfb
--- /dev/null
+++ b/itcl/iwidgets/doc/shell.n
@@ -0,0 +1,197 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) shell.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::shell iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::shell \- Create and manipulate a shell widget
+.SH SYNOPSIS
+\fBiwidgets::shell\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Toplevel <- iwidgets::Shell
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbackground\fR \fBcursor\fR \fBforeground\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBtitle\fR
+.fi
+.LP
+See the "Toplevel" manual entry for details on the above inherited options.
+
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBheight\fR
+Class: \fBHeight\fR
+Command-Line Switch: \fB-height\fR
+.fi
+.IP
+Specifies the height of the shell. The value may be specified in
+any of the forms acceptable to \fBTk_GetPixels\fR. A value of zero
+causes the height to be adjusted to the required value based on
+the size requests of the components placed in the childsite.
+Otherwise, the height is fixed. The default is zero. NOTE: This
+may cause some amount of flickering on slower machines. To prevent it
+simply set the width and height to a appropriate value.
+.LP
+.nf
+Name: \fBmaster\fR
+Class: \fBWindow\fR
+Command-Line Switch: \fB-master\fR
+.fi
+.IP
+Defines the shell as being a transient window with the master window
+given by the master option. The master window should be either another
+existing toplevel window or {} for no master. The default is {} for
+shells and "." for dialogs.
+.LP
+.nf
+Name: \fBmodality\fR
+Class: \fBModality\fR
+Command-Line Switch: \fB-modality\fR
+.fi
+.IP
+Allows the shell to grab control of the screen in one of three different ways:
+\fBapplication\fR, \fBsystem\fR, or \fBnone\fR.
+Application modal prevents any other toplevel windows within the application
+which are direct children of '.' from gaining focus. System modal locks
+the screen and prevents all windows from gaining focus regardless of
+application. A modality of none performs no grabs at all. The default
+is none.
+.LP
+.nf
+Name: \fBpadX\fR
+Class: \fBPad\fR
+Command-Line Switch: \fB-padx\fR
+.fi
+.IP
+Specifies a padding distance for the childsite in the X-direction in
+any of the forms acceptable to \fBTk_GetPixels\fR. The default is 10.
+.LP
+.nf
+Name: \fBpadY\fR
+Class: \fBPad\fR
+Command-Line Switch: \fB-pady\fR
+.fi
+.IP
+Specifies a padding distance for the childsite in the Y-direction in
+any of the forms acceptable to \fBTk_GetPixels\fR. The default is 10.
+.LP
+.nf
+Name: \fBwidth\fR
+Class: \fBWidth\fR
+Command-Line Switch: \fB-width\fR
+.fi
+.IP
+Specifies the width of the shell. The value may be specified in
+any of the forms acceptable to \fBTk_GetPixels\fR. A value of zero
+causes the width to be adjusted to the required value based on
+the size requests of the components placed in the childsite.
+Otherwise, the width is fixed. The default is zero. NOTE: This
+may cause some amount of flickering on slower machines. To prevent it
+simply set the width and height to a appropriate value.
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::shell\fR command creates a shell which is a top
+level widget which supports modal operation.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::shell\fR command create a new Tcl command whose
+name is \fIpathName\fR. This command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for shell widgets:
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBactivate\fR
+Display the shell and wait based on the modality. For application
+and system modal activations, perform a grab operation, and wait
+for the result. The result may be returned via an argument to the
+\fBdeactivate\fR method.
+.TP
+\fIpathName \fBcenter\fR \fI?widget?\fR
+Centers the shell with respect to another widget. The widget argument
+is optional. If provided, it should be the path of another widget with
+to center upon. If absent, then the shell will be centered on the screen
+as a whole.
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::shell\fR
+command.
+.TP
+\fIpathName \fBchildsite\fR
+Returns the pathname of the child site widget.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::shell\fR
+command.
+.TP
+\fIpathName \fBdeactivate\fR ?\fIarg\fR?
+Deactivate the display of the shell. The method takes an optional
+argument to be passed to the \fBactivate\fR method which returns the value.
+The optional argument is only effective for application and system
+modal dialogs.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBshellchildsite\fR
+Class: \fBframe\fR
+.fi
+.IP
+The shellchildsite component is the user child site for the shell. See
+the "frame" widget manual entry for details on the shellchildsite
+component item.
+.fi
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ iwidgets::shell .sh -modality application -padx 20 -pady 20 -title Shell
+
+ pack [label [.sh childsite].l -text SHELL]
+
+ .sh center
+ .sh activate
+.DE
+.SH AUTHOR
+Mark L. Ulferts
+.DE
+Kris Raney
+.LP
+.SH KEYWORDS
+shell, widget
diff --git a/itcl/iwidgets/doc/spindate.n b/itcl/iwidgets/doc/spindate.n
new file mode 100644
index 00000000000..2e3a89dfcb9
--- /dev/null
+++ b/itcl/iwidgets/doc/spindate.n
@@ -0,0 +1,275 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) spindate.n
+'\"
+.so man.macros
+.HS iwidgets::spindate iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::spindate \- Create and manipulate time spinner widgets
+.SH SYNOPSIS
+\fBiwidgets::spindate\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Spindate
+
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbackground\fR \fBcursor\fR \fBforeground\fR \fBrelief\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBtextBackground\fR \fBtextFont\fR
+.fi
+.LP
+See the "entryfield" manual entry for details on the above associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBlabelFont\fR \fBlabelMargin\fR
+.fi
+.LP
+See the "labeledwidget" manual entry for details on the above associated
+options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBarrowOrient\fR \fBrepeatDelay\fR \fBrepeatInterval\fR
+.fi
+.LP
+See the "spinner" manual entry for details on the above associated options.
+
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBdateMargin\fR
+Class: \fBMargin\fR
+Command-Line Switch: \fB-datemargin\fR
+.fi
+.IP
+Specifies the margin space between the month, day, and year spinners is
+any of the forms accpetable to \fBTcl_GetPixels\fR. The default is 1 pixel.
+.LP
+.nf
+Name: \fBdayLabel\fR
+Class: \fBText\fR
+Command-Line Switch: \fB-daylabel\fR
+.fi
+.IP
+Specifies the text of the label for the day spinner. The default is
+"Day".
+.LP
+.nf
+Name: \fBdayOn\fR
+Class: \fBdayOn\fR
+Command-Line Switch: \fB-dayon\fR
+.fi
+.IP
+Specifies whether or not to display the day spinner in any of the forms
+acceptable to \fBTcl_GetBoolean\fR. The default is true.
+.LP
+.nf
+Name: \fBdayWidth\fR
+Class: \fBWidth\fR
+Command-Line Switch: \fB-daywidth\fR
+.fi
+.IP
+Specifies the width of the day spinner in any of the forms acceptable to
+\fBTcl_GetPixels\fR. The default is 3 pixels.
+.LP
+.nf
+Name: \fBlabelPos\fR
+Class: \fBPosition\fR
+Command-Line Switch: \fB-labelpos\fR
+.fi
+.IP
+Specifies the position of the label along the sides of the various
+spinners: \fBn\fR, \fBe\fR, \fBs\fR, or \fBw\fR. The default is w.
+.LP
+.nf
+Name: \fBmonthFormat\fR
+Class: \fBMonthFormat\fR
+Command-Line Switch: \fB-monthformat\fR
+.fi
+.IP
+Specifies the format of month display, \fBinteger\fR (1-12) or \fBbrief\fR
+strings (Jan - Dec), or \fBfull\fR strings (January - December).
+.LP
+.nf
+Name: \fBmonthLabel\fR
+Class: \fBText\fR
+Command-Line Switch: \fB-monthlabel\fR
+.fi
+.IP
+Specifies the text of the label for the month spinner. The default is "Month".
+.LP
+.nf
+Name: \fBmonthOn\fR
+Class: \fBmonthOn\fR
+Command-Line Switch: \fB-monthon\fR
+.fi
+.IP
+Specifies whether or not to display the month spinner in any of the forms
+acceptable to \fBTcl_GetBoolean\fR. The default is true.
+.LP
+.nf
+Name: \fBmonthWidth\fR
+Class: \fBWidth\fR
+Command-Line Switch: \fB-monthwidth\fR
+.fi
+.IP
+Specifies the width of the month spinner in any of the forms acceptable to
+\fBTcl_GetPixels\fR. The default is 3 pixels.
+.LP
+.nf
+Name: \fBorient\fR
+Class: \fBOrient\fR
+Command-Line Switch: \fB-orient\fR
+.fi
+.IP
+Specifies the orientation of the month, day, and year spinners: \fBvertical\fR or \fBhorizontal\fR. The default is horizontal.
+.LP
+.nf
+Name: \fByearDigits\fR
+Class: \fBYearDigits\fR
+Command-Line Switch: \fB-yeardigits\fR
+.fi
+.IP
+Specifies the number of digits to be displayed as the value for the year
+spinner. The valid values are 2 and 4. The default is 2.
+.LP
+.nf
+Name: \fByearLabel\fR
+Class: \fBText\fR
+Command-Line Switch: \fB-yearlabel\fR
+.fi
+.IP
+Specifies the text of the label for the year spinner. The default is
+"Year"
+.LP
+.nf
+Name: \fByearOn\fR
+Class: \fByearOn\fR
+Command-Line Switch: \fB-yearon\fR
+.fi
+.IP
+Specifies whether or not to display the year spinner in any of the forms
+acceptable to \fBTcl_GetBoolean\fR. The default is true.
+.LP
+.nf
+Name: \fByearWidth\fR
+Class: \fBWidth\fR
+Command-Line Switch: \fB-yearwidth\fR
+.fi
+.IP
+Specifies the width of the year spinner in any of the forms acceptable to
+\fBTcl_GetPixels\fR. The default is 3 pixels.
+.LP
+.nf
+.BE
+
+.SH DESCRIPTION
+.PP
+
+The \fBiwidgets::spindate\fR command creates a set of spinners for use in date value
+entry. The set includes an month, day, and year spinner widget.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::spindate\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for spindate widgets:
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::spindate\fR
+command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::spindate\fR
+command.
+.TP
+\fIpathName \fBget\fR ?\fBformat\fR?
+Returns the current contents of the spindate widget in a format of
+string or as an integer clock value using the \fB-string\fR and \fB-clicks\fR
+format options respectively. The default is by string. Reference the
+clock command for more information on obtaining dates and their
+formats.
+.TP
+\fIpathName \fBshow\fR \fIdate\fR
+Changes the currently displayed date to be that of the date
+argument. The date may be specified either as a string, an
+integer clock value or the keyword "now". Reference the clock
+command for more information on obtaining dates and their formats.
+
+.ta 4c
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBmonth\fR
+Class: \fBSpinner\fR
+.fi
+.IP
+The month spinner component is the month spinner of the date spinner.
+See the Spinner widget manual entry for details on the month component item.
+.LP
+.nf
+Name: \fBday\fR
+Class: \fBSpinint\fR
+.fi
+.IP
+The day spinner component is the day spinner of the date spinner.
+See the SpinInt widget manual entry for details on the day component item.
+.LP
+.nf
+Name: \fByear\fR
+Class: \fBSpinint\fR
+.fi
+.IP
+The year spinner component is the year spinner of the date spinner.
+See the SpinInt widget manual entry for details on the year component item.
+.fi
+
+.SH EXAMPLE
+.DS
+package require Iwidgets 4.0
+iwidgets::spindate .sd
+pack .sd -padx 10 -pady 10
+.DE
+.SH AUTHOR
+Sue Yockey
+.DE
+Mark L. Ulferts
+.SH KEYWORDS
+spindate, spinint, spinner, entryfield, entry, widget
+
diff --git a/itcl/iwidgets/doc/spinint.n b/itcl/iwidgets/doc/spinint.n
new file mode 100644
index 00000000000..c978f5bba76
--- /dev/null
+++ b/itcl/iwidgets/doc/spinint.n
@@ -0,0 +1,185 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) spinint.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::spinint iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::spinint \- Create and manipulate a integer spinner widget
+.SH SYNOPSIS
+\fBiwidgets::spinint\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Labeledwidget <- iwidgets::Spinner <- iwidgets::Spinint
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+background borderWidth cursor exportSelection
+foreground highlightColor highlightThickness insertBackground
+insertBorderWidth insertOffTime insertOnTime insertWidth
+justify relief selectBackground selectBorderWidth
+selectForeground textVariable\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBshow\fR \fBstate\fR
+.fi
+.LP
+See the "entry" manual entry for details on the associated options.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBcommand\fR \fBchildSitePos\fR \fBfixed\fR \fBfocusCommand\fR
+\fBinvalid\fR \fBtextBackground\fR \fBtextFont\fR \fBvalidate\fR
+\fBwidth\fR
+.fi
+.LP
+See the "entryfield" widget manual entry for details on the above
+inherited options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBdisabledForeground\fR \fBlabelBitmap\fR \fBlabelFont\fR \fBlabelImage\fR
+\fBlabelMargin\fR \fBlabelPos\fR \fBlabelText\fR \fBlabelVariable\fR
+\fBstate\fR \fBsticky\fR
+.fi
+.LP
+See the "labeledwidget" widget manual entry for details on the above
+inherited options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBarroworient\fR \fBdecrement\fR \fBincrement\fR \fBrepeatDelay\fR
+\fBrepeatInterval\fR
+.fi
+.LP
+See the "spinner" widget manual entry for details on the above
+inherited options.
+
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBrange\fR
+Class: \fBRange\fR
+Command-Line Switch: \fB-range\fR
+.fi
+.IP
+Specifies a two element list of minimum and maximum integer values. The
+default is no range, {{} {}}.
+.LP
+.nf
+Name: \fBstep\fR
+Class: \fBStep\fR
+Command-Line Switch: \fB-step\fR
+.fi
+.IP
+Specifies the increment/decrement value. The default is 1.
+.LP
+.nf
+Name: \fBwrap\fR
+Class: \fBWrap\fR
+Command-Line Switch: \fB-wrap\fR
+.fi
+.IP
+Specifies whether to wrap the spinner value upon reaching the minimum
+or maximum value in any of the forms acceptable to \fBTcl_GetBoolean\fR.
+The default is true.
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::spinint\fR command creates a spinint widget. The spinint allows
+"spinning" of integer values within a specified range with wrap support.
+The spinner arrows may be drawn horizontally or vertically.
+.DE
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::spinint\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for spinint widgets:
+.SH "ASSOCIATED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBdelete\fR \fBget\fR \fBicursor\fR \fBindex\fR
+\fBinsert\fR \fBpeek\fR \fBscan\fR \fBselection\fR
+\fBxview\fR
+.fi
+.LP
+See the "entry" manual entry for details on the associated methods.
+.SH "INHERITED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBchildsite\fR \fBclear\fR
+.fi
+.LP
+See the "entryfield" manual entry for details on the associated methods.
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::spinint\fR
+command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::spinint\fR
+command.
+.TP
+\fIpathName \fBdown\fR
+Decrement the spinner value by the value given in the step option.
+.TP
+\fIpathName \fBup\fR
+Increment the spinner value by the value given in the step option.
+
+.SH "COMPONENTS"
+.IP
+See the "Spinner" widget manual entry for details on the integer spinner
+component items.
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ option add *textBackground white
+
+ iwidgets::spinint .si -labeltext "Temperature" -labelpos w \\
+ -fixed yes -width 5 -range {32 212}
+
+ pack .si -pady 10
+.DE
+.SH AUTHOR
+Sue Yockey
+.SH KEYWORDS
+spinint, widget
diff --git a/itcl/iwidgets/doc/spinner.n b/itcl/iwidgets/doc/spinner.n
new file mode 100644
index 00000000000..d6a924acfd7
--- /dev/null
+++ b/itcl/iwidgets/doc/spinner.n
@@ -0,0 +1,229 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) spinner.n 1.21 94/12/17 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::spinner iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::spinner \- Create and manipulate a spinner widget
+.SH SYNOPSIS
+\fBiwidgets::spinner\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Labeledwidget <- iwidgets::Spinner
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+background borderWidth cursor exportSelection
+foreground highlightColor highlightThickness insertBackground
+insertBorderWidth insertOffTime insertOnTime insertWidth
+justify relief selectBackground selectBorderWidth
+selectForeground textVariable\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBshow\fR \fBstate\fR
+.fi
+.LP
+See the "entry" manual entry for details on the associated options.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBchildSitePos\fR \fBcommand\fR \fBfixed\fR \fBfocusCommand\fR
+\fBinvalid\fR \fBtextBackground\fR \fBtextFont\fR \fBvalidate\fR
+\fBwidth\fR
+.fi
+.LP
+See the "entryfield" widget manual entry for details on the above
+inherited options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBdisabledForeground\fR \fBlabelBitmap\fR \fBlabelFont\fR \fBlabelImage\fR
+\fBlabelMargin\fR \fBlabelPos\fR \fBlabelText\fR \fBlabelVariable\fR
+\fBstate\fR \fBsticky\fR
+.fi
+.LP
+See the "labeledwidget" widget manual entry for details on the above
+inherited options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBarrowOrient\fR
+Class: \fBOrient\fR
+Command-Line Switch: \fB-arroworient\fR
+.fi
+.IP
+Specifies placement of arrow buttons: \fBhorizontal\fR or \fBvertical\fR.
+The default is vertical.
+.LP
+.nf
+Name: \fBdecrement\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-decrement\fR
+.fi
+.IP
+Tcl command to be executed when down arrow is pressed.
+.LP
+.nf
+Name: \fBincrement\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-increment\fR
+.fi
+.IP
+Tcl command to be executed when up arrow is pressed.
+.LP
+.nf
+Name: \fBrepeatDelay\fR
+Class: \fBRepeatDelay\fR
+Command-Line Switch: \fB-repeatdelay\fR
+.fi
+.IP
+Specifies the initial delay in milliseconds before the spinner repeat action
+on the arrow buttons engages. The default is 300 milliseconds.
+.LP
+.nf
+Name: \fBrepeatInterval\fR
+Class: \fBRepeatInterval\fR
+Command-Line Switch: \fB-repeatinterval\fR
+.fi
+.IP
+Specifies the repeat delay in milliseconds between selections of the arrow
+buttons. A repeatinterval of 0 disables button repeat. The default is
+100 milliseconds.
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::spinner\fR command creates a spinner widget. The spinner is
+comprised of an entryfield plus up and down arrow buttons.
+Arrows may be drawn horizontally or vertically.
+.DE
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::spinner\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for spinner widgets:
+.SH "ASSOCIATED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBdelete\fR \fBget\fR \fBicursor\fR \fBindex\fR
+\fBinsert\fR \fBscan\fR \fBselection\fR \fBxview\fR
+.fi
+.LP
+See the "entry" manual entry for details on the associated methods.
+.SH "INHERITED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBchildsite\fR \fBclear\fR \fBpeek\fR
+.fi
+.LP
+See the "entryfield" manual entry for details on the associated methods.
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::spinner\fR
+command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::spinner\fR
+command.
+.TP
+\fIpathName \fBdown\fR
+Derived classes may overload this method to specialize functionality.
+.TP
+\fIpathName \fBup\fR
+Derived classes may overload this method to specialize functionality.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBdownarrow\fR
+Class: \fBCanvas\fR
+.fi
+.IP
+The downarrow component is the downward pointing button of the spinner. See
+the "canvas" widget manual entry for details on the downarrow component item.
+.LP
+.nf
+Name: \fBuparrow\fR
+Class: \fBCanvas\fR
+.fi
+.IP
+The uparrow component is the upward pointing button of the spinner. See
+the "canvas" widget manual entry for details on the uparrow component item.
+.fi
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ set months {January February March April May June July \\
+ August September October November December}
+
+ proc blockInput {char} {
+ return 0
+ }
+
+ proc spinMonth {step} {
+ global months
+
+ set index [expr [lsearch $months [.sm get]] + $step]
+
+ if {$index < 0} {set index 11}
+ if {$index > 11} {set index 0}
+
+ .sm delete 0 end
+ .sm insert 0 [lindex $months $index]
+ }
+
+ iwidgets::spinner .sm -labeltext "Month : " -width 10 -fixed 10 \\
+ -validate blockInput -decrement {spinMonth -1} -increment {spinMonth 1}
+ .sm insert 0 January
+
+ pack .sm -padx 10 -pady 10
+.DE
+.SH ACKNOWLEDGEMENTS:
+.LP
+Ken Copeland <ken@hilco.com>
+.IP
+10/18/95 - Added auto-repeat action to spinner arrow buttons.
+.LP
+.SH AUTHOR
+Sue Yockey
+.SH KEYWORDS
+spinner, widget
diff --git a/itcl/iwidgets/doc/spintime.n b/itcl/iwidgets/doc/spintime.n
new file mode 100644
index 00000000000..50698eda97d
--- /dev/null
+++ b/itcl/iwidgets/doc/spintime.n
@@ -0,0 +1,266 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) spintime.n
+'\"
+.so man.macros
+.HS iwidgets::spintime iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::spintime \- Create and manipulate time spinner widgets
+.SH SYNOPSIS
+\fBiwidgets::spintime\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Spintime
+
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbackground\fR \fBcursor\fR \fBforeground\fR \fBrelief\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBtextBackground\fR \fBtextFont\fR
+.fi
+.LP
+See the "entryfield" manual entry for details on the above associated options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBlabelFont\fR \fBlabelMargin\fR
+.fi
+.LP
+See the "labeledwidget" manual entry for details on the above associated
+options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBarrowOrient\fR \fBrepeatDelay\fR \fBrepeatInterval\fR
+.fi
+.LP
+See the "spinner" manual entry for details on the above associated options.
+
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBlabelPos\fR
+Class: \fBPosition\fR
+Command-Line Switch: \fB-labelpos\fR
+.fi
+.IP
+Specifies the position of the label along the sides of the various
+spinners: \fBn\fR, \fBe\fR, \fBs\fR, or \fBw\fR. The default is w.
+.LP
+.nf
+Name: \fBhourLabel\fR
+Class: \fBText\fR
+Command-Line Switch: \fB-hourlabel\fR
+.fi
+.IP
+Specifies the text of the label for the hour spinner. The default is "Hour".
+.LP
+.nf
+Name: \fBhourOn\fR
+Class: \fBhourOn\fR
+Command-Line Switch: \fB-houron\fR
+.fi
+.IP
+Specifies whether or not to display the hour spinner in any of the forms
+acceptable to \fBTcl_GetBoolean\fR. The default is true.
+.LP
+.nf
+Name: \fBhourWidth\fR
+Class: \fBWidth\fR
+Command-Line Switch: \fB-hourwidth\fR
+.fi
+.IP
+Specifies the width of the hour spinner in any of the forms acceptable to
+\fBTcl_GetPixels\fR. The default is 3 pixels.
+.LP
+.nf
+Name: \fBmilitaryOn\fR
+Class: \fBmilitaryOn\fR
+Command-Line Switch: \fB-militaryon\fR
+.fi
+.IP
+Specifies use of a 24 hour clock for hour display in any of the forms
+acceptable to \fBTcl_GetBoolean\fR. The default is true.
+.LP
+.nf
+Name: \fBminuteLabel\fR
+Class: \fBText\fR
+Command-Line Switch: \fB-minutelabel\fR
+.fi
+.IP
+Specifies the text of the label for the minute spinner. The default is
+"Minute".
+.LP
+.nf
+Name: \fBminuteOn\fR
+Class: \fBminuteOn\fR
+Command-Line Switch: \fB-minuteon\fR
+.fi
+.IP
+Specifies whether or not to display the minute spinner in any of the forms
+acceptable to \fBTcl_GetBoolean\fR. The default is true.
+.LP
+.nf
+Name: \fBminuteWidth\fR
+Class: \fBWidth\fR
+Command-Line Switch: \fB-minutewidth\fR
+.fi
+.IP
+Specifies the width of the minute spinner in any of the forms acceptable to
+\fBTcl_GetPixels\fR. The default is 3 pixels.
+.LP
+.nf
+Name: \fBorient\fR
+Class: \fBOrient\fR
+Command-Line Switch: \fB-orient\fR
+.fi
+.IP
+Specifies the orientation of the hour, minute, and second spinners: \fBvertical\fR or \fBhorizontal\fR. The default is horizontal.
+.LP
+.nf
+Name: \fBsecondLabel\fR
+Class: \fBText\fR
+Command-Line Switch: \fB-secondlabel\fR
+.fi
+.IP
+Specifies the text of the label for the second spinner. The default is
+"Second"
+.LP
+.nf
+Name: \fBsecondOn\fR
+Class: \fBsecondOn\fR
+Command-Line Switch: \fB-secondon\fR
+.fi
+.IP
+Specifies whether or not to display the second spinner in any of the forms
+acceptable to \fBTcl_GetBoolean\fR. The default is true.
+.LP
+.nf
+Name: \fBsecondWidth\fR
+Class: \fBWidth\fR
+Command-Line Switch: \fB-secondwidth\fR
+.fi
+.IP
+Specifies the width of the second spinner in any of the forms acceptable to
+\fBTcl_GetPixels\fR. The default is 3 pixels.
+.LP
+.nf
+Name: \fBtimeMargin\fR
+Class: \fBMargin\fR
+Command-Line Switch: \fB-timemargin\fR
+.fi
+.IP
+Specifies the margin space between the hour, minute, and second spinners is
+any of the forms accpetable to \fBTcl_GetPixels\fR. The default is 1 pixel.
+.LP
+.nf
+.BE
+
+.SH DESCRIPTION
+.PP
+
+The \fBiwidgets::spintime\fR command creates a set of spinners for use in time value
+entry. The set includes an hour, minute, and second spinner widget.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::spintime\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for spintime widgets:
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::spintime\fR
+command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::spintime\fR
+command.
+.TP
+\fIpathName \fBget\fR ?\fBformat\fR?
+Returns the current contents of the spintime widget in a format of
+string or as an integer clock value using the \fB-string\fR and \fB-clicks\fR
+format options respectively. The default is by string. Reference the
+clock command for more information on obtaining time and its
+formats.
+.TP
+\fIpathName \fBshow\fR \fItime\fR
+Changes the currently displayed time to be that of the time
+argument. The time may be specified either as a string, an
+integer clock value or the keyword "now". Reference the clock
+command for more information on obtaining times and its format.
+
+.ta 4c
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBhour\fR
+Class: \fBSpinint\fR
+.fi
+.IP
+The hour component is the hour spinner of the time spinner. See the
+SpinInt widget manual entry for details on the hour component item.
+.LP
+.nf
+Name: \fBminute\fR
+Class: \fBSpinint\fR
+.fi
+.IP
+The minute component is the minute spinner of the time spinner. See
+the SpinInt widget manual entry for details on the minute component item.
+.LP
+.nf
+Name: \fBsecond\fR
+Class: \fBSpinint\fR
+.fi
+.IP
+The second component is the second spinner of the time spinner. See the
+SpinInt widget manual entry for details on the second component item.
+.fi
+
+.SH EXAMPLE
+.DS
+package require Iwidgets 4.0
+iwidgets::spintime .st
+pack .st -padx 10 -pady 10
+.DE
+.SH AUTHOR
+Sue Yockey
+.DE
+Mark L. Ulferts
+.SH KEYWORDS
+spintime, spinint, spinner, entryfield, entry, widget
+
diff --git a/itcl/iwidgets/doc/tabnotebook.n b/itcl/iwidgets/doc/tabnotebook.n
new file mode 100644
index 00000000000..09da51060f4
--- /dev/null
+++ b/itcl/iwidgets/doc/tabnotebook.n
@@ -0,0 +1,659 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) tabnotebook.n
+'\"
+.so man.macros
+.HS iwidgets::tabnotebook iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::tabnotebook \- create and manipulate tabnotebook widgets
+.SH SYNOPSIS
+\fBiwidgets::tabnotebook\fR \fIpathName\fR? \fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Tabnotebook
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+background disabledForeground foreground scrollCommand
+cursor font height width\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBangle\fR
+Class: \fBAngle\fR
+Command-Line Switch: \fB-angle\fR
+.fi
+.IP
+Specifes the angle of slope from the inner edge to the outer edge of the tab.
+An angle of 0 specifies square tabs. Valid ranges are 0 to 45 degrees
+inclusive. Default is 15 degrees. If \fBtabPos\fR is e or w, this option
+is ignored.
+.LP
+.nf
+Name: \fBauto\fR
+Class: \fBAuto\fR
+Command-Line Switch: \fB-auto\fR
+.fi
+.IP
+Specifies whether to use the automatic packing/unpacking algorithm of the
+notebook. A value of true indicates that page frames will be unpacked and
+packed acoording to the algorithm described in the select command. A value
+of \fBfalse\fR leaves the current page packed and
+subsequent \fBselects\fR, \fBnext\fR, or \fBprevious\fR commands do not
+switch pages automatically. In either case the page's associated
+command (see the \fBadd\fR command's description of the command option) is
+invoked. The value may have any of the forms accepted by
+the \fBTcl_GetBoolean\fR, such as \fBtrue\fR, \fBfalse\fR, \fB0\fR,
+\fB1\fR, \fByes\fR, or \fBno\fR.
+.LP
+.nf
+Name: \fBbackdrop\fR
+Class: \fBBackdrop\fR
+Command-Line Switch: \fB-backdrop\fR
+.fi
+.IP
+Specifies a background color to use when filling in the backdrop area
+behind the tabs.
+.LP
+.nf
+Name: \fBbackground\fR
+Class: \fBBackground\fR
+Command-Line Switch: \fB-background\fR
+.fi
+.IP
+Specifies a background color to use for displaying a page and its associated
+tab. This can be thought of as the selected tab background color, since the
+tab associated with the selected page is the selected tab.
+.LP
+.nf
+Name: \fBbevelAmount\fR
+Class: \fBBevelAmount\fR
+Command-Line Switch: \fB-bevelamount\fR
+.fi
+.IP
+Specifes the size of tab corners. A value of 0 with \fBangle\fR set to
+0 results in square tabs. A \fBbevelAmount\fR of 4, means that the tab will
+be drawn with angled corners that cut in 4 pixels from the edge of
+the tab. The default is 0.
+.LP
+.nf
+Name: \fBborderWidth\fR
+Class: \fBBorderWidth\fR
+Command-Line Switch: \fB-borderwidth\fR
+.fi
+.IP
+Specifies the width of shadowed border to place around the notebook area of
+the tabnotebook. The default value is 2.
+.LP
+.nf
+Name: \fBdisabledForeground\fR
+Class: \fBDisabledForeground\fR
+Command-Line Switch: \fB-disabledforeground\fR
+.fi
+.IP
+Specifies a foreground color to use for displaying a tab's label when
+its \fBstate\fR is disabled.
+.LP
+.nf
+Name: \fBequalTabs\fR
+Class: \fBEqualTabs\fR
+Command-Line Switch: \fB-equaltabs\fR
+.fi
+.IP
+Specifies whether to force tabs to be equal sized or not. A value
+of \fBtrue\fR means constrain tabs to be equal sized. A value
+of \fBfalse\fR allows each tab to size based on the text label size. The
+value may have any of the forms accepted by the \fBTcl_GetBoolean\fR, such
+as \fBtrue\fR, \fBfalse\fR, \fB0\fR, \fB1\fR, \fByes\fR, or \fBno\fR.
+.IP
+For horizontally positioned tabs (\fBtabpos\fR is either \fBs\fR or \fBn\fR),
+\fBtrue\fR forces all tabs to be equal width (the width being equal to
+the longest label plus any \fBpadX\fR specified). Horizontal tabs are
+always equal in height.
+.IP
+For vertically positioned tabs (\fBtabpos\fR is either \fBw\fR or \fBe\fR),
+\fBtrue\fR forces all tabs to be equal height (the height being equal to the
+height of the label with the largest font). Vertically oriented tabs
+are always equal in width.
+.LP
+.nf
+Name: \fBforeground\fR
+Class: \fBForeground\fR
+Command-Line Switch: \fB-foreground\fR
+.fi
+.IP
+Specifies a foreground color to use for displaying a page and its associated
+tab label. This can be thought of as the selected tab background color,
+since the tab associated with the selected page is the selected tab.
+.LP
+.nf
+Name: \fBgap\fR
+Class: \fBGap\fR
+Command-Line Switch: \fB-gap\fR
+.fi
+.IP
+Specifies the amount of pixel space to place between each tab. Value may
+be any pixel offset value. In addition, a special keyword \fBoverlap\fR
+can be used as the value to achieve a standard overlap of tabs. This value
+may have any of the forms acceptable to \fBTk_GetPixels\fR.
+.LP
+.nf
+Name: \fBmargin\fR
+Class: \fBMargin\fR
+Command-Line Switch: \fB-Bmargin\fR
+.fi
+.IP
+Specifies the amount of space to place between the outside edge of the
+tabnotebook and the outside edge of its tabs. If \fBtabPos\fR is \fBs\fR,
+this is the amount of space between the bottom edge of the tabnotebook and
+the bottom edge of the set of tabs. If \fBtabPos\fR is \fBn\fR, this is
+the amount of space between the top edge of the tabnotebook and the top
+edge of the set of tabs. If \fBtabPos\fR is \fBe\fR, this is the amount of
+space between the right edge of the tabnotebook and the right edge of the
+set of tabs. If \fBtabPos\fR is \fBw\fR, this is the amount of space
+between the left edge of the tabnotebook and the left edge of the set
+of tabs. This value may have any of the forms acceptable to \fBTk_GetPixels\fR.
+.LP
+.nf
+Name: \fBpadX\fR
+Class: \fBPadX\fR
+Command-Line Switch: \fB-padx\fR
+.fi
+.IP
+Specifies a non-negative value indicating how much extra space to request
+for a tab around its label in the X-direction. When computing how large
+a window it needs, the tab will add this amount to the width it would
+normally need The tab will end up with extra internal space to the left
+and right of its text label. This value may have any of the forms acceptable
+to \fBTk_GetPixels\fR.
+.LP
+.nf
+Name: \fBpadY\fR
+Class: \fBPadY\fR
+Command-Line Switch: \fB-pady\fR
+.fi
+.IP
+Specifies a non-negative value indicating how much extra space to request for
+a tab around its label in the Y-direction. When computing how large a
+window it needs, the tab will add this amount to the height it would normally
+need The tab will end up with extra internal space to the top and bottom of
+its text label. This value may have any of the forms acceptable
+to \fBTk_GetPixels\fR.
+.LP
+.nf
+Name: \fBraiseSelect\fR
+Class: \fBRaiseSelect\fR
+Command-Line Switch: \fB-raiseselect\fR
+.fi
+.IP
+Specifes whether to slightly raise the selected tab from the rest of the
+tabs. The selected tab is drawn 2 pixels closer to the outside of the
+tabnotebook than the unselected tabs. A value of \fBtrue\fR says to
+raise selected tabs, a value of \fBfalse\fR turns this feature off. The
+default is \fBfalse\fR. The value may have any of the forms accepted
+by the \fBTcl_GetBoolean\fR, such as \fBtrue\fR, \fBfalse\fR, \fB0\fR,
+\fB1\fR, \fByes\fR, or \fBno\fR.
+.LP
+.nf
+Name: \fBstart\fR
+Class: \fBStart\fR
+Command-Line Switch: \fB-start\fR
+.fi
+.IP
+Specifies the amount of space to place between the left or top edge of the
+tabnotebook and the starting edge of its tabs. For horizontally positioned
+tabs, this is the amount of space between the left edge of the notebook and
+the left edge of the first tab. For vertically positioned tabs, this is the
+amount of space between the top of the notebook and the top of the first
+tab. This value may change if the user performs a MButton-2 scroll on the
+tabs. This value may have any of the forms acceptable to \fBTk_GetPixels\fR.
+.LP
+.nf
+Name: \fBstate\fR
+Class: \fBState\fR
+Command-Line Switch: \fB-state\fR
+.fi
+.IP
+Sets the active state of the tabnotebook. Specifying \fBnormal\fR allows
+all pages to be selectable. Specifying \fBdisabled\fR disables the notebook
+causing all page tabs to be drawn in the \fBdisabledForeground\fR color.
+.LP
+.nf
+Name: \fBtabBackground\fR
+Class: \fBTabBackground\fR
+Command-Line Switch: \fB-tabbackground\fR
+.fi
+.IP
+Specifies a background color to use for displaying tab backgrounds when
+they are in their unselected state. This is the background associated with
+tabs on all pages other than the selected page.
+.LP
+.nf
+Name: \fBtabBorders\fR
+Class: \fBTabBorders\fR
+Command-Line Switch: \fB-tabborders\fR
+.fi
+.IP
+Specifies whether to draw the borders of tabs that are not selected.
+Specifying \fBtrue\fR (the default) draws these borders,
+specifying \fBfalse\fR draws only the border around the selected tab. The
+value may have any of the forms accepted by the \fBTcl_GetBoolean\fR,
+such as \fBtrue\fR, \fBfalse\fR, \fB0\fR, \fB1\fR,\fB yes\fR, or \fBno\fR.
+.LP
+.nf
+Name: \fBtabForeground\fR
+Class: \fBTabForeground\fR
+Command-Line Switch: \fB-tabforeground\fR
+.fi
+.IP
+Specifies a foreground color to use for displaying tab labels when they
+are in their unselected state. This is the foreground associated with tabs
+on all pages other than the selected page.
+.LP
+.nf
+Name: \fBtabPos\fR
+Class: \fBTabPos\fR
+Command-Line Switch: \fB-tabpos\fR
+.fi
+.IP
+Specifies the location of the set of tabs in relation to the notebook
+area. Must be n, s, e, or w. Defaults to s.
+.BE
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::tabnotebook\fR command creates a new window (given by the pathName
+argument) and makes it into a \fBtabnotebook\fR widget. Additional options,
+described above may be specified on the command line or in the option
+database to configure aspects of the tabnotebook such as its colors, font,
+and text. The iwidgets::tabnotebook command returns its pathName argument. At the
+time this command is invoked, there must not exist a window named
+pathName, but pathName's parent must exist.
+.PP
+A \fBtabnotebook\fR is a widget that contains a set of tabbed pages. It
+displays one page from the set as the selected page. A Tab displays the
+label for the page to which it is attached and serves as a page
+selector. When a page's tab is selected, the page's contents are displayed
+in the page area. The selected tab has a three-dimensional effect to make
+it appear to float above the other tabs. The tabs are displayed as a group
+along either the left, top, right, or bottom edge. When first created a
+tabnotebook has no pages. Pages may be added or deleted using widget
+commands described below.
+.PP
+A special option may be provided to the tabnotebook. The \fB-auto\fR
+option specifies whether the tabnotebook will automatically handle the
+unpacking and packing of pages when pages are selected. A value of
+true signifies that the notebook will automatically manage it. This is the
+default value. A value of false signifies the notebook will not perform
+automatic switching of pages.
+.SH NOTEBOOK PAGES
+A tabnotebook's pages area contains a single child site frame. When a
+new page is created it is a child of this frame. The page's child site
+frame serves as a geometry container for applications to pack widgets
+into. It is this frame that is automatically unpacked or packed when
+the auto option is true. This creates the effect of one page being visible
+at a time. When a new page is selected, the previously selected page's
+child site frame is automatically unpacked from the tabnotebook's child
+site frame and the newly selected page's child site is packed into the
+tabnotebook's child site frame.
+.PP
+However, sometimes it is desirable to handle page changes in a different
+manner. By specifying the \fBauto\fR option as \fBfalse\fR, child site
+packing can be disabled and done differently. For example, all widgets
+might be packed into the first page's child site \fBframe\fR. Then when
+a new page is selected, the application can reconfigure the widgets
+and give the appearance that the page was flipped.
+.PP
+In both cases the command option for a page specifies a Tcl Command
+to execute when the page is selected. In the case of \fBauto\fR
+being \fBtrue\fR, it is between the unpacking of the previously selected
+page and the packing of the newly selected page.
+.PP
+Notebook pages can also be controlled with scroll bars or other widgets
+that obey the \fBscrollcommand\fR protocol. By giving a scrollbar
+a \fB-command\fR to call the tabnotebook's \fBselect\fR method, the
+tabnotebook can be controlled with a scrollbar.
+.PP
+The notebook area is implemented with the notebook mega widget.
+.SH TABS
+Tabs appear along the edge of the notebook area. Tabs are drawn to appear
+attached to their associated page. When a tab is clicked on, the associated
+page is selected and the tab is drawn as raised above all other tabs and as
+a seamless part of its notebook page. Tabs can be controlled in their
+location along the edges, the angle tab sides are drawn with, gap between
+tabs, starting margin of tabs, internal padding around text labels in
+a tab, the font, and its label.
+.PP
+The Tab area is implemented with the \fBtabset\fR mega widget.
+See \fBtabset(1)\fR. Tabs may be oriented along either the north, south,
+east, or west sides with the \fBtabPos\fR option. North and south tabs
+may appear as angled, square, or bevelled. West and east tabs may appear
+as square or bevelled. By changing tab gaps, tab angles, bevelling,
+orientations, colors, fonts, start locations, and margins; tabs may appear
+in a wide variety of styles. For example, it is possible to implement
+Microsoft-style tabs, Borland property tab styles, or Borland Delphi
+style tabs all with the same tabnotebook.
+.SH "WIDGET-SPECIFIC METHODS"
+.PP
+The \fBiwidgets::tabnotebook\fR command creates a new Tcl command whose name
+is \fIpathName\fR. This command may be used to invoke various operations
+on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIoption\fR and the \fIarg\fRs
+determine the exact behavior of the command.
+.PP
+Many of the widget commands for a notebook take as one argument an
+indicator of which page of the notebook to operate on. These indicators are
+called indexes and may be specified in any of the following forms:
+.TP
+\fInumber\fR
+Specifies the page numerically, where 0 corresponds to the first page
+in the notebook, 1 to the second, and so on.
+.TP
+\fBselect\fR
+Specifies the currently selected page's index. If no page is currently
+selected, the value -1 is returned.
+.TP
+\fBend\fR
+Specifes the last page in the tabnotebook's index. If the notebook is empty
+this will return -1.
+.TP
+\fIpattern\fR
+If the index doesn't satisfy any of the above forms, then this form is
+used. Pattern is pattern-matched against the label of each page in the
+notebook, in order from the first to the last page, until a matching entry
+is found. The rules of Tcl_StringMatch are used.
+'.............................................................................
+The following commands are possible for tabnotebook widgets:
+.TP
+\fIpathName\fR \fBadd\fR ?\fIoption\fR \fIvalue\fR \fIoption\fR \fIvalue\fR ...?
+Add a new page at the end of the tabnotebook. A new child site frame is
+created. Returns the child site pathName. If additional arguments are
+present, they specify any of the following options:
+.RS
+.TP
+\fB-angle\fR \fIvalue\fR
+Specifes the angle of slope from the inner edge to the outer edge of the
+tab. An angle of 0 specifies square tabs. Valid ranges are 0 to 45 degrees
+inclusive. Default is 15 degrees. If this option is specified as an empty
+string (the default), then the angle option for the overall tabnotebook
+is used. This is generally only set at the tabnotebook level. Tabs normally
+will want to share the same angle value.
+.TP
+\fB-background\fR \fIvalue\fR
+Specifies a background color to use for displaying tabs when they are
+selected and for displaying the current page. If this option is specified
+as an empty string (the default), then the background option for the
+overall tabnotebook is used.
+.TP
+\fB-bevelamount\fR \fIvalue\fR
+Specifes the size of tab corners. A value of 0 with angle set to 0
+results in square tabs. A bevelAmount of 4, means that the tab will be
+drawn with angled corners that cut in 4 pixels from the edge of the tab.
+The default is 0. This is generally only set at the tabnotebook level.
+Tabs normally will want to share the same bevelAmount.
+.TP
+\fB-bitmap\fR \fIvalue\fR
+If label is a non-empty string, specifies a bitmap to display in this
+page's tab. Bitmap may be of any of the forms accepted by Tk_GetPixmap.
+.TP
+\fB-command\fR \fIvalue\fR
+Specifies a Tcl command to be executed when this page is selected. This
+allows the programmer a hook to reconfigure this page's widgets or any
+other page's widgets.
+.IP
+If the tabnotebook has the auto option set to true, when a page is
+selected this command will be called immediately after the previously
+selected page is unpacked and immediately before this page is selected. The
+index value select is valid during this Tcl command. `index select' will
+return this page's page number.
+.IP
+If the auto option is set to false, when a page is selected the unpack
+and pack calls are bypassed. This Tcl command is still called.
+.TP
+\fB-disabledforeground\fR \fIvalue\fR
+Specifies a foreground color to use for displaying tab labels when tabs
+are in their disable state. If this option is specified as an empty
+string (the default), then the disabledforeground option for the overall
+tabnotebook is used.
+.TP
+\fB-font\fR \fIvalue\fR
+Specifies the font to use when drawing a text label on a page tab. If
+this option is specified as an empty string then the font option for the
+overall tabnotebook is used..
+.TP
+\fB-foreground\fR \fIvalue\fR
+Specifies a foreground color to use for displaying tab labels when they are
+selected. If this option is specified as an empty string (the default),
+then the foreground option for the overall tabnotebook is used.
+.TP
+\fB-label\fR \fIvalue\fR
+Specifies a string to display as an identifying label for a notebook
+page. This label serves as an additional identifier used to reference the
+page. This label may be used for the index value in widget commands.
+.TP
+\fB-tabbackground\fR \fIvalue\fR
+Specifies a background color to use for displaying a tab when it is not
+elected. If this option is specified as an empty string (the default), then
+the tabBackground option for the overall tabnotebook is used.
+.TP
+\fB-tabforeground\fR \fIvalue\fR
+Specifies a foreground color to use for displaying the tab's text label
+when it is not selected. If this option is specified as an empty
+string (the default), then the tabForeground option for the overall
+tabnotebook is used.
+.TP
+\fB-padx\fR \fIvalue\fR
+Specifies a non-negative value indicating how much extra space to request
+for a tab around its label in the X-direction. When computing how large a
+window it needs, the tab will add this amount to the width it would
+normally need The tab will end up with extra internal space to the
+left and right of its text label. This value may have any of the forms
+acceptable to Tk_GetPixels. If this option is specified as an empty
+string (the default), then the padX option for the overall tabnotebook is used
+.TP
+\fB-pady\fR \fIvalue\fR
+Specifies a non-negative value indicating how much extra space to request
+for a tab around its label in the Y-direction. When computing how large
+a window it needs, the tab will add this amount to the height it would
+normally need The tab will end up with extra internal space to the top and
+bottom of its text label. This value may have any of the forms acceptable
+to Tk_GetPixels. If this option is specified as an empty string (the
+default), then the padY option for the overall tabnotebook is used
+.TP
+\fB-state\fR \fIvalue\fR
+Specifies one of two states for the page: normal or disabled. In normal state
+unselected tabs are displayed using the tabforeground and tabbackground
+option from the tabnotebook or the page. Selected tabs and pages are
+displayed using the foreground and background option from the tabnotebook or
+the page. The disabled state means that the page and its tab is
+insensitive: it doesn't respond to mouse button presses or releases. In this
+state the entry is displayed according to its disabledForeground option for
+the tabnotebook and the background/tabbackground option from the page or
+the tabnotebook.
+.RE
+.TP
+'>>>>>>>>>>
+\fIpathName\fR \fBchildSite\fR ?\fIindex\fR?
+If passed no arguments, returns a list of pathNames for all the pages
+in the tabnotebook. If the tab notebook is empty, an empty list is returned
+.IP
+If \fIindex\fR is passed, it returns the \fIpathName\fR for the page's
+child site \fBframe\fR specified by \fIindex\fR. Widgets that are created
+with this \fIpathName\fR will be displayed when the associated page is
+selected. If \fIindex\fR is not a valid index, an empty string is returned.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue\fR \fIoption\fR \fIvalue\fR ...?
+Query or modify the configuration options of the widget. If no \fIoption\fR
+is specified, returns a list describing all of the available options
+for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for information on the
+format of this list). If option is specified with no value, then the
+command returns a list describing the one named option (this list will be
+identical to the corresponding sublist of the value returned if no option
+is specified). If one or more option-value pairs are specified, then the
+command modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string. \fIOption\fR may have any
+of the values accepted by the iwidgets::tabnotebook command.
+.TP
+\fIpathName\fR \fBdelete\fR \fIindex1\fR ?\fIindex2\fR?
+Delete all of the pages between \fIindex1\fR and \fIindex2\fR inclusive.
+If \fIindex2\fR is omitted then it defaults to \fIindex1\fR. Returns an
+empty string.
+.TP
+\fIpathName\fR \fBindex\fR \fIindex\fR
+Returns the numerical index corresponding to \fIindex\fR.
+.TP
+\fIpathName\fR \fBinsert\fR \fIindex\fR ?\fIoption\fR \fIvalue\fR \fIoption\fR \fIvalue\fR ...?
+Insert a new page in the tabnotebook before the page specified
+by \fIindex\fR. A new child site \fBframe\fR is created. The additional
+arguments are the same as for the \fBadd\fR command. Returns the
+child site \fIpathName\fR.
+.TP
+\fIpathName\fR \fBnext\fR
+Advances the selected page to the next page (order is determined by
+insertion order). If the currently selected page is the last page in
+the notebook, the selection wraps around to the first page in the
+notebook. It behaves as if the user selected the new page.
+.IP
+For notebooks with \fBauto\fR set to \fBtrue\fR the current page's
+child site is unpacked from the notebook's child site frame. Then the next
+page's child site is packed into the notebook's child site frame. The
+Tcl command given with the command option will be invoked between these
+two operations.
+.IP
+For notebooks with \fBauto\fR set to \fBfalse\fR the Tcl command given
+with the command option will be invoked.
+.TP
+\fIpathName\fR \fBpageconfigure\fR \fIindex\fR ?\fIoption\fR? ?\fIvalue\fR \fIoption\fR \fIvalue\fR ...?
+This command is similar to the \fBconfigure\fR command, except that it
+applies to the options for an individual page, whereas configure applies
+to the options for the tabnotebook as a whole. \fIOptions\fR may have
+any of the values accepted by the add widget command. If options are
+specified, options are modified as indicated in the command and the
+command returns an empty string. If no options are specified, returns a
+list describing the current options for page index (see \fBTk_ConfigureInfo\fR
+for information on the format of this list).
+.TP
+\fIpathName\fR \fBprev\fR
+Moves the selected page to the previous page (order is determined by
+insertion order). If the currently selected page is the first page in
+the notebook, the selection wraps around to the last page in the notebook. It
+behaves as if the user selected the new page.
+.IP
+For notebooks with \fBauto\fR set to \fBtrue\fR the current page's
+child site is unpacked from the notebook's child site \fBframe\fR. Then the
+previous page's child site is packed into the notebook's child site frame.
+The Tcl command given with the command option will be invoked between these
+two operations.
+.IP
+For notebooks with \fBauto\fR set to \fBfalse\fR the Tcl command given
+with the command option will be invoked.
+.TP
+\fIpathName\fR \fBselect\fR \fIindex\fR
+Selects the page specified by \fIindex\fR as the currently selected page.
+It behaves as if the user selected the new page.
+.IP
+For notebooks with \fBauto\fR set to \fBtrue\fR the current page's child
+site is unpacked from the notebook's child site frame. Then the \fIindex\fR
+page's child site is packed into the notebook's child site frame. The
+Tcl command given with the command option will be invoked between these two
+operations.
+.IP
+For notebooks with \fBauto\fR set to \fBfalse\fR the Tcl command given
+with the command option will be invoked.
+.TP
+\fIpathName\fR \fBview\fR
+Returns the currently selected page. This command is for compatibility with
+the \fBscrollbar\fR widget.
+.TP
+\fIpathName\fR \fBview\fR \fIindex\fR
+Selects the page specified by \fIindex\fR as the currently selected page.
+This command is for compatibility with the \fBscrollbar\fR widget.
+.TP
+\fIpathName\fR \fBview\fR \fBmoveto\fR \fIfraction\fR
+Uses the \fIfraction\fR value to determine the corresponding page to move to.
+This command is for compatibility with the \fBscrollbar\fR widget.
+.TP
+\fIpathName\fR \fBview\fR \fBscroll\fR \fInum\fR \fIwhat\fR
+Uses the \fInum\fR value to determine how many pages to move forward or
+backward (\fInum\fR can be negative or positive). The \fIwhat\fR argument
+is ignored. This command is for compatibility with the \fBscrollbar\fR widget.
+.SH "COMPONENTS"
+.LP
+Generally all behavior of the internal components, \fBtabset\fR
+and \fBnotebook\fR are controlled via the \fBpageconfigure\fR method.
+The following section documents these two components.
+.LP
+.nf
+Name: \fBtabset\fR
+Class: \fBTabset\fR
+.fi
+.IP
+This is the tabset component. It implements the tabs that are associated
+with the notebook component.
+.IP
+See the "\fBTabset\fR" widget manual entry for details on
+the \fBtabset\fR component item.
+.LP
+.nf
+Name: \fBnotebook\fR
+Class: \fBNotebook\fR
+.fi
+.IP
+This is the notebook component. It implements the notebook that contains the
+pages of the tabnotebook.
+.IP
+See the "\fBNotebook\fR" widget manual entry for details on
+the \fBnotebook\fR component item.
+.fi
+.SH EXAMPLE
+.PP
+Following is an example that creates a tabnotebook with two pages.
+.PP
+.nf
+.IP
+.ta 2c 8c 12c
+package require Iwidgets 4.0
+# Create the tabnotebook widget and pack it.
+ iwidgets::tabnotebook .tn -width 100 -height 100
+ pack .tn \\
+ -anchor nw \\
+ -fill both \\
+ -expand yes \\
+ -side left \\
+ -padx 10 \\
+ -pady 10
+.IP
+# Add two pages to the tabnotebook,
+# labelled "Page One" and "Page Two"
+ .tn add -label "Page One"
+ .tn add -label "Page Two"
+.IP
+# Get the child site frames of these two pages.
+ set page1CS [.tn childsite 0]
+ set page2CS [.tn childsite "Page Two"]
+.IP
+# Create buttons on each page of the tabnotebook.
+ button $page1CS.b -text "Button One"
+ pack $page1CS.b
+ button $page2CS.b -text "Button Two"
+ pack $page2CS.b
+.IP
+# Select the first page of the tabnotebook.
+ .tn select 0
+.fi
+.SH AUTHOR
+Bill W. Scott
+.SH KEYWORDS
+tab tabset notebook tabnotebook page
diff --git a/itcl/iwidgets/doc/tabset.n b/itcl/iwidgets/doc/tabset.n
new file mode 100644
index 00000000000..a9fe6a92658
--- /dev/null
+++ b/itcl/iwidgets/doc/tabset.n
@@ -0,0 +1,466 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) tabset.n
+'\"
+.so man.macros
+.HS iwidgets::tabset iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+'\"
+'\"
+.SH NAME
+iwidgets::tabset \- create and manipulate tabs as as set
+.SH SYNOPSIS
+\fBiwidgets::tabset\fR \fIpathName\fR ?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Tabset
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+background font selectBackground cursor
+foreground selectForeground disabledForeground height
+width\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBangle\fR
+Class: \fBAngle\fR
+Command-Line Switch: \fB-angle\fR
+.fi
+.IP
+Specifes the angle of slope from the inner edge to the outer edge of the
+tab. An angle of 0 specifies square tabs. Valid ranges are 0 to 45 degrees
+inclusive. Default is 15 degrees. If tabPos is e or w, this option is ignored.
+.LP
+.nf
+Name: \fBbackdrop\fR
+Class: \fBBackdrop\fR
+Command-Line Switch: \fB-backdrop\fR
+.fi
+.IP
+Specifies a background color to use when filling in the area behind the tabs.
+.LP
+.nf
+Name: \fBbevelAmount\fR
+Class: \fBBevelAmount\fR
+Command-Line Switch: \fB-bevelamount\fR
+.fi
+.IP
+Specifes the size of tab corners. A value of 0 with angle set to 0 results
+in square tabs. A \fBbevelAmount\fR of 4, means that the tab will be
+drawn with angled corners that cut in 4 pixels from the edge of the
+tab. The default is 0.
+.LP
+.nf
+Name: \fBcommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-command\fR
+Specifes the prefix of a Tcl command to invoke to change the view in the
+widget associated with the tabset. When a user selects a tab, a Tcl command
+is invoked. The actual command consists of this option followed by a space
+and a number. The number is the numerical index of the tab that has been
+selected.
+.LP
+.nf
+Name: \fBequalTabs\fR
+Class: \fBEqualTabs\fR
+Command-Line Switch: \fB-equaltabs\fR
+.fi
+.IP
+Specifies whether to force tabs to be equal sized or not. A value
+of \fBtrue\fR means constrain tabs to be equal sized. A value
+of \fBfalse\fR allows each tab to size based on the text label size. The
+value may have any of the forms accepted by the \fBTcl_GetBoolean\fR, such
+as \fBtrue\fR, \fBfalse\fR, \fB0\fR, \fB1\fR, \fByes\fR, or \fBno\fR.
+.IP
+For horizontally positioned tabs (\fBtabPos\fR is either \fBs\fR
+or \fBn\fR), \fBtrue\fR forces all tabs to be equal width (the width being
+equal to the longest label plus any padX specified). Horizontal tabs are
+always equal in height.
+.IP
+For vertically positioned tabs (\fBtabPos\fR is either \fBw\fR or \fBe\fR),
+\fBtrue\fR forces all tabs to be equal height (the height being equal to
+the height of the label with the largest font). Vertically oriented tabs are
+always equal in width.
+.LP
+.nf
+Name: \fBgap\fR
+Class: \fBGap\fR
+Command-Line Switch: \fB-gap\fR
+.fi
+.IP
+Specifies the amount of pixel space to place between each tab. Value may
+be any pixel offset value. In addition, a special keyword \fBoverlap\fR
+can be used as the value to achieve a standard overlap of tabs. This value
+may have any of the forms acceptable to \fBTk_GetPixels\fR.
+.LP
+.nf
+Name: \fBmargin\fR
+Class: \fBMargin\fR
+Command-Line Switch: \fB-margin\fR
+.fi
+.IP
+Specifies the amount of space to place between the outside edge of the
+tabset and the outside edge of its tabs. If \fBtabPos\fR is \fBs\fR, this
+is the amount of space between the bottom edge of the tabset and the
+bottom edge of the set of tabs. If \fBtabPos\fR is \fBn\fR, this is the
+amount of space between the top edge of the tabset and the top edge of the
+set of tabs. If \fBtabPos\fR is \fBe\fR, this is the amount of space between
+the right edge of the tabset and the right edge of the set of tabs.
+If \fBtabPos\fR is \fBw\fR, this is the amount of space between the left
+edge of the tabset and the left edge of the set of tabs. This value may
+have any of the forms acceptable to \fBTk_GetPixels\fR.
+.LP
+.nf
+Name: \fBpadX\fR
+Class: \fBPadX\fR
+Command-Line Switch: \fB-padx\fR
+.fi
+.IP
+Specifies a non-negative value indicating how much extra space to request for
+a tab around its label in the X-direction. When computing how large a
+window it needs, the tab will add this amount to the width it would normally
+need The tab will end up with extra internal space to the left and right of
+its text label. This value may have any of the forms acceptable
+to \fBTk_GetPixels\fR.
+.LP
+.nf
+Name: \fBpadY\fR
+Class: \fBPadY\fR
+Command-Line Switch: \fB-pady\fR
+.fi
+.IP
+Specifies a non-negative value indicating how much extra space to request
+for a tab around its label in the Y-direction. When computing how large a
+window it needs, the tab will add this amount to the height it would
+normally need The tab will end up with extra internal space to the top and
+bottom of its text label. This value may have any of the forms acceptable
+to \fBTk_GetPixels\fR.
+.LP
+.nf
+Name: \fBraiseSelect\fR
+Class: \fBRaiseSelect\fR
+Command-Line Switch: \fB-raiseselect\fR
+.fi
+.IP
+Specifes whether to slightly raise the selected tab from the rest of the
+tabs. The selected tab is drawn 2 pixels closer to the outside edge of the
+tabset than the unselected tabs. A value of true says to raise selected
+tabs, a value of false turns this off. The default is false. The value may
+have any of the forms accepted by the \fBTcl_GetBoolean\fR, such
+as \fBtrue\fR, \fBfalse\fR, \fB0\fR, \fB1\fR, \fByes\fR, or \fBno\fR.
+.LP
+.nf
+Name: \fBstart\fR
+Class: \fBStart\fR
+Command-Line Switch: \fB-start\fR
+.fi
+.IP
+Specifies the amount of space to place between the left or top edge of the
+tabset and the starting edge of its tabs. For horizontally positioned tabs,
+this is the amount of space between the left edge of the tabset and the left
+edge of the first tab. For vertically positioned tabs, this is the amount
+of space between the top of the tabset and the top of the first tab. This
+value may change if the user performs a MButton-2 scroll on the tabs. This
+value may have any of the forms acceptable to \fBTk_GetPixels\fR.
+.LP
+.nf
+Name: \fBstate\fR
+Class: \fBState\fR
+Command-Line Switch: \fB-state\fR
+.fi
+.IP
+Sets the active state of the tabset. Specifying \fBnormal\fR allows all
+tabs to be selectable. Specifying \fBdisabled\fR disables the tabset
+causing all tabs to be drawn in the disabledForeground color.
+.LP
+.nf
+Name: \fBtabBorders\fR
+Class: \fBTabBorders\fR
+Command-Line Switch: \fB-tabborders\fR
+.fi
+.IP
+Specifies whether to draw the borders of tabs that are not selected.
+Specifying true (the default) draws these borders, specifying false
+draws only the border around the selected tab. The value may have any
+of the forms accepted by the \fBTcl_GetBoolean\fR, such
+as \fBtrue\fR, \fBfalse,\fR \fB0\fR, \fB1\fR, \fByes\fR, or \fBno\fR.
+.LP
+.nf
+Name: \fBtabPos\fR
+Class: \fBTabPos\fR
+Command-Line Switch: \fB-tabpos\fR
+.fi
+.IP
+Specifies the location of the set of tabs in relation to another widget. Must
+be \fBn\fR, \fBs\fR, \fBe\fR, or \fBw\fR. Defaults to \fBs\fR. North tabs
+open downward, South tabs open upward. West tabs open to the right, east
+tabs open to the left.
+.BE
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::tabset\fR command creates a new window (given by the pathName
+argument) and makes it into a \fBtabset\fR widget. Additional \fIoptions\fR,
+described above may be specified on the command line or in the option
+database to configure aspects of the tabset such as its colors, font, and
+text. The \fBiwidgets::tabset\fR command returns its \fIpathName\fR argument. At the
+time this command is invoked, there must not exist a window
+named \fIpathName\fR, but pathName's parent must exist.
+.PP
+A \fBtabset\fR is a widget that contains a set of Tab buttons. It displays
+these tabs in a row or column depending on it tabpos. When a tab is
+clicked on, it becomes the only tab in the tab set that is selected. All
+other tabs are deselected. The Tcl command prefix associated with this
+tab (through the command tab configure option) is invoked with the tab
+index number appended to its argument list. This allows the tabset to
+control another widget such as a Notebook.
+.SH TABS
+Tabs are drawn to appear attached to another widget. The tabset draws an
+edge boundary along one of its edges. This edge is known as the attachment
+edge. This edge location is dependent on the value of \fBtabPos\fR. For
+example, if \fBtabPos\fR is \fBs\fR, the attachment edge wil be on the
+top side of the tabset (in order to attach to the bottom or south side of
+its attached widget). The selected tab is draw with a 3d relief to appear
+above the other tabs. This selected tab "opens" toward attachment edge.
+.PP
+Tabs can be controlled in their location along the edges, the angle that
+tab sides are drawn with, gap between tabs, starting margin of tabs,
+internal padding around labels in a tab, the font, and its text or bitmap.
+.SH "WIDGET-SPECIFIC METHODS"
+.PP
+The \fBiwidgets::tabset\fR command creates a new Tcl command whose name
+is \fIpathName\fR. This command may be used to invoke various operations on
+the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIoption\fR and the \fIarg\fRs
+determine the exact behavior of the command.
+.PP
+Many of the widget commands for a tabset take as one argument an indicator
+of which tab of the tabset to operate on. These indicators are called indexes
+and may be specified in any of the following forms:
+.TP
+\fInumber\fR
+Specifies the tab numerically, where 0 corresponds to the first tab in
+the tab set, 1 to the second, and so on.
+.TP
+\fBselect\fR
+Specifies the currently selected tab's index. If no tab is currently
+selected, the value -1 is returned.
+.TP
+\fBend\fR
+Specifes the last tab in the tabset's index. If the tabset is empty this
+will return -1.
+.TP
+\fIpattern\fR
+If the index doesn't satisfy any of the above forms, then this form is
+used. Pattern is pattern-matched against the label of each tab in the
+tabset, in order from the first to the last tab, until a matching entry is
+found. The rules of Tcl_StringMatch are used.
+.PP
+'.............................................................................
+The following commands are possible for tabset widgets:
+.RS
+.TP
+\fIpathName\fR \fBadd\fR ?\fIoption\fR \fIvalue\fR \fIoption\fR \fIvalue\fR ...?
+Add a new tab at the end of the tabset. Returns the child
+site \fIpathName\fR. If additional arguments are present, they specify
+any of the following options:
+.RS
+.TP
+\fB-angle\fR \fIvalue\fR
+Specifes the angle of slope from the inner edge to the outer edge of
+the tab. An angle of 0 specifies square tabs. Valid ranges are 0 to
+45 degrees inclusive. Default is 15 degrees. If this option is specified as
+an empty string (the default), then the angle option for the overall tabset
+is used.
+.TP
+\fB-background\fR \fIvalue\fR
+Specifies a background color to use for displaying tabs when they are in
+their normal state (unselected). If this option is specified as an empty
+string (the default), then the background option for the overall tabset is
+used.
+.TP
+\fB-bevelamount\fR \fIvalue\fR
+Specifes the size of tab corners. A value of 0 with angle set to 0 results
+in square tabs. A bevelAmount of 4, means that the tab will be drawn with
+angled corners that cut in 4 pixels from the edge of the tab. The default is
+0. This is generally only set at the tabset configuration level. Tabs
+normally will want to share the same bevelAmount.
+.TP
+\fB-bitmap\fR \fIvalue\fR
+If label is a non-empty string, specifies a bitmap to display in the
+tab. Bitmap may be of any of the forms accepted by Tk_GetBitmap.
+.TP
+\fB-disabledforeground\fR \fIvalue\fR
+Specifies a foreground color to use for displaying tab labels when tabs are
+in their disable state. If this option is specified as an empty
+string (the default), then the disabledforeground option for the overall
+tabset is used.
+.TP
+\fB-font\fR \fIvalue\fR
+Specifies the font to use when drawing the label on a tab. If this option
+is specified as an empty string then the font option for the overall
+tabset is used.
+.TP
+\fB-foreground\fR \fIvalue\fR
+Specifies a foreground color to use for displaying tab labels when tabs
+are in their normal unselected state. If this option is specified as an
+empty string (the default), then the foreground option for the overall
+tabset is used.
+.TP
+\fB-image\fR \fIvalue\fR
+If label is a non-empty string, specifies an image to display in the
+tab. Image must have been created with the image create command. Typically,
+if the image option is specified then it overrides other options that
+specify a bitmap or textual value to display in the widget; the image
+option may be reset to an empty string to re-enable a bitmap or text display.
+.TP
+\fB-label\fR \fIvalue\fR
+Specifies a text string to be placed in the tabs label. If this value is
+set, the bitmap option is overridden and this option is used instead. This
+label serves as an additional identifier used to reference the tab. This
+label may be used for the index value in widget commands.
+.TP
+\fB-selectbackground\fR \fIvalue\fR
+Specifies a background color to use for displaying the selected tab. If
+this option is specified as an empty string (the default), then the
+selectBackground option for the overall tabset is used.
+.TP
+\fB-selectforeground\fR \fIvalue\fR
+Specifies a foreground color to use for displaying the selected tab. If
+this option is specified as an empty string (the default), then the
+selectForeground option for the overall tabset is used.
+.TP
+\fB-padx\fR \fIvalue\fR
+Specifies a non-negative value indicating how much extra space to request
+for a tab around its label in the X-direction. When computing how large
+a window it needs, the tab will add this amount to the width it would
+normally need The tab will end up with extra internal space to the left
+and right of its text label. This value may have any of the forms acceptable
+to Tk_GetPixels. If this option is specified as an empty string (the
+default), then the padX option for the overall tabset is used
+.TP
+\fB-pady\fR \fIvalue\fR
+Specifies a non-negative value indicating how much extra space to request
+for a tab around its label in the Y-direction. When computing how large
+a window it needs, the tab will add this amount to the height it would
+normally need The tab will end up with extra internal space to the top
+and bottom of its text label. This value may have any of the forms
+acceptable to Tk_GetPixels. If this option is specified as an empty
+string (the default), then the padY option for the overall tabset is used
+.TP
+\fB-state\fR \fIvalue\fR
+Sets the state of the tab. Specifying normal allows this tab to be
+selectable. Specifying disabled disables the this tab causing its tab label
+to be drawn in the disabledForeground color. The tab will not respond to
+events until the state is set back to normal.
+.RE
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue\fR \fIoption\fR \fIvalue\fR ...?
+Query or modify the configuration options of the widget. If no \fIoption\fR
+is specified, returns a list describing all of the available options
+for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for information on the
+format of this list). If option is specified with no value, then the
+command returns a list describing the one named option (this list will be
+identical to the corresponding sublist of the value returned if no option
+is specified). If one or more option-value pairs are specified, then the
+command modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string. \fIOption\fR may have any
+of the values accepted by the iwidgets::tabset command.
+.TP
+\fIpathName\fR \fBdelete\fR \fIindex1\fR ?\fIindex2\fR?
+Delete all of the tabs between \fIindex1\fR and \fIindex2\fR inclusive.
+If \fIindex2\fR is omitted then it defaults to \fIindex1\fR. Returns an
+empty string.
+.TP
+\fIpathName\fR \fBindex\fR \fIindex\fR
+Returns the numerical index corresponding to \fIindex\fR.
+.TP
+\fIpathName\fR \fBinsert\fR \fIindex\fR ?\fIoption\fR \fIvalue\fR \fIoption\fR \fIvalue\fR ...?
+Insert a new tab in the tabset before the tab specified by \fIindex\fR. The
+additional arguments are the same as for the \fBadd\fR command. Returns
+the tab's \fIpathName\fR.
+.TP
+\fIpathName\fR \fBnext\fR
+Advances the selected tab to the next tab (order is determined by insertion
+order). If the currently selected tab is the last tab in the tabset, the
+selection wraps around to the first tab. It behaves as if the user
+selected the next tab.
+.TP
+\fIpathName\fR \fBtabconfigure\fR \fIindex\fR ?\fIoption\fR? ?\fIvalue\fR?
+This command is similar to the \fBconfigure\fR command, except that it
+applies to the options for an individual tab, whereas configure applies to
+the options for the tabset as a whole. Options may have any of the values
+accepted by the \fBadd\fR widget command. If options are specified, options
+are modified as indicated in the command and the command returns an empty
+string. If no options are specified, returns a list describing the current
+options for tab index (see \fBTk_ConfigureInfo\fR for information on
+the format of this list).
+.TP
+\fIpathName\fR \fBprev\fR
+Moves the selected tab to the previous tab (order is determined by insertion
+order). If the currently selected tab is the first tab in the tabset, the
+selection wraps around to the last tab in the tabset. It behaves as if
+the user selected the previous tab.
+.TP
+\fIpathName\fR \fBselect\fR \fIindex\fR
+Selects the tab specified by \fIindex\fR as the currently selected tab. It
+behaves as if the user selected the new tab.
+
+.SH EXAMPLE
+.PP
+Following is an example that creates a tabset with two tabs and a list box
+that the tabset controls. In addition selecting an item from the list
+also selects the corresponding tab.
+.PP
+.nf
+.IP
+.ta 2c 8c 12c
+package require Iwidgets 4.0
+# Define a proc that knows how to select an item
+# from a list given an index from the tabset -command callback.
+ proc selectItem { item } {
+ .l selection clear [.l curselection]
+ .l selection set $item
+ .l see $item
+}
+.IP
+# Define a proc that knows how to select a tab
+# given a y pixel coordinate from the list..
+ proc selectTab { y } {
+ set whichItem [.l nearest $y]
+ .ts select $whichItem
+}
+.IP
+# Create a listbox with two items (one and two)
+# and bind button 1 press to the selectTab procedure.
+ listbox .l -selectmode single -exportselection false
+ .l insert end one
+ .l insert end two
+ .l selection set 0
+ pack .l
+ bind .l <ButtonPress-1> { selectTab %y }
+.IP
+# Create a tabset, set its -command to call selectItem
+# Add two labels to the tabset (one and two).
+ iwidgets::tabset .ts -command selectItem
+ .ts add -label 1
+ .ts add -label 2
+ .ts select 0
+ pack .ts -fill x -expand no
+.fi
+.SH AUTHOR
+Bill W. Scott
+.SH KEYWORDS
+tab tabset notebook tabnotebook
diff --git a/itcl/iwidgets/doc/timeentry.n b/itcl/iwidgets/doc/timeentry.n
new file mode 100644
index 00000000000..5545eecf49d
--- /dev/null
+++ b/itcl/iwidgets/doc/timeentry.n
@@ -0,0 +1,196 @@
+'\"
+'\" Copyright (c) 1997 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) timeentry.n 1.0 97/04/30 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::timeentry iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::timeentry \- Create and manipulate a timeentry widget
+.SH SYNOPSIS
+\fBiwidgets::timeentry\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::LabeledWidget <- iwidgets::Timefield <- iwidgets::Timeentry
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+background borderWidth cursor exportSelection
+foreground highlightColor highlightThickness insertBackground
+justify relief\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBdisabledForeground\fR \fBlabelBitmap\fR \fBlabelFont\fR \fBlabelImage\fR
+\fBlabelMargin\fR \fBlabelPos\fR \fBlabelText\fR \fBlabelVariable\fR
+\fBstate\fR \fBsticky\fR
+.fi
+.LP
+See the "labeledwidget" class manual entry for details on these
+inherited options.
+.LP
+.nf
+.ta 4c 8c 12c
+\fBcommand\fR \fBformat\fR \fBseconds\fR \fBtextBackground\fR
+\fBtextFont\fR
+.fi
+.LP
+See the "timefield" class manual entry for details on these
+inherited options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBhourRadius\fR \fBhourColor\fR \fBminuteRadius\fR \fBminuteColor\fR
+\fBpivotRadius\fR \fBpivotColor\fR \fBsecondRadius\fR \fBsecondColor\fR
+\fBclockColor\fR \fBclockStipple\fR \fBtickColor\fR \fBwatchHeight\fR
+\fBwatchWidth\fR
+.fi
+.LP
+See the "watch" manual entry for details on the associated options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBcloseText\fR
+Class: \fBText\fR
+Command-Line Switch: \fB-closetext\fR
+.fi
+.IP
+Specifies the text to be displayed on the close button of the watch
+popup. The default is Close.
+.LP
+.nf
+Name: \fBgrab\fR
+Class: \fBGrab\fR
+Command-Line Switch: \fB-grab\fR
+.fi
+.IP
+Specifies the grab level, \fBlocal\fR or \fBglobal\fR, to be obtained before
+bringing up the popup watch. The default is global. For more information
+concerning grab levels, consult the documentation for Tk's \fBgrab\fR command.
+.LP
+.nf
+Name: \fBicon\fR
+Class: \fBIcon\fR
+Command-Line Switch: \fB-icon\fR
+.fi
+.IP
+Specifies the watch icon image to be used in the timeentry.
+This image must have been created previously with
+the \fBimage create\fR command. Should one not be provided,
+then one will be generated, pixmap if possible, bitmap otherwise.
+.LP
+.nf
+Name: \fBstate\fR
+Class: \fBState\fR
+Command-Line Switch: \fB-state\fR
+.fi
+.IP
+Specifies the state of the widget which may be \fBdisabled\fR or
+\fBnormal\fR. A disabled state prevents selection of the timefield
+or time icon button.
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::timeentry\fR command creates a time entry field
+with a popup watch by combining the timefield and watch
+widgets together. This allows a user to enter the time via the
+keyboard or by using the mouse and selecting the watch icon
+which brings up a popup watch.
+.DE
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::timeentry\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for timeentry widgets:
+.SH "INHERITED METHODS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBget\fR \fBisvalid\fR \fBshow\fR
+.fi
+.LP
+See the "timefield" manual entry for details on the associated methods.
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::timeentry\fR
+command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::timeentry\fR
+command.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBlabel\fR
+Class: \fBLabel\fR
+.fi
+.IP
+The label component provides a label component to used to identify the time.
+See the "label" widget manual entry for details on the label component item.
+.LP
+.nf
+Name: \fBiconbutton\fR
+Class: \fBLabel\fR
+.fi
+.IP
+The iconbutton component provides a labelbutton component to act as a
+lightweight button
+displaying the watch icon. Upon pressing the labelbutton, the watch
+appears. See the "label" widget manual entry for details on the
+labelbutton component item.
+.LP
+.nf
+Name: \fBtime\fR
+Class: \fBEntry\fR
+.fi
+.IP
+The time component provides the entry field for time input and display.
+See the "entry" widget manual entry for details on the time component item.
+.fi
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ iwidgets::timeentry .te
+ pack .te
+.DE
+.SH AUTHOR
+Mark L. Ulferts
+.LP
+.SH KEYWORDS
+timeentry, widget
diff --git a/itcl/iwidgets/doc/timefield.n b/itcl/iwidgets/doc/timefield.n
new file mode 100644
index 00000000000..f3050db448e
--- /dev/null
+++ b/itcl/iwidgets/doc/timefield.n
@@ -0,0 +1,186 @@
+'\"
+'\" Copyright (c) 1997 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) timefield.n 1.0 97/04/30 16:04:44
+'\"
+.so man.macros
+.HS iwidgets::timefield iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::timefield \- Create and manipulate a time field widget
+.SH SYNOPSIS
+\fBiwidgets::timefield\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::LabeledWidget <- iwidgets::Timefield
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+background borderWidth cursor exportSelection
+foreground highlightColor highlightThickness insertBackground
+justify relief\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "INHERITED OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBdisabledForeground\fR \fBlabelBitmap\fR \fBlabelFont\fR \fBlabelImage\fR
+\fBlabelMargin\fR \fBlabelPos\fR \fBlabelText\fR \fBlabelVariable\fR
+\fBstate\fR \fBsticky\fR
+.fi
+.LP
+See the "labeledwidget" class manual entry for details on the
+inherited options.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBchildSitePos\fR
+Class: \fBPosition\fR
+Command-Line Switch: \fB-childsitepos\fR
+.fi
+.IP
+Specifies the position of the child site in the time field: \fBn\fR,
+\fBs\fR, \fBe\fR, or \fBw\fR. The default is e.
+.LP
+.nf
+Name: \fBcommand\fR
+Class: \fBCommand\fR
+Command-Line Switch: \fB-command\fR
+.fi
+.IP
+Specifies a Tcl command to be executed upon detection of a Return key
+press event.
+.LP
+.nf
+Name: \fBgmt\fR
+Class: \fBGmt\fR
+Command-Line Switch: \fB-gmt\fR
+.fi
+.IP
+Determines whether the time is calculated relative to Greenwich
+Mean Time. Accepts a boolean value. The default is no.
+.fi
+.IP
+Name: \fBstate\fR
+Class: \fBState\fR
+Command-Line Switch: \fB-state\fR
+.fi
+.IP
+Specifies one of two states for the timefield: \fBnormal\fR or \fBdisabled\fR.
+If the timefield is disabled then input is not accepted. The default is
+normal.
+.LP
+.nf
+Name: \fBtextBackground\fR
+Class: \fBBackground\fR
+Command-Line Switch: \fB-textbackground\fR
+.fi
+.IP
+Background color for inside textual portion of the entry field. The value
+may be given in any of the forms acceptable to \fBTk_GetColor\fR.
+.LP
+.nf
+Name: \fBtextFont\fR
+Class: \fBFont\fR
+Command-Line Switch: \fB-textfont\fR
+.fi
+.IP
+Name of font to use for display of text in timefield. The value
+may be given in any of the forms acceptable to \fBTk_GetFont\fR.
+.LP
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBiwidgets::timefield\fR command creates an enhanced text entry widget for
+the purpose of time entry with various degrees of built-in intelligence.
+.DE
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::timefield\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for timefield widgets:
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::timefield\fR
+command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::timefield\fR
+command.
+.TP
+\fIpathName \fBget\fR ?\fBformat\fR?
+Returns the current contents of the timefield in a format of
+string or as an integer clock value using the \fB-string\fR and \fB-clicks\fR
+format options respectively. The default is by string. Reference the
+clock command for more information on obtaining times and their
+formats.
+.TP
+\fIpathName \fBisvalid\fR
+Returns a boolean indication of the validity of the currently
+displayed time value. For example, 12:59:59 is valid whereas
+25:59:59 is invalid.
+.TP
+\fIpathName \fBshow\fR \fItime\fR
+Changes the currently displayed time to be that of the time
+argument. The time may be specified either as a string, an
+integer clock value or the keyword "now" (the default).
+Reference the clock command for more information on obtaining
+times and their formats.
+
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBtime\fR
+Class: \fBEntry\fR
+.fi
+.IP
+The time component provides the entry field for time input and display.
+See the "entry" widget manual entry for details on the time component item.
+.fi
+
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ proc returnCmd {} {
+ puts [.tf get]
+ }
+
+ iwidgets::timefield .tf -command returnCmd
+ pack .tf -fill x -expand yes -padx 10 -pady 10
+.DE
+.SH AUTHOR
+John A. Tucker
+.DE
+Mark L. Ulferts
+.LP
+.SH KEYWORDS
+timefield, widget
diff --git a/itcl/iwidgets/doc/tk2html b/itcl/iwidgets/doc/tk2html
new file mode 100644
index 00000000000..089a419c24c
--- /dev/null
+++ b/itcl/iwidgets/doc/tk2html
@@ -0,0 +1,46 @@
+#!/bin/sh
+# filter to convert Tk and Tcl man pages to html equivalents
+# does not do any linking !!!!
+
+TOP=`pwd`
+if [ $# -eq 0 ] ; then
+ echo "Usage $0 filename"
+ exit
+fi
+
+cat $1 |
+ sed -e 's/\\-/-/g' \
+ -e 's/\\[0&]/ /g' \
+ -e 's/&/\&amp;/g' \
+ -e 's/</\&lt;/g' \
+ -e 's/>/\&gt;/g' \
+ -e 's/\\|//g' \
+ -e 's/\\e/\\/g' |
+ /usr/bin/nawk -f ${TOP}/tk2html.awk |
+ sed -e 's^\\fB\([^\\]*\)\\fR^<B>\1</B>^g' \
+ -e 's^\\fI\(.[^\\]*\)\\fR^<I>\1</I>^g' \
+ -e 's^\\fB^<B>^g' \
+ -e 's^\\fI^<I>^g' \
+ -e 's^\\f[RP]^</B></I>^g' \
+ -e 's/^.[LP]P/<P>/' \
+ -e 's/^.br/<BR>/' \
+ -e 's/^\.DS.*/<pre>/' \
+ -e 's$^\.DE.*$</pre>$' \
+ -e 's/^\.nf */<table>/' \
+ -e 's$^\.fi *$</table>$' \
+ -e 's$^\.BE *$</pre><HR>$' \
+ -e 's/^\.RS.*/<UL>/' \
+ -e 's$^\.RE.*$</UL>$' \
+ -e 's^\.SH *"*\([^"]*\)"*^</pre><H2>\1</H2>^' \
+ -e 's/^\.[a-zA-Z]*.*//' \
+ -e 's/^`\\\".*//' |
+ /usr/bin/nawk -f ${TOP}/tk2html2.awk
+
+# The above handling for font mapping to html works correctly in about 95% of
+# the cases, the others turn out stacking the font setting so you get the
+# font bleeding since it isn't being turned # off in the correct places.
+# To correct we would have to record the current ( non-default) font and
+# explicitly turn it off when another font change is detected.
+# Which would make multiple styles impossible concurrently which seems to
+# be the case anyway....
+
diff --git a/itcl/iwidgets/doc/tk2html.awk b/itcl/iwidgets/doc/tk2html.awk
new file mode 100644
index 00000000000..dd88000831a
--- /dev/null
+++ b/itcl/iwidgets/doc/tk2html.awk
@@ -0,0 +1,320 @@
+#!/bin/nawk
+
+
+$0 ~ /'[\/\\]" */ || $1 == "'" { next } # eat [nt]roff comments
+
+# defining macros - eat them
+/^\.de.*/ {
+ getline
+ while ( $0 !~ "^\.\.$" )
+ {
+ getline
+ }
+ getline
+ }
+
+$1 == ".VS" || $1 == ".VE" || $1 == ".AS" { next }
+
+
+# handle first .SH as special case - .SH NAME
+/^.SH *NAME */ {
+ getline
+ while ( $0 ~ /\.[a-zA-Z].*/ ) # eat dot-cmd following title
+ {
+ getline
+ }
+ print "<TITLE>" $0 "</TITLE>"
+ print "<H1>" $0 "</H1>\n"
+ next
+
+#-e 's/^.SH *NAME */{N;s#.*\n\(.*\)#<H1>\1</H1>#;}' \
+ }
+
+
+# Convert .IP Paragraphs upto next .cmd to hanging indents
+# using <UL></UL> pairs without intervening <LI>
+
+/^\.IP */ {
+ if ( inIP > 0 )
+ {
+ print "</UL>"
+ }
+ inIP = 1
+ print "<UL>"
+ match($0, /".*"/ )
+ if ( RSTART > 0 )
+ {
+ arg = substr( $0, RSTART+1, RLENGTH-2)
+
+ print arg " <BR>"
+ }
+ else if ( length( $2 ) > 0 )
+ {
+ print $2 " <BR>"
+ }
+ next
+ }
+
+$0 ~ /^\.[a-zA-Z]*/ && inIP > 0 {
+ inIP = 0
+ print "</UL>"
+ }
+
+# Convert
+# .TP
+# Line1
+# line 2 - n
+# .Any
+#
+# to
+# <DL>
+# <DT> Line1
+# <DD> lines 2 - n
+# <DT>
+
+/^\.TP */ {
+ if ( inTP > 0 )
+ {
+ print "</DL>"
+ }
+ inTP = 1
+ print "<DL>"
+ next
+ }
+
+inTP == 1 && $1 !~ /\.[a-zA-Z]*/ {
+ print "<DT> " $0
+ inTP = 2
+ next
+ }
+
+inTP == 2 && $1 !~ /\.[a-zA-Z]*/{
+ print "</I></B>" # Belt and suspenders
+ print "<DD> " $0
+ inTP = 3
+ next
+ }
+
+$0 ~ /^\.[a-zA-Z]*/ && inTP > 0 {
+ inTP = 0
+ print "</DL>"
+ }
+
+
+
+$1 == ".AP" {
+ $1=""
+ print "<DL >"
+ print "<DT> " $2 "\t\t" $3 "\t\t("$4")"
+ inTP = 2
+ next
+ }
+
+# make a blank line
+$1 == ".sp" {
+ print "<BR>"
+ next # print "<BR>"
+ }
+
+
+$1 == ".ta" { next }
+
+
+# try and make links ( tk )
+# "See the .* manual entry"
+
+/"options"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"options\"", "<A HREF=\"http://www.sco.com/Technology/tcl/man/tk_man/options.n.html\"> \"options\" </A>")
+ }
+
+/"entry"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"entry\"", "<A HREF=\"http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html\"> \"entry\" </A>")
+ }
+
+/"button"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"button\"", "<A HREF=\"http://www.sco.com/Technology/tcl/man/tk_man/button.n.html\"> \"button\" </A>")
+ }
+
+/"scrollbar"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"scrollbar\"", "<A HREF=\"http://www.sco.com/Technology/tcl/man/tk_man/scrollbar.n.html\"> \"scrollbar\" </A>")
+ }
+
+/"listbox"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"listbox\"", "<A HREF=\"http://www.sco.com/Technology/tcl/man/tk_man/listbox.n.html\"> \"listbox\" </A>")
+ }
+
+/"canvas"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"canvas\"", "<A HREF=\"http://www.sco.com/Technology/tcl/man/tk_man/canvas.n.html\"> \"canvas\" </A>")
+ }
+
+/"text"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"text\"", "<A HREF=\"http://www.sco.com/Technology/tcl/man/tk_man/text.n.html\"> \"text\" </A>")
+ }
+
+/"license.terms"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"license\".terms", "<A HREF=\"legal.html\"> license.\"terms\" </A>")
+ }
+
+/"buttonbox"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"buttonbox\"", "<A HREF=\"buttonbox.n.html\"> \"buttonbox\" </A>")
+ }
+
+/"combobox"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"combobox\"", "<A HREF=\"combobox.n.html\"> \"combobox\" </A>")
+ }
+
+/"dialog"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"dialog\"", "<A HREF=\"dialog.n.html\"> \"dialog\" </A>")
+ }
+
+/"dialogshell"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"dialogshell\"", "<A HREF=\"dialogshell.n.html\"> \"dialogshell\" </A>")
+ }
+
+/"entryfield"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"entryfield\"", "<A HREF=\"entryfield.n.html\"> \"entryfield\" </A>")
+ }
+
+/"fileselectionbox"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"fileselectionbox\"", "<A HREF=\"fileselectionbox.n.html\"> \"fileselectionbox\" </A>")
+ }
+
+/"fileselectiondialog"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"fileselectiondialog\"", "<A HREF=\"fileselectiondialog.n.html\"> \"fileselectiondialog\" </A>")
+ }
+
+/"labeledwidget"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"labeledwidget\"", "<A HREF=\"labeledwidget.n.html\"> \"labeledwidget\" </A>")
+ }
+
+/"messagedialog"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"messagedialog\"", "<A HREF=\"messagedialog.n.html\"> \"messagedialog\" </A>")
+ }
+
+/"optionmenu"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"optionmenu\"", "<A HREF=\"optionmenu.n.html\"> \"optionmenu\" </A>")
+ }
+
+/"panedwindow"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"panedwindow\"", "<A HREF=\"panedwindow.n.html\"> \"panedwindow\" </A>")
+ }
+
+/"promptdialog"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"promptdialog\"", "<A HREF=\"promptdialog.n.html\"> \"promptdialog\" </A>")
+ }
+
+/"pushbutton"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"pushbutton\"", "<A HREF=\"pushbutton.n.html\"> \"pushbutton\" </A>")
+ }
+
+/"scrolledcanvas"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"scrolledcanvas\"", "<A HREF=\"scrolledcanvas.n.html\"> \"scrolledcanvas\" </A>")
+ }
+
+/"scrolledframe"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"scrolledframe\"", "<A HREF=\"scrolledframe.n.html\"> \"scrolledframe\" </A>")
+ }
+
+/"scrolledlistbox"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"scrolledlistbox\"", "<A HREF=\"scrolledlistbox.n.html\"> \"scrolledlistbox\" </A>")
+ }
+
+/"scrolledtext"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"scrolledtext\"", "<A HREF=\"scrolledtext.n.html\"> \"scrolledtext\" </A>")
+ }
+
+/"selectionbox"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"selectionbox\"", "<A HREF=\"selectionbox.n.html\"> \"selectionbox\" </A>")
+ }
+
+/"selectiondialog"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"selectiondialog\"", "<A HREF=\"selectiondialog.n.html\"> \"selectiondialog\" </A>")
+ }
+
+/"spindate"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"spindate\"", "<A HREF=\"spindate.n.html\"> \"spindate\" </A>")
+ }
+
+/"spinint"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"spinint\"", "<A HREF=\"spinint.n.html\"> \"spinint\" </A>")
+ }
+
+/"spinner"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"spinner\"", "<A HREF=\"spinner.n.html\"> \"spinner\" </A>")
+ }
+
+/"spintime"/ {
+ if ( $0 ~ /^See the .*/ )
+ sub("\"spintime\"", "<A HREF=\"spintime.n.html\"> \"spintime\" </A>")
+ }
+
+/^Name: */ {
+ print $1 " " $2
+ next
+ }
+
+/^Class: */ {
+ print $1 " " $2
+ next
+ }
+
+/^Bret A. Schuhmacher*/ {
+ print "<A HREF=\"mailto:bas@wn.com\">" $0 "</A>"
+ next
+ }
+
+/^John S. Sigler*/ {
+ print "<A HREF=\"mailto:jsigler@spd.dsccc.com\">" $0 "</A>"
+ next
+ }
+
+/^Mark L. Ulferts*/ {
+ print "<A HREF=\"mailto:mulferts@spd.dsccc.com\">" $0 "</A>"
+ next
+ }
+
+/^Alfredo Jahn*/ {
+ print "<A HREF=\"mailto:ajahn@spd.dsccc.com\">" $0 "</A>"
+ next
+ }
+
+/^Sue Yockey*/ {
+ print "<A HREF=\"mailto:syockey@spd.dsccc.com\">" $0 "</A>"
+ next
+ }
+
+# just pass everything else on
+
+ { print $0 }
+
+
diff --git a/itcl/iwidgets/doc/tk2html.perl b/itcl/iwidgets/doc/tk2html.perl
new file mode 100644
index 00000000000..c5474df5701
--- /dev/null
+++ b/itcl/iwidgets/doc/tk2html.perl
@@ -0,0 +1,337 @@
+#!/usr/local/bin/perl
+# Lightly modified man2html to make html equivs of tk/tcl man pages
+# probably a dead end soln since works on output after troff processing
+
+
+# Set the man path array to the paths to search...
+@manpath = ('/usr/share/man','/usr/gnu/man','/usr/local/man');
+#@manpath = ('/s/usr/hops/src/ftp/tcl/tk3.4/docs');
+
+# There has to be a blank line after this...
+#print "Content-type:text/html\n\n";
+
+if (!$ARGV[0]) {
+ print "<isindex>\n";
+ chop($os = `uname`);
+ chop($ver = `uname -r`);
+ print "
+<title> $os $ver Manual Pages </title>
+<h1> $os $ver Manual Pages </h1>
+
+Enter the name of the man page, optionally surrounded
+by parenthesis with the number. For example:
+<p>
+<ul>
+<li> stat to find one or more man pages for ls
+<li> stat(2) for the system call stat
+</ul>
+
+This converter is still in development. I intend to
+improve the handling of multiple matches, and add
+a interface to apropos (or man -k (or whatis...))
+<p>
+<a href=\"/users/bcutter/intro.html\">Brooks Cutter</a>
+";
+ exit(0);
+}
+
+$_ = $ARGV[0];
+$manpages[0] = $_;
+if ((/^-$/)) {
+ $manpages[0] = $_;
+} elsif ((m!^/!)) {
+ $manpages[0] = $_;
+#} elsif (($name, $sect) = /(\S+)\((\d.*)\)/) {
+# @manpages = &findman($name, $sect, @manpath);
+#} elsif (($name, $sect) = /(\S+)<(\d.*)>/) {
+# @manpages = &findman($name, $sect, @manpath);
+#} elsif (($name, $sect) = /(\S+)\[(\d.*)\]/) {
+# @manpages = &findman($name, $sect, @manpath);
+#} else {
+# @manpages = &findman($_, '', @manpath);
+}
+
+if (!scalar @manpages) {
+ print "Sorry, I was unable to find a match for <b>$_</b>\n";
+ exit(0);
+} elsif (scalar @manpages > 1) {
+ &which_manpage(@manpages);
+} else {
+ if (!-e $manpages[0]) {
+ die "man2html: Error, Can't locate file '$manpages[0]'\n";
+ }
+ chop($type=`file -L $manpages[0]`);
+ if ($type =~ /roff/i) {
+ $manpages[0] = "nroff -man $manpages[0]|col -b|";
+ } elsif ($type =~ /text/i) {
+# #$manpages[0] = $manpages[0];
+# ; # NOP (No Operation)
+ $manpages[0] = "nroff -man $manpages[0]| col -b|";
+ } else {
+ print "
+<title>Man2HTML: An Error has occurred</title>
+<h1>Man2HTML: An Error has occurred</h1>
+
+man2html found the following match for your query:</hr>
+$manpages[0]
+<p>
+When 'file -L $manpages[0]' was run
+(which should follow symbolic links)
+it returned the following value '$type'
+<p>
+
+";
+ if ($type =~ /link/i) {
+ print "
+This problem appears to be that there is a symbolic link
+for a man page that is pointing to a file that doesn't exist.
+<p>
+";
+ }
+ print "
+Please report this problem to someone who can do something about it.
+<i>(Assuming you aren't that person...)</i>
+If you don't know who that is, try emailing 'root' or 'postmaster'.
+<p>
+There was only one match for your query - and it can't currently
+be accessed.
+";
+ exit(0);
+ #die "Unknown type '$type' for manpage '$manpages[0]'";
+ }
+ &print_manpage($manpages[0]);
+}
+
+exit(0);
+
+sub findman {
+# Take a argument like 'ls' or 'vi(1)' or 'tip(1c)' and return
+# a list of one or more manpages.
+# Arguments 2- are the directories to search in
+ local($lookfor) = shift(@_);
+ local($section) = shift(@_);
+ local($file, @files, @return, $return);
+ local(%men,%man);
+ die "lookfor($lookfor) is null\n" unless($lookfor);
+ for (@_) {
+ # I'm... too lazy... for... opendir()... too lazy for readdir()...
+ # too lazy for closedir() ... I'm too lazy!
+ if (!$section) {
+ @files = `/bin/ls $_/*/$lookfor.* 2> /dev/null`;
+ } else {
+ # if the section is like '1b' then just search *1b
+ # otherwise if '1' search *1* (to catch all sub-sections)
+ # Reason for wildcards: ($_/*$section*/$lookfor.*)
+ # (given $section = '2')
+ # 1st: So it catches cat2 and man2
+ # 2nd: So it catches man2 and man2v
+ # (This should make it compatiable with HP/UX's man2.Z - not tested)
+ # 3rd: So it catches stat.2 and stat.2v
+ #
+ if (length($section) == 1) {
+ @files = `/bin/ls $_/*$section*/$lookfor.* 2> /dev/null`;
+ } else {
+ local($section_num) = substr($section, 0, 1); # Just the number...
+ @files = `/bin/ls $_/*$section_num*/$lookfor.* $_/*$section/$lookfor.* 2> /dev/null`;
+ }
+ }
+ next if (!scalar @files);
+ # This part checks the files that were found...
+ for $file (@files) {
+ chop($file);
+ local(@dirs) = split(/\//,$file);
+ local($fn) = pop(@dirs);
+ local($catman) = pop(@dirs);
+ local($dir) = join('/',@dirs);
+ local($key) = "$dir/$fn";
+ next if ($man{$key}); # forces unique
+ if (!$men{$key}) {
+ $men{$key} = $catman;
+ $man{$key} = $file;
+ } else {
+ # pre-formatted man pages always take precedence unless zero bytes...
+ next if (($men{$key} =~ /^cat/i) && (!(-z $man{$key})));
+ $men{$key} = $catman;
+ $man{$key} = $file;
+ }
+ }
+ }
+ return(values %man);
+}
+
+
+sub which_manpage {
+# Print a list of manpages...
+ print "
+There were multiple matches for the argument '$ARGV[0]'.
+Below are the fully qualified pathnames of the matches, please
+click on the appropriate one.
+
+<ul>
+";
+ for (@_) {
+ print "<li><a href=\"/htbin/man2html?$_\">$_</a>\n";
+ }
+ print "</ul>\n";
+ return;
+}
+
+sub print_manpage {
+ local($page) = @_;
+ local($label, $before, $after, $begtag, $endtag, $blanks, $begtag2, $endtag2);
+ local($pre);
+ local($standard_indent) = 0;
+
+ if ($page eq '-') {
+ open(MAN, '-');
+ } elsif (index($page,'|') == length($page)) {
+ # A Pipe
+ local($eval) =
+'open(MAN, "'.$page.'") || die "Can'."'t open pipe to '$page' for reading: ".'$!";';
+ eval($eval);
+ die "Eval error line $. : '$eval' returned '$@' : $!\n";
+ } else {
+ open(MAN, $page) || die "Can't open '$page' for reading: $!";
+ }
+ while (<MAN>) {
+ s/\|\|*[ ]*$//; # Delete trailing change bars
+
+ if (/^\s*$/) {
+ $blanks++;
+ #if ($pre) { print "</pre>\n"; $pre = 0; }
+ if (($. != 1) && ($blanks == 1)) {
+ if (($pre) || ($section_pre)) {
+ print "\n";
+ } else {
+ print "<p>\n";
+ }
+ }
+ next;
+ }
+ #next if (!/^[A-Z]{2,}\(.*\).*/);
+ if (//) { s/.//g; }
+ # Escape & < and >
+ s/&/\&amp;/g;
+ s/</\&lt;/g;
+ s/>/\&gt;/g;
+ #
+ if (/^(\w+.*)\s*$/) {
+ $label = $1;
+ $next_action = '';
+ if (/^[A-Z ]{2,}\s*$/) {
+ if (($pre) || ($section_pre)) { print "</pre>\n"; }
+ $pre = $section_pre = $section_fmt = 0;
+ if (!$standard_indent) { $next_action = 'check_indent'; }
+ }
+ if ($label eq 'NAME') {
+ $begtag = '<title>';
+ $endtag = '</title>';
+ $begtag2 = '<h1>';
+ $endtag2 = '</h1>';
+ $next_action = 'check_indent';
+ next;
+ }
+ if ($label eq 'SYNOPSIS') {
+ $section_fmt = 1;
+ }
+ if ($label eq 'SEE ALSO') {
+ $next_action = 'create_links';
+ }
+ if (($label =~ /OPTIONS$/) || ($label eq 'FILES')) {
+ $section_pre = 1;
+ print "</pre>\n";
+# print "</pre OPTION>\n";
+ } elsif (/^[A-Z ]+\s*$/) {
+ print "</pre>\n" if (($pre) || ($section_pre));
+ $section_pre = 0;
+ }
+print "..$label..\n";
+ if (/^[-A-Z ]+\s*$/) {
+ print "<h2>$label</h2>\n";
+ $blanks = 0;
+ print "<pre>\n" if ($section_pre);
+ next;
+ }
+ next;
+ }
+ if ($section_fmt) { print; $blanks = 0; next; }
+ if ($next_action eq 'create_links') {
+ # Parse see also looking for man page links. Make it
+ # call this program. use '+' notation for spaces
+ local($page);
+ local($first) = 1;
+ for $page (split(/,/)) {
+ $page =~ tr/\x00-\x20//d; # Delete all control chars, spaces
+ if ($page =~ /.+\(\d.*\).*$/) {
+ $url_page = $page;
+ $url_page =~ tr/()/[]/;
+ print "," if (!$first);
+ $first = 0;
+ print "<a href=\"/tk2html?$url_page\">$page</a>\n";
+ } else {
+ print "," if (!$first);
+ $first = 0;
+ print "$page";
+ }
+ }
+ next;
+ }
+ # This is to detect preformatted blocks. I look at the first
+ # line after header 'DESCRIPTION' and count the leading white
+ # space as the "standard indent". If I encounter a line with
+ # a indent greater than the value of standard_indent then
+ # surround it with <pre> and </pre>
+ if ($next_action eq 'check_indent') {
+ if (/^(\s+)\S+.*/) {
+ $standard_indent = length($1);
+ $next_action = '';
+ }
+ }
+ #
+ $before = length($_);
+ $saved = $_;
+ s/^[ ][ ]*//; # Delete leading whitespace
+ $after = length($_);
+ s/[ ][ ]*$//; # Delete trailing whitespace
+
+ if ($begtag) {
+ chop;
+ print "$begtag$_$endtag\n";
+ print "$begtag2$_$endtag2\n" if ($begtag2);
+ $blanks = 0;
+ $begtag2 = $endtag2 = $begtag = $endtag = '';
+ next;
+ }
+ if ((!$section_fmt) && (!$section_pre) && ($standard_indent)) {
+ if (($blanks == 1) && (!$pre) && ($after + $standard_indent) < $before) {
+ $pre = 1;
+ print "<pre>\n";
+ } elsif (($pre) && ($after + $standard_indent) >= $before) {
+ $pre = 0;
+ print "</pre>\n";
+ }
+ }
+ if (($section_pre) || ($pre)) {
+ print "$saved";
+ $blanks = 0;
+ next;
+ }
+ # Handle word cont-
+ # inuations
+ if ($prefix) {
+ print $prefix;
+ $prefix = '';
+ }
+ if (/^(.+)\s+(\w+)\-\s*$/) {
+ $prefix = $2;
+ print "$1\n";
+ $blanks = 0;
+ next;
+ }
+ print;
+ $blanks = 0;
+ }
+ close(MAN);
+}
+
+# EOF
diff --git a/itcl/iwidgets/doc/tk2html2.awk b/itcl/iwidgets/doc/tk2html2.awk
new file mode 100644
index 00000000000..0134df1ad3c
--- /dev/null
+++ b/itcl/iwidgets/doc/tk2html2.awk
@@ -0,0 +1,53 @@
+#!/bin/nawk
+# cleans up any leading crap before <TITLE> line in stream from tk2html
+
+/^<TITLE>/ { go = 1 }
+
+/^<table>*/ {
+ getline ln
+ numf = split (ln, spln)
+
+ if ( ln !~ "Name: *" )
+ {
+ ind = 0
+ inc = 4
+ print "<table cellpadding=5>"
+
+ while ( ln !~ "^</table>" )
+ {
+ for (i = 1; i <= numf; i++)
+ {
+ tablns[ind] = spln[i]
+ ind++
+ }
+ getline ln
+ numf = split (ln, spln)
+ }
+
+ for (i = 0; i < inc; i++)
+ {
+ print "<td valign=top>"
+ for (j = i; j < ind; j += inc)
+ print tablns[j] "<br>"
+ print "</td>"
+ }
+
+ print "</table>"
+ }
+
+ else
+ {
+ print "<pre>"
+ while ( ln !~ "^</table>" )
+ {
+ print ln
+ getline ln
+ }
+ print "</pre>"
+ }
+
+ next
+ }
+
+go == 1 { print $0 }
+
diff --git a/itcl/iwidgets/doc/toolbar.n b/itcl/iwidgets/doc/toolbar.n
new file mode 100644
index 00000000000..8f1d0bb6232
--- /dev/null
+++ b/itcl/iwidgets/doc/toolbar.n
@@ -0,0 +1,305 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" toolbar.n
+'\"
+.so man.macros
+.HS iwidgets::toolbar iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+\fBiwidgets::toolbar\fR \- Create and manipulate a tool bar
+.SH SYNOPSIS
+\fBiwidgets::toolbar\fR \fIpathName\fR ?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Toolbar
+.SH STANDARD OPTIONS
+.LP
+.nf
+.ta 4c 8c 12c
+\fB
+activeBackground activeForeground background borderWidth
+cursor disabledForeground font foreground
+highlightBackground highlightColor highlightThickness
+insertBackground insertForeground orient selectBackground
+selectBorderWidth selectForeground state troughColor\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options. For widgets
+added to the toolbar, these options will be propogated if the widget supports
+the option. For example, all widgets that support a font option will be changed
+if the the toolbar's font option is configured.
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBballoonBackground\fR
+Class: \fBBalloonBackground\fR
+Command-Line Switch: \fB-ballooonbackground\fR
+.fi
+.IP
+Specifies the background color of the balloon help displayed at the bottom
+center of a widget on the toolbar that has a non empty string for its
+balloonStr option. The default color is yellow.
+.LP
+.nf
+Name: \fBballoonDelay1\fR
+Class: \fBBalloonDelay1\fR
+Command-Line Switch: \fB-balloondelay1\fR
+.fi
+.IP
+Specifies the length of time (in milliseconds) to wait before initially
+posting a balloon help hint window. This delay is in effect whenever 1)
+the mouse leaves the toolbar, or 2) a toolbar item is selected with the
+mouse button.
+.LP
+.nf
+Name: \fBballoonDelay2\fR
+Class: \fBBalloonDelay2\fR
+Command-Line Switch: \fB-balloondelay2\fR
+.fi
+.IP
+Specifies the length of time (in milliseconds) to wait before continuing to
+post balloon help hint windows. This delay is in effect after the first
+time a balloon hint window is activated. It remains in effect until 1) the
+mouse leaves the toolbar, or 2) a toolbar item is selected with the mouse
+button.
+.LP
+.nf
+Name: \fBballoonFont\fR
+Class: \fBBalloonFont\fR
+Command-Line Switch: \fB-balloonfont\fR
+.fi
+.IP
+Specifies the font of the balloon help text displayed at the bottom center
+of a widget on the toolbar that has a non empty string for its
+balloonStr option. The default font is 6x10.
+.LP
+.nf
+Name: \fBballoonForeground\fR
+Class: \fBBalloonForeground\fR
+Command-Line Switch: \fB-ballooonforeground\fR
+.fi
+.IP
+Specifies the foreground color of the balloon help displayed at the
+bottom center of a widget on the toolbar that has a non empty string for
+its balloonStr option. The default color is black.
+.LP
+.nf
+Name: \fBhelpVariable\fR
+Class: \fBHelpVariable\fR
+Command-Line Switch: \fB-helpvariable\fR
+.fi
+.IP
+Specifies the global variable to update whenever the mouse is in motion
+over a toolbar widget. This global variable is updated with the current
+value of the active widget's helpStr. Other widgets can "watch" this
+variable with the trace command, or as is the case with entry or label
+widgets, they can set their textVariable to the same global variable. This
+allows for a simple implementation of a help status bar. Whenever the
+mouse leaves a menu entry, the helpVariable is set to the empty string {}.
+.LP
+.nf
+Name: \fBorient\fR
+Class: \fBOrient\fR
+Command-Line Switch: \fB-orient\fR
+.fi
+.IP
+Specifies the orientation of the toolbar. Must be either horizontal or
+vertical.
+.BE
+.SH DESCRIPTION
+The \fBiwidgets::toolbar\fR command creates a new window (given by the pathName
+argument) and makes it into a \fBtoolbar\fR widget. Additional options,
+described above may be specified on the command line or in the option
+database to configure aspects of the toolbar such as its colors, font,
+and orientation. The \fBiwidgets::toolbar\fR command returns its pathName argument. At
+the time this command is invoked, there must not exist a window named
+pathName, but pathName's parent must exist.
+.PP
+A \fBtoolbar\fR is a widget that displays a collection of widgets arranged
+either in a row or a column (depending on the value of the -orient option).
+This collection of widgets is usually for user convenience to give access
+to a set of commands or settings. Any widget may be placed on a toolbar.
+However, command or value-oriented widgets (such as button, radiobutton,
+etc.) are usually the most useful kind of widgets to appear on a toolbar.
+.PP
+In addition, the toolbar adds two new options to all widgets that are added to
+it. These are the \fBhelpStr\fR and \fBballoonStr\fR options. See the
+discussion for the widget command add below.
+
+.SH "WIDGET-SPECIFIC METHODS"
+.PP
+The iwidgets::toolbar command creates a new Tcl command whose name is pathName. This
+command may be used to invoke various operations on the widget. It has the
+following general form:
+.DS C
+\fIpathName\fR \fIoption\fR \fI?arg arg ...?\fR
+.DE
+Option and args determine the exact behavior of the command.
+.PP
+Many of the widget commands for a toolbar take as one argument an indicator of
+which widget item of the toolbar to operate on. The indicator is called
+an \fBindex\fR and may be specified in any of the following forms:
+.TP
+\fInumber\fR
+Specifies the widget numerically, where 0 corresponds to the first
+widget in the notebook, 1 to the second, and so on. (For horizontal, 0 is the
+leftmost; for vertical, 0 is the topmost).
+.TP
+\fBend\fR
+Specifes the last widget in the toolbar's index. If the toolbar is
+empty this will return -1.
+.TP
+\fBlast\fR
+Same as end.
+.TP
+\fIpattern\fR
+If the index doesn't satisfy any of the above forms, then this form is
+used. Pattern is pattern-matched against the widgetName of each widget in the
+toolbar, in order from the first to the last widget, until a matching entry is
+found. An exact match must occur.
+.PP
+The following commands are possible for toolbar widgets:
+.TP
+\fIpathName\fR \fBadd\fR \fIwidgetCommand\fR \fIwidgetName\fR \fI?option value?\fR
+Adds a widget with the command widgetCommand whose name is widgetName to the
+toolbar. If widgetCommand is radiobutton or checkbutton, its packing is
+slightly padded to match the geometry of button widgets. In addition, the
+indicatorOn option is false by default and the selectColor is that of the
+toolbar background by default. This allows Radiobutton and Checkbutton widgets
+to be added as icons by simply setting their bitmap or image options. If
+additional arguments are present, they are the set of available options
+that the widget type of \fIwidgetCommand\fR supports. In addition they may
+also be one of the following options:
+.RS
+.TP
+\fB-helpstr\fR \fIvalue\fR
+Specifes the help string to associate with the widget. When the mouse moves
+over the widget, the variable denoted by \fBhelpVariable\fR is set
+to \fBhelpStr\fR. Another widget can bind to the helpVariable and thus
+track status help.
+.TP
+\fB-balloonstr\fR \fIvalue\fR
+Specifes the string to display in a balloon window for this widget. A
+balloon window is a small popup window centered at the bottom of the
+widget. Usually the \fBballoonStr\fR value is the name of the item on the
+toolbar. It is sometimes known as a hint window.
+.IP
+When the mouse moves into an item on the toolbar, a timer is set based on
+the value of \fBballoonDelay1\fR. If the mouse stays inside the item
+for \fBballoonDelay1\fR, the balloon window will pop up displaying
+the \fBballoonStr\fR value. Once the balloon window is posted, a new
+timer based on \fBballoonDelay2\fR is set. This is typically a shorter
+timer. If the mouse is moved to another item, the window is unposted and
+a new window will be posted over the item if the shorter delay time is
+satisfied.
+.IP
+While the balloon window is posted, it can also be unposted if the item
+is selected. In this case the timer is reset to \fBballoonDelay1\fR.
+Whenever the mouse leaves the toolbar, the timer is also reset
+to \fBballoonDelay1\fR.
+.IP
+This window posting/unposting model is the same model used in the
+Windows95 environment.
+.RE
+.TP
+\fIpathName\fR \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given by \fIoption\fR.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR \fIvalue\fR?
+Query or modify the configuration options of the widget. If no \fIoption\fR is
+specified, returns a list describing all of the available options for pathName
+(see Tk_ConfigureInfo for information on the format of this list). If
+\fIoption\fR is specified with no value, then the command returns a
+list describing the one
+named option (this list will be identical to the corresponding sublist of the
+value returned if no option is specified). If one or more option-value pairs
+are specified, then the command modifies the given widget option(s) to have the
+given value(s); in this case the command returns an empty string.
+.TP
+\fIpathName\fR \fBdelete\fR \fIindex\fR ?\fIindex2\fR?
+This command deletes all items between \fIindex\fR and \fIindex2\fR
+inclusive. If \fIindex2\fR is omitted then it defaults to \fIindex\fR.
+Returns an empty string.
+.TP
+\fIpathName\fR \fBindex\fR \fIindex\fR
+Returns the widget's numerical index for the entry corresponding
+to \fIindex\fR. If \fIindex\fR is not found, -1 is returned.
+.TP
+\fIpathName\fR \fBinsert\fR \fIbeforeIndex\fR \fIwidgetCommand\fR \fIwidgetName\fR \fI?option value?\fR
+.TP
+Insert a new item named \fIwidgetName\fR with the
+command \fIwidgetCommand\fR before the item specified by \fIbeforeIndex\fR.
+If \fIwidgetCommand\fR is \fBradiobutton\fR or \fBcheckbutton\fR, its
+packing is slightly padded to match the geometry of button widgets. In
+addition, the \fBindicatorOn\fR option is \fBfalse\fR by default and the
+\fBselectColor\fR is that of the toolbar background by default. This allows
+\fBRadiobutton\fR and \fBCheckbutton\fR widgets to be added as icons by
+simply setting their \fBbitmap\fR or \fBimage\fR options. The set of
+available options is the same as specified in the \fBad\fR command.
+.TP
+\fIpathName\fR \fBitemcget\fR \fIindex\fR \fIoption\fR
+Returns the current value of the configuration option given by \fIoption\fR for
+index. The item type of \fIindex\fR determines the valid available options.
+.TP
+\fIpathName\fR \fBitemconfigure\fR \fIindex\fR \fI?option value?\fR
+Query or modify the configuration options of the widget of the toolbar
+specified by \fIindex\fR. If no option is specified,
+returns a list describing all of
+the available options for \fIindex\fR
+(see \fBTk_ConfigureInfo\fR for information on the
+format of this list). If \fIoption\fR is specified with no value,
+then the command
+returns a list describing the one named option (this list will be identical to
+the corresponding sublist of the value returned if no option is specified). If
+one or more option-value pairs are specified, then the command modifies the
+given widget option(s) to have the given value(s); in this case the command
+returns an empty string. The item type of \fIindex\fR determines the valid
+available options. The set of available options is the same as specified
+in the \fBad\fR command.
+.SH EXAMPLE
+.DS
+ package require Iwidgets 4.0
+ iwidgets::toolbar .tb -helpvariable statusVar
+
+ .tb add button item1 \\
+ -helpstr "Save It" -bitmap @./icons/Tool_32_box.xbm \\
+ -balloonstr "Save" -command {puts 1}
+ .tb add button item2 \\
+ -helpstr "Save It" -bitmap @./icons/Tool_32_brush.xbm \\
+ -balloonstr "Save" -command {puts 1}
+ .tb add button item3 \\
+ -helpstr "Save It" -bitmap @./icons/Tool_32_cut.xbm \\
+ -balloonstr "Save" -command {puts 1}
+ .tb add button item4 \\
+ -helpstr "Save It" -bitmap @./icons/Tool_32_draw.xbm \\
+ -balloonstr "Save" -command {puts 1}
+ .tb add button item5 \\
+ -bitmap @./icons/Tool_32_erase.xbm -helpstr "Play It" \\
+ -command {puts 2}
+ .tb add frame filler \\
+ -borderwidth 1 -width 10 -height 10
+ .tb add radiobutton item6 \\
+ -bitmap @./icons/Tool_32_oval.xbm -command {puts 4} \\
+ -variable result -value OPEN -helpstr "Radio Button # 1" \\
+ -balloonstr "Radio"
+ .tb add radiobutton item7 \\
+ -bitmap @./icons/Tool_32_line.xbm -command {puts 5} \\
+ -variable result -value CLOSED
+ .tb add checkbutton item8 \\
+ -bitmap @./icons/Tool_32_text.xbm -command {puts 6} \\
+ -variable checkit -onvalue yes -offvalue no
+ .tb add checkbutton check2 \\
+ -bitmap @./icons/Tool_32_points.xbm -command {puts 7} \\
+ -variable checkit2 -onvalue yes -offvalue no
+
+ pack .tb -side top -anchor nw
+.DE
+.SH AUTHOR
+Bill Scott
+.SH KEYWORDS
+toolbar, button, radiobutton, checkbutton, iwidgets, widget
+
diff --git a/itcl/iwidgets/doc/watch.n b/itcl/iwidgets/doc/watch.n
new file mode 100644
index 00000000000..660d6bcaee6
--- /dev/null
+++ b/itcl/iwidgets/doc/watch.n
@@ -0,0 +1,286 @@
+'\"
+'\" Copyright (c) 1995 DSC Technologies Corporation
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" @(#) watch.n
+'\"
+.so man.macros
+.HS iwidgets::watch iwid
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+iwidgets::watch \- Create and manipulate time with a watch widgets
+.SH SYNOPSIS
+\fBiwidgets::watch\fI \fIpathName \fR?\fIoptions\fR?
+.SH "INHERITANCE"
+itk::Widget <- iwidgets::Watch
+
+.SH "STANDARD OPTIONS"
+.LP
+.nf
+.ta 4c 8c 12c
+\fBbackground\fR \fBcursor\fR \fBforeground\fR \fBrelief\fR
+.fi
+.LP
+See the "options" manual entry for details on the standard options.
+.SH "ASSOCIATED OPTIONS"
+.LP
+See the "Canvas" manual entry for details on the above associated options.
+
+.SH "WIDGET-SPECIFIC OPTIONS"
+.LP
+.nf
+Name: \fBclockColor\fR
+Class: \fBColorfR
+Command-Line Switch: \fB-clockcolor\fR
+.fi
+.IP
+Fill color for the main oval encapsulating the watch, in any of the forms
+acceptable to \fBTk_GetColor\fR. The default is "White".
+.nf
+.LP
+Name: \fBclockStipple\fR
+Class: \fBBitmapfR
+Command-Line Switch: \fB-clockstipple\fR
+.fi
+.IP
+Bitmap for the main oval encapsulating the watch, in any of the forms
+acceptable to \fBTk_GetBitmap\fR. The default is "".
+.LP
+.nf
+Name: \fBheight\fR
+Class: \fBHeight\fR
+Command-Line Switch: \fB-height\fR
+.fi
+.IP
+Specifies the height of the watch widget in any of the forms
+acceptable to \fBTk_GetPixels\fR. The default height is 175 pixels.
+.LP
+.nf
+Name: \fBhourColor\fR
+Class: \fBColorfR
+Command-Line Switch: \fB-hourcolor\fR
+.fi
+.IP
+Fill color for the hour hand, in any of the forms acceptable to \fBTk_GetColor\fR.
+The default is "Red".
+.LP
+.nf
+Name: \fBhourRadius\fR
+Class: \fBRadius\fR
+Command-Line Switch: \fB-hourradius\fR
+.fi
+.IP
+Specifies the radius of the hour hand as a percentage of the radius
+from the center to the out perimeter of the clock.
+The value must be a fraction <= 1. The default is ".5".
+.LP
+.nf
+Name: \fBminuteColor\fR
+Class: \fBColorfR
+Command-Line Switch: \fB-minutecolor\fR
+.fi
+.IP
+Fill color for the minute hand, in any of the forms acceptable to \fBTk_GetColor\fR.
+The default is "Yellow".
+.LP
+.nf
+Name: \fBminuteRadius\fR
+Class: \fBRadius\fR
+Command-Line Switch: \fB-minuteradius\fR
+.fi
+.IP
+Specifies the radius of the minute hand as a percentage of the radius
+from the center to the out perimeter of the clock.
+The value must be a fraction <= 1. The default is ".8".
+.LP
+.nf
+Name: \fBpivotColor\fR
+Class: \fBColorfR
+Command-Line Switch: \fB-pivotcolor\fR
+.fi
+.IP
+Fill color for the circle in which the watch hands rotate
+in any of the forms acceptable to \fBTk_GetColor\fR.
+The default is "White".
+.LP
+.nf
+Name: \fBpivotRadius\fR
+Class: \fBRadius\fR
+Command-Line Switch: \fB-pivotradius\fR
+.fi
+.IP
+Specifies the radius of the circle in which the watch hands rotate
+as a percentage of the radius. The value must be a fraction <= 1.
+The default is ".1".
+.LP
+.nf
+Name: \fBsecondColor\fR
+Class: \fBColorfR
+Command-Line Switch: \fB-secondcolor\fR
+.fi
+.IP
+Fill color for the second hand, in any of the forms acceptable to \fBTk_GetColor\fR.
+The default is "Black".
+.LP
+.nf
+Name: \fBsecondRadius\fR
+Class: \fBRadius\fR
+Command-Line Switch: \fB-secondradius\fR
+.fi
+.IP
+Specifies the radius of the second hand as a percentage of the radius
+from the center to the out perimeter of the clock.
+The value must be a fraction <= 1. The default is ".9".
+.LP
+.nf
+Name: \fBshowAmPm\fR
+Class: \fBShosAmPm\fR
+Command-Line Switch: \fB-showampm\fR
+.fi
+.IP
+Specifies whether the AM/PM radiobuttons should be displayed, in any
+of the forms acceptable to \fBTcl_GetBoolean\fR. The default is yes.
+.LP
+.nf
+Name: \fBstate\fR
+Class: \fBState\fR
+Command-Line Switch: \fB-state\fR
+.fi
+.IP
+Specifies the editable state for the hands on the watch. In a normal
+state, the user can select and move the hands via mouse button 1. The
+valid values are \fBnormal\fR, and \fBdisabled\fR. The defult is normal.
+.LP
+.nf
+Name: \fBtickColor\fR
+Class: \fBColorfR
+Command-Line Switch: \fB-tickcolor\fR
+.fi
+.IP
+Fill color for the 60 ticks around the perimeter of the watch,
+in any of the forms acceptable to \fBTk_GetColor\fR. The default is "Black".
+.LP
+.nf
+Name: \fBwidth\fR
+Class: \fBWidth\fR
+Command-Line Switch: \fB-width\fR
+.fi
+.IP
+Specifies the width of the watch widget in any of the forms
+acceptable to \fBTk_GetPixels\fR. The default height is 155 pixels.
+.BE
+
+.SH DESCRIPTION
+.PP
+
+The \fBiwidgets::watch\fR command creates a watch with hour, minute, and
+second hands modifying the time value.
+
+.SH "METHODS"
+.PP
+The \fBiwidgets::watch\fR command creates a new Tcl command whose
+name is \fIpathName\fR. This command may be used to invoke various
+operations on the widget. It has the following general form:
+.DS C
+\fIpathName option \fR?\fIarg arg ...\fR?
+.DE
+\fIOption\fR and the \fIarg\fRs
+determine the exact behavior of the command. The following
+commands are possible for watch widgets:
+
+.SH "WIDGET-SPECIFIC METHODS"
+.TP
+\fIpathName \fBcget\fR \fIoption\fR
+Returns the current value of the configuration option given
+by \fIoption\fR.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::watch\fR
+command.
+.TP
+\fIpathName\fR \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
+Query or modify the configuration options of the widget.
+If no \fIoption\fR is specified, returns a list describing all of
+the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+\fIOption\fR may have any of the values accepted by the \fBiwidgets::watch\fR
+command.
+.TP
+\fIpathName \fBget\fR ?\fBformat\fR?
+Returns the current time of the watch in a format of
+string or as an integer clock value using the \fB-string\fR and \fB-clicks\fR
+format options respectively. The default is by string. Reference the
+clock command for more information on obtaining time and its
+formats.
+.TP
+\fIpathName \fBshow\fR \fItime\fR
+Changes the currently displayed time to be that of the time
+argument. The time may be specified either as a string, an
+integer clock value or the keyword "now". Reference the clock
+command for more information on obtaining time and its format.
+.TP
+\fIpathName \fBwatch\fR ?\fBargs\fR?
+Evaluates the specifieds \fBargs\fR against the canvas component.
+
+.ta 4c
+.SH "COMPONENTS"
+.LP
+.nf
+Name: \fBcanvas\fR
+Class: \fBCanvas\fR
+.fi
+.IP
+The canvas component is the where the clock is drawn. See the
+Canvas widget manual entry for details.
+.LP
+.nf
+Name: \fBframe\fR
+Class: \fBFrame\fR
+.fi
+.IP
+The frame component is the where the "AM" and "PM" radiobuttons are displayed.
+See the Frame widget manual entry for details.
+.LP
+.nf
+Name: \fBam\fR
+Class: \fBRadiobutton\fR
+.fi
+.IP
+The am component indicates whether on not the time is relative to "AM".
+See the Radiobutton widget manual entry for details.
+.LP
+.nf
+Name: \fBpm\fR
+Class: \fBRadiobutton\fR
+.fi
+.IP
+The pm component indicates whether on not the time is relative to "PM".
+See the Radiobutton widget manual entry for details.
+.fi
+
+.SH EXAMPLE
+.DS
+package require Iwidgets 4.0
+iwidgets::watch .w -state disabled -showampm no -width 155 -height 155
+pack .w -padx 10 -pady 10 -fill both -expand yes
+
+while {1} {
+ after 1000
+ .w show
+ update
+}
+.DE
+.SH AUTHOR
+John Tucker
+.DE
+Mark L. Ulferts
+.SH KEYWORDS
+watch, hand, ticks, pivot, widget
+