Initial revision

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@140 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Lars Gullik Bjønnes 1999-09-27 18:44:28 +00:00
parent bef37e4248
commit 27de1486ca
652 changed files with 260715 additions and 0 deletions

4
.cvsignore Normal file
View File

@ -0,0 +1,4 @@
config.cache
config.log
config.status
Makefile

225
ABOUT-NLS Normal file
View File

@ -0,0 +1,225 @@
Notes on the Free Translation Project
*************************************
Free software is going international! The Free Translation Project
is a way to get maintainers of free software, translators, and users all
together, so that will gradually become able to speak many languages.
A few packages already provide translations for their messages.
If you found this `ABOUT-NLS' file inside a distribution, you may
assume that the distributed package does use GNU `gettext' internally,
itself available at your nearest GNU archive site. But you do *not*
need to install GNU `gettext' prior to configuring, installing or using
this package with messages translated.
Installers will find here some useful hints. These notes also
explain how users should proceed for getting the programs to use the
available translations. They tell how people wanting to contribute and
work at translations should contact the appropriate team.
When reporting bugs in the `intl/' directory or bugs which may be
related to internationalization, you should tell about the version of
`gettext' which is used. The information can be found in the
`intl/VERSION' file, in internationalized packages.
One advise in advance
=====================
If you want to exploit the full power of internationalization, you
should configure it using
./configure --with-included-gettext
to force usage of internationalizing routines provided within this
package, despite the existence of internationalizing capabilities in the
operating system where this package is being installed. So far, only
the `gettext' implementation in the GNU C library version 2 provides as
many features (such as locale alias or message inheritance) as the
implementation here. It is also not possible to offer this additional
functionality on top of a `catgets' implementation. Future versions of
GNU `gettext' will very likely convey even more functionality. So it
might be a good idea to change to GNU `gettext' as soon as possible.
So you need not provide this option if you are using GNU libc 2 or
you have installed a recent copy of the GNU gettext package with the
included `libintl'.
INSTALL Matters
===============
Some packages are "localizable" when properly installed; the
programs they contain can be made to speak your own native language.
Most such packages use GNU `gettext'. Other packages have their own
ways to internationalization, predating GNU `gettext'.
By default, this package will be installed to allow translation of
messages. It will automatically detect whether the system provides
usable `catgets' (if using this is selected by the installer) or
`gettext' functions. If neither is available, the GNU `gettext' own
library will be used. This library is wholly contained within this
package, usually in the `intl/' subdirectory, so prior installation of
the GNU `gettext' package is *not* required. Installers may use
special options at configuration time for changing the default
behaviour. The commands:
./configure --with-included-gettext
./configure --with-catgets
./configure --disable-nls
will respectively bypass any pre-existing `catgets' or `gettext' to use
the internationalizing routines provided within this package, enable
the use of the `catgets' functions (if found on the locale system), or
else, *totally* disable translation of messages.
When you already have GNU `gettext' installed on your system and run
configure without an option for your new package, `configure' will
probably detect the previously built and installed `libintl.a' file and
will decide to use this. This might be not what is desirable. You
should use the more recent version of the GNU `gettext' library. I.e.
if the file `intl/VERSION' shows that the library which comes with this
package is more recent, you should use
./configure --with-included-gettext
to prevent auto-detection.
By default the configuration process will not test for the `catgets'
function and therefore they will not be used. The reasons are already
given above: the emulation on top of `catgets' cannot provide all the
extensions provided by the GNU `gettext' library. If you nevertheless
want to use the `catgets' functions use
./configure --with-catgets
to enable the test for `catgets' (this causes no harm if `catgets' is
not available on your system). If you really select this option we
would like to hear about the reasons because we cannot think of any
good one ourself.
Internationalized packages have usually many `po/LL.po' files, where
LL gives an ISO 639 two-letter code identifying the language. Unless
translations have been forbidden at `configure' time by using the
`--disable-nls' switch, all available translations are installed
together with the package. However, the environment variable `LINGUAS'
may be set, prior to configuration, to limit the installed set.
`LINGUAS' should then contain a space separated list of two-letter
codes, stating which languages are allowed.
Using This Package
==================
As a user, if your language has been installed for this package, you
only have to set the `LANG' environment variable to the appropriate
ISO 639 `LL' two-letter code prior to using the programs in the
package. For example, let's suppose that you speak German. At the
shell prompt, merely execute `setenv LANG de' (in `csh'),
`export LANG; LANG=de' (in `sh') or `export LANG=de' (in `bash'). This
can be done from your `.login' or `.profile' file, once and for all.
An operating system might already offer message localization for
many of its programs, while other programs have been installed locally
with the full capabilities of GNU `gettext'. Just using `gettext'
extended syntax for `LANG' would break proper localization of already
available operating system programs. In this case, users should set
both `LANGUAGE' and `LANG' variables in their environment, as programs
using GNU `gettext' give preference to `LANGUAGE'. For example, some
Swedish users would rather read translations in German than English for
when Swedish is not available. This is easily accomplished by setting
`LANGUAGE' to `sv:de' while leaving `LANG' to `sv'.
Translating Teams
=================
For the Free Translation Project to be a success, we need interested
people who like their own language and write it well, and who are also
able to synergize with other translators speaking the same language.
Each translation team has its own mailing list, courtesy of Linux
International. You may reach your translation team at the address
`LL@li.org', replacing LL by the two-letter ISO 639 code for your
language. Language codes are *not* the same as the country codes given
in ISO 3166. The following translation teams exist, as of August 1997:
Chinese `zh', Czech `cs', Danish `da', Dutch `nl', English `en',
Esperanto `eo', Finnish `fi', French `fr', German `de', Hungarian
`hu', Irish `ga', Italian `it', Indonesian `id', Japanese `ja',
Korean `ko', Latin `la', Norwegian `no', Persian `fa', Polish
`pl', Portuguese `pt', Russian `ru', Slovenian `sl', Spanish `es',
Swedish `sv', and Turkish `tr'.
For example, you may reach the Chinese translation team by writing to
`zh@li.org'.
If you'd like to volunteer to *work* at translating messages, you
should become a member of the translating team for your own language.
The subscribing address is *not* the same as the list itself, it has
`-request' appended. For example, speakers of Swedish can send a
message to `sv-request@li.org', having this message body:
subscribe
Keep in mind that team members are expected to participate
*actively* in translations, or at solving translational difficulties,
rather than merely lurking around. If your team does not exist yet and
you want to start one, or if you are unsure about what to do or how to
get started, please write to `translation@iro.umontreal.ca' to reach the
coordinator for all translator teams.
The English team is special. It works at improving and uniformizing
the terminology in use. Proven linguistic skill are praised more than
programming skill, here.
Available Packages
==================
Languages are not equally supported in all packages. The following
matrix shows the current state of internationalization, as of August
1997. The matrix shows, in regard of each package, for which languages
PO files have been submitted to translation coordination.
Ready PO files cs da de en es fi fr it ja ko nl no pl pt sl sv
.-------------------------------------------------.
bash | [] [] [] | 3
bison | [] [] [] | 3
clisp | [] [] [] [] | 4
cpio | [] [] [] [] [] | 5
diffutils | [] [] [] [] [] | 5
enscript | [] [] [] [] [] [] | 6
fileutils | [] [] [] [] [] [] [] [] [] [] | 10
findutils | [] [] [] [] [] [] [] [] | 8
flex | [] [] [] [] | 4
gcal | [] [] [] [] [] | 5
gettext | [] [] [] [] [] [] [] [] [] [] | 11
grep | [] [] [] [] [] [] [] [] [] | 9
hello | [] [] [] [] [] [] [] [] [] [] | 10
id-utils | [] [] [] | 3
indent | [] [] [] [] | 4
libc | [] [] [] [] [] [] [] | 7
m4 | [] [] [] [] [] | 5
make | [] [] [] [] [] [] | 6
music | [] [] | 2
ptx | [] [] [] [] [] [] [] [] | 8
recode | [] [] [] [] [] [] [] [] [] | 9
sh-utils | [] [] [] [] [] [] [] | 7
sharutils | [] [] [] [] [] | 5
tar | [] [] [] [] [] [] [] [] [] [] | 10
texinfo | [] | 1
textutils | [] [] [] [] [] [] [] [] [] | 9
wdiff | [] [] [] [] [] [] [] [] | 8
`-------------------------------------------------'
16 languages cs da de en es fi fr it ja ko nl no pl pt sl sv
27 packages 3 2 24 1 17 1 26 2 1 11 20 9 19 7 7 17 167
Some counters in the preceding matrix are higher than the number of
visible blocks let us expect. This is because a few extra PO files are
used for implementing regional variants of languages, or language
dialects.
For a PO file in the matrix above to be effective, the package to
which it applies should also have been internationalized and
distributed as such by its maintainer. There might be an observable
lag between the mere existence a PO file and its wide availability in a
distribution.
If August 1997 seems to be old, you may fetch a more recent copy of
this `ABOUT-NLS' file on most GNU archive sites.

114
ANNOUNCE Normal file
View File

@ -0,0 +1,114 @@
Public release of LyX version 1.0.1
===================================
What is LyX?
------------
LyX is an advanced open-source "document processor". Unlike standard
word processors, LyX encourages writing based on the structure of your
documents, not their appearance, It lets you concentrate on writing,
leaving details of visual layout to the software.
With the familiar face of a WSYWIG word processor, LyX produces high
quality, professional output -- using LaTeX, an industrial
strength typesetting engine. No knowledge of LaTeX is required to
use LyX; however, there is also a "TeX mode" which allows you to enter
plain LaTeX commands.
All in all, LyX is a complete environment for writing documents. It has
superior support for scientific writing, but works well for any kind of
document.
Read more about LyX (including screen shots) at:
http://www.lyx.org/
What can LyX do?
----------------
A very incomplete feature list:
- "standard" word processing: fonts, cut & paste, infinite undo...
- footnotes, citations, cross-referencing, faxes, spellchecking
- almost any math expression (with a simple, but powerfull interface)
- automatic, multilevel outline support (enumerated or bullets)
- tables and embedded postscript figures support
- import LaTeX or ASCII
- export LaTeX, ASCII, DVI, PostScript, LinuxDoc-SGML
- fair support for non-English documents and/or menus
- extensive documentation, including a tutorial
- version control using RCS
What's new compared to LyX version 0.12.0?
------------------------------------------
Most importantly, import of LaTeX documents is possible if you have
Perl installed. Other than that, some new features, and lots of bug
fixes. See WHATSNEW
How stable is LyX?
------------------
This release is considered stable, but as with any software, you should
take appropriate back-up steps in a production environment.
Where can I get it?
-------------------
LyX is distributed under the GNU General Public Licence (GPL), which
means that you can not only use it freely, but also modify and
redistribute it, provided that you include the source of the program.
The main LyX site is
ftp://ftp.lyx.org/pub/lyx/
with mirrors at
ftp://alpha.tat.physik.uni-tuebingen.de/pub/lyx
ftp://ftp.lip6.fr/pub/lyx/
ftp://ftp.sdsc.edu/pub/other/lyx/
ftp://ftp.fciencias.unam.mx/pub/Lyx/
ftp://mirror.aarnet.edu.au/pub/LyX/
The source code package is available at:
ftp://ftp.lyx.org/pub/lyx/stable/lyx-1.0.0.tar.gz
ftp://ftp.devel.lyx.org/pub/lyx/lyx-1.0.0.tar.gz
and at the mirrors listed above.
You need to have XForms version 0.81, 0.86 or 0.88 to compile your own
version. Version 0.88 is highly recomended.
Ready-to-run precompiled binaries for various platforms are available at:
ftp://ftp.lyx.org/pub/lyx/bin/1.0.0/
Binaries for i386-Linux are also available at your local sunsite mirror:
ftp://sunsite.unc.edu/pub/Linux/apps/editors/lyx-1.0.0-bin.tar.gz
Credits
-------
The LyX Team is composed of volunteers from around the world. Many, many
people have helped make the 1.0 release possible, including:
Lars Gullik Bjoennes, Alejandro Aguilar Sierra, Asger Alstrup,
Jean-Marc Lasgouttes, Juergen Vigna, John P. Weiss, Bernhard Iselborn,
Andre Spiegel, Allan Rae, Henner Zeller, Robert van der Kamp,
David L. Johnson, Amir Karger, Joacim Persson, Peter Suetterlin,
SMiyata, Alkis Polyzotis, ...
Special thanks should go to Matthias Ettrich who started it all.
Feedback
--------
Please direct any comments or questions to the appropriate mailing list as
described on the LyX homepage (http://www.lyx.org/).
Enjoy!
The LyX Team

3841
CHANGES Normal file

File diff suppressed because it is too large Load Diff

379
COPYING Normal file
View File

@ -0,0 +1,379 @@
While LyX has been released nominally under the GPL in the past, it
has in fact never been truly GPL. Particularly, it has always been
linked to a closed source library. While some have taken a view that
such actions violate the GPL, this is a legal impossibility. The law
is quite clear that the release of the software by the original authors
and copyright holders changed the licenses.
Rather than leaving the issue to be debated, the following
clarifications are given. This is *not* a change of license, but a
clarification of the license that LyX has always used. All patches
submitted to LyX fall under this same license.
1) LyX is quasi-GPL software. The terms of the GPL apply save where
they conflict with this statement.
2) There is no limitation on the license or nature of any software,
source, binary, library, or other, that may be linked to LyX, or to
which LyX may be linked. Particularly, the second full paragraph of
section 2, from 'These requirements apply to the modified work'
through 'who wrote it.' is rejected in its entirety.
3) There is no limitation on combining LyX source code with code
subject to any other license, provided that the LyX source remains
under this same license. Particularly, Section 3 of the GPL is
rejected in its entirety. To redistribute a modified version of LyX,
the entire source code of the modified LyX must be made available under
the terms of this license or such other licenses as apply to portions
of the original or modified code.
4) Any other clause or interpretation of the GPL limiting the
combination of other software of any type and LyX is rejected in its
entirety, provided that the LyX code and modifications to the LyX
source code remains under this same license, or such other licenses as
apply to portions of the original or modified code.
5) Nothing in this statement purports to alter or interpret the
license of any other software. Any combination of other software with
LyX must also meet the requirements of that software.
------------------------------------------------------------------------
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

13
ChangeLog Normal file
View File

@ -0,0 +1,13 @@
1999-09-27 Lara Gullik Bjønnes <larsbj@lyx.org>
* All over: Tried to clean everything up so that only the files
that we really need are included in the cvs repository.
* Switched to use automake.
* Generaton of reLyX is not perfect, LYX_DIR does not get substituted.
* Install has not been checked.
1999-09-22 Lars Gullik Bjønnes <larsbj@lyx.org>
* po/pt.po: Three errors:
l.533 and l.538 format specification error
l. 402 duplicate entry, I just deleted it.

380
INSTALL Normal file
View File

@ -0,0 +1,380 @@
Compiling and installing LyX
============================
Quick compilation guide
-----------------------
These four steps will compile, test and install LyX:
1) ./configure
configures LyX to your system.
2) make
compiles the program.
3) src/lyx
runs the program so you can check it out.
4) make install
will install it.
Requirements
------------
You will need to have both an Xforms library and Xpm library to compile
LyX. It is imperative that you have the correct versions of these
libraries, and their associated header files.
As of LyX version 1.0.0, you will need to have Xforms library and header
version 0.81, 0.86, or 0.88. Version 0.88 is a stable release and the
recommended version. On some systems, such as linux ELF, there are shared
library versions of the Xforms library, which require an installation step
to configure the system.
Xforms is available (free) only in binary format, source code is not
available. If it is not available for your machine, contact the Xforms
developers to request a version for your system. You can get it from
http://bragg.phys.uwm.edu/xforms
ftp://bragg.phys.uwm.edu/pub/xforms/
ftp://ftp.lyx.org/pub/xforms/
ftp://ftp.fu-berlin.de/unix/X11/gui/xforms
ftp://ftp.cs.ruu.nl/pub/XFORMS/
In addition, you must have libXpm version 4.7 (or newer; 4.8 rumoured
to work).
libXpm can be found at:
http://www.funet.fi/pub/Linux/sunsite/X11/libs/!INDEX.html
(or similar locations at other sunsites like sunsite.unc.edu)
If you compile LyX with gcc, you should not need to have libg++ installed
on most systems. However, see the note in the section `Problems'.
If you make modifications to files in src/ (for example by applying a
patch), you will need to have the GNU gettext package installed, due to
some dependencies in the makefiles. You can find the latest (alpha)
version from:
ftp://alpha.gnu.org/gnu/gettext-0.10.xx.tar.gz.
LyX contains a hack to work around this, but you should not rely too
much on it.
Finally, the two following programs should be available at
configuration time:
o Perl (at least 5.002) is needed for the reLyX script. reLyX will
not be installed if perl is not found. If the environment
variable PERL is set to point to some program, this value will be
used, even if the program does no exist (this can be useful if
the machine on which LyX is built is not the one where it will
run).
o LaTeX2e should be correctly setup for the user you are logged
as. Otherwise, LyX will not be able to run a number of tests. Note
that users can run these tests manually with Option->Configure.
Creating the Makefile
---------------------
LyX can be configured using GNU autoconf utility which attempts to guess
the configuration needed to suit your system. The standard way to use it
is described in the file INSTALL.autoconf. In most cases you will be able
to create the Makefile by typing
./configure
For more complicated cases, LyX configure takes the following specific
flags:
o --with-extra-lib=DIRECTORY that specifies the path where LyX will find
extra libraries (Xpm, xforms) it needs. Defaults to NONE (i.e. search
in standard places). You can specify several directories, separated
by colons.
o --with-extra-inc=DIRECTORY that gives the place where LyX will find
xforms headers. Defaults to NONE (i.e. search in standard places).
You can specify several directories, separated by colons.
o --with-extra-prefix[=DIRECTORY] that is equivalent to
--with-extra-lib=DIRECTORY/lib --with-extra-inc=DIRECTORY/include
If DIRECTORY is not specified, the current prefix is used.
o --with-two-colors=[yes|no] that forces LyX to use two colors pixmaps
(bitmaps) instead of the full-colored standard ones. Defaults to no.
There are also flags to control the internationalization support in
LyX:
o --disable-nls suppresses all internationalization support,
yielding a somewhat smaller code.
o --with-included-gettext forces the use of the included GNU gettext
library, although you might have another one installed.
o --with-catgets allows to use the catget() functions which can
exist on your system. This can cause problems, though. Use with
care.
o You can also set the environment variable LINGUAS to a list of
language in case ou do not want to install all the translation
files. For example, if you are only interested in German and
Finnish, you can type (with sh or bash)
export LINGUAS='de fi'
before running configure.
Moreover, the following generic configure flags may be useful:
o --prefix=DIRECTORY specifies the root directory to use for
installation. [defaults to where lyx has already been installed or
/usr/local]
o --program-suffix=STRING sets the name of the installed LyX binary and
of the LyX library directory to lyxSTRING. This may be used to
compile lyx as lyx-1.0.0 and avoid clashes with earlier/later versions.
o --datadir=DIRECTORY gives the directory where all extra LyX
files (lyxrc example, documentation, templates and layouts
definitions) will be installed.
[defaults to ${prefix}/share/lyx${program_suffix}]
o --bindir=DIRECTORY gives the directory where the lyx binary
will be installed. [defaults to ${prefix}/bin]
o --mandir=DIRECTORY gives the directory where the man pages will go.
[defaults to ${prefix}/man]
Note that the --with-extra-* commands are not really robust when it
comes to use of relative paths. If you really want to use a relative path
here, you can prepend it with "`pwd`/".
If you do not like the default compile flags used (-g -O2 on gcc), you can
set CXXFLAGS variable to other values as follows:
o CXXFLAGS='-O2' (sh, bash)
o setenv CXXFLAGS '-O2' (csh, tcsh)
Similarly, if you want to force the use of some specific compiler, you can
give a value to the CXX variable.
If you encounter problems, please read the section 'Problems' at the end of
this file.
In particular, the following options could be useful in some
desperate cases:
o --with-debug that specifies whether you want to have debug information
by default on standard error. Default is no.
o --with-warnings that make the compiler output more warnings during
the compilation of LyX. Opposite is --without-warnings. By default,
this flag is on for development versions only.
o --with-broken-headers that provides prototypes to replace functions
not correctly defined in SunOS4 and SCO header files. Its only effect is
to suppress a few warnings. It is autodetected by default.
o --without-latex-config that disables the automatic detection of your
latex. This detection is automatically disabled if latex cannot be found.
If you find that you have to use this flag, please report it as a bug.
o --with-broken-const attempts to fix a bug in gcc 2.7.[012] (see the
section 'Problems').
o ---with-gcc-hack which provide a wrapper around gcc that tries to
compile without optimization after a compilation failed (see the
section 'Problems').
o --without-liberty suppresses the detection of the -liberty library
(see the section 'Problems').
Compiling and installing LyX
----------------------------
Once you've got the Makefile created, you just have to type:
make all
make install
All should be OK ;)
BTW: in the images subdirectory there is also a small icon "lyx.xpm",
that can be used to display lyx-documents in filemanagers.
If configure fails for some strange reason
------------------------------------------
Even when configure fails, it creates a Makefile. You always can check
the contents of this file, modify it and run 'make'.
Compiling For Multiple Architectures
------------------------------------
You can compile LyX for more than one kind of computer at the same
time, by placing the object files for each architecture in their own
directory. To do this, you must use a version of `make' that supports
the `VPATH' variable, such as GNU `make'. `cd' to the directory where
you want the object files and executables to go and run the
`configure' script. `configure' automatically checks for the source
code in the directory that `configure' is in and in `..'.
If you have to use a `make' that does not supports the `VPATH'
variable, you have to compile LyX for one architecture at a time in
the source code directory. After you have installed LyX for one
architecture, use `make distclean' before reconfiguring for another
architecture.
Stripping LyX
-------------
A LyX binary for linux is about 1M when compiled without debug-information
and with dynamic libraries. If yours is much bigger you probably compiled
it with debug-informations (-g). If you don't want to debug LyX just enter
strip src/lyx
before installing. Note that this is done automatically for public
versions.
Problems
--------
This section provides several hints that have been submitted by LyX
team member or users to help compiling on some particular
architectures. If you find that some of this hints are wrong, please
notify us.
o If you have problems indicating that configure cannot find a part of
the xforms or Xpm library, use the --with-extra-lib and --with-extra-inc
options of configure to specify where these libraries reside.
o Configure will seemingly fail to find xpm.h and forms.h on linux if
you did a 'make mrproper' in the kernel directory, because this
removes some symbolic links that are needed for compilation. A 'make
symlinks' in linux kernel sources fixes that.
o If you have GNU gettext installed on your system (e.g. on linux),
you will get tons of warnings like:
bullet_forms.C:101: warning: passing `char *' to argument 1 of
`__builtin_constant_p(int)' lacks a cast
These are in harmless warnings caused by a bug in libintl.h, but
will be solved if you use --with-included-gettext when configuring
LyX.
o On Digital Unix with cxx, you may have a compilation error in
lyx_main.C if you have GNU gettext installed. This is due to a bug
in gettext. To solve this, you can either (1) configure with
--with-included-gettext or (2) add -D__STDC__ to cxx flags.
o The configure script seems to hang while it is checking the LaTeX setup.
We think that this is not a real problem, but rather a symptom of the
fact that the ec-fonts are being rendered. This process can take quite
some time, so the remedy is simply to have patience. (The fonts need to
be rendered at some point to be usable anyways.)
o According to John Collins <collins@phys.psu.edu>, on SunOS 4.1.3 you may
find two sets of X libraries, and they are of course incompatible :-)
One is the set provided as part of OpenWindows, and one is the standard
X distribution (e.g., X11R5). If you encounter problems (or if, for
some obscure reasons configure cannot find your X libraries) you can
use the following options:
o --x-libraries=DIRECTORY that indicates where the X libraries reside.
o --x-includes=DIRECTORY that indicate where the X include files reside.
The standard X11R5 libraries should work when the OpenWindows ones
don't.
o Some systems lack functions that LyX needs. To fix this, configure
tries to link against the -liberty library, if it is available.
If you experience problems with missing symbols at link time, you
could try to install libiberty.a, which comes with several GNU
packages (in particular libg++). In any case, please report your
problems to lyx-devel@lists.lyx.org.
The option --without-liberty disable the detection of -liberty. It
is meant for debugging purpose only.
o There are several known bugs in gcc 2.7.xx that cause compiler
errors. This is in particular the case in spellchecker.C under
HP-UX 9.05 (ask Bernhard Iselborn <biselbor@rhrk.uni-kl.de> for
more comments) and in lyxrc.C under Linux/Alpha or DEC OSF/1. In
both cases, the solution is to recompile the offending file
without optimization and resume the compilation process with
'make'. To make things simpler, you can use the option
--with-gcc-hack of configure that will do that for you
automatically.
o According to David Sundqvist <David_Sundqvist@vd.volvo.se>, some
changes are needed to compile with aCC on HP-UX 10.20. These are the
relevant changes in the makefile (with comments tagged on):
CXX = /opt/aCC/bin/aCC
CXXFLAGS = -O +inst_none # The aCC compiler tries to run instantiations
# which currently break.
LIBS = -lforms -lXpm -lSM -lICE -lc -lm -lX11 -lCsup # must link with Csup
LDFLAGS = -L/opt/aCC/lib # perhaps not needed.
o There is a bug in gcc 2.7.[012] in the handling of const which can
cause various unpredictable problems. If you experience weird
crashes with a LyX compiled by gcc 2.7.[012], try to configure
with the --with-broken-const flag and recompile. If this improves
things, please report it to the mailing list. Note that this
compiler bug is fixed in gcc 2.7.2.1 and in several Linux
distributions of gcc 2.7.[012].
This bug is currently not autodetected, but any code to do so
would be welcome. A patch for gcc 2.7.2 is as follows:
*** clean-ss-951203/expr.c Sun Nov 26 08:18:07 1995
--- ss-951203/expr.c Mon Dec 4 11:41:18 1995
*************** expand_expr (exp, target, tmode, modifie
*** 4582,4587 ****
through a pointer to const does not mean that the value there can
never change. Languages where it can never change should
also set TREE_STATIC. */
! RTX_UNCHANGING_P (temp) = TREE_READONLY (exp) | TREE_STATIC (exp);
return temp;
}
--- 4582,4588 ----
through a pointer to const does not mean that the value there can
never change. Languages where it can never change should
also set TREE_STATIC. */
! RTX_UNCHANGING_P (temp) = TREE_READONLY (exp) & TREE_STATIC (exp);
return temp;
}
o On Digital Unix with gcc, you can get warnings like
warning, LyXFamilyNames not found in original or external symbol tables, value defaults to 0
warning, LyXSeriesNames not found in original or external symbol tables, value de
These concern symbols beginning with an uppercase letter and seems
to be harmless. Similarly, the compilation can end with the
following warning:
/bin/ld:
Warning: Linking some objects which contain exception information sections
and some which do not. This may cause fatal runtime exception handling
problems (last obj encountered without exceptions was ../intl/libintl.a).
You can safely ignore it.
o Configure fails to work with cxx V5.0-3 on Digital Unix
V3.2c. This is due to a bug in this particular version of cxx.
Contact Achim Bohnet <ach@rosat.mpe-garching.mpg.de> for more
details concerning this problem.

589
INSTALL.OS2 Normal file
View File

@ -0,0 +1,589 @@
INSTALL.OS2 file for OS/2 version of LyX 1.0.1
by Shigeru Miyata <miyata@kusm.kyoto-u.ac.jp>
modified by Arnd Hanses <Arnd.H.Hanses@rz.ruhr-uni-bochum.de>
##############################################################
- This INSTALL.OS2 file is a more detailed step by step guide on
installing (or compiling) LyX and related useful (or even
necessary) optional programs on OS/2.
- For general information on LyX please refer to the generic
README and README.OS2. For generic compilation instructions
refer to INSTALL. WHATSNEW also contains important information.
Thanks to all contributors to this piece of documentation,
namely Mika Kristian Laitio <lamikr@cc.jyu.fi>.
I hope this will make live a bit easier for OS/2 LyXers.
Happy LyXing!
CONTENTS:
========
A. Installation Details
I. Requirements/Optional Software
1) XFree/2
2) xpm.dll library (depends on distribution)
3) 'GNU file utilities' and 'sed'
4) LaTeX and 'dvips' (Options)
5) 'Xdvi', 'gs', 'ghostview' or 'gv' (Options)
6) 'perl' (Option)
7) 'man' and 'gnugroff' (Options)
II. Installing a Binary Distribution
B. Compiling/Installing the Source Distribution
A. Installation Details:
------------------------
* Introduction:
------------
LyX and related programs have been ported from UNIX, following
the UNIX design philosophy to do complex tasks combining small
external standard utilities.
UNIX is designed as a multi user system, where a professional
system administrator maintains applications. On a single user
workstation the user has to do this complicated job. Often
programs assume you are familiar with the details of the UNIX
standard. Even if documentation therefore seems complicated,
you should try to read all the documents, UNIX manual (man)
pages and FAQ a program supplies.
I. Requirements/Optional Software:
------------------------------
1) XFree86 for OS/2
----------------
Use only a current version. Check
http://www-set.gmd.de/~veit/os2/xf86os2.html
An OS/2 specific FAQ answering most of the questions about
using XFree86/2 is found always up to date at:
http://www-set.gmd.de/~veit/os2/xf86os2.html
2) 'xpm.dll' library (if indicated in README.bin)
-----------------
Check hobbes for 'xpm', or:
http://set.gmd.de/~veit/os2/xf86plib.html
3) 'sed' and 'GNU utilities' (Option)
-------------------------
- Required: 'sed.exe'
- Optional: 'groff.exe' for ASCII text export, 'GNU text
utilities', 'man' to read man/man1/lyx.1.
You can search for OS/2 ports of those standard UNIX utilities on:
Hobbes or ftp.leo.org
in unix or gnu directories. Put the executables into a directory
in PATH, e. g.:
d:\bin
(Hint: Often ports assume a UNIX-like 'sh.exe' in '\bin'!)
and put the dll's into a directory in LIBPATH.
4) 'LaTeX' and 'dvips' (Option)
-------------------
You will need them for printable output. With emTeX make sure that
you have latex2e.cmd in \emtex\bin-directory. If it is missing (i.
e. if you installed emtex from emtex-bin-os2.zip) create it using
the following commands from \emtex\doc\english:
cd \emtex\btexfmts
makefmt 386 latex2e US 8bit -b \emtex\bin\latex2e
Now you can print US-english text. If LyX cannot find the files
'latex.cmd' or 'latex2e.cmd' (available if your LaTeX is installed
correctly) it will work with standard options. Then you can use it
as an editor to write files in native (*.lyx) and LaTeX (*.tex)
format. You can later print LaTeX files on every system with a
proper LaTeX2e installation (or send them to your editor).
* A preconfigured version of emTeX may be found searching:
http://tsikora.tiac.net/os2/os2-body.html
for 'emTeX'. Install first 'emTeX' and then unzip 'dvips583' into
your emtex root directory.
* Additional TeX macros for special purposes (e. g. Babel) are
available on your local CTAN mirror. There you will find also the
documentation how to install it. Please read Help->LaTeXconfig for
availability of the LaTeX packages after installing LyX.
Babel is - unlike with almost all other recent TeX distributions -
not standard with emTeX. For non-US languages you can install Babel
and recreate the LaTeX format files with the correct languages
after selected, reading the respective original documentation. All
further problems should be discussed with the author (Eberhard
Mattes) and on emTeX list.
* In Germany I recommend:
ftp://ftp.dante.de/tex-archive/help/Catalogue/catalogue.html
as the starting point for browsing CTAN. Dvips is also available
on:
http://www.leo.org/pub/comp/os/os2/leo/emTeX/contrib/index.html.
5) 'Xdvi', 'gs', 'ghostview' or 'gv' with 'xaw3d' (Options)
----------------------------------------------
* For fast preview you need XDVI.
[Excerpt from Peter Ganten's README.OS2 (missing in the package):
....
-- Xdvi now understands drive letters and semicolons as path
separators
-- Xdvi is now compiled with the SEARCH-SUBDIRECTORIES flag
-- Xdvi will now call ghostscript to display postscript-pictures (see
note below)
-- MakeTeXPk.cmd will now look into your psfonts.map file and call
gsftopk to display postscript fonts
-- Xdvi will now use virtual fonts ... ]
* For perfect preview of the printed
output of LyX you need ghostview or gv (the latter needs xaw3d.dll
being renamed to xaw.dll) and a special version of Ghostscript for
X11. (The standard 'gsos2' lacks '-sDEVICE=x11' and will *not*
work!).
* OS/2 ports (and necessary info) can be found using the links in:
http://www-set.gmd.de/~veit/os2/xf86ported.html,
and Ghostscript in Michael Holzapfel's page:
http://www.ime.rwth-aachen.de/~michael/os2/ghostscript/index.html.
* Configuration of EmTeX and XDVI to work poperly is a bit tricky,
as they use different directory structures and syntax:
- You can export documents in tex format and preview later with
emTeX's tools.
- Else you must unzip 'xdvi.zip' and 'xaw3d.zip' in %x11root%. Then
correct the line
mapfile='d:\emtex\data\dvips\psfonts.map'
in 'MakeTeXpk.cmd' so that it points to the psfonts.map file
which came with dvips*.zip'. You will find this 'MakeTeXpk.cmd'
in
%x11root%\xfree86\bin
SET XDVIFONTS to your upper TeX fonts directory 'foo':
SET XDVIFONTS=x:/foo/*/%ddpi/%f.%p
The asterisk means: search subdirectories and will be expanded,
e.g. to
x:/foo/pixel.lj/300dpi/fontname.pk
For preview of Postscript fonts (Type 1) you need the
corresponding virtual fonts und must use SET XDVIVFS like above:
SET XDVIVFS=D:/foo/vf;D:/foo/vf/adobe
There is no possibility to search subdirectories here, so you have
to list all directories with virtual fonts.
* Gv needs to find gs.exe: You should rename gsos2.exe to gs.exe,
and move the executables and the dll to %PATH%. [According to the
original documentation moving the dll to %LIBPATH% should work as
well. But on my system it doesn't.] Also you should add to
config.sys:
SET GS_LIB=x:/path_to_your_gs2dll.dll;*.ps_helper_files;type_1fonts
SET GS_FONTPATH=path_to_aditional_fonts_not_included_in_fontmap
For details please refer to the (often complicated) docs of the
respective packages.
Here an example:
...
SET GS_LIB=D:/HYOTY/GSTOOLS/gs5.50;E:/PSFONTS;
SET GS_FONTPATH=D:/APPS/GSTOOLS/gs5.50/FONTS;E:/PSFONTS;
rem This is where EmTeX tree begins
SET EMTEXDIR=D:\EMTEX
rem This is where Xdvi/dvips look for fonts (bitmap, virtual, type1
fonts, resp.)
SET XDVIFONTS=D:/texfonts/*/%ddpi/%f.%p
SET XDVIVFS=D:/texfonts/vf/%f.vf
SET T1FONTS=D:\PSFONTS;D:\XFREE86\LIB\X11\FONTS\TYPE1;
SET TEXCONFIG=D:/EMTEX/data/dvips
rem TeX/LaTeX has to find its font metrics (*.tfm)
SET TEXTFM=D:\EMTEX\tfm!!
rem TeX/LaTeX has to find its macros, etc. (*.sty; *.cls; *.tcp; etc.)
SET TEXINPUT=D:\EMTEX\TEXINPUT\LATEX2E!!;D:\EMTEX\TEXINPUT!!
rem This is where dvipm/Xdvi looks for input data to preview
SET DVIDRVinput=D:\EMTEX\doc;D:\EMTEX\doc\latex;D:\EMTEX\doc\english;
SET DVIDRVGRAPH=D:\EMTEX\DOC
SET XDVIFIGS=D:/EMTEX/data/dvips;D:/HYOTY/GSTOOLS/gs5.50;E:/PSFONTS;
SET indexstyle=D:\emtex\idxstyle
rem Call mf386.exe to render missing bitmap fonts
SET MFJOBOPT=/3
SET indexstyle=D:\XFREE86\USR\emtex\idxstyle
SET EMTEXED=emacsclient +%1 %2
rem Where chktex stores its user configuration
SET chktexrc=%home%
.......
Do not copy it! You need to adapt it to your directory structure.
6) perl:
----
For LaTeX import (relyx.cmd) you need perl:
Check your local CPAN server for a recent OS/2 port or try:
http://www.perl.org
Note:
----
If perl cannot find its modules and libraries it has a hardcoded
path chosen at compile time that does not match your configuration.
You can recompile with your directory structure or exchange the path
as follows (from man perlos2):
PERLLIB_PREFIX
Specific for EMX port. Should have the form
path1;path2
or
path1 path2
If the beginning of some prebuilt path matches path1, it
is substituted with path2.
Should be used if the perl library is moved from the
default location in preference to PERL(5)LIB, since this
would not leave wrong entries in @INC. Say, if the
compiled version of perl looks for @INC in f:/perllib/lib,
and you want to install the library in h:/opt/gnu, do
set PERLLIB_PREFIX=f:/perllib/lib;h:/opt/gnu"
On my system 'f:/perllib/lib' is hardcoded and has to be exchanged
for 'd:/bin/perllib/lib'. Also like many other programs ported from
UNIX (unfortunately this is also true for many XFree/2 programs) it
uses a UNIX-like sh; you should give its path.
I recommend sh.exe of pdksh.zip; other shells have problems.
Here an example of my config.sys:
rem Not default directory of perllib/lib (here:d:\bin)
set PERLLIB_PREFIX=f:/perllib/lib;d:/bin/perllib/lib
rem Where sh.exe of pdksh.zip resides:
set PERL_SH_DIR=D:\bin
excerpt from perlos2:
After you installed the components you needed and updated
the Config.sys correspondingly, you need to hand-edit
Config.pm. This file resides somewhere deep in the
location you installed your perl library, find it out by
perl -MConfig -le "print $INC{'Config.pm'}"
You need to correct all the entries which look like file
paths (they currently start with f:/).
Warning
The automatic and manual perl installation leave
precompiled paths inside perl executables. While these
paths are overwriteable (see the section on
PERLLIB_PREFIX, the section on PERL_SH_DIR), one may get
better results by binary editing of paths inside the
executables/DLLs.
7) 'man' and 'gnugroff':
--------------------
For reading unformatted manual pages in UNIX 'roff' format like the
ones coming with LyX you need 'manxxx.zip' and 'gnugroff.zip', both
available from www.leo.org.
Hint:
----
gnugroff.zip (README.OS2 date: Feb 24th 1994) from Leo has a little
bug concerning doc macros:
Please change file prefix and suffix in groff/tmac/mdoc directory to
the following:
doc-common
doc-ditroff
doc-nroff
doc-syms
or adapt the content of
groff\tmac\doc
accordingly, so that it will find the distribution macros with
non-standard names.
My proposed settings for man and groff are:
rem path to font directory
SET GROFF_FONT_PATH=D:/USR/local/lib/GROFF/FONT
rem path to tmac directory
SET GROFF_TMAC_PATH=D:/USR/local/lib/GROFF/TMAC
SET REFER=D:/XFREE86/USR/local/lib/GROFF/DICT/PAPERS/IND
rem system primary codepage
SET GROFF_TYPESETTER=cp850
rem where man finds it manual pages
SET MANPATH=D:/XFREE86/MAN;D:/XFREE86/usr/emx/doc/MAN
rem necessary for correct formatting of BSD man pages
set NROFF=GROFF -Tascii -mandoc
II. Installing a Binary Distribution:
--------------------------------
0) Only for update: If you are upgrading from LyX v. 0.12.0,
old documentation files in %HOME%/.lyx/doc/ and
%X11ROOT%/XFree86/lib/X11/lyx/doc should be removed before
unpacking (since they are read only). You might wish to make
a backup, if you want to keep old docs.
1) Unpack the distribution in the directory %X11ROOT%
2) In config.sys SET LANG and LANGUAGE according to
your preferences and restart.
Beware: All programs supporting local
languages will be affected, e.g.:
SET LANG=de_DE rem german helpfiles will be used
SET LANGUAGE=de_DE rem german menus and messages
Note1: For keyboard problems read the XFree documentation. Lyx
helpfiles also contain several hints.
Note2: German users should always use Layout; Document; Language:German
and Encoding:latin1 to avoid problems with special characters.
This might apply to other languages, too.
Note3: As distributed, LyX expects to find
its internationalization files in the directory
%X11ROOT%/XFree86/lib/X11/locale
its system configuration files in the directory
%X11ROOT%/XFree86/lib/X11/lyx
If you unpacked the distribution in directory c:\foo, add
the environment variables LYX_LOCALEDIR and LYX_DIR_10x
to config.sys to point to c:/foo/XFree86/lib/X11/locale and
c:/foo/XFree86/lib/X11/lyx as follows:
SET LYX_LOCALEDIR=c:/foo/XFree86/lib/X11/locale
SET LYX_DIR_10x=c:/foo/XFree86/lib/X11/lyx
Note that, if you do not have any interest in having LyX display
its messages in other languages than english, you can safely
skip this step for LYX_LOCALEDIR.
3) At the root of the drive where your %HOME% resides, create a
directory named tmp, if you haven't got one. LyX will need it, so
remember not to delete it later.
4) If updating make a backup of %HOME%\.lyx\lyxrc.defaults as it will
be changed.
Read README and WHATSNEW about updating and run
Options;Reconfigure as indicated.
5) Configure LyX for your system by executing
lyx
and choose Options->Reconfigure in the menu bar.
Watch the messages there.
6) If you don't have %HOME%\.lyx\lyxrc now then move
%X11ROOT%\XFree86\lyxrc.example to %HOME%\.lyx\lyxrc.
Verify if LYX is able to find the programs mentioned
there and in %HOME%\.lyx\lyxrc.defaults. If not,
change name and path as required. Read LyX doc in
Help->Customization
about customizing LyX for your needs. Read
Help->LatexConfiguration
to verify that all installed LaTeX packages which LyX can use
have been detected.
Remember to repeat the check after any 'Reconfigure'!
7) Printer setup is difficult. The most simple solution is to print to a
postscript file and the use gvpm for printing. If you have installed
'printlp.exe' of 'gnugroff.zip' from 'ww.leo.org', you could try to
directly print to the local OS/2 spooler:
Excerpt from 'gnugroff.zip' README.OS2:
- New printlp and printdvi programs: Printlp captures all stdin input
and spools it to "lpt1" (default) or the output device set in the
environment variable LP_DEVICE. Printdvi captures all stdin input
into a temporary file and calls the command "v" with the name as
argument (v is the viewer in emTeX) or the command in the
environment variable DVI_PRINT_COMMAND. If the command contains a
%s, this will be replaced by the temporary file name.
I recommend to add to config.sys
SET DVI_PRINT_COMMAND=VP
and to add to your lyxrc
\print_spool_command "printdvi"
or printlp for postscript printer or if you already configured a
postscript filter according to the LyX documentation. A different solution
to try is this one from Marcus von Cube (for xephem): Create an
/* xprint.cmd */
parse arg file
file = translate( file, "\", "/" )
'@print /d:lpt2 /b' file
(you may want to change "print /d:lpt2 /b" to "printdvi") or create a
LPR-Installation:
If your %ETC%\INETD.LST contains the following line:
printer tcp lpd
and inetd is running, you should be able to use lpr:
lpr -s localhost -p lpt2 -b <filename>
It accepts "/" as path seperator.
This would mean adding
\print_spool_command "lpr"
\print_spool_printerprefix "-s localhost -p lpt2 -b"
=======================================================================
B. Compiling/Installing the source distribution with emx:
-----------------------------------------------------
++++to be written++++++
Some hints:
Run configure.cmd from top level lyx-xxx directory of the source distribution.
To create a smaller stripped version optimized for pentium on emx 0.9c type:
configure.cmd --pentium-optimize
1,368,068 bytes (1.0.1 on emx 0.9c)
To create a smaller english-only version type:
configure.cmd --disable-nls --pentium-optimize
and then type
cd src
x11make
I recommend to run
lib\configure.cmd --without-latex-config.
The LaTeX configuration should better made when running LyX the first
time and can always be repeated with Menu: Options->Reconfigure. So I
added --without-latex-config to the call at the end of top configure.cmd.
Run the following if you have tee.exe:
configure.cmd 2>&1|tee errors.log
or
configure.cmd --pentium-optimize 2>&1|tee errors.log
Read the logfile for any problems:
cd.. & e errors.log
I recommend the following compilation settings:
set CC=gcc
set CONFIG_SHELL=d:/bin/sh.exe
set MAKE_SHELL=d:/bin/sh.exe
set EMX_FIX_CMD="emxbind -a \$@ ..."
SET C_INCLUDE_PATH=D:/XFREE86/INCLUDE/X11;d:/XFREE86/usr/emx/include
set CPLUS_INCLUDE_PATH=D:/XFREE86/INCLUDE/X11;d:/XFREE86/usr/emx/include/cpp;d:/XFREE86/usr/emx/include
set OBJC_INCLUDE_PATH=D:/XFREE86/INCLUDE/X11;d:/XFREE86/usr/emx/include
SET LIBRARY_PATH=D:/XFREE86/LIB/X11;d:/XFREE86/usr/emx/lib
set PROTODIR=d:/XFREE86/usr/emx/include/cpp/gen
set GCCLOAD=5
set GCCOPT=-pipe
set emxopt=-c
set MAKE=x11make.exe
set shell=/bin/sh
Now you can run
x11make
directly from toplevel source directory.
Note by Shigeru Miyata <miyata@kusm.kyoto-u.ac.jp>:
----------------------
Run configure.cmd rather than configure! Notice it is not the
one in binary package, which is actually lib/configure.cmd, but
the one in the top directory of the source distribution.
It won't check the xpm version and other things BTW since I think
I can assume rather uniform installations on OS/2 (actually the
outdated error of the sh-script comes from an old header file,
not from the library, though. Remove the incompatible header or
you will experience very weird, hard to track crashes).
Makefiles are not perfect, however:
- You have to type make in src/ directory;
- If you do not specify --disable-nls, you have to make libintl
first;
- make install/bindist won't work, the makefile in po/ directory
not generated;
- In order to link xforms statically, "-lforms" in LYX_LIBS flag
must be modified manually to "-lforms_s -lulib -lsocket";
- And probably more ;-(
Here is a statistic (exact size depends on libraries used,
codepage, etc.):
unstripped stripped
emx09c 10,735,882 1,634,308
emx09d 15,938,707 2,899,972
emx09d (-fno-exceptions) 13,246,507 1,519,620
In LyX 1.2, g++-2.8 (emx09d) or later will be the definite
requirement. (You cannot link 1.1 with emx09c, since the
executable size far exceeds 70M unstripped due to template codes,
for example.)


183
INSTALL.autoconf Normal file
View File

@ -0,0 +1,183 @@
Basic Installation
==================
These are generic installation instructions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, a file
`config.cache' that saves the results of its tests to speed up
reconfiguring, and a file `config.log' containing compiler output
(useful mainly for debugging `configure').
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release. If at some point `config.cache'
contains results you don't want to keep, you may remove or edit it.
The file `configure.in' is used to create `configure' by a program
called `autoconf'. You only need `configure.in' if you want to change
it or regenerate `configure' using a newer version of `autoconf'.
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system. If you're
using `csh' on an old version of System V, you might need to type
`sh ./configure' instead to prevent `csh' from trying to execute
`configure' itself.
Running `configure' takes awhile. While running, it prints some
messages telling which features it is checking for.
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
the package.
4. Type `make install' to install the programs and any data files and
documentation.
5. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that
the `configure' script does not know about. You can give `configure'
initial values for variables by setting them in the environment. Using
a Bourne-compatible shell, you can do that on the command line like
this:
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
Or on systems that have the `env' program, you can do it like this:
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
Compiling For Multiple Architectures
====================================
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you must use a version of `make' that
supports the `VPATH' variable, such as GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
If you have to use a `make' that does not supports the `VPATH'
variable, you have to compile the package for one architecture at a time
in the source code directory. After you have installed the package for
one architecture, use `make distclean' before reconfiguring for another
architecture.
Installation Names
==================
By default, `make install' will install the package's files in
`/usr/local/bin', `/usr/local/man', etc. You can specify an
installation prefix other than `/usr/local' by giving `configure' the
option `--prefix=PATH'.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
give `configure' the option `--exec-prefix=PATH', the package will use
PATH as the prefix for installing programs and libraries.
Documentation and other data files will still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=PATH' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features
=================
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the
package recognizes.
For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Specifying the System Type
==========================
There may be some features `configure' can not figure out
automatically, but needs to determine by the type of host the package
will run on. Usually `configure' can figure that out, but if it prints
a message saying it can not guess the host type, give it the
`--host=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name with three fields:
CPU-COMPANY-SYSTEM
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the host type.
If you are building compiler tools for cross-compiling, you can also
use the `--target=TYPE' option to select the type of system they will
produce code for and the `--build=TYPE' option to select the type of
system on which you are compiling the package.
Sharing Defaults
================
If you want to set default values for `configure' scripts to share,
you can create a site shell script called `config.site' that gives
default values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
Operation Controls
==================
`configure' recognizes the following options to control how it
operates.
`--cache-file=FILE'
Use and save the results of the tests in FILE instead of
`./config.cache'. Set FILE to `/dev/null' to disable caching, for
debugging `configure'.
`--help'
Print a summary of the options to `configure', and exit.
`--quiet'
`--silent'
`-q'
Do not print messages saying which checks are being made. To
suppress all normal output, redirect it to `/dev/null' (any error
messages will still be shown).
`--srcdir=DIR'
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
`--version'
Print the version of Autoconf used to generate the `configure'
script, and exit.
`configure' also accepts some other, not widely useful, options.

11
Makefile.am Normal file
View File

@ -0,0 +1,11 @@
AUTOMAKE_OPTIONS = foreign
DISTCLEANFILES= *.orig *.rej *~ *.bak lyx.1 core
MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure
SUBDIRS = intl po src lib
EXTRA_DIST = ANNOUNCE CHANGES INSTALL.OS2 INSTALL.autoconf README.OS2 \
UPGRADING WHATSNEW acconfig.h lyx.man \
config development forms images
ETAGS_ARGS = --c++
man_MANS = lyx.1
lyx.1:
cp -p $(srcdir)/lyx.man lyx.1

217
README Normal file
View File

@ -0,0 +1,217 @@
This is a LyX 1.0.x (stable) release
------------------------------------
What is LyX?
LyX is an advanced open-source "document processor". Unlike
standard word processors, LyX encourages writing based on the
structure of your documents, not their appearance. It lets you
concentrate on writing, leaving details of visual layout to the
software.
You can read more about this concept in the documentation,
which you'll find under the Help menu. If you plan to use LyX,
you really should read about it to be able to make the best of
it.
What is LyX not?
LyX is not just another word processor that claims to be a
Desktop Publishing program. It's a more modern way of
creating documents that look much nicer, but without wasting
time with layout-fiddling. For these reasons you might need
little time to get used to the differences.
If you are looking for a free Desktop Publishing program for
Unix, you will be disappointed.
What do I need to run LyX?
A Unix-like system or OS/2 with XFree
At least X11 Release 5
A decent LaTeX2e installation (e.g. teTeX or NTeX) not older
than 1995/12/01
Optionally ghostscript and ghostview (or compatible)
Perl5.002 or later to import LaTeX files into LyX
What's new?
Read WHATSNEW.
How do I install a binary distribution of LyX?
Unpack it and run it. We recommend unpacking it in /usr/local,
but it should work anywhere. In particular, you can try LyX
in a temporary directory before installing permanently by
typing "bin/lyx".
We recommend that you configure LyX system-wide by copying the
file share/lyx/lyxrc.example to share/lyx/lyxrc, and then
reading and modifying it.
You should read the notes regarding this particular build in
the file README.bin.
How do I upgrade from an earlier LyX version?
Read the file UPGRADING for info on this subject.
If you are upgrading from version 0.12.0 or later, you don't
need to do anything special.
What do I need to compile LyX from the source distribution?
1. A good c++ compiler. Development is being done mainly on
gcc/g++, but many others work.
2. The Xforms library version 0.81, 0.86 or 0.88.
3. LibXpm version 4.7 (or newer).
Read the file "INSTALL" for more information on compiling.
Okay, I've installed LyX. What now?
Once you've installed it, and everything looks fine, go read
the "Introduction" item under the Help menu. You should follow
the instructions there, which tell you to read (or at least skim)
the Tutorial. After that, you should also read "Help/LaTeX
configuration" which provides info on your LaTeX configuration
as LyX sees it. You might be missing a package or two that you'd
like to have.
User-level configuration is possible with a file "~/.lyx/lyxrc".
You can use the system-wide lyxrc file (which should be somewhere
like /usr/local/share/lyx/lyxrc) as a template for your personal
lyxrc file. Remember that a personal configuration file will be
used instead of, not in addition to, any system-wide file.
Does LyX have support for non-English speakers/writers/readers?
Yes. LyX supports writing in many languages.
Menus and error messages have been translated to the following
languages (* means there are language-specific keyboard menu
bindings as well):
Catalan (ca)
Czech (cs)
Danish (da)
German (de) *
Spanish (es)
Finnish (fi)
French (fr) *
Hungarian (hu) *
Italian (it)
Dutch (nl)
Norwegian (no)
Polish (pl)
Portuguese (pt) *
Russian (ru)
Slovenian (sl)
Swedish (sv) *
Turkish (tr)
Walloon (wa)
Keymaps can ease typing in one or more of the following languages:
Czech
French, Swiss French
German, Swiss German
Greek
Hungarian (Magyar)
Polish
Portugese
Romanian
Slovenian
Turkish
Internet resources of relevance to LyX
The LyX homepage contains valuable information about LyX and the
various LyX mailing lists, as well as links to mirrors and other
LyX homepages around the world:
http://www.lyx.org/
Main LyX archive site:
ftp://ftp.lyx.org/pub/lyx/
The LyX Development page has information about the development
effort. LyX is now under CVS control, so you can get the very
latest sources from there at any time.
http://www.devel.lyx.org/
ftp://www.devel.lyx.org/pub/lyx/
What is the numbering scheme for releases? Is it like the Linux kernel?
Yes, it's like the Linux kernel since LyX version 0.8:
0.10.x, 0.12.x, 1.0.x ... are stable, public releases
0.11.x, 0.13.x, 1.1.x ... are developer releases
Of course you may also use the developer releases, but only
at your own risk. This is definitely higher than your risk when
using the public releases, even if this is your own risk, too.
How do I submit a bug report?
If possible, read the "Known Bugs" document found under the
Help menu. You'll find detailed info on submitting bug reports
there.
You should also check the BUGS file in this directory.
If you can't do that, send details to the LyX Developers mailing
list. Don't forget to mention which version you are having
problems with!
How do I prepare a binary distribution for the use of others?
1) Compile LyX with the right compiler switches for your
architecture. In particular you might want to ensure that libraries
like xforms and xpm are statically linked. To this end, you
can use a command like
make LYX_LIBS='/foo/libforms.a /bar/libXpm.a'
Moreover, make sure you use the --without-latex-config switch
of configure, since others might not be interested by your
configuration :-)
2) Create a file README.bin describing your distribution and
referring to *you* if problems arise. As a model, you can use the
file development/tools/README.bin.example which was originally
written for Linux by David L. Johnson. Do *not* use directly
the file in the distribution, since it refers to Linux and
points to David L. Johnson for help. However, it can be a good
starting point. Note that removing the file completely is
better than not editing it at all.
3) Type `make bindist'. This will create a file
lyx-1.xx.yy-bin.tar.gz. Rename it to reflect you architecture
and the peculiarities of your build (e.g. static vs. dynamic).
4) Check that everything is correct by unpacking the distribution
in some private place and running it. In particular, check the
output of `ldd lyx' to know which libraries are really needed.
5) Upload your binary file to ftp.lyx.org:/pub/lyx/uploads.
How can I participate in the development of LyX?
Any help with the development of LyX is greatly appreciated--
after all LyX wouldn't be what it is today without the help
of volunteers. We need your help!
If you want to work on LyX, you should contact the developer's
mailing list for discussion on how to do your stuff. LyX is being
cleaned up, and therefore it's important to follow some rules.
Read about those rules in development/Code_rules/.
If you don't know C++, there are many other ways to contribute.
Write documentation. Help to internationalize LyX by translating
documentation or menus/error messages, or by writing a new keymap.
Write a new textclass. Work on reLyX (Perl). Find bugs (but please
read the list of known bugs first). Contribute money. Or just offer
feature suggestions (but please read the online TODO list first).
Thank you for trying LyX, and we appreciate your feedback in the mailing
lists.
The LyX Team.

197
README.OS2 Normal file
View File

@ -0,0 +1,197 @@
README file for OS/2 version of LyX 1.0.1
by Shigeru Miyata <miyata@kusm.kyoto-u.ac.jp>
modified by Arnd Hanses <Arnd.H.Hanses@rz.ruhr-uni-bochum.de>
##############################################################
- This README.OS2 addresses experienced users of XFree86 and
LyX on OS/2 and covers in very short form the steps for
updating (installing) LyX.
- For general information on LyX please refer to the generic
README. For generic compiling instructions refer to INSTALL.
- For a more detailed step by step guide on installing (or compiling)
LyX and other related useful (or even necessary) optional programs
on OS/2 please refer to INSTALL.OS2. If you are not already an
experienced user of LyX an OS/2 you are advised to read it.
- For a description of the binary distribution and any necessary
support libraries please refer to README.bin, which comes with the
binary distribution.
LyX has been ported to OS/2 with XFree86 by Shigeru Miyata and
has been installed and used successfully by many people.
Unfortunately there is yet no easy to install and complete distribu-
tion of XFree86-related software for OS/2. Despite increasing popula-
rity of X on OS/2, extensive printed documentation about XFree/2 and
related programs like LyX is still not available. So you will
have to study the available documentation (man pages, READMEs, faq,
etc.) thoroughly to avoid unnecessary grief for you and for other
people, trying to help you on the net. Nevertheless, there are
existing tutorials and manuals covering X on UNIX family operating
systems, which do contain some valuable information even for X on
OS/2.
[A hint as a starting point for users speaking German:
http://www.rrzn-uni-hannover.de/Umdrucke/WSC.5/WSC5_1.html].
This release is considered to be stable for general use, but - like
any other piece of software - certainly is not bug free.
So take the usual precautions like adopting a regular backup policy.
Standard disclaimers of non liability apply.
As this is a voluntary project with a large number of contributions
by many people, hints and bug fixes to the program and/or the
documentation are always appreciated and thoroughly considered. If
you have the necessary skills (or want to take the chance to acquire
them) for programming in LaTeX or C++ you can become a LyX developer.
You can support further development by making a donation, if you feel
that LyX made your live a bit easier or you want to support open source
software.
Please refer to the links at www.lyx.org for details.
==============================================================
A. Quick Update:
------------
0) Only for update: If you are upgrading from LyX v. 0.12.0,
any old documentation files in %HOME%/.lyx/doc/ and
%X11ROOT%/XFree86/lib/X11/lyx/doc should be removed before
unpacking (since they are read only). You might wish to make
a backup, if you want to keep old docs.
1) Unpack the archive at %X11ROOT%.
2) Run lyx and let the program copy configuration files to
%HOME%\.lyx\.
3) If you don't have %HOME%\.lyx\lyxrc then move
%X11ROOT%\XFree86\lyxrc.example to %HOME%\.lyx\lyxrc.
If updating, make a backup of old version, if you want.
Read README and WHATSNEW about updating and run
Options->Reconfigure as indicated.
4) Verify if LYX is able to find the programs mentioned
in %HOME%\.lyx\lyxrc and in %HOME%\.lyx\lyxrc.defaults; if not,
change name and path as required.
Note: Remember to repeat the check after any 'Reconfigure'!
5) In config.sys SET LANG and LANGUAGE according to
your preferences. Beware: All programs supporting local
languages will be affected, e.g.:
SET LANG=de_DE rem german helpfiles will be used
SET LANGUAGE=de_DE rem german menus and messages
6) Restart OS/2 and run LyX. Have fun!
B. Help/Problems:
-------------
* Please refer to the manpage (type 'man lyx' on the command line or
use 'xman')
* If you encounter apparently OS/2 specific bugs, (i.e. bugs not
already mentioned in the documentation or the buglist) you can report
them to the XFree86/OS2 mailing list as well as to the LyX developer
mailing list.
* For any questions on using LyX please subscribe to the the LyX user
mailing list.
- To subscribe to the XFree86 mailing list send mail to
majordomo@borneo.gmd.de
with "subscribe" as the subject.
To contribute to the mailing list, mail to
xfreeos2@borneo.gmd.de
- For subscription to lyx-user list (general help on LyX) go to
http://www.lyx.org
and search for subscription info.
* Hints:
-----
1. To prevent 'file not found' with EmTeX and some non-US versions
of Warp, I recommend:
1) In filenames use only A-Z, a-z, 1-9.
2) Use a recent LaTeX package inputenc.sty. Select
Layout->Document->Encoding:latin1, so that LyX adds
the LaTeX command '\usepackage[latin1]{inputenc}'.
2. LaTeX import occasionally produces buggy *.lyx files. LyX tries
to save data in case of problems (and does a good job here),
but I recommend:
To import LaTeX close down and restart LyX (or close all
documents, you are working on) and try the import, so that
in case of any problems none of your existing documents will
be affected.
3. Inline preview of inline images sometimes does not show the
image: If you want to preview the image, just click on it and
select fullscreen preview.
4. Some XFree/2 programs (as ported from UNIX) expect a sh.exe
in \bin directory: I recommend to install sh.exe of pdksh.zip
in x:\bin (x: drive of %X11ROOT%). To work around problems you
can try the commands
set EMXSHELL=x:\bin\sh.exe
before starting the programs. As far as I know, LyX runs without
problems in this way.
Some suggestions in case of problems:
------------------------------------
1) Please check, if your x:\xfree86\lib does appear correctly in
libpath.
2) Please check against the file list, if you did install all files of
the distribution.
3) Remove all installed files and
%.home%/.lyx/
and perform a
chkdsk /f
and a consistency check of your lyx binary package (unzip -tv
foo.zip).
4) Reinstall the complete package and check out if everything appears,
no truncated files, no crc errors, etc.
5) Run
lyx -dbg 1026 >lyxerrors.log 2>&1
or, if you have tee.exe,
lyx -dbg 1026 2>&1|tee lyxerrors.log
and watch out for any error messages. Report any remaining problems.
As this is a completely voluntary project, everybody involved will be
grateful for user efforts like detailed bug reports, suggestions,
fixes, additions to the documentation, etc.
6) Have fun! (I'm sure).
C. Tips for Advanced Users:
-----------------------
* You can start LyX automatically by adding
'start/min/n xconsole.exe'
'set EMXSHELL=x:\bin\sh.exe'
'start/min/n lyx >/dev/console$ 2>&1'
to xinitrc.cmd before the line that invokes the
window manager, so that LyX' messages appear in the
console window and LyX appears in the pm-task list.
* You can start LyX automatically by adding
'detach xconsole.exe'
'detach lyx >/dev/console$ 2>&1'
to xinitrc.cmd before the line that invokes the
window manager, so that LyX' messages appear in the
console window and LyX does not appear in the PM task list.


27
UPGRADING Normal file
View File

@ -0,0 +1,27 @@
How do I upgrade my existing LyX system to version 1.0.2?
---------------------------------------------------------
If you upgrade from version 0.12.0 or 1.0.0, you shouldn't have
any problems. Just run "make install", and it will automatically
update the necessary files, provided that you install LyX the
same place as an existing version.
Document transfer
-----------------
In general, you don't need to convert any documents saved with LyX
v0.10, v0.12.0 or v1.0.0 to use them with LyX v1.0.2.
LyX v1.0.2 can read all documents saved with lyx-0.12.0 and later correctly.
Documents saved with lyx-0.10.x are read correctly up to the old math
mode, which is not supported anymore. If you have documents with such
math formulas, you convert it using the program COLD, written by Preben
Rhandol. COLD can be found at:
http://www.pvv.org/~randhol/lyx/COLD/
ftp://ftp.lyx.org/pub/lyx/contrib/
or at one of LyX archive mirror sites listed in README.
Documents saved with LyX version 1.0.2 can be read correctly by
LyX v0.12.0 and v1.0.0 and v1.0.1, except for new features.

94
WHATSNEW Normal file
View File

@ -0,0 +1,94 @@
What's new in 1.0.3 compared to LyX version 1.0.2?
--------------------------------------------------
LyX 1.0.3 is mainly a bugfix update to 1.0.2.
- improved dependency tracking when running LaTeX (fixes one important
bug in 1.0.2).
- new italian and walloon localizations of the user interface.
- New slovene and spanish translations of the Tutorial.
What's new in 1.0.2 compared to LyX version 1.0.1?
--------------------------------------------------
LyX 1.0.2 is a minor update to LyX 1.0.1. Besides fixing many bugs
compared to version 1.0.0, it adds the following features:
- Improved reLyX: supports EPS image inclusion and works in windows.
- New french translation of Intro.lyx and Tutorial.lyx; new german
translation of UserGuide.lyx.
- Better multipart document support.
- LyX is now able to parse your BibTex files and show a list of
entries.
- New broadway textclass (for plays).
What's new in 1.0.1 compared to LyX version 1.0.0?
--------------------------------------------------
LyX 1.0.1 is a minor update to LyX 1.0.0. Besides fixing many bugs
compared to version 1.0.0, it adds the following features:
- Support for selecting pages and number of copies in print dialog
- New function 'Replace all' in Find&Replace popup
- Support for optional argument of \sqrt in math editor
- Support for literate programming with the 'noweb' program
- New LaTeX document classe: APA
What's new in 1.0.0 compared to LyX version 0.12.0?
----------------------------------------------------
LyX 1.0.0 is a stable release. Besides fixing many bugs compared to
version 0.12.0, it adds the following features:
- much improved reLyX script: many bugs have been fixed, new options
have been added, many constructs are now correctly handled. reLyX is now
installed along with LyX and has its own man page. Separate upgrades
of reLyX will be made available later. The reLyX script is utilized
by the File->Import LaTeX command in LyX.
- Much improved LinuxDoc (sgml-tools) support: multiple textclasses,
footnotes, and generally better output.
- New textclasses scrartcl, scrbook, scrreprt and scrlettr
implementing the corresponding classes of the koma-script
package. New textclasses latex8 for some IEEE journals, IEEEtran for
various IEEE Transactions journals and ejour2 for some Springer Verlag
Journals. New textclass hollywood to typeset your own film scripts.
- Better support (keyboard bindings, keyboard mappings, and/or menu
and error message translations) for several languages.
- Documentation has been partly translated to German, Swedish, and Czech. You
will get this automatically from the Help menu if you set up the LANG
environment variable correctly (i.e. to 'de' or 'sv').
- Documentation has been generally improved and expanded.
- Improved table support.
- Support for arbitrary line spacing in documents.
- easier handling of index entries.
- The printer configuration scheme has changed a bit to help people
whose dvips is not configured correctly. As a consequence, you might
have to modify your lyxrc a bit. All users are advised to re-run
Option->Reconfigure to update LyX configuration.
Note that your existing global lyxrc file will not be overwritten by
default since now LyX only installs a file lyxrc.example to use as
template.

153
acconfig.h Normal file
View File

@ -0,0 +1,153 @@
/* -*- C++ -*- */
/* This is the compilation configuration file for LyX. It was generated by
autoconf's configure. You might want to change some of the defaults if
something goes wrong during the compilation
* This file is part of
* ======================================================
*
* LyX, the High Level Word Processor
*
* Copyright (C) 1995 Matthias Ettrich
*
*======================================================*/
#ifndef _CONFIG_H
#define _CONFIG_H
@TOP@
/* Define to work around a bug with const handling in gcc 2.7.[012] */
#undef BROKEN_CONST
/* Define on SunOS 4 and SCO, were some functions are missing from the headers */
#undef BROKEN_HEADERS
/* Define if you want debugging turned on as default. */
#undef DEBUG_AS_DEFAULT
/* Define if you are building a development version of LyX */
#undef DEVEL_VERSION
/* Define to 1 if NLS is requested. */
#undef ENABLE_NLS
/* Define to nothing if your compiler does not understand the
`explicit' directive */
#undef explicit
/* define this to the location of forms.h to be used with #include,
e.g. <forms.h> */
#undef FORMS_H_LOCATION
/* Define if your locale.h file contains LC_MESSAGES. */
#undef HAVE_LC_MESSAGES
/* Define as 1 if you have catgets and don't want to use GNU gettext. */
#undef HAVE_CATGETS
/* Define as 1 if you have gettext and don't want to use GNU gettext. */
#undef HAVE_GETTEXT
/* Define as 1 if you have the stpcopy function */
#undef HAVE_STPCPY
/*
/* Define if the bool type is known to your compiler */
#undef HAVE_bool
*/
/* Define to the name of the distribution. */
#undef PACKAGE
/* You might want to define TWO_COLOR_ICONS if you want to spare
your colormap. This will use monochrome icons instead of colored
ones. */
#undef TWO_COLOR_ICONS
/* Define to the version of the distribution. */
#undef VERSION
/* Define this if you want to see the #warning directives put here and
there by the developpers to get attention */
#undef WITH_WARNINGS
/* define this to the location of xpm.h to be used with #include,
e.g. <xpm.h> */
#undef XPM_H_LOCATION
@BOTTOM@
/************************************************************
** You should not need to change anything beyond this point */
/* even though -ansi might have been specified for gcc, we want all
usual prototypes. */
#ifdef __STRICT_ANSI__
/**/#undef __STRICT_ANSI__
#endif
#ifdef HAVE_MEMSET
#define BZERO(a,b) memset(a,0,b)
#else
#define BZERO(a,b) bzero(a,b)
#endif
#ifndef HAVE_STRCHR
#define strchr(a,b) index(a,b)
#endif
#ifndef HAVE_MEMMOVE
#define memmove(a, b, c) bcopy(b, a, c)
#endif
#ifndef HAVE_STRERROR
#if defined (__cplusplus)
extern "C"
#endif
char * strerror(int n);
#endif
/*
#ifndef HAVE_bool
#define bool int
#define true 1
#define false 0
#endif
*/
#if SIZEOF_VOID_P == SIZEOF_INT
# define PTR_AS_INT(p) int(p)
#else
# define PTR_AS_INT(p) long(p)
#endif
#ifdef BROKEN_CONST
#include <string.h>
#include "broken_const.h"
#endif
#ifdef BROKEN_HEADERS
#include "broken_headers.h"
#endif
/* C++ always support the keyword `inline' */
#if defined inline && defined __cplusplus
/**/#undef inline
#endif
#ifdef __EMX__
#include "os2_defines.h"
#endif
#ifdef VMS
#include "vms_defines.h"
#endif
#if defined(__CYGWIN__) || defined( __CYGWIN32__)
#include "nt_defines.h"
#endif
#endif /* _CONFIG_H */

642
acinclude.m4 Normal file
View File

@ -0,0 +1,642 @@
dnl Some useful functions for LyXs configure.in -*- sh -*-
dnl Author: Jean-Marc Lasgouttes (Jean-Marc.Lasgouttes@inria.fr)
dnl Lars Gullik Bjønnes (larsbj@lyx.org)
dnl Usage LYX_GET_VERSION Sets "lyx_version" to the version of LyX being
dnl built, displays it and sets variable "lyx_devel" to yes or no depending
dnl whether the version is a development release or not.
AC_DEFUN(LYX_GET_VERSION,[
changequote(, ) dnl
# Get LyX version from $1 and guess wether is is stable or experimental.
VERSION=`grep '#define *LYX_VERSION' $1 |
sed -e 's/^.*"\([0-9.]*\)[^0-9.].*$/\1/' 2>/dev/null`
echo "configuring LyX version $VERSION"
if echo "$VERSION" | grep '[0-9]*\.[0-9]*[13579]\.[0-9]*' >/dev/null ; then
lyx_devel_version=yes
echo "WARNING: This is a development version. Expect bugs."
else
lyx_devel_version=no
fi
changequote([, ]) dnl
PACKAGE=lyx${program_suffix}
AC_SUBST(lyx_devel_version)
if test $lyx_devel_version = yes ; then
AC_DEFINE(DEVEL_VERSION, 1, Define if you are building a development version of LyX)
fi])
dnl Usage: LYX_ERROR(message) Displays the warning "message" and sets the
dnl flag lyx_error to yes.
AC_DEFUN(LYX_ERROR,[
lyx_error_txt="$lyx_error_txt
** $1
"
lyx_error=yes])
dnl Usage: LYX_WARNING(message) Displays the warning "message" and sets the
dnl flag lyx_warning to yes.
AC_DEFUN(LYX_WARNING,[
lyx_warning_txt="$lyx_warning_txt
== $1
"
lyx_warning=yes])
dnl Usage: LYX_LIB_ERROR(file,library) Displays an error message indication
dnl that 'file' cannot be found because 'lib' may be uncorrectly installed.
AC_DEFUN(LYX_LIB_ERROR,[
LYX_ERROR([Cannot find $1. Please check that the $2 library
is correctly installed on your system.])])
dnl Usage: LYX_CHECK_ERRORS Displays a warning message if a LYX_ERROR
dnl has occured previously.
AC_DEFUN(LYX_CHECK_ERRORS,[
if test x$lyx_error = xyes; then
cat <<EOF
**** The following problems have been detected by configure.
**** Please check the messages below before running 'make'.
**** (see the section 'Problems' in the INSTALL file)
$lyx_error_txt
$lyx_warning_txt
deleting cache $cache_file
EOF
rm -f $cache_file
else
if test x$lyx_warning = xyes; then
cat <<EOF
=== The following minor problems have been detected by configure.
=== Please check the messages below before running 'make'.
=== (see the section 'Problems' in the INSTALL file)
$lyx_warning_txt
EOF
fi
cat <<EOF
Configuration of LyX was successful.
Type 'make' to compile the program,
and then 'make install' to install it.
EOF
fi])
dnl LYX_SEARCH_PROG(VARIABLE-NAME,PROGRAMS-LIST,ACTION-IF-FOUND)
dnl
define(LYX_SEARCH_PROG,[dnl
for ac_prog in $2 ; do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog ; ac_word=$[2]
if test -z "[$]$1"; then
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
for ac_dir in $PATH; do
test -z "$ac_dir" && ac_dir=.
if test -f [$ac_dir/$ac_word]; then
$1="$ac_prog"
break
fi
done
IFS="$ac_save_ifs"
fi
if test -n "[$]$1"; then
ac_result=yes
else
ac_result=no
fi
ifelse($3,,,[$3])
test -n "[$]$1" && break
done
])dnl
AC_DEFUN(LYX_PROG_CXX_WORKS,
[AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_TRY_COMPILER([class foo { int bar; }; int main(){return(0);}], ac_cv_prog_cxx_works, ac_cv_prog_cxx_cross)
AC_LANG_RESTORE
if test $ac_cv_prog_cxx_works = no; then
CXX=
fi
cross_compiling=$ac_cv_prog_cxx_cross
])
AC_DEFUN(LYX_PROG_CXX,
[AC_BEFORE([$0], [AC_PROG_CXXCPP])dnl
AC_MSG_CHECKING([for a working C++ compiler])
LYX_SEARCH_PROG(CXX, $CCC g++ gcc c++ CC cxx xlC cc++, LYX_PROG_CXX_WORKS)
if test -z "$CXX" ; then
AC_ERROR([Unable to find a working C++ compiler])
fi
AC_SUBST(CXX)
AC_MSG_RESULT($CXX)
AC_MSG_CHECKING([whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler])
AC_MSG_RESULT($cross_compiling)
AC_PROG_CXX_GNU
dnl We might want to get or shut warnings.
AC_ARG_WITH(warnings,
[ --with-warnings tell GNU C++ to display more warnings],,
[if test $lyx_devel_version = yes && test $ac_cv_prog_gxx = yes ; then
with_warnings=yes;
else
with_warnings=no;
fi;])
if test "x$with_warnings" = xyes ; then
lyx_flags="$lyx_flags warnings"
AC_DEFINE(WITH_WARNINGS, 1,
[Define this if you want to see the warning directives put here and
there by the developpers to get attention])
fi
# optimize less for development versions
if test "$lyx_devel_version" = yes ; then
lyx_opt="-O"
else
lyx_opt="-O2"
fi
# set the debug flags correctly.
if test $ac_cv_prog_gxx = yes; then
GXX=yes
dnl Check whether -g works, even if CXXFLAGS is set, in case the package
dnl plays around with CXXFLAGS (such as to build both debugging and
dnl normal versions of a library), tasteless as that idea is.
ac_test_CXXFLAGS="${CXXFLAGS+set}"
ac_save_CXXFLAGS="$CXXFLAGS"
CXXFLAGS=
dnl Check the version of g++
gxx_version=`g++ --version`
AC_PROG_CXX_G
if test "$ac_test_CXXFLAGS" = set; then
CXXFLAGS="$ac_save_CXXFLAGS"
elif test $ac_cv_prog_cxx_g = yes; then
case $gxx_version in
2.7*) CXXFLAGS="$lyx_opt";;
*) CXXFLAGS="-g $lyx_opt -fno-exceptions";;
esac
else
CXXFLAGS="$lyx_opt"
fi
if test $with_warnings = yes ; then
CXXFLAGS="$CXXFLAGS -ansi -Wall"
# a small hack to avoid problems with headers
echo '#undef __STRICT_ANSI__' >>confdefs.h
fi
else
GXX=
test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
fi
])dnl
AC_DEFUN(LYX_GXX_STRENGTH_REDUCE,[
#check for the strength reduction bug of gcc
if test x$GXX = xyes && test $cross_compiling = no ; then
AC_CACHE_CHECK( "for gcc strength-reduce bug", ac_cv_c_gcc_strength_bug,
AC_TRY_RUN([
int main(void) {
static int Array[[3]];
unsigned int B = 3;
int i;
for(i=0; i<B; i++) Array[[i]] = i - 3;
exit( Array[[1]] != -2 );
}],
ac_cv_c_gcc_strength_bug="no",
ac_cv_c_gcc_strength_bug="yes",
ac_cv_c_gcc_strength_bug="yes") )
if test "$ac_cv_c_gcc_strength_bug" = "yes"
then
CXXFLAGS="$CXXFLAGS -fno-strength-reduce"
fi
fi
])dnl
dnl Usage: LYX_CXX_RTTI : checks whether the C++ compiler
dnl supports RTTI
AC_DEFUN(LYX_CXX_RTTI,[
### Check whether the compiler supports runtime type information
AC_CACHE_CHECK(whether the C++ compiler supports RTTI,lyx_cv_rtti,
[AC_TRY_RUN([
class rtti {
public:
virtual int tag() { return 0; }
};
class derived1 : public rtti {
public:
int tag() { return 1; }
};
class derived2 : public rtti {
public:
int tag() { return 2; }
};
int main() {
derived1 * foo1 = new derived1();
derived2 * foo2 = new derived2();
rtti * bar = foo1;
derived1 * bar1 = dynamic_cast<derived1 *>(bar);
if (bar1 == 0)
exit(1);
bar = foo2;
bar1 = dynamic_cast<derived1 *>(bar);
if (bar1 != 0)
exit(1);
return 0;
}
],lyx_cv_rtti=yes,lyx_cv_rtti=no,lyx_cv_rtti=no)
])
if test x$lyx_cv_rtti = xyes ; then
AC_DEFINE(HAVE_RTTI, 1,
[Define to 1 if your compiler supports runtime type information])
fi])
dnl Usage: LYX_CXX_EXPLICIT : checks whether the C++ compiler
dnl understands the "explicit" directive.
AC_DEFUN(LYX_CXX_EXPLICIT,[
### Check whether the compiler understands the keyword `explicit'
AC_CACHE_CHECK(whether the C++ compiler understands explicit,lyx_cv_explicit,
[AC_TRY_COMPILE([
class Expl {
public:
explicit Expl() {};
};],,lyx_cv_explicit=yes,lyx_cv_explicit=no)
])
if test $lyx_cv_explicit = no ; then
AC_DEFINE(explicit,[ ],
[Define to nothing if your compiler does not understand the
'explicit' directive])
fi])
dnl Usage: LYX_CXX_STL_STACK : checks whether the C++ compiler
dnl has a working stl stack template
AC_DEFUN(LYX_CXX_STL_STACK,[
AC_CACHE_CHECK(for broken STL stack template,lyx_cv_broken_stack,
[AC_TRY_COMPILE([
#include <stack>
],[
stack<int> stakk;
stakk.push(0);
],lyx_cv_broken_stack=no,lyx_cv_broken_stack=yes)
])
if test $lyx_cv_broken_stack = yes ; then
AC_DEFINE(BROKEN_STL_STACK, 1,
[Define if you have the STL from libg++ 2.7.x, where stack<> is not defined
correctly])
fi])
dnl Usage: LYX_CXX_STL_STRING : checks whether the C++ compiler
dnl has a working stl string container
AC_DEFUN(LYX_CXX_STL_STRING,[
AC_ARG_WITH(included-string,
[ --with-included-string use LyX string class instead of STL string],,
[AC_CHECK_HEADER(std/bastring.h,
[with_included_string=yes],
[with_included_string=no])])
if test x$with_included_string = xyes ; then
AC_DEFINE(USE_INCLUDED_STRING, 1,
[Define to use the LString class bundled with LyX])
lyx_flags="$lyx_flags included-string"
fi])
dnl LYX_CXX_MUTABLE
AC_DEFUN(LYX_CXX_MUTABLE, [
AC_REQUIRE([LYX_PROG_CXX])
AC_MSG_CHECKING(if C++ compiler supports mutable)
AC_TRY_COMPILE(
[
class k {
mutable char *c;
public:
void foo() const { c=0; }
};
],[
],[
ac_mutable=yes
AC_DEFINE(HAVE_MUTABLE, 1,
[Defined if you compiler supports 'mutable'.])
],[
ac_mutable=no
])
AC_MSG_RESULT([$ac_mutable])
])
dnl LYX_CXX_PARTIAL
AC_DEFUN(LYX_CXX_PARTIAL, [
AC_REQUIRE([LYX_PROG_CXX])
AC_MSG_CHECKING(if C++ compiler supports partial specialization)
AC_TRY_COMPILE(
[
template<class T, class K>
class k {
public:
};
template<class T> class k<void,T> { };
],[
k<float, float> b;
k<void,void> a;
],[
ac_partial_specialization=yes
AC_DEFINE(HAVE_PARTIAL_SPECIALIZATION, 1,
[Defined if your compiler supports partial specialization.])
],[
ac_partial_specialization=no
])
AC_MSG_RESULT([$ac_partial_specialization])
])
dnl Usage: LYX_CXX_NAMESPACES : checks whether the C++ compiler
dnl has a correct namespace handling and define CXX_WORKING_NAMESPACES
dnl if true. This macro does not do a thourough test, but it should be
dnl good enough to suit our needs.
AC_DEFUN(LYX_CXX_NAMESPACES,[
AC_CACHE_CHECK(for correct namespaces support,lyx_cv_cxx_namespace,
[AC_TRY_COMPILE([
#include <vector>
using std::vector;
],[
vector<int> test;
return 0;
],lyx_cv_cxx_namespace=yes,lyx_cv_cxx_namespace=no)
])
if test $lyx_cv_cxx_namespace = yes ; then
AC_DEFINE(CXX_WORKING_NAMESPACES, 1,
[Define if your C++ compiler has correct support for namespaces])
fi])
dnl Usage LYX_PATH_XPM: Checks for xpm library and header
AC_DEFUN(LYX_PATH_XPM,[
### Check for Xpm library
AC_CHECK_LIB(Xpm, XpmCreateBufferFromImage,LYX_LIBS="-lXpm $LYX_LIBS",
[LYX_LIB_ERROR(libXpm,Xpm)], $LYX_LIBS)
### Check for Xpm headers
lyx_cv_xpm_h_location="<xpm.h>"
AC_CHECK_HEADER(X11/xpm.h,[
ac_cv_header_xpm_h=yes
lyx_cv_xpm_h_location="<X11/xpm.h>"],[
AC_CHECK_HEADER(xpm.h,[],[
LYX_LIB_ERROR(xpm.h,Xpm)])])
AC_DEFINE_UNQUOTED(XPM_H_LOCATION,$lyx_cv_xpm_h_location)
### Test for the header version
if test $ac_cv_header_xpm_h = yes; then
AC_CACHE_CHECK([xpm header version],lyx_cv_xpmversion,
[ cat > conftest.$ac_ext <<EOF
#line __oline__ "configure"
#include "confdefs.h"
#include XPM_H_LOCATION
"%%%"lyx_cv_xpmv=XpmVersion;lyx_cv_xpmr=XpmRevision"%%%"
EOF
eval `(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
grep '^"%%%"' 2>/dev/null | \
sed -e 's/^"%%%"\(.*\)"%%%"/\1/' -e 's/ //g'`
case "$lyx_cv_xpmr" in
changequote(,)
[0-9]) lyxxpmr_alpha=`echo $lyx_cv_xpmr |tr 123456789 abcdefghi`
lyxxpmv_alpha=" (aka 3.$lyx_cv_xpmv$lyxxpmr_alpha)";;
changequote([,])
*) ;;
esac
lyx_cv_xpmversion="$lyx_cv_xpmv.$lyx_cv_xpmr$lyxxpmv_alpha"
rm -f conftest*])
case "$lyx_cv_xpmr" in
changequote(,)
[789]|[0-9][0-9]*) ;;
changequote([,])
*) LYX_WARNING([Version $lyx_cv_xpmversion of the Xpm library is a bit old.
If you experience strange crashes with LyX, try to upgrade
to at least version 4.7 (aka 3.4g).
If you have installed a newer version of the library, check whether you
have an old xpm.h header file in your include path.]);;
esac
fi])
dnl Usage LYX_PATH_XFORMS: Checks for xforms library and flags
AC_DEFUN(LYX_PATH_XFORMS,[
### Check for xforms library
AC_CHECK_LIB(forms, fl_initialize, LYX_LIBS="-lforms $LYX_LIBS",
[AC_CHECK_LIB(xforms, fl_initialize, LYX_LIBS="-lxforms $LYX_LIBS",
[LYX_LIB_ERROR(libforms or libxforms,xforms)], $LYX_LIBS)], $LYX_LIBS)
### Check for xforms headers
lyx_cv_forms_h_location="<forms.h>"
AC_CHECK_HEADER(X11/forms.h,[
ac_cv_header_forms_h=yes
lyx_cv_forms_h_location="<X11/forms.h>"],[
AC_CHECK_HEADER(forms.h,[],[
LYX_LIB_ERROR(forms.h,forms)])])
AC_DEFINE_UNQUOTED(FORMS_H_LOCATION,$lyx_cv_forms_h_location)
if test $ac_cv_header_forms_h = yes; then
AC_CACHE_CHECK([xforms header version],lyx_cv_xfversion,
[ cat > conftest.$ac_ext <<EOF
#line __oline__ "configure"
#include "confdefs.h"
#include FORMS_H_LOCATION
#if ! defined(FL_INCLUDE_VERSION)
"%%%"(unknown)"%%%"
#else
"%%%"FL_VERSION.FL_REVISION"%%%"
#endif
EOF
lyx_cv_xfversion=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
grep '^"%%%"' 2>/dev/null | \
sed -e 's/^"%%%"\(.*\)"%%%"/\1/' -e 's/ //g'`
rm -f conftest*])
case "$lyx_cv_xfversion" in
"(unknown)"|0.82|0.83|0.84|0.85)
LYX_ERROR(dnl
Version $lyx_cv_xfversion of xforms is not compatible with LyX.
This version of LyX works best with version 0.88[,] although it
supports also versions 0.81[,] 0.86 and 0.87.) ;;
0.81|0.86|0.87)
LYX_WARNING(dnl
While LyX is compatible with version $lyx_cv_xfversion of xforms[,]
it is recommended that you upgrade to version 0.88.) ;;
0.88) ;;
0.89) LYX_WARNING(dnl
LyX should work ok with version $lyx_cv_xfversion of xforms[,] but
it is an unproven version and might still have some bugs. If you
have problems[,] please use version 0.88 instead.) ;;
*) LYX_WARNING(dnl
Version $lyx_cv_xfversion of xforms might not be compatible with LyX[,]
since it is newer than 0.88. You might have slight problems with it.);;
esac
fi])
dnl Usage: LYX_HPUX Checks for HP-UX and update CXXFLAGS accordingly
AC_DEFUN(LYX_HPUX,
[#It seems that HPUX requires using -fpcc-struct-return with gcc.
AC_CACHE_CHECK(for HP-UX,ac_cv_hpux,[
os=`uname -s | tr '[A-Z]' '[a-z]'`
ac_cv_hpux=no
test "$os" = hp-ux && ac_cv_hpux=yes])
if test "$ac_cv_hpux" = yes; then
test "x$GXX" = xyes && CXXFLAGS="$CXXFLAGS -fpcc-struct-return"
fi])
dnl Usage: LYX_SUNOS4 Checks for SunOS 4.x and sets the flag lyx_broken_headers
dnl if necessary
AC_DEFUN(LYX_SUNOS4,
[#The headers are not correct under SunOS4
AC_CACHE_CHECK(for SunOS 4.x,ac_cv_sunos4,[
changequote(, ) dnl
os=`uname -a | sed -e 's/^\([^ ]*\) [^ ]* \([0-9]\)\..*/\1\2/'`
changequote([, ]) dnl
ac_cv_sunos4=no
test "$os" = SunOS4 && ac_cv_sunos4=yes])
if test "$ac_cv_sunos4" = yes; then
test "x$GXX" = xyes && lyx_broken_headers=yes
fi])
dnl Usage: LYX_SCO Checks for SCO and sets the flag lyx_broken_headers
dnl if necessary
AC_DEFUN(LYX_SCO,
[AC_CACHE_CHECK(for SCO 3.2v4,ac_cv_sco,[
ac_cv_sco=no
if test `uname -s` != "SCO_SV"; then
lyx_machine_rel=`uname -m`:`uname -r`
if test $lyx_machine_rel = i386:3.2 || test $lyx_machine_rel = i486:3.2;
then
if test -f /usr/options/cb.name; then
ac_cv_sco=no
elif /bin/uname -X 2>/dev/null >/dev/null ; then
ac_cv_sco=yes
fi
fi
fi])
if test "$ac_cv_sco" = yes; then
test "x$GXX" = xyes && lyx_broken_headers=yes
fi])
dnl Usage: LYX_WITH_DIR(dir-name,desc,dir-var-name,default-value,
dnl [default-yes-value])
dnl Adds a --with-'dir-name' option (described by 'desc') and puts the
dnl resulting directory name in 'dir-var-name'.
AC_DEFUN(LYX_WITH_DIR,[
AC_ARG_WITH($1,[ --with-$1 specify $2])
AC_MSG_CHECKING([for $2])
if test -z "$with_$3"; then
AC_CACHE_VAL(lyx_cv_$3, lyx_cv_$3=$4)
else
test "x$with_$3" = xyes && with_$3=$5
lyx_cv_$3="$with_$3"
fi
AC_MSG_RESULT($lyx_cv_$3)])
dnl Usage: LYX_LOOP_DIR(value,action)
dnl Executes action for values of variable `dir' in `values'. `values' can
dnl use ":" as a separator.
AC_DEFUN(LYX_LOOP_DIR,[
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
for dir in `eval "echo $1"`; do
if test ! "$dir" = NONE; then
test ! -d "$dir" && AC_ERROR([\"$dir\" is not a directory])
$2
fi
done
IFS=$ac_save_ifs
])
dnl Usage: LYX_ADD_LIB_DIR(var-name,dir) Adds a -L directive to variable
dnl var-name.
AC_DEFUN(LYX_ADD_LIB_DIR,[
$1="${$1} -L$2"
if test "`(uname) 2>/dev/null`" = SunOS &&
uname -r | grep '^5' >/dev/null; then
if test $ac_cv_prog_gxx = yes ; then
$1="${$1} -Wl[,]-R$2"
else
$1="${$1} -R$2"
fi
fi])
dnl Usage: LYX_ADD_INC_DIR(var-name,dir) Adds a -I directive to variable
dnl var-name.
AC_DEFUN(LYX_ADD_INC_DIR,[$1="${$1} -I$2 "])
dnl AC_VALIDATE_CACHE_SYSTEM_TYPE[(cmd)]
dnl if the cache file is inconsistent with the current host,
dnl target and build system types, execute CMD or print a default
dnl error message.
AC_DEFUN(AC_VALIDATE_CACHE_SYSTEM_TYPE, [
AC_REQUIRE([AC_CANONICAL_SYSTEM])
AC_MSG_CHECKING([config.cache system type])
if { test x"${ac_cv_host_system_type+set}" = x"set" &&
test x"$ac_cv_host_system_type" != x"$host"; } ||
{ test x"${ac_cv_build_system_type+set}" = x"set" &&
test x"$ac_cv_build_system_type" != x"$build"; } ||
{ test x"${ac_cv_target_system_type+set}" = x"set" &&
test x"$ac_cv_target_system_type" != x"$target"; }; then
AC_MSG_RESULT([different])
ifelse($#, 1, [$1],
[AC_MSG_ERROR(["you must remove config.cache and restart configure"])])
else
AC_MSG_RESULT([same])
fi
ac_cv_host_system_type="$host"
ac_cv_build_system_type="$build"
ac_cv_target_system_type="$target"
])
dnl We use this until autoconf fixes its version.
AC_DEFUN(LYX_FUNC_SELECT_ARGTYPES,
[AC_MSG_CHECKING([types of arguments for select()])
AC_CACHE_VAL(ac_cv_func_select_arg234,dnl
[AC_CACHE_VAL(ac_cv_func_select_arg1,dnl
[AC_CACHE_VAL(ac_cv_func_select_arg5,dnl
[for ac_cv_func_select_arg234 in 'fd_set *' 'int *' 'void *'; do
for ac_cv_func_select_arg1 in 'int' 'size_t' 'unsigned long' 'unsigned'; do for ac_cv_func_select_arg5 in 'struct timeval *' 'const struct timeval *'; do
AC_TRY_COMPILE(dnl
[#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
#ifdef HAVE_SYS_SELECT_H
#include <sys/select.h>
#endif
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
extern int select ($ac_cv_func_select_arg1,$ac_cv_func_select_arg234,$ac_cv_func_select_arg234,$ac_cv_func_select_arg234,$ac_cv_func_select_arg5);],,dnl
[ac_not_found=no ; break 3],ac_not_found=yes)
done
done
done
])dnl AC_CACHE_VAL
])dnl AC_CACHE_VAL
])dnl AC_CACHE_VAL
if test "$ac_not_found" = yes; then
ac_cv_func_select_arg1=int
ac_cv_func_select_arg234='int *'
ac_cv_func_select_arg5='struct timeval *'
fi
AC_MSG_RESULT([$ac_cv_func_select_arg1,$ac_cv_func_select_arg234,$ac_cv_func_select_arg5])
AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG1,$ac_cv_func_select_arg1)
AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG234,($ac_cv_func_select_arg234))
AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG5,($ac_cv_func_select_arg5))
])

41
autogen.sh Executable file
View File

@ -0,0 +1,41 @@
#!/bin/sh
ACLOCAL=aclocal
AUTOHEADER=autoheader
AUTOMAKE="automake -a -c --foreign"
AUTOCONF=autoconf
# Generate the Makefiles and configure files
if ( aclocal --version ) </dev/null > /dev/null 2>&1; then
echo "Building macros."
$ACLOCAL ; (cd lib/reLyX; $ACLOCAL )
else
echo "aclocal not found -- aborting"
exit
fi
if ( autoheader --version ) </dev/null > /dev/null 2>&1; then
echo "Building config header template"
$AUTOHEADER
else
echo "autoheader not found -- aborting"
exit
fi
if ( $AUTOMAKE --version ) </dev/null > /dev/null 2>&1; then
echo "Building Makefile templates"
$AUTOMAKE ; (cd lib/reLyX ; $AUTOMAKE )
else
echo "automake not found -- aborting"
exit
fi
if ( $AUTOCONF --version ) </dev/null > /dev/null 2>&1; then
echo "Building configure"
$AUTOCONF ; ( cd lib/reLyX ; $AUTOCONF )
echo 'run "./configure ; make"'
else
echo "autoconf not found -- aborting"
exit
fi

32
config/README Normal file
View File

@ -0,0 +1,32 @@
README for LyX configure stuff
Author: Jean-Marc Lasgouttes (Jean-Marc.Lasgouttes@inria.fr)
-----------------------------------------------------------------------
This directory contains the things used to build the configure
scripts. The file present here are the following:
makefile a simple makefile to build configure script
acconfig.h template file describing src/config.h.in
aclocal.m4 local macros for configure.in
configure.in the template from which configure is built
lib_configure.m4 the template from which lib/configure is built
install-sh shell script used when no good install program
is found
mkinstalldirs shell script used to create installation dirs.
stamp-h.in file used by Makefile to check dependencies
hack-gcc a shell script to work around possible gcc bugs
How to use the makefile
-----------------------
When you make a modification to some configure component, just type
'make', with the config/ directory being current. This will create
configure, lib/configure and config.h.in. Do *not* try to run directly
autoconf or autoheader. Note that these scripts require autoconf 2.12
or later.
There is also a target 'clean' which delete backup files, etc.
Note: please do not rename `makefile' to `Makefile'! This name was
chosen in order avoid being excluded from LyX patches...

951
config/config.guess vendored Executable file
View File

@ -0,0 +1,951 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Written by Per Bothner <bothner@cygnus.com>.
# The master version of this file is at the FSF in /home/gd/gnu/lib.
#
# This script attempts to guess a canonical system name similar to
# config.sub. If it succeeds, it prints the system name on stdout, and
# exits with 0. Otherwise, it exits with 1.
#
# The plan is that this can be called by configure scripts if you
# don't specify an explicit system type (host/target name).
#
# Only a few systems have been added to this list; please add others
# (but try to keep the structure clean).
#
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 8/24/94.)
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
PATH=$PATH:/.attbin ; export PATH
fi
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15
# Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
alpha:OSF1:*:*)
if test $UNAME_RELEASE = "V4.0"; then
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
fi
# A Vn.n version is a released version.
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
cat <<EOF >dummy.s
.globl main
.ent main
main:
.frame \$30,0,\$26,0
.prologue 0
.long 0x47e03d80 # implver $0
lda \$2,259
.long 0x47e20c21 # amask $2,$1
srl \$1,8,\$2
sll \$2,2,\$2
sll \$0,3,\$0
addl \$1,\$0,\$0
addl \$2,\$0,\$0
ret \$31,(\$26),1
.end main
EOF
${CC-cc} dummy.s -o dummy 2>/dev/null
if test "$?" = 0 ; then
./dummy
case "$?" in
7)
UNAME_MACHINE="alpha"
;;
15)
UNAME_MACHINE="alphaev5"
;;
14)
UNAME_MACHINE="alphaev56"
;;
10)
UNAME_MACHINE="alphapca56"
;;
16)
UNAME_MACHINE="alphaev6"
;;
esac
fi
rm -f dummy.s dummy
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr [[A-Z]] [[a-z]]`
exit 0 ;;
21064:Windows_NT:50:3)
echo alpha-dec-winnt3.5
exit 0 ;;
Amiga*:UNIX_System_V:4.0:*)
echo m68k-cbm-sysv4
exit 0;;
amiga:NetBSD:*:*)
echo m68k-cbm-netbsd${UNAME_RELEASE}
exit 0 ;;
amiga:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
*:[Aa]miga[Oo][Ss]:*:*)
echo ${UNAME_MACHINE}-unknown-amigaos
exit 0 ;;
arc64:OpenBSD:*:*)
echo mips64el-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
arc:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
hkmips:OpenBSD:*:*)
echo mips-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
pmax:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
sgi:OpenBSD:*:*)
echo mips-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
wgrisc:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
exit 0;;
arm32:NetBSD:*:*)
echo arm-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
exit 0 ;;
SR2?01:HI-UX/MPP:*:*)
echo hppa1.1-hitachi-hiuxmpp
exit 0;;
Pyramid*:OSx*:*:*|MIS*:OSx*:*:*|MIS*:SMP_DC-OSx*:*:*)
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
if test "`(/bin/universe) 2>/dev/null`" = att ; then
echo pyramid-pyramid-sysv3
else
echo pyramid-pyramid-bsd
fi
exit 0 ;;
NILE:*:*:dcosx)
echo pyramid-pyramid-svr4
exit 0 ;;
sun4H:SunOS:5.*:*)
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
i86pc:SunOS:5.*:*)
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
sun4*:SunOS:6*:*)
# According to config.sub, this is the proper way to canonicalize
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
# it's likely to be more like Solaris than SunOS4.
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
sun4*:SunOS:*:*)
case "`/usr/bin/arch -k`" in
Series*|S4*)
UNAME_RELEASE=`uname -v`
;;
esac
# Japanese Language versions have a version number like `4.1.3-JL'.
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
exit 0 ;;
sun3*:SunOS:*:*)
echo m68k-sun-sunos${UNAME_RELEASE}
exit 0 ;;
sun*:*:4.2BSD:*)
UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
case "`/bin/arch`" in
sun3)
echo m68k-sun-sunos${UNAME_RELEASE}
;;
sun4)
echo sparc-sun-sunos${UNAME_RELEASE}
;;
esac
exit 0 ;;
aushp:SunOS:*:*)
echo sparc-auspex-sunos${UNAME_RELEASE}
exit 0 ;;
atari*:NetBSD:*:*)
echo m68k-atari-netbsd${UNAME_RELEASE}
exit 0 ;;
atari*:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
sun3*:NetBSD:*:*)
echo m68k-sun-netbsd${UNAME_RELEASE}
exit 0 ;;
sun3*:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mac68k:NetBSD:*:*)
echo m68k-apple-netbsd${UNAME_RELEASE}
exit 0 ;;
mac68k:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mvme68k:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mvme88k:OpenBSD:*:*)
echo m88k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
powerpc:machten:*:*)
echo powerpc-apple-machten${UNAME_RELEASE}
exit 0 ;;
macppc:NetBSD:*:*)
echo powerpc-apple-netbsd${UNAME_RELEASE}
exit 0 ;;
RISC*:Mach:*:*)
echo mips-dec-mach_bsd4.3
exit 0 ;;
RISC*:ULTRIX:*:*)
echo mips-dec-ultrix${UNAME_RELEASE}
exit 0 ;;
VAX*:ULTRIX*:*:*)
echo vax-dec-ultrix${UNAME_RELEASE}
exit 0 ;;
2020:CLIX:*:*)
echo clipper-intergraph-clix${UNAME_RELEASE}
exit 0 ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
sed 's/^ //' << EOF >dummy.c
int main (argc, argv) int argc; char **argv; {
#if defined (host_mips) && defined (MIPSEB)
#if defined (SYSTYPE_SYSV)
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_SVR4)
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
#endif
#endif
exit (-1);
}
EOF
${CC-cc} dummy.c -o dummy \
&& ./dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
&& rm dummy.c dummy && exit 0
rm -f dummy.c dummy
echo mips-mips-riscos${UNAME_RELEASE}
exit 0 ;;
Night_Hawk:Power_UNIX:*:*)
echo powerpc-harris-powerunix
exit 0 ;;
m88k:CX/UX:7*:*)
echo m88k-harris-cxux7
exit 0 ;;
m88k:*:4*:R4*)
echo m88k-motorola-sysv4
exit 0 ;;
m88k:*:3*:R3*)
echo m88k-motorola-sysv3
exit 0 ;;
AViiON:dgux:*:*)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR=`/usr/bin/uname -p`
if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
-o ${TARGET_BINARY_INTERFACE}x = x ] ; then
echo m88k-dg-dgux${UNAME_RELEASE}
else
echo m88k-dg-dguxbcs${UNAME_RELEASE}
fi
else echo i586-dg-dgux${UNAME_RELEASE}
fi
exit 0 ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
echo m88k-dolphin-sysv3
exit 0 ;;
M88*:*:R3*:*)
# Delta 88k system running SVR3
echo m88k-motorola-sysv3
exit 0 ;;
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
echo m88k-tektronix-sysv3
exit 0 ;;
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
echo m68k-tektronix-bsd
exit 0 ;;
*:IRIX*:*:*)
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
exit 0 ;;
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
i?86:AIX:*:*)
echo i386-ibm-aix
exit 0 ;;
*:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
sed 's/^ //' << EOF >dummy.c
#include <sys/systemcfg.h>
main()
{
if (!__power_pc())
exit(1);
puts("powerpc-ibm-aix3.2.5");
exit(0);
}
EOF
${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
echo rs6000-ibm-aix3.2.5
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
echo rs6000-ibm-aix3.2.4
else
echo rs6000-ibm-aix3.2
fi
exit 0 ;;
*:AIX:*:4)
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
if /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER >/dev/null 2>&1; then
IBM_ARCH=rs6000
else
IBM_ARCH=powerpc
fi
if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
else
IBM_REV=4.${UNAME_RELEASE}
fi
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
exit 0 ;;
*:AIX:*:*)
echo rs6000-ibm-aix
exit 0 ;;
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
echo romp-ibm-bsd4.4
exit 0 ;;
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
exit 0 ;; # report: romp-ibm BSD 4.3
*:BOSX:*:*)
echo rs6000-bull-bosx
exit 0 ;;
DPX/2?00:B.O.S.:*:*)
echo m68k-bull-sysv3
exit 0 ;;
9000/[34]??:4.3bsd:1.*:*)
echo m68k-hp-bsd
exit 0 ;;
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
echo m68k-hp-bsd4.4
exit 0 ;;
9000/[34678]??:HP-UX:*:*)
case "${UNAME_MACHINE}" in
9000/31? ) HP_ARCH=m68000 ;;
9000/[34]?? ) HP_ARCH=m68k ;;
9000/6?? | 9000/7?? | 9000/80[24] | 9000/8?[13679] | 9000/892 )
sed 's/^ //' << EOF >dummy.c
#include <stdlib.h>
#include <unistd.h>
int main ()
{
#if defined(_SC_KERNEL_BITS)
long bits = sysconf(_SC_KERNEL_BITS);
#endif
long cpu = sysconf (_SC_CPU_VERSION);
switch (cpu)
{
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
case CPU_PA_RISC2_0:
#if defined(_SC_KERNEL_BITS)
switch (bits)
{
case 64: puts ("hppa2.0w"); break;
case 32: puts ("hppa2.0n"); break;
default: puts ("hppa2.0"); break;
} break;
#else /* !defined(_SC_KERNEL_BITS) */
puts ("hppa2.0"); break;
#endif
default: puts ("hppa1.0"); break;
}
exit (0);
}
EOF
(${CC-cc} dummy.c -o dummy 2>/dev/null ) && HP_ARCH=`./dummy`
rm -f dummy.c dummy
esac
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
exit 0 ;;
3050*:HI-UX:*:*)
sed 's/^ //' << EOF >dummy.c
#include <unistd.h>
int
main ()
{
long cpu = sysconf (_SC_CPU_VERSION);
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
results, however. */
if (CPU_IS_PA_RISC (cpu))
{
switch (cpu)
{
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
default: puts ("hppa-hitachi-hiuxwe2"); break;
}
}
else if (CPU_IS_HP_MC68K (cpu))
puts ("m68k-hitachi-hiuxwe2");
else puts ("unknown-hitachi-hiuxwe2");
exit (0);
}
EOF
${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
echo unknown-hitachi-hiuxwe2
exit 0 ;;
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
echo hppa1.1-hp-bsd
exit 0 ;;
9000/8??:4.3bsd:*:*)
echo hppa1.0-hp-bsd
exit 0 ;;
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
echo hppa1.1-hp-osf
exit 0 ;;
hp8??:OSF1:*:*)
echo hppa1.0-hp-osf
exit 0 ;;
i?86:OSF1:*:*)
if [ -x /usr/sbin/sysversion ] ; then
echo ${UNAME_MACHINE}-unknown-osf1mk
else
echo ${UNAME_MACHINE}-unknown-osf1
fi
exit 0 ;;
parisc*:Lites*:*:*)
echo hppa1.1-hp-lites
exit 0 ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
echo c1-convex-bsd
exit 0 ;;
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
exit 0 ;;
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
echo c34-convex-bsd
exit 0 ;;
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
echo c38-convex-bsd
exit 0 ;;
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
echo c4-convex-bsd
exit 0 ;;
CRAY*X-MP:*:*:*)
echo xmp-cray-unicos
exit 0 ;;
CRAY*Y-MP:*:*:*)
echo ymp-cray-unicos${UNAME_RELEASE}
exit 0 ;;
CRAY*[A-Z]90:*:*:*)
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
exit 0 ;;
CRAY*TS:*:*:*)
echo t90-cray-unicos${UNAME_RELEASE}
exit 0 ;;
CRAY-2:*:*:*)
echo cray2-cray-unicos
exit 0 ;;
F300:UNIX_System_V:*:*)
FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit 0 ;;
F301:UNIX_System_V:*:*)
echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
exit 0 ;;
hp3[0-9][05]:NetBSD:*:*)
echo m68k-hp-netbsd${UNAME_RELEASE}
exit 0 ;;
hp300:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
sparc*:BSD/OS:*:*)
echo sparc-unknown-bsdi${UNAME_RELEASE}
exit 0 ;;
i?86:BSD/386:*:* | *:BSD/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
exit 0 ;;
*:FreeBSD:*:*)
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit 0 ;;
*:NetBSD:*:*)
echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
exit 0 ;;
*:OpenBSD:*:*)
echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
exit 0 ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin32
exit 0 ;;
i*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit 0 ;;
p*:CYGWIN*:*)
echo powerpcle-unknown-cygwin32
exit 0 ;;
prep*:SunOS:5.*:*)
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
*:GNU:*:*)
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit 0 ;;
*:Linux:*:*)
# uname on the ARM produces all sorts of strangeness, and we need to
# filter it out.
case "$UNAME_MACHINE" in
arm* | sa110*) UNAME_MACHINE="arm" ;;
esac
# The BFD linker knows what the default object file format is, so
# first see if it will tell us.
ld_help_string=`ld --help 2>&1`
ld_supported_emulations=`echo $ld_help_string \
| sed -ne '/supported emulations:/!d
s/[ ][ ]*/ /g
s/.*supported emulations: *//
s/ .*//
p'`
case "$ld_supported_emulations" in
i?86linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0 ;;
i?86coff) echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0 ;;
sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
armlinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
m68klinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
elf32ppc) echo "powerpc-unknown-linux-gnu" ; exit 0 ;;
esac
if test "${UNAME_MACHINE}" = "alpha" ; then
sed 's/^ //' <<EOF >dummy.s
.globl main
.ent main
main:
.frame \$30,0,\$26,0
.prologue 0
.long 0x47e03d80 # implver $0
lda \$2,259
.long 0x47e20c21 # amask $2,$1
srl \$1,8,\$2
sll \$2,2,\$2
sll \$0,3,\$0
addl \$1,\$0,\$0
addl \$2,\$0,\$0
ret \$31,(\$26),1
.end main
EOF
LIBC=""
${CC-cc} dummy.s -o dummy 2>/dev/null
if test "$?" = 0 ; then
./dummy
case "$?" in
7)
UNAME_MACHINE="alpha"
;;
15)
UNAME_MACHINE="alphaev5"
;;
14)
UNAME_MACHINE="alphaev56"
;;
10)
UNAME_MACHINE="alphapca56"
;;
16)
UNAME_MACHINE="alphaev6"
;;
esac
objdump --private-headers dummy | \
grep ld.so.1 > /dev/null
if test "$?" = 0 ; then
LIBC="libc1"
fi
fi
rm -f dummy.s dummy
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
elif test "${UNAME_MACHINE}" = "mips" ; then
cat >dummy.c <<EOF
main(argc, argv)
int argc;
char *argv[];
{
#ifdef __MIPSEB__
printf ("%s-unknown-linux-gnu\n", argv[1]);
#endif
#ifdef __MIPSEL__
printf ("%sel-unknown-linux-gnu\n", argv[1]);
#endif
return 0;
}
EOF
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
else
# Either a pre-BFD a.out linker (linux-gnuoldld)
# or one that does not give us useful --help.
# GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
# If ld does not provide *any* "supported emulations:"
# that means it is gnuoldld.
echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:"
test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
case "${UNAME_MACHINE}" in
i?86)
VENDOR=pc;
;;
*)
VENDOR=unknown;
;;
esac
# Determine whether the default compiler is a.out or elf
cat >dummy.c <<EOF
#include <features.h>
main(argc, argv)
int argc;
char *argv[];
{
#ifdef __ELF__
# ifdef __GLIBC__
# if __GLIBC__ >= 2
printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
# else
printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
# endif
# else
printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
# endif
#else
printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
#endif
return 0;
}
EOF
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
fi ;;
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions
# are messed up and put the nodename in both sysname and nodename.
i?86:DYNIX/ptx:4*:*)
echo i386-sequent-sysv4
exit 0 ;;
i?86:UNIX_SV:4.2MP:2.*)
# Unixware is an offshoot of SVR4, but it has its own version
# number series starting with 2...
# I am not positive that other SVR4 systems won't match this,
# I just have to hope. -- rms.
# Use sysv4.2uw... so that sysv4* matches it.
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
exit 0 ;;
i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
else
echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
fi
exit 0 ;;
i?86:*:3.2:*)
if test -f /usr/options/cb.name; then
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
elif /bin/uname -X 2>/dev/null >/dev/null ; then
UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
&& UNAME_MACHINE=i586
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
else
echo ${UNAME_MACHINE}-pc-sysv32
fi
exit 0 ;;
i?86:UnixWare:*:*)
if /bin/uname -X 2>/dev/null >/dev/null ; then
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
&& UNAME_MACHINE=i586
fi
echo ${UNAME_MACHINE}-unixware-${UNAME_RELEASE}-${UNAME_VERSION}
exit 0 ;;
pc:*:*:*)
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i386.
echo i386-pc-msdosdjgpp
exit 0 ;;
Intel:Mach:3*:*)
echo i386-pc-mach3
exit 0 ;;
paragon:*:*:*)
echo i860-intel-osf1
exit 0 ;;
i860:*:4.*:*) # i860-SVR4
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
else # Add other i860-SVR4 vendors below as they are discovered.
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
fi
exit 0 ;;
mini*:CTIX:SYS*5:*)
# "miniframe"
echo m68010-convergent-sysv
exit 0 ;;
M68*:*:R3V[567]*:*)
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
OS_REL=''
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& echo i486-ncr-sysv4 && exit 0 ;;
m68*:LynxOS:2.*:*)
echo m68k-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
mc68030:UNIX_System_V:4.*:*)
echo m68k-atari-sysv4
exit 0 ;;
i?86:LynxOS:2.*:*)
echo i386-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
TSUNAMI:LynxOS:2.*:*)
echo sparc-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
echo rs6000-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
SM[BE]S:UNIX_SV:*:*)
echo mips-dde-sysv${UNAME_RELEASE}
exit 0 ;;
RM*:SINIX-*:*:*)
echo mips-sni-sysv4
exit 0 ;;
*:SINIX-*:*:*)
if uname -p 2>/dev/null >/dev/null ; then
UNAME_MACHINE=`(uname -p) 2>/dev/null`
echo ${UNAME_MACHINE}-sni-sysv4
else
echo ns32k-sni-sysv
fi
exit 0 ;;
PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
# says <Richard.M.Bartel@ccMail.Census.GOV>
echo i586-unisys-sysv4
exit 0 ;;
*:UNIX_System_V:4*:FTX*)
# From Gerald Hewes <hewes@openmarket.com>.
# How about differentiating between stratus architectures? -djm
echo hppa1.1-stratus-sysv4
exit 0 ;;
*:*:*:FTX*)
# From seanf@swdc.stratus.com.
echo i860-stratus-sysv4
exit 0 ;;
mc68*:A/UX:*:*)
echo m68k-apple-aux${UNAME_RELEASE}
exit 0 ;;
news*:NEWS-OS:*:6*)
echo mips-sony-newsos6
exit 0 ;;
R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R4000:UNIX_SV:*:*)
if [ -d /usr/nec ]; then
echo mips-nec-sysv${UNAME_RELEASE}
else
echo mips-unknown-sysv${UNAME_RELEASE}
fi
exit 0 ;;
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
echo powerpc-be-beos
exit 0 ;;
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
echo powerpc-apple-beos
exit 0 ;;
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
echo i586-pc-beos
exit 0 ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
cat >dummy.c <<EOF
#ifdef _SEQUENT_
# include <sys/types.h>
# include <sys/utsname.h>
#endif
main ()
{
#if defined (sony)
#if defined (MIPSEB)
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
I don't know.... */
printf ("mips-sony-bsd\n"); exit (0);
#else
#include <sys/param.h>
printf ("m68k-sony-newsos%s\n",
#ifdef NEWSOS4
"4"
#else
""
#endif
); exit (0);
#endif
#endif
#if defined (__arm) && defined (__acorn) && defined (__unix)
printf ("arm-acorn-riscix"); exit (0);
#endif
#if defined (hp300) && !defined (hpux)
printf ("m68k-hp-bsd\n"); exit (0);
#endif
#if defined (NeXT)
#if !defined (__ARCHITECTURE__)
#define __ARCHITECTURE__ "m68k"
#endif
int version;
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
exit (0);
#endif
#if defined (MULTIMAX) || defined (n16)
#if defined (UMAXV)
printf ("ns32k-encore-sysv\n"); exit (0);
#else
#if defined (CMU)
printf ("ns32k-encore-mach\n"); exit (0);
#else
printf ("ns32k-encore-bsd\n"); exit (0);
#endif
#endif
#endif
#if defined (__386BSD__)
printf ("i386-pc-bsd\n"); exit (0);
#endif
#if defined (sequent)
#if defined (i386)
printf ("i386-sequent-dynix\n"); exit (0);
#endif
#if defined (ns32000)
printf ("ns32k-sequent-dynix\n"); exit (0);
#endif
#endif
#if defined (_SEQUENT_)
struct utsname un;
uname(&un);
if (strncmp(un.version, "V2", 2) == 0) {
printf ("i386-sequent-ptx2\n"); exit (0);
}
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
printf ("i386-sequent-ptx1\n"); exit (0);
}
printf ("i386-sequent-ptx\n"); exit (0);
#endif
#if defined (vax)
#if !defined (ultrix)
printf ("vax-dec-bsd\n"); exit (0);
#else
printf ("vax-dec-ultrix\n"); exit (0);
#endif
#endif
#if defined (alliant) && defined (i860)
printf ("i860-alliant-bsd\n"); exit (0);
#endif
exit (1);
}
EOF
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
# Apollos put the system type in the environment.
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
# Convex versions that predate uname can use getsysinfo(1)
if [ -x /usr/convex/getsysinfo ]
then
case `getsysinfo -f cpu_type` in
c1*)
echo c1-convex-bsd
exit 0 ;;
c2*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
exit 0 ;;
c34*)
echo c34-convex-bsd
exit 0 ;;
c38*)
echo c38-convex-bsd
exit 0 ;;
c4*)
echo c4-convex-bsd
exit 0 ;;
esac
fi
#echo '(Unable to guess system type)' 1>&2
exit 1

955
config/config.sub vendored Executable file
View File

@ -0,0 +1,955 @@
#! /bin/sh
# Configuration validation subroutine script, version 1.1.
# Copyright (C) 1991, 92-97, 1998 Free Software Foundation, Inc.
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
# can handle that machine. It does not imply ALL GNU software can.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
# If it is invalid, we print an error message on stderr and exit with code 1.
# Otherwise, we print the canonical config type on stdout and succeed.
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
# that are meaningful with *any* GNU software.
# Each package is responsible for reporting which valid configurations
# it does not support. The user should be able to distinguish
# a failure to support a valid configuration from a meaningless
# configuration.
# The goal of this file is to map all the various variations of a given
# machine specification into a single specification in the form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
# or in some cases, the newer four-part form:
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# It is wrong to echo any other type of specification.
if [ x$1 = x ]
then
echo Configuration name missing. 1>&2
echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
echo "or $0 ALIAS" 1>&2
echo where ALIAS is a recognized configuration type. 1>&2
exit 1
fi
# First pass through any local machine types.
case $1 in
*local*)
echo $1
exit 0
;;
*)
;;
esac
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
linux-gnu*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
*)
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
if [ $basic_machine != $1 ]
then os=`echo $1 | sed 's/.*-/-/'`
else os=; fi
;;
esac
### Let's recognize common machines as not being operating systems so
### that things like config.sub decstation-3100 work. We also
### recognize some manufacturers as not being operating systems, so we
### can provide default operating systems below.
case $os in
-sun*os*)
# Prevent following clause from handling this invalid input.
;;
-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-apple)
os=
basic_machine=$1
;;
-hiux*)
os=-hiuxwe2
;;
-sco5)
os=sco3.2v5
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco4)
os=-sco3.2v4
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco3.2.[4-9]*)
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco3.2v[4-9]*)
# Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco*)
os=-sco3.2v2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-isc)
os=-isc2.2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-clix*)
basic_machine=clipper-intergraph
;;
-isc*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-lynx*)
os=-lynxos
;;
-ptx*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
;;
-windowsnt*)
os=`echo $os | sed -e 's/windowsnt/winnt/'`
;;
-psos*)
os=-psos
;;
esac
# Decode aliases for certain CPU-COMPANY combinations.
case $basic_machine in
# Recognize the basic CPU types without company name.
# Some are omitted here because they have special meanings below.
tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
| arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \
| 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 | hppa2.0 \
| alpha | alphaev5 | alphaev56 | we32k | ns16k | clipper \
| i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \
| mips64 | mipsel | mips64el | mips64orion | mips64orionel \
| mipstx39 | mipstx39el | armv[34][lb] \
| sparc | sparclet | sparclite | sparc64 | v850)
basic_machine=$basic_machine-unknown
;;
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users.
i[34567]86)
basic_machine=$basic_machine-pc
;;
# Object if more than one company name word.
*-*-*)
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
exit 1
;;
# Recognize the basic CPU types with company name.
vax-* | tahoe-* | i[34567]86-* | i860-* | m32r-* | m68k-* | m68000-* \
| m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
| power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \
| xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* \
| alpha-* | alphaev5-* | alphaev56-* | we32k-* | cydra-* \
| ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \
| sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
| sparc64-* | mips64-* | mipsel-* | armv[34][lb]-*\
| mips64el-* | mips64orion-* | mips64orionel-* \
| mipstx39-* | mipstx39el-* \
| f301-*)
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
basic_machine=m68000-att
;;
3b*)
basic_machine=we32k-att
;;
alliant | fx80)
basic_machine=fx80-alliant
;;
altos | altos3068)
basic_machine=m68k-altos
;;
am29k)
basic_machine=a29k-none
os=-bsd
;;
amdahl)
basic_machine=580-amdahl
os=-sysv
;;
amiga | amiga-*)
basic_machine=m68k-cbm
;;
amigaos | amigados)
basic_machine=m68k-cbm
os=-amigaos
;;
amigaunix | amix)
basic_machine=m68k-cbm
os=-sysv4
;;
apollo68)
basic_machine=m68k-apollo
os=-sysv
;;
aux)
basic_machine=m68k-apple
os=-aux
;;
balance)
basic_machine=ns32k-sequent
os=-dynix
;;
convex-c1)
basic_machine=c1-convex
os=-bsd
;;
convex-c2)
basic_machine=c2-convex
os=-bsd
;;
convex-c32)
basic_machine=c32-convex
os=-bsd
;;
convex-c34)
basic_machine=c34-convex
os=-bsd
;;
convex-c38)
basic_machine=c38-convex
os=-bsd
;;
cray | ymp)
basic_machine=ymp-cray
os=-unicos
;;
cray2)
basic_machine=cray2-cray
os=-unicos
;;
[ctj]90-cray)
basic_machine=c90-cray
os=-unicos
;;
crds | unos)
basic_machine=m68k-crds
;;
da30 | da30-*)
basic_machine=m68k-da30
;;
decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
basic_machine=mips-dec
;;
delta | 3300 | motorola-3300 | motorola-delta \
| 3300-motorola | delta-motorola)
basic_machine=m68k-motorola
;;
delta88)
basic_machine=m88k-motorola
os=-sysv3
;;
dpx20 | dpx20-*)
basic_machine=rs6000-bull
os=-bosx
;;
dpx2* | dpx2*-bull)
basic_machine=m68k-bull
os=-sysv3
;;
ebmon29k)
basic_machine=a29k-amd
os=-ebmon
;;
elxsi)
basic_machine=elxsi-elxsi
os=-bsd
;;
encore | umax | mmax)
basic_machine=ns32k-encore
;;
fx2800)
basic_machine=i860-alliant
;;
genix)
basic_machine=ns32k-ns
;;
gmicro)
basic_machine=tron-gmicro
os=-sysv
;;
h3050r* | hiux*)
basic_machine=hppa1.1-hitachi
os=-hiuxwe2
;;
h8300hms)
basic_machine=h8300-hitachi
os=-hms
;;
harris)
basic_machine=m88k-harris
os=-sysv3
;;
hp300-*)
basic_machine=m68k-hp
;;
hp300bsd)
basic_machine=m68k-hp
os=-bsd
;;
hp300hpux)
basic_machine=m68k-hp
os=-hpux
;;
hp9k2[0-9][0-9] | hp9k31[0-9])
basic_machine=m68000-hp
;;
hp9k3[2-9][0-9])
basic_machine=m68k-hp
;;
hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
basic_machine=hppa1.1-hp
;;
hp9k8[0-9][0-9] | hp8[0-9][0-9])
basic_machine=hppa1.0-hp
;;
hppa-next)
os=-nextstep3
;;
i370-ibm* | ibm*)
basic_machine=i370-ibm
os=-mvs
;;
# I'm not sure what "Sysv32" means. Should this be sysv3.2?
i[34567]86v32)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv32
;;
i[34567]86v4*)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv4
;;
i[34567]86v)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv
;;
i[34567]86sol2)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-solaris2
;;
iris | iris4d)
basic_machine=mips-sgi
case $os in
-irix*)
;;
*)
os=-irix4
;;
esac
;;
isi68 | isi)
basic_machine=m68k-isi
os=-sysv
;;
m88k-omron*)
basic_machine=m88k-omron
;;
magnum | m3230)
basic_machine=mips-mips
os=-sysv
;;
merlin)
basic_machine=ns32k-utek
os=-sysv
;;
miniframe)
basic_machine=m68000-convergent
;;
mipsel*-linux*)
basic_machine=mipsel-unknown
os=-linux-gnu
;;
mips*-linux*)
basic_machine=mips-unknown
os=-linux-gnu
;;
mips3*-*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
;;
mips3*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
;;
ncr3000)
basic_machine=i486-ncr
os=-sysv4
;;
news | news700 | news800 | news900)
basic_machine=m68k-sony
os=-newsos
;;
news1000)
basic_machine=m68030-sony
os=-newsos
;;
news-3600 | risc-news)
basic_machine=mips-sony
os=-newsos
;;
next | m*-next )
basic_machine=m68k-next
case $os in
-nextstep* )
;;
-ns2*)
os=-nextstep2
;;
*)
os=-nextstep3
;;
esac
;;
nh3000)
basic_machine=m68k-harris
os=-cxux
;;
nh[45]000)
basic_machine=m88k-harris
os=-cxux
;;
nindy960)
basic_machine=i960-intel
os=-nindy
;;
np1)
basic_machine=np1-gould
;;
pa-hitachi)
basic_machine=hppa1.1-hitachi
os=-hiuxwe2
;;
paragon)
basic_machine=i860-intel
os=-osf
;;
pbd)
basic_machine=sparc-tti
;;
pbb)
basic_machine=m68k-tti
;;
pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
pentium | p5 | k5 | nexen)
basic_machine=i586-pc
;;
pentiumpro | p6 | k6 | 6x86)
basic_machine=i686-pc
;;
pentiumii | pentium2)
basic_machine=i786-pc
;;
pentium-* | p5-* | k5-* | nexen-*)
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentiumpro-* | p6-* | k6-* | 6x86-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentiumii-* | pentium2-*)
basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pn)
basic_machine=pn-gould
;;
power) basic_machine=rs6000-ibm
;;
ppc) basic_machine=powerpc-unknown
;;
ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppcle | powerpclittle | ppc-le | powerpc-little)
basic_machine=powerpcle-unknown
;;
ppcle-* | powerpclittle-*)
basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ps2)
basic_machine=i386-ibm
;;
rm[46]00)
basic_machine=mips-siemens
;;
rtpc | rtpc-*)
basic_machine=romp-ibm
;;
sequent)
basic_machine=i386-sequent
;;
sh)
basic_machine=sh-hitachi
os=-hms
;;
sps7)
basic_machine=m68k-bull
os=-sysv2
;;
spur)
basic_machine=spur-unknown
;;
sun2)
basic_machine=m68000-sun
;;
sun2os3)
basic_machine=m68000-sun
os=-sunos3
;;
sun2os4)
basic_machine=m68000-sun
os=-sunos4
;;
sun3os3)
basic_machine=m68k-sun
os=-sunos3
;;
sun3os4)
basic_machine=m68k-sun
os=-sunos4
;;
sun4os3)
basic_machine=sparc-sun
os=-sunos3
;;
sun4os4)
basic_machine=sparc-sun
os=-sunos4
;;
sun4sol2)
basic_machine=sparc-sun
os=-solaris2
;;
sun3 | sun3-*)
basic_machine=m68k-sun
;;
sun4)
basic_machine=sparc-sun
;;
sun386 | sun386i | roadrunner)
basic_machine=i386-sun
;;
symmetry)
basic_machine=i386-sequent
os=-dynix
;;
tx39)
basic_machine=mipstx39-unknown
;;
tx39el)
basic_machine=mipstx39el-unknown
;;
tower | tower-32)
basic_machine=m68k-ncr
;;
udi29k)
basic_machine=a29k-amd
os=-udi
;;
ultra3)
basic_machine=a29k-nyu
os=-sym1
;;
vaxv)
basic_machine=vax-dec
os=-sysv
;;
vms)
basic_machine=vax-dec
os=-vms
;;
vpp*|vx|vx-*)
basic_machine=f301-fujitsu
;;
vxworks960)
basic_machine=i960-wrs
os=-vxworks
;;
vxworks68)
basic_machine=m68k-wrs
os=-vxworks
;;
vxworks29k)
basic_machine=a29k-wrs
os=-vxworks
;;
xmp)
basic_machine=xmp-cray
os=-unicos
;;
xps | xps100)
basic_machine=xps100-honeywell
;;
none)
basic_machine=none-none
os=-none
;;
# Here we handle the default manufacturer of certain CPU types. It is in
# some cases the only manufacturer, in others, it is the most popular.
mips)
if [ x$os = x-linux-gnu ]; then
basic_machine=mips-unknown
else
basic_machine=mips-mips
fi
;;
romp)
basic_machine=romp-ibm
;;
rs6000)
basic_machine=rs6000-ibm
;;
vax)
basic_machine=vax-dec
;;
pdp11)
basic_machine=pdp11-dec
;;
we32k)
basic_machine=we32k-att
;;
sparc)
basic_machine=sparc-sun
;;
cydra)
basic_machine=cydra-cydrome
;;
orion)
basic_machine=orion-highlevel
;;
orion105)
basic_machine=clipper-highlevel
;;
*)
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
exit 1
;;
esac
# Here we canonicalize certain aliases for manufacturers.
case $basic_machine in
*-digital*)
basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
;;
*-commodore*)
basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
;;
*)
;;
esac
# Decode manufacturer-specific aliases for certain operating systems.
if [ x"$os" != x"" ]
then
case $os in
# First match some system type aliases
# that might get confused with valid system types.
# -solaris* is a basic system type, with this one exception.
-solaris1 | -solaris1.*)
os=`echo $os | sed -e 's|solaris1|sunos4|'`
;;
-solaris)
os=-solaris2
;;
-svr4*)
os=-sysv4
;;
-unixware*)
os=-sysv4.2uw
;;
-gnu/linux*)
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
;;
# First accept the basic system types.
# The portable systems comes first.
# Each alternative MUST END IN A *, to match a version number.
# -sysv* is not here because it comes later, after sysvr4.
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
| -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -uxpv* | -beos*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
-sunos5*)
os=`echo $os | sed -e 's|sunos5|solaris2|'`
;;
-sunos6*)
os=`echo $os | sed -e 's|sunos6|solaris3|'`
;;
-osfrose*)
os=-osfrose
;;
-osf*)
os=-osf
;;
-utek*)
os=-bsd
;;
-dynix*)
os=-bsd
;;
-acis*)
os=-aos
;;
-ctix* | -uts*)
os=-sysv
;;
-ns2 )
os=-nextstep2
;;
# Preserve the version number of sinix5.
-sinix5.*)
os=`echo $os | sed -e 's|sinix|sysv|'`
;;
-sinix*)
os=-sysv4
;;
-triton*)
os=-sysv3
;;
-oss*)
os=-sysv3
;;
-svr4)
os=-sysv4
;;
-svr3)
os=-sysv3
;;
-sysvr4)
os=-sysv4
;;
# This must come after -sysvr4.
-sysv*)
;;
-xenix)
os=-xenix
;;
-none)
;;
*)
# Get rid of the `-' at the beginning of $os.
os=`echo $os | sed 's/[^-]*-//'`
echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
exit 1
;;
esac
else
# Here we handle the default operating systems that come with various machines.
# The value should be what the vendor currently ships out the door with their
# machine or put another way, the most popular os provided with the machine.
# Note that if you're going to try to match "-MANUFACTURER" here (say,
# "-sun"), then you have to tell the case statement up towards the top
# that MANUFACTURER isn't an operating system. Otherwise, code above
# will signal an error saying that MANUFACTURER isn't an operating
# system, and we'll never get to this point.
case $basic_machine in
*-acorn)
os=-riscix1.2
;;
arm*-semi)
os=-aout
;;
pdp11-*)
os=-none
;;
*-dec | vax-*)
os=-ultrix4.2
;;
m68*-apollo)
os=-domain
;;
i386-sun)
os=-sunos4.0.2
;;
m68000-sun)
os=-sunos3
# This also exists in the configure program, but was not the
# default.
# os=-sunos4
;;
*-tti) # must be before sparc entry or we get the wrong os.
os=-sysv3
;;
sparc-* | *-sun)
os=-sunos4.1.1
;;
*-be)
os=-beos
;;
*-ibm)
os=-aix
;;
*-hp)
os=-hpux
;;
*-hitachi)
os=-hiux
;;
i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
os=-sysv
;;
*-cbm)
os=-amigaos
;;
*-dg)
os=-dgux
;;
*-dolphin)
os=-sysv3
;;
m68k-ccur)
os=-rtu
;;
m88k-omron*)
os=-luna
;;
*-next )
os=-nextstep
;;
*-sequent)
os=-ptx
;;
*-crds)
os=-unos
;;
*-ns)
os=-genix
;;
i370-*)
os=-mvs
;;
*-next)
os=-nextstep3
;;
*-gould)
os=-sysv
;;
*-highlevel)
os=-bsd
;;
*-encore)
os=-bsd
;;
*-sgi)
os=-irix
;;
*-siemens)
os=-sysv4
;;
*-masscomp)
os=-rtu
;;
f301-fujitsu)
os=-uxpv
;;
*)
os=-none
;;
esac
fi
# Here we handle the case where we know the os, and the CPU type, but not the
# manufacturer. We pick the logical manufacturer.
vendor=unknown
case $basic_machine in
*-unknown)
case $os in
-riscix*)
vendor=acorn
;;
-sunos*)
vendor=sun
;;
-aix*)
vendor=ibm
;;
-hpux*)
vendor=hp
;;
-hiux*)
vendor=hitachi
;;
-unos*)
vendor=crds
;;
-dgux*)
vendor=dg
;;
-luna*)
vendor=omron
;;
-genix*)
vendor=ns
;;
-mvs*)
vendor=ibm
;;
-ptx*)
vendor=sequent
;;
-vxsim* | -vxworks*)
vendor=wrs
;;
-aux*)
vendor=apple
;;
esac
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
;;
esac
echo $basic_machine$os

293
config/gettext.m4 Normal file
View File

@ -0,0 +1,293 @@
# Macro to add for using GNU gettext.
# Ulrich Drepper <drepper@cygnus.com>, 1995.
# serial 3
AC_DEFUN(AM_WITH_NLS,
[AC_MSG_CHECKING([whether NLS is requested])
dnl Default is enabled NLS
AC_ARG_ENABLE(nls,
[ --disable-nls do not use Native Language Support],
USE_NLS=$enableval, USE_NLS=yes)
AC_MSG_RESULT($USE_NLS)
AC_SUBST(USE_NLS)
USE_INCLUDED_LIBINTL=no
dnl If we use NLS figure out what method
if test "$USE_NLS" = "yes"; then
AC_DEFINE(ENABLE_NLS)
AC_MSG_CHECKING([whether included gettext is requested])
AC_ARG_WITH(included-gettext,
[ --with-included-gettext use the GNU gettext library included here],
nls_cv_force_use_gnu_gettext=$withval,
nls_cv_force_use_gnu_gettext=no)
AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
dnl User does not insist on using GNU NLS library. Figure out what
dnl to use. If gettext or catgets are available (in this order) we
dnl use this. Else we have to fall back to GNU NLS library.
dnl catgets is only used if permitted by option --with-catgets.
nls_cv_header_intl=
nls_cv_header_libgt=
CATOBJEXT=NONE
AC_CHECK_HEADER(libintl.h,
[AC_CACHE_CHECK([for gettext in libc], gt_cv_func_gettext_libc,
[AC_TRY_LINK([#include <libintl.h>], [return (int) gettext ("")],
gt_cv_func_gettext_libc=yes, gt_cv_func_gettext_libc=no)])
if test "$gt_cv_func_gettext_libc" != "yes"; then
AC_CHECK_LIB(intl, bindtextdomain,
[LIBS="-lintl $LIBS"
AC_CACHE_CHECK([for gettext in libintl],
gt_cv_func_gettext_libintl,
[AC_TRY_LINK([], [return (int) gettext ("")],
gt_cv_func_gettext_libintl=yes,
gt_cv_func_gettext_libintl=no)])])
fi
if test "$gt_cv_func_gettext_libc" = "yes" \
|| test "$gt_cv_func_gettext_libintl" = "yes"; then
AC_DEFINE(HAVE_GETTEXT)
AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
if test "$MSGFMT" != "no"; then
AC_CHECK_FUNCS(dcgettext)
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
return _nl_msg_cat_cntr],
[CATOBJEXT=.gmo
DATADIRNAME=share],
[CATOBJEXT=.mo
DATADIRNAME=lib])
INSTOBJEXT=.mo
fi
fi
])
if test "$CATOBJEXT" = "NONE"; then
AC_MSG_CHECKING([whether catgets can be used])
AC_ARG_WITH(catgets,
[ --with-catgets use catgets functions if available],
nls_cv_use_catgets=$withval, nls_cv_use_catgets=no)
AC_MSG_RESULT($nls_cv_use_catgets)
if test "$nls_cv_use_catgets" = "yes"; then
dnl No gettext in C library. Try catgets next.
AC_CHECK_LIB(i, main)
AC_CHECK_FUNC(catgets,
[AC_DEFINE(HAVE_CATGETS)
INTLOBJS="\$(CATOBJS)"
AC_PATH_PROG(GENCAT, gencat, no)dnl
if test "$GENCAT" != "no"; then
AC_PATH_PROG(GMSGFMT, gmsgfmt, no)
if test "$GMSGFMT" = "no"; then
AM_PATH_PROG_WITH_TEST(GMSGFMT, msgfmt,
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)
fi
AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
USE_INCLUDED_LIBINTL=yes
CATOBJEXT=.cat
INSTOBJEXT=.cat
DATADIRNAME=lib
INTLDEPS='$(top_builddir)/intl/libintl.a'
INTLLIBS=$INTLDEPS
LIBS=`echo $LIBS | sed -e 's/-lintl//'`
nls_cv_header_intl=intl/libintl.h
nls_cv_header_libgt=intl/libgettext.h
fi])
fi
fi
if test "$CATOBJEXT" = "NONE"; then
dnl Neither gettext nor catgets in included in the C library.
dnl Fall back on GNU gettext library.
nls_cv_use_gnu_gettext=yes
fi
fi
if test "$nls_cv_use_gnu_gettext" = "yes"; then
dnl Mark actions used to generate GNU NLS library.
INTLOBJS="\$(GETTOBJS)"
AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
AC_SUBST(MSGFMT)
USE_INCLUDED_LIBINTL=yes
CATOBJEXT=.gmo
INSTOBJEXT=.mo
DATADIRNAME=share
INTLDEPS='$(top_builddir)/intl/libintl.a'
INTLLIBS=$INTLDEPS
LIBS=`echo $LIBS | sed -e 's/-lintl//'`
nls_cv_header_intl=intl/libintl.h
nls_cv_header_libgt=intl/libgettext.h
fi
dnl Test whether we really found GNU xgettext.
if test "$XGETTEXT" != ":"; then
dnl If it is no GNU xgettext we define it as : so that the
dnl Makefiles still can work.
if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
: ;
else
AC_MSG_RESULT(
[found xgettext programs is not GNU xgettext; ignore it])
XGETTEXT=":"
fi
fi
# We need to process the po/ directory.
POSUB=po
else
DATADIRNAME=share
nls_cv_header_intl=intl/libintl.h
nls_cv_header_libgt=intl/libgettext.h
fi
# If this is used in GNU gettext we have to set USE_NLS to `yes'
# because some of the sources are only built for this goal.
if test "$PACKAGE" = gettext; then
USE_NLS=yes
USE_INCLUDED_LIBINTL=yes
fi
dnl These rules are solely for the distribution goal. While doing this
dnl we only have to keep exactly one list of the available catalogs
dnl in configure.in.
for lang in $ALL_LINGUAS; do
GMOFILES="$GMOFILES $lang.gmo"
POFILES="$POFILES $lang.po"
done
dnl Make all variables we use known to autoconf.
AC_SUBST(USE_INCLUDED_LIBINTL)
AC_SUBST(CATALOGS)
AC_SUBST(CATOBJEXT)
AC_SUBST(DATADIRNAME)
AC_SUBST(GMOFILES)
AC_SUBST(INSTOBJEXT)
AC_SUBST(INTLDEPS)
AC_SUBST(INTLLIBS)
AC_SUBST(INTLOBJS)
AC_SUBST(POFILES)
AC_SUBST(POSUB)
])
AC_DEFUN(AM_GNU_GETTEXT,
[AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_PROG_RANLIB])dnl
AC_REQUIRE([AC_ISC_POSIX])dnl
AC_REQUIRE([AC_HEADER_STDC])dnl
AC_REQUIRE([AC_C_CONST])dnl
AC_REQUIRE([AC_C_INLINE])dnl
AC_REQUIRE([AC_TYPE_OFF_T])dnl
AC_REQUIRE([AC_TYPE_SIZE_T])dnl
AC_REQUIRE([AC_FUNC_ALLOCA])dnl
AC_REQUIRE([AC_FUNC_MMAP])dnl
AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \
unistd.h values.h sys/param.h])
AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
__argz_count __argz_stringify __argz_next])
if test "${ac_cv_func_stpcpy+set}" != "set"; then
AC_CHECK_FUNCS(stpcpy)
fi
if test "${ac_cv_func_stpcpy}" = "yes"; then
AC_DEFINE(HAVE_STPCPY)
fi
AM_LC_MESSAGES
AM_WITH_NLS
if test "x$CATOBJEXT" != "x"; then
if test "x$ALL_LINGUAS" = "x"; then
LINGUAS=
else
AC_MSG_CHECKING(for catalogs to be installed)
NEW_LINGUAS=
for lang in ${LINGUAS=$ALL_LINGUAS}; do
case "$ALL_LINGUAS" in
*$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
esac
done
LINGUAS=$NEW_LINGUAS
AC_MSG_RESULT($LINGUAS)
fi
dnl Construct list of names of catalog files to be constructed.
if test -n "$LINGUAS"; then
for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
fi
fi
dnl Determine which catalog format we have (if any is needed)
dnl For now we know about two different formats:
dnl Linux libc-5 and the normal X/Open format
test -d intl || mkdir intl
if test "$CATOBJEXT" = ".cat"; then
AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen)
dnl Transform the SED scripts while copying because some dumb SEDs
dnl cannot handle comments.
sed -e '/^#/d' $srcdir/intl/$msgformat-msg.sed > intl/po2msg.sed
fi
dnl po2tbl.sed is always needed.
sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
$srcdir/intl/po2tbl.sed.in > intl/po2tbl.sed
dnl In the intl/Makefile.in we have a special dependency which makes
dnl only sense for gettext. We comment this out for non-gettext
dnl packages.
if test "$PACKAGE" = "gettext"; then
GT_NO="#NO#"
GT_YES=
else
GT_NO=
GT_YES="#YES#"
fi
AC_SUBST(GT_NO)
AC_SUBST(GT_YES)
dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
dnl Try to locate is.
MKINSTALLDIRS=
if test -n "$ac_aux_dir"; then
MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
fi
if test -z "$MKINSTALLDIRS"; then
MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
fi
AC_SUBST(MKINSTALLDIRS)
dnl *** For now the libtool support in intl/Makefile is not for real.
l=
AC_SUBST(l)
dnl Generate list of files to be processed by xgettext which will
dnl be included in po/Makefile.
test -d po || mkdir po
if test "x$srcdir" != "x."; then
if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
posrcprefix="$srcdir/"
else
posrcprefix="../$srcdir/"
fi
else
posrcprefix="../"
fi
rm -f po/POTFILES
sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
< $srcdir/po/POTFILES.in > po/POTFILES
])

21
config/hack-gcc Executable file
View File

@ -0,0 +1,21 @@
#!/bin/sh
# This is hack-gcc, an ugly hack to force gcc to recompile without
# optimization when an error occurs. It is meant as wrapper around gcc
# that works around compiler bugs when optimization is on . Do what
# you want with this code.
# Author Jean-Marc Lasgouttes (Jean-Marc.Lasgouttes@inria.fr)
ARGS=`echo "$*" | sed -e 's/\"/\\\"/g`
if test "x$ARGS" = x ; then
echo "usage: $0 [gcc name] [normal gcc options]"
exit 0
fi
if eval "$ARGS" ; then
exit 0
else
echo "$0: an error occurred, retrying without optimization." >&2
eval `echo $ARGS | sed -e 's/-O[0-9]*//'`
fi

119
config/install-sh Executable file
View File

@ -0,0 +1,119 @@
#!/bin/sh
#
# install - install a program, script, or datafile
# This comes from X11R5; it is not part of GNU.
#
# $XConsortium: install.sh,v 1.2 89/12/18 14:47:22 jim Exp $
#
# This script is compatible with the BSD install script, but was written
# from scratch.
#
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
# put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
instcmd="$mvprog"
chmodcmd=""
chowncmd=""
chgrpcmd=""
stripcmd=""
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=""
dst=""
while [ x"$1" != x ]; do
case $1 in
-c) instcmd="$cpprog"
shift
continue;;
-m) chmodcmd="$chmodprog $2"
shift
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
-s) stripcmd="$stripprog"
shift
continue;;
*) if [ x"$src" = x ]
then
src=$1
else
dst=$1
fi
shift
continue;;
esac
done
if [ x"$src" = x ]
then
echo "install: no input file specified"
exit 1
fi
if [ x"$dst" = x ]
then
echo "install: no destination specified"
exit 1
fi
# If destination is a directory, append the input filename; if your system
# does not like double slashes in filenames, you may need to add some logic
if [ -d $dst ]
then
dst="$dst"/`basename $src`
fi
# Make a temp file name in the proper directory.
dstdir=`dirname $dst`
dsttmp=$dstdir/#inst.$$#
# Move or copy the file name to the temp name
$doit $instcmd $src $dsttmp
# and set any options; do chmod last to preserve setuid bits
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; fi
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; fi
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; fi
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; fi
# Now rename the file to the real destination.
$doit $rmcmd $dst
$doit $mvcmd $dsttmp $dst
exit 0

14
config/lcmessage.m4 Normal file
View File

@ -0,0 +1,14 @@
# Check whether LC_MESSAGES is available in <locale.h>.
# Ulrich Drepper <drepper@cygnus.com>, 1995.
# serial 1
AC_DEFUN(AM_LC_MESSAGES,
[if test $ac_cv_header_locale_h = yes; then
AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
[AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
if test $am_cv_val_LC_MESSAGES = yes; then
AC_DEFINE(HAVE_LC_MESSAGES)
fi
fi])

354
config/lib_configure.m4 Normal file
View File

@ -0,0 +1,354 @@
#! /bin/sh
dnl Use 'make' to create configure from this m4 script.
# This script is a hand-made configure script. It contains a lot of
# code stolen from GNU autoconf. I removed all the code that was not
# useful for configuring a LyX installation.
dnl ######### Begin M4 macros #########################################
dnl This is a template for my stripped-down configure script.
dnl First, a few convenient macros.
changequote([,])dnl
dnl
dnl
dnl MSG_CHECKING(FEATURE-DESCRIPTION,PREFIX)
dnl
define(MSG_CHECKING,
[echo $ac_n "$2checking $1""... $ac_c"])dnl
dnl
dnl
dnl MSG_RESULT(RESULT-DESCRIPTION)
dnl
define(MSG_RESULT,
[echo "$ac_t""$1"])dnl
dnl
dnl
dnl SEARCH_PROG(FEATURE-DESCRIPTION,VARIABLE-NAME,PROGRAMS-LIST,
dnl ACTION-IF-FOUND,ACTION-IF-NOT-FOUND)
dnl
define(SEARCH_PROG,[dnl
changequote([,])dnl
MSG_CHECKING($1)
MSG_RESULT()
$2=
for ac_prog in $3
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog ; ac_word=$[2]
if test -n "$ac_word"; then
MSG_CHECKING([for \"$ac_word\"],[+])
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
for ac_dir in $PATH; do
test -z "$ac_dir" && ac_dir=.
if test -x [$ac_dir/$ac_word]; then
$2="$ac_prog"
break
fi
done
IFS="$ac_save_ifs"
if test -n "[$]$2"; then
ac_result=yes
else
ac_result=no
fi
ifelse($4,,,[$4])
MSG_RESULT($ac_result)
test -n "[$]$2" && break
fi
done
if test -z "[$]$2" ; then
$2=none
ifelse($5,,,[ $5
])dnl
fi
changequote(,)dnl
])dnl
dnl
dnl
dnl PROVIDE_DEFAULT_FILE(FILE, DEFAULT-VALUE)
dnl
define(PROVIDE_DEFAULT_FILE,[dnl
# if $1 does not exist (because LaTeX did not run),
# then provide a standard version.
if test ! -f $1 ; then
cat >$1 <<EOF
$2
EOF
fi])
changequote(,)dnl
dnl ######### End M4 macros #############################################
####some configuration variables
lyx_check_config=yes
lyx_keep_temps=no
srcdir=
#### Parse the command line
for ac_option do
case "$ac_option" in
-help | --help | -h)
cat << EOF
Usage: configure [options]
Options:
--help show this help lines
--keep-temps keep temporary files (for debug. purposes)
--without-latex-config do not run LaTeX to determine configuration
EOF
exit 0;;
--without-latex-config)
lyx_check_config=no ;;
--keep-temps)
lyx_keep_temps=yes ;;
esac
done
#### Checking for some echo oddities
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
# Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
ac_n= ac_c='
' ac_t=' '
else
ac_n=-n ac_c= ac_t=
fi
else
ac_n= ac_c='\c' ac_t=
fi
#### I do not really know why this is useful, but we might as well keep it.
# NLS nuisances.
# Only set these to C if already set. These must not be set unconditionally
# because not all systems understand e.g. LANG=C (notably SCO).
# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
# Non-C LC_CTYPE values break the ctype check.
if test "${LANG+set}" = set; then LANG=C; export LANG; fi
if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
#### Guess the directory in which configure is located.
changequote([,])dnl
ac_prog=[$]0
changequote(,)dnl
srcdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
test "x$srcdir" = "x$ac_prog" && srcdir=.
if test ! -r ${srcdir}/chkconfig.ltx ; then
echo "configure: error: cannot find chkconfig.ltx script"
exit 1
fi
#### Create the build directories if necessary
for dir in bind doc kbd layouts templates reLyX ; do
test ! -d $dir && mkdir $dir
done
#### Searching some useful programs
define(CHECKLATEX2E,[
## Check whether this is really LaTeX2e
rm -f chklatex.ltx
cat >chklatex.ltx <<EOF
\\nonstopmode\\makeatletter
\\ifx\\undefined\\documentclass\\else
\\message{ThisIsLaTeX2e}
\\fi
\\@@end
EOF
if eval ${LATEX} chklatex.ltx </dev/null 2>/dev/null \
| grep 'ThisIsLaTeX2e' >/dev/null; then
:
else
LATEX=
ac_result="not useable"
fi
rm -f chklatex.ltx chklatex.log])dnl
dnl
# Search LaTeX2e
SEARCH_PROG([for a LaTeX2e program],LATEX,latex latex2e,CHECKLATEX2E,dnl
[lyx_check_config=no])
# Search for an installed reLyX or a ready-to-install one
save_PATH=${PATH}
PATH=${PATH}:./reLyX/
SEARCH_PROG([for reLyX LaTeX-to-LyX translator],RELYX,reLyX)
PATH=${save_PATH}
# Search something to process a literate document
SEARCH_PROG([for a Literate programming processor],LITERATE,"noweave -delay -index")
if test "$LITERATE" = "none"; then LITERATE_EXT="none"; else LITERATE_EXT=".nw"; fi
# Search for a Postscript interpreter
SEARCH_PROG([for a Postscript interpreter],GS, gs)
# Search something to preview postscript
SEARCH_PROG([for a Postscript previewer],GHOSTVIEW,gv ghostview)
# Search a *roff program (used to translate tables in ASCII export)
SEARCH_PROG([for a *roff formatter],ROFF,groff nroff)
ascii_roff_command=$ROFF
test $ROFF = "groff" && ascii_roff_command="groff -t -Tlatin1 \$\$FName"
test $ROFF = "nroff" && ascii_roff_command="tbl \$\$FName | nroff"
# Search the ChkTeX program
SEARCH_PROG([for ChkTeX],CHKTEX,chktex)
chktex_command=$CHKTEX
test $CHKTEX = "chktex" && chktex_command="$CHKTEX -n1 -n3 -n6 -n9 -n22 -n25 -n30 -n38"
# Search for a spellchecker
SEARCH_PROG([for a spell-checker], SPELL,ispell)
# Search a Fax handling program
SEARCH_PROG([for a fax driver], FAX, sendfax faxsend fax)
if test $FAX = sendfax ; then
fax_command="sendfax -n -h '\$\$Host' -c '\$\$Comment' -x '\$\$Enterprise' -d '\$\$Name'@'\$\$Phone' '\$\$FName'"
elif test $FAX = faxsend ; then
fax_command="faxsend '\$\$Phone' '\$\$FName'"
elif test $FAX = fax ; then
fax_command="fax send '\$\$Phone' '\$\$FName'"
else
fax_command="none"
fi
# Search for LinuxDoc support
SEARCH_PROG([for SGML-tools 1.x (LinuxDoc)], LINUXDOC, sgml2lyx)
chk_linuxdoc=no
if test $LINUXDOC != none; then
chk_linuxdoc=yes
linuxdoc_cmd="\\def\\haslinuxdoc{yes}"
fi
# Search for DocBook support
SEARCH_PROG([for SGML-tools 2.x (DocBook)], DOCBOOK, sgmltools)
chk_docbook=no
if test $DOCBOOK != none; then
chk_docbook=yes
docbook_cmd="\\def\\hasdocbook{yes}"
fi
# Search for a spool command
SEARCH_PROG([for a spool command], LPR, lp lpr)
case $LPR in
lp) print_spool_command=lp
print_spool_printerprefix="-d ";;
lpr) print_spool_command=lpr
print_spool_printerprefix="-P";;
*) :;; # leave to empty values
esac
#### Explore the LaTeX configuration
MSG_CHECKING(LaTeX configuration)
# First, remove the files that we want to re-create
rm -f textclass.lst packages.lst chkconfig.sed
if test ${lyx_check_config} = no ; then
MSG_RESULT(default values)
else
MSG_RESULT(auto)
rm -f wrap_chkconfig.ltx chkconfig.vars chkconfig.classes chklayouts.tex
cat >wrap_chkconfig.ltx <<EOF
\\newcommand\\srcdir{${srcdir}}
${linuxdoc_cmd}
${docbook_cmd}
\\input{${srcdir}/chkconfig.ltx}
EOF
## Construct the list of classes to test for.
# build the list of available layout files and convert it to commands
# for chkconfig.ltx
for file in ./layouts/*.layout ${srcdir}/layouts/*.layout ; do
case $file in
*/\*.layout) ;;
*) echo $file ;;
esac
done | sed -e 's%^.*layouts/\(.*\)\.layout$%\\TestDocClass{\1}%'\
> chklayouts.tex
changequote([,])dnl
[eval] ${LATEX} wrap_chkconfig.ltx 2>/dev/null | grep '^\+'
[eval] `cat chkconfig.vars | sed 's/-/_/g'`
changequote(,)dnl
fi
# Do we have all the files we need? Useful if latex did not run
changequote([,])dnl
echo creating textclass.lst
PROVIDE_DEFAULT_FILE(textclass.lst,dnl
[# This file declares layouts and their associated definition files
# (include dir. relative to the place where this file is).
# It contains only default values, since chkconfig.ltx could not be run
# for some reason. Run ./configure if you need to update it after a
# configuration change.
article article article
report report report
book book book
linuxdoc linuxdoc linuxdoc
letter letter letter])
PROVIDE_DEFAULT_FILE(chkconfig.sed,[s/@.*@/???/g])
echo creating packages.lst
PROVIDE_DEFAULT_FILE(packages.lst,dnl
[# This file should contain the list of LaTeX packages that have been
# recognized by LyX. Unfortunately, since configure could not find
# your LaTeX2e program, the tests have not been run. Run ./configure
# if you need to update it after a configuration change.
])
changequote(,)dnl
echo creating doc/LaTeXConfig.lyx
echo "s/@chk_linuxdoc@/$chk_linuxdoc/g" >> chkconfig.sed
echo "s/@chk_docbook@/$chk_docbook/g" >> chkconfig.sed
sed -f chkconfig.sed ${srcdir}/doc/LaTeXConfig.lyx.in >doc/LaTeXConfig.lyx
echo creating lyxrc.defaults
rm -f lyxrc.defaults
cat >lyxrc.defaults <<EOF
# This file has been automatically generated by LyX' lib/configure
# script. It contains default settings that have been determined by
# examining your system. PLEASE DO NOT MODIFY ANYTHING HERE! If you
# want to customize LyX, make a copy of the file LYXDIR/lyxrc as
# ~/.lyx/lyxrc and edit this file instead. Any setting in lyxrc will
# override the values given here.
\\latex_command "$LATEX"
\\relyx_command "$RELYX"
\\literate_command "$LITERATE"
\\literate_extension "$LITERATE_EXT"
\\ps_command "$GS"
\\view_ps_command "$GHOSTVIEW -swap"
\\view_pspic_command "$GHOSTVIEW"
\\ascii_roff_command "$ascii_roff_command"
\\chktex_command "$chktex_command"
\\spell_command "$SPELL"
\\fax_command "$fax_command"
\\print_spool_command "$print_spool_command"
\\print_spool_printerprefix "$print_spool_printerprefix"
\\font_encoding "$chk_fontenc"
EOF
# Remove superfluous files if we are not writing in the main lib
# directory
for file in lyxrc.defaults textclass.lst packages.lst \
doc/LaTeXConfig.lyx ; do
# we rename the file first, so that we avoid comparing a file with itself
mv $file $file.new
if test -r $srcdir/$file && diff $file.new $srcdir/$file >/dev/null 2>/dev/null ;
then
echo "removing $file, which is identical to the system global version"
rm -f $file.new
else
mv $file.new $file
fi
done
# Final clean-up
if test $lyx_keep_temps = no ; then
rm -f chkconfig.sed chkconfig.vars wrap_chkconfig.* chklayouts.tex \
missfont.log
fi

190
config/missing Executable file
View File

@ -0,0 +1,190 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
# Copyright (C) 1996, 1997 Free Software Foundation, Inc.
# Franc,ois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
if test $# -eq 0; then
echo 1>&2 "Try \`$0 --help' for more information"
exit 1
fi
case "$1" in
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
error status if there is no known handling for PROGRAM.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
Supported PROGRAM values:
aclocal touch file \`aclocal.m4'
autoconf touch file \`configure'
autoheader touch file \`config.h.in'
automake touch all \`Makefile.in' files
bison create \`y.tab.[ch]', if possible, from existing .[ch]
flex create \`lex.yy.c', if possible, from existing .c
lex create \`lex.yy.c', if possible, from existing .c
makeinfo touch the output file
yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing - GNU libit 0.0"
;;
-*)
echo 1>&2 "$0: Unknown \`$1' option"
echo 1>&2 "Try \`$0 --help' for more information"
exit 1
;;
aclocal)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`acinclude.m4' or \`configure.in'. You might want
to install the \`Automake' and \`Perl' packages. Grab them from
any GNU archive site."
touch aclocal.m4
;;
autoconf)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`configure.in'. You might want to install the
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
archive site."
touch configure
;;
autoheader)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`acconfig.h' or \`configure.in'. You might want
to install the \`Autoconf' and \`GNU m4' packages. Grab them
from any GNU archive site."
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' configure.in`
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
case "$f" in
*:*) touch_files="$touch_files "`echo "$f" |
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files="$touch_files $f.in";;
esac
done
touch $touch_files
;;
automake)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'.
You might want to install the \`Automake' and \`Perl' packages.
Grab them from any GNU archive site."
find . -type f -name Makefile.am -print |
sed 's/\.am$/.in/' |
while read f; do touch "$f"; done
;;
bison|yacc)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified a \`.y' file. You may need the \`Bison' package
in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h
if [ $# -ne 1 ]; then
eval LASTARG="\${$#}"
case "$LASTARG" in
*.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" y.tab.c
fi
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" y.tab.h
fi
;;
esac
fi
if [ ! -f y.tab.h ]; then
echo >y.tab.h
fi
if [ ! -f y.tab.c ]; then
echo 'main() { return 0; }' >y.tab.c
fi
;;
lex|flex)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified a \`.l' file. You may need the \`Flex' package
in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site."
rm -f lex.yy.c
if [ $# -ne 1 ]; then
eval LASTARG="\${$#}"
case "$LASTARG" in
*.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" lex.yy.c
fi
;;
esac
fi
if [ ! -f lex.yy.c ]; then
echo 'main() { return 0; }' >lex.yy.c
fi
;;
makeinfo)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy \`make' (AIX,
DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site."
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
if test -z "$file"; then
file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
fi
touch $file
;;
*)
echo 1>&2 "\
WARNING: \`$1' is needed, and you do not seem to have it handy on your
system. You might have modified some files without having the
proper tools for further handling them. Check the \`README' file,
it often tells you about the needed prerequirements for installing
this package. You may also peek at any GNU archive site, in case
some other package would contain this missing \`$1' program."
exit 1
;;
esac
exit 0

32
config/mkinstalldirs Executable file
View File

@ -0,0 +1,32 @@
#! /bin/sh
# mkinstalldirs --- make directory hierarchy
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
# Created: 1993-05-16
# Public domain
errstatus=0
for file
do
set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
shift
pathcomp=
for d in ${1+"$@"} ; do
pathcomp="$pathcomp$d"
case "$pathcomp" in
-* ) pathcomp=./$pathcomp ;;
esac
if test ! -d "$pathcomp"; then
echo "mkdir $pathcomp" 1>&2
mkdir "$pathcomp" || errstatus=$?
fi
pathcomp="$pathcomp/"
done
done
exit $errstatus
# mkinstalldirs ends here

42
config/progtest.m4 Normal file
View File

@ -0,0 +1,42 @@
# Search path for a program which passes the given test.
# Ulrich Drepper <drepper@cygnus.com>, 1996.
# serial 1
dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
AC_DEFUN(AM_PATH_PROG_WITH_TEST,
[# Extract the first word of "$2", so it can be a program name with args.
set dummy $2; ac_word=[$]2
AC_MSG_CHECKING([for $ac_word])
AC_CACHE_VAL(ac_cv_path_$1,
[case "[$]$1" in
/*)
ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
;;
*)
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
for ac_dir in ifelse([$5], , $PATH, [$5]); do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
if [$3]; then
ac_cv_path_$1="$ac_dir/$ac_word"
break
fi
fi
done
IFS="$ac_save_ifs"
dnl If no 4th arg is given, leave the cache variable unset,
dnl so AC_PATH_PROGS will keep looking.
ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
])dnl
;;
esac])dnl
$1="$ac_cv_path_$1"
if test -n "[$]$1"; then
AC_MSG_RESULT([$]$1)
else
AC_MSG_RESULT(no)
fi
AC_SUBST($1)dnl
])

258
configure.cmd Executable file
View File

@ -0,0 +1,258 @@
/* OS/2 REXX : The top level configure.cmd; Don't delete this comment. */
call RxFuncAdd 'SysLoadFuncs','RexxUtil','SysLoadFuncs'
call SysLoadFuncs
intl='yes'
latexconfig='yes'
extraopt=''
static='no'
optionsread=0
parse arg option1 option2 option3 gabbages
if (option1='--disable-nls')|(option2='--disable-nls')|(option3='--disable-nls') then
do
optionsread=optionsread+1
intl='no'
end
if (option1='--with-extra-optimize')|(option2='--with-extra-optimize')|(option3='--with-extra-optimize') then
do
optionsread=optionsread+1
'@gcc -v 2>&1|grep 2.7'
if rc=0 then
extraopt='-malign-loops=2 -malign-jumps=2 -malign-functions=2 -ffast-math'
end
if (option1='--link-static-xforms')|(option2='--link-static-xforms')|(option3='--link-static-xforms') then
do
optionsread=optionsread+1
static='yes'
end
if \(gabbages='')|(\(option3='')&(optionsread<3))|(\(option2='')&(optionsread<2))|(\(option1='')&(optionsread<1)) then
do
say 'Unknown option! Use only: --with-extra-optimize --disable-nls --link-static-xforms'
exit
end
env='OS2ENVIRONMENT'
X11ROOT=value('X11ROOT',,env)
/* I don't think I know how to substitute all the occurences *
* of a substring to something else with REXX comes with Warp3. *
* Of course Object REXX has ANSI function changestr */
curdir=directory()
do until pos('\',curdir)=0
parse var curdir tmp1 '\' tmp2
curdir=tmp1'#/'tmp2
end
curdir=translate(curdir,'\','#')
os2config.1='@prefix@ 'X11ROOT'\/XFree86'
os2config.2='@exec_prefix@ 'subword(os2config.1,2)
os2config.3='@srcdir@ 'curdir
os2config.4='@top_srcdir@ 'subword(os2config.3,2)
os2config.5='@bindir@ 'subword(os2config.2,2)'\/bin'
os2config.6='@libdir@ 'subword(os2config.2,2)'\/lib'
os2config.7='@datadir@ 'subword(os2config.2,2)'\/lib'
os2config.8='@mandir@ 'subword(os2config.1,2)'\/man'
os2config.9='@CPPIMPLFLAGS@ -I'subword(os2config.1,2)'\/include'
os2config.10='@program_suffix@'
os2config.11='@lyx_devel_version@ $(lyx_devel_version)'
os2config.12='@PACKAGE@ lyx'
os2config.13='@DATADIRNAME@ lib'
contains=0
do until contains > 0
testversion=linein('src/version.h')
contains=pos('#define LYX_VERSION', testversion)
end
os2config.14='@LYX_VERSION@ 'strip(subword(testversion,3,1),,'"')
os2config.15='@VERSION@ 'subword(os2config.14,2)
CXXFLAGS=value('CXXFLAGS',,env)
if CXXFLAGS='' then
do
CXXFLAGS='-g -m486 -O -fno-strength-reduce -Zmtd -Zsysv-signals -D__ST_MT_ERRNO__ -Wall -Wno-unused'
'@gcc -v 2>&1|grep 2.8'
if rc=0 then
CXXFLAGS=CXXFLAGS' -fno-exceptions -fno-rtti'
end
CFLAGS=value('CFLAGS',,env)
if CFLAGS='' then
CFLAGS='-g -m486 -O2 -fno-strength-reduce -Zmtd -Zsysv-signals -D__ST_MT_ERRNO__ -Wall -Wno-unused'
/* extraopt is added to CXXFLAGS/CFLAGS even if the environment variable is set */
CXXFLAGS=CXXFLAGS' 'extraopt
CFLAGS=CFLAGS' 'extraopt
os2config.16='@CXXFLAGS@ 'CXXFLAGS
os2config.17='@CFLAGS@ 'CFLAGS
os2config.18='@CC@ gcc'
os2config.19='@CXX@ gcc' /* os2config.12='@CXX@ g++' */
os2config.20='@RANLIB@ ar s'
if static='yes' then
os2config.21='@LYX_LIBS@ -lforms_s -lulib -lXpm'
else
os2config.21='@LYX_LIBS@ -lforms -lXpm'
os2config.22='@LIBS@ -lSM -lICE -lX11 -lsocket'
if opt='yes' then
do
os2config.23='@LDFLAGS@ -Zmtd -Zsysv-signals -Zbin-files -s -lwrap -L'subword(os2config.6,2)
end
else
do
os2config.23='@LDFLAGS@ -Zmtd -Zsysv-signals -Zbin-files -L'subword(os2config.6,2)
end
os2config.24='@CPPFLAGS@ -I'subword(os2config.1,2)'\/include -I..\/intl'
os2config.25='@SET_MAKE@' /* ??? */
os2config.26='@CXX_COMMAND@ gcc.exe'
/* Full path is given in order to distinguish it from IBM install. */
os2config.27='@INSTALL@ 'subword(os2config.5,2)'\/install'
os2config.28='@INSTALL_DATA@ 'subword(os2config.5,2)'\/install'
os2config.29='@INSTALL_PROGRAM@ 'subword(os2config.5,2)'\/install'
os2config.30='@INSTALL_TARGET@ install-os2'
os2config.31='@LIBOBJS@'
if intl='yes' then
do
os2config.32='@INTLLIBS@ ..\/intl\/libintl.a'
os2config.33='@INTLSUB@ intl'
os2config.34='@POSUB@' /* os2config.27='@POSUB@ po' */
os2config.35='@USE_INCLUDED_LIBINTL@ yes'
end
else
do
os2config.32='@INTLLIBS@'
os2config.33='@INTLSUB@'
os2config.34='@POSUB@'
os2config.35='@USE_INCLUDED_LIBINTL@'
end
os2config.36='@INTLOBJS@'
os2config.37='@DEFS@'
os2config.38='@program_transform_name@'
os2config.39='@l@'
os2config.40='@EXEEXT@ .exe'
os2config.41='@PERL@ perl'
os2config.42='@LYX_DIR@ $ENV{X11ROOT}\/XFree86\/lib\/X11\/lyx'
os2config.0=42
rc=SysFileDelete('os2config.sed')
do i=1 to os2config.0
parse var os2config.i from_string to_string
rc=lineout('os2config.sed','s/'from_string'/'to_string'/g')
end
if devel='no' then
rc=lineout('os2config.sed','s/lyx_devel_version = yes/lyx_devel_version = no/')
rc=lineout('os2config.sed','s/#undef HAVE_ALLOCA$/#define HAVE_ALLOCA 1/')
rc=lineout('os2config.sed','s/#undef HAVE_ALLOCA_H/#define HAVE_ALLOCA_H 1/')
rc=lineout('os2config.sed','s/#undef STDC_HEADERS/#define STDC_HEADERS 1/')
rc=lineout('os2config.sed','s/#undef PACKAGE/#define PACKAGE \"lyx\"/')
rc=lineout('os2config.sed','s/#undef VERSION/#define VERSION \"'subword(os2config.14,2)'\"/')
rc=lineout('os2config.sed','s/#undef HAVE_GETCWD/#define HAVE_GETCWD 1/')
rc=lineout('os2config.sed','s/#undef HAVE_GETPAGESIZE/#define HAVE_GETPAGESIZE 1/')
rc=lineout('os2config.sed','s/#undef HAVE_MEMMOVE/#define HAVE_MEMMOVE 1/')
rc=lineout('os2config.sed','s/#undef HAVE_MEMSET/#define HAVE_MEMSET 1/')
rc=lineout('os2config.sed','s/#undef HAVE_PUTENV/#define HAVE_PUTENV 1/')
rc=lineout('os2config.sed','s/#undef HAVE_SETLOCALE/#define HAVE_SETLOCALE 1/')
rc=lineout('os2config.sed','s/#undef HAVE_XOPENIM/#define HAVE_XOPENIM 1/')
rc=lineout('os2config.sed','s/#undef HAVE_STRCHR/#define HAVE_STRCHR 1/')
rc=lineout('os2config.sed','s/#undef HAVE_STRERROR/#define HAVE_STRERROR 1/')
rc=lineout('os2config.sed','s/#undef HAVE_DIRENT_H/#define HAVE_DIRENT_H 1/')
rc=lineout('os2config.sed','s/#undef HAVE_ERRNO_H/#define HAVE_ERRNO_H 1/')
rc=lineout('os2config.sed','s/#undef HAVE_LIMITS_H/#define HAVE_LIMITS_H 1/')
rc=lineout('os2config.sed','s/#undef HAVE_LOCALE_H/#define HAVE_LOCALE_H 1/')
rc=lineout('os2config.sed','s/#undef HAVE_MALLOC_H/#define HAVE_MALLOC_H 1/')
rc=lineout('os2config.sed','s/#undef HAVE_STRING_H/#define HAVE_STRING_H 1/')
rc=lineout('os2config.sed','s/#undef HAVE_SYS_DIR_H/#define HAVE_SYS_DIR_H 1/')
rc=lineout('os2config.sed','s/#undef HAVE_SYS_SELECT_H/#define HAVE_SYS_SELECT_H 1/')
rc=lineout('os2config.sed','s/#undef HAVE_SYS_TIME_H/#define HAVE_SYS_TIME_H 1/')
rc=lineout('os2config.sed','s/#undef HAVE_UNISTD_H/#define HAVE_UNISTD_H 1/')
rc=lineout('os2config.sed','s/#undef XPM_H_LOCATION/#define XPM_H_LOCATION <X11\/xpm.h>/')
rc=lineout('os2config.sed','s/#undef FORMS_H_LOCATION/#define FORMS_H_LOCATION <forms.h>/')
rc=lineout('os2config.sed','s/#undef SIZEOF_INT/#define SIZEOF_INT 4/')
rc=lineout('os2config.sed','s/#undef SIZEOF_VOID_P/#define SIZEOF_VOID_P 4/')
rc=lineout('os2config.sed','s/#undef HAVE_bool/#define HAVE_bool 1/')
rc=lineout('os2config.sed','s/#undef SELECT_TYPE_ARG1/#define SELECT_TYPE_ARG1 (int)/')
rc=lineout('os2config.sed','s/#undef SELECT_TYPE_ARG234/#define SELECT_TYPE_ARG234 (fd_set *)/')
rc=lineout('os2config.sed','s/#undef SELECT_TYPE_ARG5/#define SELECT_TYPE_ARG5 (struct timeval *)/')
rc=lineout('os2config.sed','s/#undef WITH_WARNINGS/#define WITH_WARNINGS 1/')
if devel='yes' then
rc=lineout('os2config.sed','s/#undef DEVEL_VERSION/#define DEVEL_VERSION 1/')
rc=lineout('os2config.sed','s/SHELL/#SHELL/')
rc=lineout('os2config.sed','s/SCRIPT_SUFFIX=/SCRIPT_SUFFIX=.cmd/')
rc=lineout('os2config.sed','s/^DEFS = -DLOCALEDIR/DEFS = -DHAVE_CONFIG_H=1 -DLOCALEDIR/')
if intl='yes' then
rc=lineout('os2config.sed','s/#undef ENABLE_NLS/#define ENABLE_NLS 1/')
/*
rc=lineout('os2config.sed','s/ for [^ ]* in / -for %1 in (/')
rc=lineout('os2config.sed','s/; do /) do /')
*/
rc=lineout('os2config.sed','s/(cd lib && $(MAKE) install)/(cd lib && $(MAKE) os2install)/')
rc=lineout('os2config.sed','s/ln -s/cp/g')
rc=lineout('os2config.sed','s/-o lyx /-o lyx.exe /')
rc=lineout('os2config.sed','s/$(INSTALL_PROGRAM) reLyX\/reLyX $(bindir)\/reLyX/$(INSTALL_PROGRAM) reLyX\/reLyX.cmd $(bindir)\/reLyX.cmd/')
rc=lineout('os2config.sed','s/"reLyX /"reLyX.cmd /')
rc=lineout('os2config.sed') /* Close the file */
/* Test if xforms and Xpm are available. */
rc=SysFileTree(X11ROOT'\XFree86\lib\forms.a',found,'F')
if found.0 = 0 then
say "Can't find forms.a. Please check that the xforms library is correctly installed on your system."
rc=SysFileTree(X11ROOT'\XFree86\lib\Xpm.a',found,'F')
if found.0 = 0 then
say "Can't find Xpm.a. Please check that the Xpm library is correctly installed on your system."
'touch config.status'
'touch config/stamp-h.in'
'sed -f os2config.sed Makefile.in > Makefile'
'sed -f os2config.sed lib/Makefile.in > lib\Makefile'
'sed -f os2config.sed src/Makefile.in > src\Makefile'
'sed -f os2config.sed src/config.h.in > src\config.h'
if intl='yes' then
call SysFileTree 'intl\intlh.inst','patched','F'
if patched.0 = 0 then
/* Figure out how GNU patch program is called here */
/* If run without arguments,
GNU patch emits "usage" into stderr and none into stdout, and
IBM patch emits nothing into stderr and an error message "SYS1575..." into stdout
*/
do
do
'@patch 2>&1 | grep SYS1575 >nul'
if rc=0 then
do
say 'configure tries to run GNU patch with the command "patch"'
say 'and detects IBM patch instead. Please type the collect'
say 'name to invoke GNU patch:'
parse pull patch
end
else patch='patch'
patch' -d intl<development\OS2\gnugettext.diff'
'touch intl/intlh.inst'
'cp intl/libgettext.h intl/libintl.h'
'sed -f os2config.sed intl/Makefile.in > intl\Makefile'
end
end
'cd lib'
/* Check if perl 5.002 or later is available */
PERL=SysSearchPath('PATH', 'perl.exe')
if PERL='' then PERL=SysSearchPath('PATH', 'perl_.exe')
if PERL='' then PERL=SysSearchPath('PATH', 'perl__.exe')
if PERL='' then PERL=SysSearchPath('PATH', 'perl___.exe')
PERL ' -e "require 5.002"'
if rc=0 then
do
call SysFileDelete 'reLyX\reLyX.cmd'
rc=lineout('reLyX\reLyX.cmd','extproc 'filespec("name",PERL)' -S')
rc=lineout('reLyX\reLyX.cmd')
'sed -f ../os2config.sed reLyX/reLyX.in >> reLyX\reLyX.cmd'
rc=SysFileTree('reLyX\reLyXmain.pl.in',found,'F')
if found.0 = 0 then
'cmd /c copy reLyX\reLyXmain.pl reLyX\reLyXmain.pl.in'
'sed -e "s/noweb2lyx/noweb2lyx.cmd/" reLyX/reLyXmain.pl.in > reLyX\reLyXmain.pl'
call SysFileDelete 'reLyX\noweb2lyx.cmd'
rc=lineout('reLyX\noweb2lyx.cmd','extproc 'filespec("name",PERL)' -S')
rc=lineout('reLyX\noweb2lyx.cmd')
'sed -f ../os2config.sed reLyX/noweb2lyx.in >> reLyX\noweb2lyx.cmd'
end
/* The extension ".cmd" is added to distinguish it from sh-script */
/* On single-user OS/2, system wide configuration is normally not necessary */
'cmd /c configure.cmd --without-latex-config & cd ..'


239
configure.in Normal file
View File

@ -0,0 +1,239 @@
#! /bin/bash
dnl Process with autoconf to generate configure script -*- sh -*-
AC_INIT(src/lyx.C)
AC_PREREQ(2.13) dnl We want to use autoconf 2.13
AM_CONFIG_HEADER(src/config.h)
dnl This is a trick to make autoheader do the right thing
dnl AM_CONFIG_HEADER(src/config.h)
AC_CONFIG_AUX_DIR(config)
LYX_GET_VERSION(${srcdir}/src/version.h)
AC_CANONICAL_SYSTEM
AC_VALIDATE_CACHE_SYSTEM_TYPE
AM_INIT_AUTOMAKE(lyx, $VERSION)
# The list of languages known to LyX
# This is needed by GNU gettext
ALL_LINGUAS="ca cs da de es fi fr hu it nl no pl pt ru sl sv tr wa"
AC_PREFIX_PROGRAM(lyx)
# fix the value of the prefixes.
test "x$prefix" = xNONE && prefix=$ac_default_prefix
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
### Set the execute permissions of the various scripts correctly
for file in config/install-sh config/mkinstalldirs config/hack-gcc \
lib/configure ; do
chmod 755 ${srcdir}/${file}
done
### Check for programs
AC_PROG_MAKE_SET
AC_PROG_INSTALL
AC_PROG_RANLIB
### we will also need a C compiler to compile GNU gettext
AC_PROG_CC
### check for special systems
AC_ISC_POSIX
AC_AIX
LYX_HPUX
LYX_SUNOS4
LYX_SCO
### Check for program extensions (.exe or nothing)
AC_EXEEXT
### Check for a C++ compiler
AC_LANG_CPLUSPLUS
LYX_PROG_CXX
AC_PROG_CXXCPP
### Compiler Characteristics
AC_C_CONST
AC_C_INLINE
### check the size of pointers and ints
# the defaults are given for cross compilation.
AC_CHECK_SIZEOF(void *, 4)
AC_CHECK_SIZEOF(int, 4)
LYX_CXX_MUTABLE
LYX_CXX_PARTIAL
LYX_CXX_EXPLICIT
LYX_CXX_STL_STACK
LYX_CXX_STL_STRING
LYX_CXX_NAMESPACES
LYX_CXX_RTTI
### check for compiler brokenness
LYX_GXX_STRENGTH_REDUCE
### Libarary Files
dnl by testing these we check if it is ok to have
dnl -lc and -lm as args to the compiler
AC_CHECK_LIB(m, sin)
AC_CHECK_LIB(c, fopen)
# A hack to work around gcc compiler errors
AC_ARG_WITH(gcc-hack,[ --with-gcc-hack add a wrapper around gcc])
if test "x$with_gcc_hack" = xyes ; then
CXX_COMMAND='${top_srcdir}/config/hack-gcc ${CXX}'
lyx_flags="$lyx_flags gcc-hack"
else
CXX_COMMAND='${CXX}'
fi
AC_SUBST(CXX_COMMAND)
### Add extra directories to check for libraries.
LYX_WITH_DIR([extra-lib],[extra library directory],extra_lib, NONE)
LYX_LOOP_DIR($lyx_cv_extra_lib,LYX_ADD_LIB_DIR(lyx_ldflags,$dir))
test ! x"$lyx_ldflags" = x && LDFLAGS="$lyx_ldflags $LDFLAGS"
### Add extra directories to check for include files.
LYX_WITH_DIR([extra-inc],[extra include directory],extra_inc, NONE)
LYX_LOOP_DIR($lyx_cv_extra_inc,LYX_ADD_INC_DIR(lyx_cppflags,$dir))
test ! x"$lyx_cppflags" = x && CPPFLAGS="$lyx_cppflags $CPPFLAGS"
### Add both includes and libraries
LYX_WITH_DIR([extra-prefix],[extra lib+include directory],extra_prefix, NONE, ${prefix})
LYX_LOOP_DIR($lyx_cv_extra_prefix,[
LYX_ADD_INC_DIR(CPPFLAGS,$dir/include)
LYX_ADD_LIB_DIR(LDFLAGS,$dir/lib)])
### Check for the -liberty library
test "x$GXX" = xyes && lyx_use_liberty=yes
AC_ARG_WITH(liberty,
[ --without-liberty do not try to link against libiberty.a],
[lyx_use_liberty=$withval])
if test x$lyx_use_liberty = xyes; then
# AC_CHECK_LIB(iberty,main,LIBS="-liberty $LIBS")
AC_CHECK_LIB(iberty,main)
fi
### Check for X libraries
# Check for the pt library (for SCO, needed for X)
AC_CHECK_LIB(pt,ptsname,X_EXTRA_LIBS="-lpt $X_EXTRA_LIBS")
# The real thing.
AC_PATH_XTRA
LIBS="$X_PRE_LIBS $LIBS $X_LIBS -lX11 $X_EXTRA_LIBS"
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
## Check whether X is new enough to handle the input method stuff
AC_CHECK_FUNC(XOpenIM)
### Check for xforms and xpm (only if X has been found).
if test "$have_x" = yes ; then
# We surely need these two libraries and want to check carefully the
# version numbers...
LYX_PATH_XPM
LYX_PATH_XFORMS
AC_SUBST(LYX_LIBS)
else
LYX_ERROR(dnl
[Cannot find X window libraries and/or headers. Check your installation.
If you use a Linux system, check that you have installed
the development tools.])
fi
### Setup GNU gettext
dnl GNU gettext is written in C
AC_LANG_C
AM_GNU_GETTEXT
# a hack for those who try to change LyX, but do not have gettext installed
case "${XGETTEXT}" in
*:) XGETTEXT='cp ${srcdir}/lyx.pot ./${PACKAGE}.po ; :'
esac
AC_SUBST(LINGUAS)
AC_LANG_CPLUSPLUS
# some standard header files
AC_HEADER_DIRENT
AC_HEADER_MAJOR
AC_CHECK_HEADERS(sys/time.h sys/types.h sys/select.h)
# some standard structures
AC_HEADER_STAT
AC_HEADER_TIME
AC_STRUCT_ST_BLKSIZE
AC_STRUCT_ST_BLOCKS
AC_STRUCT_ST_RDEV
# some standard types
AC_TYPE_MODE_T
AC_TYPE_OFF_T
AC_TYPE_PID_T
AC_TYPE_SIGNAL
AC_TYPE_SIZE_T
AC_TYPE_UID_T
# some functions we'd like to have
AC_ARG_WITH(broken-headers,
[ --with-broken-headers define some functions on SunOS4 and SCO],
[lyx_broken_headers=$withval])
if test "x$lyx_broken_headers" = "xyes"; then
lyx_flags="$lyx_flags broken-headers"
AC_DEFINE(BROKEN_HEADERS, 1,
[Define on SunOS 4 and SCO, were some functions are missing from the headers])
fi
AC_CHECK_FUNCS(memmove memset strchr putenv setenv mkfifo)
dnl Until this is fixed in autoconf we provide our own version
LYX_FUNC_SELECT_ARGTYPES
# SunOS 4.1.3 does not have strerror and atexit
AC_REPLACE_FUNCS(strerror atexit)
dnl This check should be removed. If the compiler does not understand
dnl bool it is so broken that we should not support it. (Lgb)
dnl AC_CACHE_CHECK([for bool type],lyx_cv_have_bool,[
dnl AC_TRY_LINK(, [bool foo = true;], lyx_cv_have_bool=yes,lyx_cv_have_bool=no)])
dnl if test $lyx_cv_have_bool = 'yes' ; then
dnl AC_DEFINE(HAVE_bool,1,
dnl [Define if the bool type is known to your compiler])
dnl fi
### and now some special lyx flags.
AC_ARG_WITH(two-colors,[ --with-two-colors use two color pixmaps],
[AC_DEFINE(TWO_COLOR_ICONS)
lyx_flags="$lyx_flags two-colors"])
AC_ARG_WITH(debug,[ --with-debug output debug information by default],
[AC_DEFINE(DEBUG_AS_DEFAULT,1,
[Define if you want debugging turned on as default.])
lyx_flags="$lyx_flags debug"])
### Finish the work.
AC_CONFIG_SUBDIRS(lib lib/reLyX)
AC_OUTPUT([Makefile \
lib/Makefile \
intl/Makefile \
po/Makefile.in \
src/Makefile \
src/mathed/Makefile \
src/insets/Makefile \
], [sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile])
cat <<EOF
Configuration:
Source code location: ${srcdir}
C++ Compiler: ${CXX}
C++ Compiler flags: ${CXXFLAGS}
C Compiler: ${CC}
C Compiler flags: ${CFLAGS}
LyX binary dir: `eval "echo \`eval \"echo ${bindir}\"\`"`
LyX files dir: `eval "echo \`eval \"echo ${datadir}/${PACKAGE}\"\`"`
Special flags: ${lyx_flags}
EOF
# Display a final warning if there has been a LYX_ERROR
LYX_CHECK_ERRORS

View File

@ -0,0 +1,67 @@
Rules for the use of popups
===========================
We need to have some rules in order to keep LyX enjoyable to use. This
document describes the rules for designing popups. Please obey the rules.
If you don't do it correctly, somebody else has to fix it for you, and we
don't like to waste time because you were lazy. So, read it now, design
your popups, and come back and check if your new popup is in compliance.
Internationalization
--------------------
We need some rules to be followed so that popups and short-cuts will
work properly with regard to internationalization and gettext.
We have made a method to make the shortcuts in xforms work correctly with
internationalizationed shortcuts. We concat the label and the shortcut like
this:
<ident>|<shortcut> (where <ident> often is a label)
And have made two funcs to extract that info: scex and idex
(shortcut-extract and ident-extract). To minimize the translation effort
you should use stuff like:
fl_add_object(<params>, idex(_("<ident>|<shortcut>")));
fl_set_shortcut(<obj>, scex(_("<ident>|<shortcut>")));
Make sure the two texts are identical, such that gettext will join them.
This will also help use make the labels and shortcuts consistent across
all the dialogs.
Some <ident>|<shortcuts> pairs have been decided:
1. Most popups have at least three buttons in common:
- OK No shortcut in the usual case (it is a return button)
- Apply "Apply|#A"
- Cancel "Cancel|^[" (This is the escape key)
You can optionally use "Cancel|#C^[" also.
- Close Either return-button, "Close|^[" or "Close|#C^[".
Design rules
------------
1) Remember that you have to add this function to your form definition:
fl_set_form_atclose(form, CancelCloseBoxCB, NULL);
to prevent crashes when the users close the popup with the window manager.
You need to #include "lyx_gui_misc.h" to get CancelCloseBoxCB.
More will follow...
NB! If any of the shortcut keys is a part of the label and you want it to
be underlined in the label, that character must be the _first_ in the
accelerator string (allthough it may be an alt-key etc). Case _sensitive_.
Apply|Pp#p#P won't get an underlined 'p'
Apply|GpaAP won't either.
Apply|aA nope
Apply|pP#p#P will underline the first 'p'
Apply|Aa will underline the 'A'
Apply|#Aa will also underline the 'A'!
See the docs for xforms... (fl_set_shortcut() etc)
It seems xforms .86 doesn't recognise 128+ chars as shortcuts. (not with
fl_set_shortcut() anyway) /Joacim

View File

@ -0,0 +1,63 @@
These are some rules for effective C++ programming. These are taken from
Scott Meyers, and is presented in their short form. These are not all the
rules Meyers presents, only the most important of them. LyX does not yet
follow these rules, but they should be the goal.
- Use const and inline instead of #define
- Use the same form in corresponding calls to new and delete,
i.e. write delete[] obj; if new obj[n]; was used to create
the object and write delete obj; if you wrote new obj;
Notice strings should be LString's instead of char *'s.
- Define a copy constructor and an assignment operator for all
classes with dynamically allocated memory.
- make destructors virtual in base classes.
- assign to all data members in operator=.
- strive for class interfaces that are complete and minimal
- differentiate among member functions, global functions and friend
functions.
- avoid data members in the public interface.
- use const whenever possible
- pass and return objects by reference instead of by value
- choose carefully between function overloading and
parameter defaulting.
- never return a reference to a local object or a dereferenced
pointer initialized by new within the function.
- use enums for integral constants.
- minimize compilation dependencies between files.
- pay attention to compiler warnings
- differentiate between inheritance of interface and
inheritance of implementation.
- differentiate between inheritance and templates
- know what functions C++ silently writes and calls.
- ensure that global objects are initialized before they are used.
--------
S. Meyers. Effective C++, 50 Specific Ways to Improve Your Programs and
Design. Addison-Wesley, 1992
==================================
And one of mine: (Lgb)
- When swiching on enums, refrain from using "default:" if possible.

View File

@ -0,0 +1,106 @@
Rules for the code in LyX
-------------------------
The aim of this file is to serve as a guide for the developers, to aid us to
get clean and uniform code. Still uncomplete.
In general, if you want to contribute to the main source, we expect at least
that you:
- write good C++ code: Readable, well commented and taking advantage of the
OO model.
- adapt the code to the structures already existing in LyX, or in case that
you have better ideas, discuss them on the developer's list before writing
the code.
These guidelines should save us a lot of work while cleaning up the code and
help us to have quality code. LyX has been haunted by problems coming from
unfinished projects by people who have left the team. Those problems will
hopefully disappear if the code is easy to hand over to somebody else.
* Naming rules for classes
- Use descriptive but simple and short names. For stuff specific to LyX
use LyX as prefix. Some modules, like mathed or spellchecker, could have
other prefixes.
- Class names are usually capitalized, and function names lowercased.
Enums are in CAPS.
- Long variables are named like thisLongVariableName.
* Formatting
- Please adapt the formatting of your code to the setting in LyX in that
particular file. Lars and Asger are slowly, but surely moving the source
towards Linux kernel style formatting, aka K&R style. We suggest that you
also do this, but this is NOT something that has been decided generally.
* Use existing structures
- Use LString whereever possible. LyX will someday move to Unicode, and
that will be easy if everybody uses LString now.
- Check out the filename and path tools in filetools.h
- Use the Error class to report errors and messages
[add description of other existing structures]
* Declarations
- Use this order for the access sections of your class: public,
protected, private. The public section is interesting for every
user of the class. The private section is only of interest for the
implementors of the class (you).
- Avoid to declare global objects in the declaration file of the class.
If the same variable is used for all object, use a static member.
- Avoid global or static variables. An exception to this rule is
very private stuff like the math stack.
- Use the const keyword like this: char const * instead of const char *
because this is more logical.
* Documentation
- The documentation is generated from the header files.
- You document for the other developers, not for yourself.
- You should document what the funtion do, not the implementation.
- in the .C files you document the implementation.
- Short description (///), large description (/** ... */)
(someone explain this please)
- You make the documentation by doing "make srcdoc" in the root,
and then you'll find HTML in the srcdoc/ directory. Read with
Netscape for best results.
* NAMING RULES FOR USER-COMMANDS
Here's the set of rules to apply when a new command name is introduced:
1) Use the object.event order. That is, use `word-forward' instead of
`forward-word'.
2) Don't introduce an alias for an already named object. Same for events.
3) Forward movement or focus is called `forward' (not `right').
4) Backward movement or focus is called `backward' (not `left').
5) Upward movement of focus is called `up'.
6) Downward movement is called `down'.
7) The begin of an object is called `begin' (not `start').
8) The end of an object is called `end'.
* Using external GUI constructors (XForms fdesign)
- Fdesign generated files should not be changed at all. The only changes
needed are gettext, compability with 0.81 or when you have made your own
xforms objects and have just a dummy in the .fd file in place of your
own. In case you have to change the generated files for any of the
reasons above, you should provide a patch against the clean generated
file. Your callbacks must be in a separate file.

View File

@ -0,0 +1,172 @@
diff -ub intl.orig/bindtextdom.c intl/bindtextdom.c
--- intl.orig/bindtextdom.c Thu Aug 28 09:18:18 1997
+++ intl/bindtextdom.c Fri Apr 10 10:40:36 1998
@@ -94,15 +94,15 @@
if (dirname == NULL)
/* The current binding has be to returned. */
- return binding == NULL ? (char *) _nl_default_dirname : binding->dirname;
+ return binding == NULL ? (char *) strdup(__XOS2RedirRoot(_nl_default_dirname)) : binding->dirname;
if (binding != NULL)
{
/* The domain is already bound. Replace the old binding. */
char *new_dirname;
- if (strcmp (dirname, _nl_default_dirname) == 0)
- new_dirname = (char *) _nl_default_dirname;
+ if (strcmp (dirname, __XOS2RedirRoot(_nl_default_dirname)) == 0)
+ new_dirname = (char *) strdup(__XOS2RedirRoot(_nl_default_dirname));
else
{
size_t len = strlen (dirname) + 1;
@@ -113,7 +113,7 @@
memcpy (new_dirname, dirname, len);
}
- if (strcmp (binding->dirname, _nl_default_dirname) != 0)
+ if (strcmp (binding->dirname, __XOS2RedirRoot(_nl_default_dirname)) != 0)
free (binding->dirname);
binding->dirname = new_dirname;
@@ -134,8 +134,8 @@
return NULL;
memcpy (new_binding->domainname, domainname, len);
- if (strcmp (dirname, _nl_default_dirname) == 0)
- new_binding->dirname = (char *) _nl_default_dirname;
+ if (strcmp (dirname, __XOS2RedirRoot(_nl_default_dirname)) == 0)
+ new_binding->dirname = (char *) strdup(__XOS2RedirRoot(_nl_default_dirname));
else
{
len = strlen (dirname) + 1;
diff -ub intl.orig/dcgettext.c intl/dcgettext.c
--- intl.orig/dcgettext.c Thu Aug 28 09:18:20 1997
+++ intl/dcgettext.c Fri Apr 10 10:40:34 1998
@@ -154,6 +154,7 @@
const char *_nl_current_default_domain = _nl_default_default_domain;
/* Contains the default location of the message catalogs. */
+
const char _nl_default_dirname[] = GNULOCALEDIR;
/* List with bindings of specific domains created by bindtextdomain()
@@ -260,8 +261,12 @@
}
if (binding == NULL)
- dirname = (char *) _nl_default_dirname;
+ dirname = (char *) strdup(__XOS2RedirRoot(_nl_default_dirname));
+#ifdef __EMX__
+ else if (binding->dirname[0] == '/' || (isalpha(binding->dirname[0]) && binding->dirname[1] == ':'))
+#else
else if (binding->dirname[0] == '/')
+#endif
dirname = binding->dirname;
else
{
@@ -326,7 +331,7 @@
while (1)
{
/* Make CATEGORYVALUE point to the next element of the list. */
- while (categoryvalue[0] != '\0' && categoryvalue[0] == ':')
+ while (categoryvalue[0] != '\0' && categoryvalue[0] == PATH_SEPARATOR)
++categoryvalue;
if (categoryvalue[0] == '\0')
{
@@ -340,7 +345,7 @@
else
{
char *cp = single_locale;
- while (categoryvalue[0] != '\0' && categoryvalue[0] != ':')
+ while (categoryvalue[0] != '\0' && categoryvalue[0] != PATH_SEPARATOR)
*cp++ = *categoryvalue++;
*cp = '\0';
}
diff -ub intl.orig/gettext.h intl/gettext.h
--- intl.orig/gettext.h Thu Aug 28 09:18:20 1997
+++ intl/gettext.h Wed Apr 8 15:47:08 1998
@@ -25,6 +25,12 @@
# include <limits.h>
#endif
+#ifdef __EMX__
+#define PATH_SEPARATOR ';'
+#else
+#define PATH_SEPARATOR ':'
+#endif
+
/* @@ end of prolog @@ */
/* The magic number of the GNU message catalog format. */
diff -ub intl.orig/l10nflist.c intl/l10nflist.c
--- intl.orig/l10nflist.c Thu Aug 28 09:18:22 1997
+++ intl/l10nflist.c Thu Apr 9 00:03:58 1998
@@ -222,7 +222,11 @@
/* Construct file name. */
memcpy (abs_filename, dirlist, dirlist_len);
+#ifndef __EMX__
__argz_stringify (abs_filename, dirlist_len, ':');
+#else
+ __argz_stringify (abs_filename, dirlist_len, ';');
+#endif
cp = abs_filename + (dirlist_len - 1);
*cp++ = '/';
cp = stpcpy (cp, language);
diff -ub intl.orig/libgettext.h intl/libgettext.h
--- intl.orig/libgettext.h Wed Sep 17 14:28:58 1997
+++ intl/libgettext.h Wed Apr 8 15:47:08 1998
@@ -36,6 +36,13 @@
# include <locale.h>
#endif
+#ifdef __EMX__
+#undef GNULOCALEDIR
+#define GNULOCALEDIR "/XFree86/lib/X11/locale"
+#include <X11/Xlocale.h>
+#else
+#define __XOS2RedirRoot(path) path
+#endif
#ifdef __cplusplus
extern "C" {
diff -ub intl.orig/localealias.c intl/localealias.c
--- intl.orig/localealias.c Thu Aug 28 09:18:22 1997
+++ intl/localealias.c Wed Apr 8 15:47:08 1998
@@ -72,6 +72,11 @@
#include "gettext.h"
#include "gettextP.h"
+#ifdef __EMX__
+#undef LOCALE_ALIAS_PATH
+#define LOCALE_ALIAS_PATH "/XFree86/lib/X11/locale"
+#endif
+
/* @@ end of prolog @@ */
#ifdef _LIBC
@@ -170,11 +175,11 @@
{
const char *start;
- while (locale_alias_path[0] == ':')
+ while (locale_alias_path[0] == PATH_SEPARATOR)
++locale_alias_path;
start = locale_alias_path;
- while (locale_alias_path[0] != '\0' && locale_alias_path[0] != ':')
+ while (locale_alias_path[0] != '\0' && locale_alias_path[0] != PATH_SEPARATOR)
++locale_alias_path;
if (start < locale_alias_path)
@@ -350,6 +355,9 @@
const struct alias_map *map1;
const struct alias_map *map2;
{
+#ifdef __EMX__
+#define strcasecmp stricmp
+#endif
#if defined _LIBC || defined HAVE_STRCASECMP
return strcasecmp (map1->alias, map2->alias);
#else

34
development/gettext.patch Normal file
View File

@ -0,0 +1,34 @@
This patch contains the modifications that have been made to
the files from GNU gettext 0.10.31
--- /afs/inria.fr/rocq/home/meval/lasgoutt/.common/src/gettext-0.10.31/intl/Makefile.in Fri Aug 15 23:36:39 1997
+++ intl/Makefile.in Wed Sep 3 14:35:31 1997
@@ -79,7 +79,7 @@
.c.lo:
$(LIBTOOL) --mode=compile $(COMPILE) $<
-INCLUDES = -I.. -I. -I$(top_srcdir)/intl -I$(top_srcdir)/lib
+INCLUDES = -I../src -I. -I$(top_srcdir)/src -I$(top_srcdir)/intl
all: all-@USE_INCLUDED_LIBINTL@
@@ -150,7 +150,7 @@
info dvi:
-$(OBJECTS): ../config.h libgettext.h
+$(OBJECTS): ../src/config.h libgettext.h
bindtextdom.$lo finddomain.$lo loadmsgcat.$lo: gettextP.h gettext.h loadinfo.h
dcgettext.$lo: gettextP.h gettext.h hash-string.h loadinfo.h
--- /afs/inria.fr/rocq/home/meval/lasgoutt/.common/src/gettext-0.10.31/po/Makefile.in.in Fri Aug 15 23:43:26 1997
+++ po/Makefile.in.in Tue Sep 2 18:53:19 1997
@@ -48,7 +48,7 @@
CFLAGS = @CFLAGS@
CPPFLAGS = @CPPFLAGS@
-INCLUDES = -I.. -I$(top_srcdir)/intl
+INCLUDES = -I../src -I$(top_srcdir)/intl
COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)

View File

@ -0,0 +1,37 @@
Here is what to do to make a binary rpm using the spec file lyx.spec.
The description below apply only to the Intel platform, but only minor
changes should be needed for other platforms.
1) Install xforms-88 or later. You can find an xforms-0.88 rpm
at
ftp://moni.msci.memphis.edu/pub
2) Install LaTeX. You can do this using rpms (you need tetex-xdvi,
tetex, tetex-latex) from your RH distribution.
3) Copy lyx.spec to /usr/src/redhat/SPECS
4) Copy lyx-1.0.0.tar.gz to /usr/src/redhat/SOURCES
5) Issue the command
rpm -bb /usr/src/redhat/SPECS/lyx.spec
This builds the binary rpm, and puts it in /usr/src/redhat/RPMS/i386.
Note that building lyx requires about 35M free space on your disk.
6) Now install the package:
rpm -Uvh /usr/src/redhat/RPMS/i386/lyx-1.0.0-1.i386.rpm
If you get dependency errors about xforms or tetex, then you need to
use the --nodeps option (because you installed xforms or tetex not in
rpm form):
rpm -Uvh --nodeps /usr/src/redhat/RPMS/i386/lyx-1.0.0-1.i386.rpm
You should not get any more errors.
mw@moni.msci.memphis.edu

71
development/lyx.spec Normal file
View File

@ -0,0 +1,71 @@
Summary: A WYSIWYG frontend to LaTeX
Name: lyx
Version: 1.0.2
Release: 1
Source: ftp://ftp.lyx.org/pub/lyx/stable/lyx-%PACKAGE_VERSION.tar.gz
Copyright: GPL
Group: X11/Applications/Publishing
Requires: xforms >= 0.88, tetex-xdvi, tetex, tetex-latex
Packager: Mate Wierdl <mw@moni.msci.memphis.edu>
URL: http://www.lyx.org
Buildroot: /tmp/lyx-root
%description
LyX is a wordprocessor frontend to LaTeX, which gives both the
ease-of-use of a wordprocessor, and the flexibility and power of LaTeX.
%prep
%setup
%build
CXXFLAGS="$RPM_OPT_FLAGS" ./configure --with-included-gettext
make
%install
#rename the installation root more appropriately
INST_ROOT=$RPM_BUILD_ROOT
rm -rf $INST_ROOT
make install prefix=$INST_ROOT/usr/local
cp -a images/lyx.xpm $INST_ROOT/usr/local/share/lyx/images
strip $INST_ROOT/usr/local/bin/lyx
# Have a copy of the reLyX README in the doc directory
cp lib/reLyX/README reLyX.README
%post
# Before configuring lyx for the local system
# PATH needs to be imported
if [ -f /etc/profile ]; then
. /etc/profile
fi
# Now configure LyX
echo "Configuring LyX for your system..."
cd /usr/local/share/lyx
./configure --srcdir
# Take care of leftover lyxrc in /etc
if [ -f /etc/lyxrc ]; then
echo "Moving the old config file /etc/lyxrc to"
echo "/usr/local/share/lyx/lyxrc-from-etc"
echo "If you do not need it delete it."
mv /etc/lyxrc /usr/local/share/lyx/lyxrc-from-etc
fi
%clean
#rename the installation root more appropriately
INST_ROOT=$RPM_BUILD_ROOT
rm -rf $INST_ROOT
%files
%doc ANNOUNCE BUGS CHANGES COPYING README
%doc ABOUT-NLS UPGRADING WHATSNEW reLyX.README
/usr/local/bin/*
/usr/local/man/*/*
/usr/local/share/lyx
/usr/local/share/locale/*/LC_MESSAGES/lyx.mo

259
development/lyx3/LyX3-Tasks Normal file
View File

@ -0,0 +1,259 @@
-*- text -*-
This is a tasklist/todo list for the 0.13.x development series. We
should perhaps name these seies LyX3 as a common name. As I see it
there are three major tasks to be done:
o Buffer structure rewrite
So that it will be easier to expand for
new and unknow future features.
The main problems with the current structure is that
is intended to be viewed by only one window at the
time. It also uses characters as the smallest unit, it
would probably be better to use something a bit
bigger.
The LyXText class does not necessarily need to change
a lot, it could be per-view. However all the special
code in it needs to be (re)moved. Also a lot of the
functionality needs to be relocated.
o Switch to LaTeX as fileformat
Will ease move from latex to LyX a lot.
Also will let people work both in (ex) emacs
and LyX on the same files.
o GUI independence.
Should be a compile time switch what gui (toolkit)
you wish to use. We are going to support Xforms first,
and I am sure that GTK and Qt will follow soon. I also
plan to do support for Fl (even a text only toolkit
should be possible. ncurses perhaps. Even the
lyxserver could be a special case of this: a view with
no view being able to coexist with other views or alone)
We will do this by providing an interface all the
toolkits will need to follow. Functions that the LyX
core will expect to be there.
When these three is finished, we will probably declare a code freeze
and try to release a new version. Hopefully other features has also
been added, and none removed.
====================
In addition to these there are a lot of small tasks that should be
performed, that has no direct bearing on features, but are more geared
towards code quality:
o always try to use POSIX commands.
o switch to use POSIX signals
o rewrite LString to be a true subset of STL string
then it will be _very_ easy to switch to
multibyte characters later if we want to.
o use STL storage containers (or prepare for it)
code reuse. Very often faster and better tested
than what we make/do ourselves.
o use C++ iostreams
better interface and typesafe
o make as much as possible of the code reentreanant(?)
should make it easier to move to threads later.
o signal slot mechanism (borrowed from GTK-- project)
better interface, leaner code, typesafe. I have
been using this for another project and it works
like a charm.
o other code rewrites to make multiple buffers/windows
possible, without too much hassle.
- get rid of most of the global variables.
- non shared variables in shared structures
(i.e. the cursor in the text class)
o make source documentation better. Remember that the better
we document LyX internals the easier is it for new
developers to begin working on LyX.
Some other things related to structure and services in the code:
o change pathpush and pathpop to be a class instead.
o class FileInfo does way too much, move the unneeded parts to
a super class or friends.
o a process manager class to handle execution of external
commands.
- ensure that not too many commands are executed at
the same time.
- ensure that non-compatible commands are running at
the same time.
- to setup file descriptors where communicating with
the processes can take place.
o make a liblyx for functions/classes delivering services to LyX
- lyxsum
- FileInfo
- syscall/syscontr/syssingleton
- strerror.C
o get rid of definitions.h
o pass an inforeceiver around in the object structure.
(this instead of passing minibuffers, and lyxerrors.)
o get a regexp package (GNU) and use it in filedialogs, search
and the like.
Some small things to do with the linker:
o link partially in the subdirs, should make linking faster.
PostgreSQL does this so we should be able to do it
too.
================
Also a lot of new features are thought of, only some of these are likely
to make it into 0.14:
o rewrite of table code. Should probably be written as some
kind of an inset. At least get the code out of the kernel.
- colortbl -multirow
- hhline -multicolumn
- dcolumn
o index support (and multiple indeces support)
- multind ?
o tocs for each section
- minitoc
o multiple table of contentes
- multitoc
o trivlist?
o better version control (both document and file wise)
- version.sty
- cvs
- sccs
o I am sure mathed improvements. (Alejandro's department)
- better macro support
- better amsmath support
o character styles (similar to emph and noun)
Will make a lot of small things conceptual instead of
specific. Will be alot easier to change the
presentation of a filename f.ex. This is actually very
important, because this is where the user can't be
conceptual in the current version.
o macro support. Similar to the math-macro support, but
usable in regular text too.
o support for abbrevations (static macros)
o add a incremental search function.
o change the "Find and Replace" to Query Replace.
o better/more search functions:
- replace & find next
- replace & find previous
We should perhaps try to make the interface a bit
emacs like, that should at least give us the
features we want.
o improved template support.
o collapse "New" and "New from Template" into one item.
o make lyx recognize some file types (i.e. gzipped) and do
the right thing when encountering them.
o We should look at all the LyX specific paragraph styles and
check carefully that we really need them. We should also try
to collapse some of them into singel items (i.e. chapter and
chapter*)
o the "LyX-Code" environment should be removed. Add a verbatim
environment instead.
o tabbing support
o picture support
o better graphics support
o rotating and scaling of text
o PSTricks (we should be able to support some of this package)
o better reference support
- varioref
o better citation support
Especially the support for some of the main
bibtex supplied styles are needed. (harvard natbib...)
A complete support for natbib should perhaps be enough.
o improved spellchecker
- an ispell class should be made, this should
take care of communicating with the ispell
process.
o online configuration
So that users should not need to edit lyxrc
manualy
o better fontsupport
T1-lib font renderer.
o better latex code quality
This means reading LaTeX books to get an better idea
on how things are done in the latex world.
o perhaps find better names for the paragraph styles
"paragraph" and "subparagraph"
o support for filecontents
This can make a latex document selfcontained, all the
needed graphics can be in the document.
o support for optional args to latex commands
- For sectioning commands I have an idea on how we can
do this: have a popup on RMB to set properties.
o pdf support
pdftex
o hyperlink support
- url.sty (or better packages)
- hyperref.sty
o references to external documents
- xr.sty
o better babel support
- make it possible to tune the language strings
- the possibility for several languages in the same
document.
o title page support
o draft copy
- draftcopy.sty
o better float support (allow user to make its own floats)
o support newtheorem (allow user to make its own thorem like envirs)
o a bit more wysiwyg where it is appropiate.
- show bullets the way they will be on paper
- show a few more characters as they will be on paper
(--, ---)
o online generation of new paragraph styles (or editing or old
ones)
o support for inlined sectioning commands (i.e. \paragraph{} )
o we should parse the command line ourselves.
o remove support for XResources, with multiple toolkits it
will be impossible to manage. And they are not very needed
either.
o the possebility to collapse parts of the document.
(i.e. collapse the contents of a section. Would make moving
parts of the document around very easy)
o better LyXServer support
- perhaps use UNIX sockets instead of pipes
- make a decent protocol with return codes.
- make it indepentent of the GUI
- prob: concurrency (locks)
o other packages to support:
- keyval (we should not use it directly, but know how
to parse options for it.)
- here.sty
- ulem.sty
- indentfirst.sty
- lscape.sty
I am sure others has a list as long as mine...
======================
We should also do some work to enhance the support we already have for
some packages, I think these are the packages supported by 0.12:
- longtable - color (papercolor boxes?)
- setspace (should support setting spacing on individual paragraphs)
- psnffs packages
- geometry - makeidx
- verbatim - algorithm
- inputenc - fancyhdr (we only have _very_ basic support)
- fontenc - a4
- graphics - a4wide
(I am sure I have forgot some, please fill me in.)
======================
Wild thoughts:
o the internal text-encoding could be Cork (T1)
o always keep the output file (.tex) 7bit.
o use plugins for insets.
======================
If you have other wishes for features, or comments, please let us know.
Lgb

47
development/lyx3/README Normal file
View File

@ -0,0 +1,47 @@
Project: LyX File format 3.0 (subset of LaTeX)
============================
Initial coordinator: Alejandro Aguilar Sierra
On the developers list has been discussed several times the advantages of a
LyX format compatible with LaTeX. Some of the advantages we would have are:
- A better grammar than that of the current format would led us to simpler
and powerful syntax for insets (I'm thinking on math, figures, tables and
accents).
- Almost anything can be expressed better with a powerful grammar.
- There are many anything->LaTeX and LaTeX->anything converters around.
The exchange of documents would be better.
- We could have better control on the preamble of a document (options,
packages included, macros). Only include those that are needed
for the document.
- We could save disk space using only one format.
The following are not goals of this project:
- The parser doesn't have to be able to read every latex file (for instance
LaTeX2.09). Still would be necessary filters to import latex files
generated elsewhere.
- With a more readable format some LaTeX experts couldn't resist the
temptation to edit manually the files. This wouldn't be recommended, for
the same reason as above. Any special thing can (should) be written using
TeX mode under LyX.
Q. Why LaTeX and not linux-sgml?
A. Well, say some good reasons in favor of linux-sgml. Does it can
express complex mathematics expressions, nested layouts, etc. in
a better way?
Alejandro

164
development/lyx3/johnc Normal file
View File

@ -0,0 +1,164 @@
This is part of a private discussion I had with John Collins, the author
of the first LaTeX2LyX conversor. Attached is also a document describing his
ideas about the subject. Such ideas could be useful for our project.
Alejandro
------------------------------------------------------------
From: John Collins <John.Collins@cern.ch>
Date: Wed, 4 Sep 1996 11:39:45 +0200 (MET DST)
To: Alejandro Aguilar Sierra <asierra@servidor.unam.mx>
Subject: Re: TeX2LyX document
[Removed non-related stuff, AAS]
I am not convinced devising a lyx format as a subset of latex is ideal.
It would take some time to explain my thoughts. But the problem I see
with latex is that its syntax is not pleasant, so that it is relatively
time-consuming and/or memory intensive to parse it. Most importantly from
the point of view of an editor, it cannot be locally and bidirectionally
parsed. (I can explain further.) IMHO, the important matter in the
relation to latex is that the format should be in (1-1) correspondence
with a suitably rational subset of latex. Is your format supposed to be
just a file format, or will it also be used for the representation of a
document in memory? If the latter is true, then I would particularly stay
away from a directly latex based format. A file format could be closer to
latex, since it might need to read by humans.
But you have obviously thought about the issue and have come to different
conclusions.
My experience in writing ET convinced me that a good internal format is
important to speed and to robustness. ET will run with good speed on an
8088 processor(!), whereas the scientific word processor Scientific Word,
which has somewhat of the same philosophy as ET and lyx, needs a minimum
of a Pentium to be acceptable, and even then it frequently crashes the
operating system. (Scientific Word appears to use a latex-based format
internally.)
John Collins
----------------------------------------------------
From: John Collins <collins@phys.psu.edu>
Date: Fri, 12 Jan 1996 11:57:23 -0500
To: lyx@via.ecp.fr
Subject: Latex2lyx
Although I have been working on the latex2lyx program, I do not have
something ready for use yet. The trouble is that I am staring at
several other priority projects including a research grant renewal.
I realize a quick-and-dirty version would be useful, so perhaps I ought
to get that out. That could probably be done quickly from my
preexisting code. Several messages have provoked me to think that
would be worth doing.
What I realized over the Christmas break is that by a suitable design
of C++ classes I can fairly easily make a powerful, efficient and
robust (La)TeX parser. (It would also give useful error messages.)
The tricky bit was to figure out the right design. But I have that
now, and the basic program. I would estimate about a month to get
something presentable to the lyx collaboration.
I have appended some of my thoughts about the overall ideas. They
correspond to what I did for my ET editor. I'd appreciate comments.
John Collins
============================================================
Latex2lyx convertor
===================
1. Latex2lyx and the lyx2latex convertor in the lyx program should be
as close to 1-1 as reasonable. This is particularly important for
collaborations where some people are using lyx and some are not. Then
ordinary TeX files serve as the communications medium.
2. Perfect 1-1 conversion is not possible, because there are several
different TeX constructs that are equivalent (for example a blank line
and \par).
3. Parts of a TeX file not translated by latex2lyx should be converted
into something like LyX TeX style. One then has raw TeX in the lyx
file, and that is reconstructed when making the TeX file.
4. Some enhancements to lyx will be necessary to handle converted
files sensibly. (E.g., (a) multiline pieces of raw TeX, including
arbitrary numbers of blank lines, (b) comments.)
5. It appears necessary to change some of the lyx2latex conversion
done by lyx to approach the 1-1 ideal better. (My preference, for
example, would be for paragraphs not to be enclosed in braces,
normally. Paragraphs with font changes, etc would need different
treatment, of course.) User preferences will undoubtedly vary here, so
some configuration options are likely to be needed.
6. In particular, white space and new lines are often used to prettify
TeX files to make them convenient for humans to edit. I feel it would
be useful to provide a mechanism for entering extra space and newlines
in a lyx file, not for the purpose of getting the corresponding spaces
and newlines in the hard copy, but for making the TeX file pretty.
(User preferences will vary here, of course.) This will not matter
much if lyx is the only editor being used, but it will be important if
the .tex file is being worked on by a collaborator. Automatic
prettyprinting of the output .tex file would help here, but lyx's
preprogrammed concept of prettyprinting may not agree with a user's
need-of-the-moment.
7. The most general case of a TeX file would be very hard to deal
with, since catcodes and TeX macros may be redefined in an arbitrary
way. Moreover the definitions may be hidden away in a TeX format
file. So it is necessary to restrict latex2lyx's scope to files where
catcodes don't change, and where the macros don't lose their standard
meanings.
8. I think all TeX files that I have ever seen satisfy this
requirement, except possibly in their preambles where commands are
defined or redefined.
9. The program should handle incorrect TeX gracefully, and with useful
error messages. At worst it should bundle up the
incorrect/misunderstood TeX as uninterpreted raw TeX that would be
recreated in the .tex file. (I emphasize this because one commerical
competitor to lyx, Scientific Word (for MS-Windows), does a
particularly bad job: it sometimes crashes the operating system when
reading correct Latex files, and often loses bits of a file when the
structure doesn't correspond to Scientific Word's standards for LaTeX.
That is sufficiently unfriendly that I stopped using it.)
10. latex2lyx is aimed at converting document contents, not TeX
programming, so it need not attempt to understand the semanitics of
\defs, \newcommands etc. (Although it should know the syntax, to parse
the commands.)
11. Since the most general case of a TeX macro definition is likely to
cause indigestion to latex2lyx (and quite often to a human reader, even
a TeXpert), there needs to be a mechanism to force latex2lyx to treat
sections of the tex file as raw TeX which is not to be converted. I
propose that the conversion be controlled by metacommands (like
preprocessor metacommands in C). These must be TeX comments, so that
they are invisible to TeX.
12. It would be useful to recognize that other programs might want to
use the same mechanism. I propose the following kind of format:
%#{}raw
%#{}end.raw
The signature of a metacommand is %#{program_name}command .... The #
is reminiscent of a C metacommand. To allow a mechanism for
metacommand sets for different programs, I allow a place for an
identifier for a program. For example we MIGHT have
%#{lyx}begin.preamble
%#{lyx}end.preamble
for stuff that's to be bundled up in the LaTeX preamble used by lyx.
However, for that case, my preference is for latex2lyx to bundle up
ALL of the preamble automatically, except for those commands that are
specifically used by lyx (e.g., \usepackage).

51
development/lyx3/lyx3.y Normal file
View File

@ -0,0 +1,51 @@
Brief discussion on LaTeX grammar
---------------------------------
LaTeX syntax is relatively simple. Any command is like this:
\command_name [<options>]{<argument_1>}...
This can be expressed as a grammar in yacc/bison syntax. Capitalized words
are tokens (terminals) returned by lex:
command : LT_command options arguments
arguments : argument
| argument arguments
| /* empty: It's possible to not have arguments */
;
argument : '{' anything '}'
;
options : '[' word_list ']'
| /* empty: It's possible to don't have options */
;
word_list : LT_word ',' word_list
| LT_word
;
anything : /* Any valid token */
| command
| LT_punctuation
| LT_accent
| LT_etc
;
This is quite simple and can be easily parsed by any LALR parser as a yacc
or bison generated one. BUT the difficulty comes because the number of
arguments depends on the value of LT_command, and that the symbols '{' and
'}' have more uses that to separate arguments. This expression:
\section{Hello world} {\bf Once}
is ambiguos since the parser would interpret the last group as a second
argument. Maybe the simpler approach is declaring a grammar for each of the
commands that LyX will to understand. Another is that if the parser knows
the identity of a command should know also how many arguments should expect.
[Aren't these two suggestions almost identical? I mean, if we tell the parser
what parameters each command take, we also have a grammar for each of the
commands, LyX will understand... Asger]
AAS

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,10 @@
LyX::Client - a perl interface to communication with LyX
Documentation and installation instructions are in
LyX-Client-*.tar.gz, unpack it with:
tar zxvf LyX-Client-*.tar.gz
then read the README file in the LyX-Client direactory.
Copyright (c) 1999 Stefano Ghirlanda, stefano@zool.su.se.

View File

@ -0,0 +1,266 @@
# this one avoids absolute path names: \
exec wish -f $0 "$@"
# =========================================================================
# File: sampleclient.tcl, chb, Sun 05.11.1995 (19:24)
# sampleclient.tcl,v 1.1.1.1 1996/08/19 14:39:38 larsbj Exp
# This file contains examples for communicating to LyX via the
# LyXserver interface. It contains a panel of shortcuts to
# demonstrate how users can define their own macros. It also shows
# how new commands can be built into LyX using the 'notify' mechanism.
# =========================================================================
# --- 1. check cmdargs (pipename) -----------------------------------------
if { [llength $argv] > 0 } {
set inpipe [lrange $argv 0 0].in
set outpipe [lrange $argv 0 0].out
} else {
set inpipe $env(HOME)/.lyxpipe.in
set outpipe $env(HOME)/.lyxpipe.out
}
# --- 2. check if pipe is there; if not inform about lyxrc ----------------
proc inform {} {
global inpipe outpipe
puts "$inpipe or $outpipe not found"
puts "Either LyX is not running or it is not configured"
puts "to start the server. To start the server, insert"
puts " \serverpipe \"<pipename>\""
puts "in your .lyxrc"
exit
}
if { ![file exists $inpipe] } inform
if { "[file type $inpipe]" != "fifo" } inform
if { ![file exists $outpipe] } inform
if { "[file type $outpipe]" != "fifo" } inform
# --- 3. check if addinput is defined, if not; fake it --------------------
if { [info command addinput] == "" } {
puts "Warning: this wish does not have the addinput command"
puts " reading back information from LyX is disabled"
proc addinput {opt file cmd} {}
proc removeinput {file} {}
}
# --- 4. define addinput callbacks ----------------------------------------
set outbuf ""
proc outputhandler {fd} {
global lyxnotify
gets $fd outbuf
set type [lrange [split $outbuf :] 0 0]
if { "$type" == "NOTIFY" } {
set val [lrange [split $outbuf :] 1 1]
# puts "$val"
if { [catch { set lyxnotify($val) }] == 0 } {
eval $lyxnotify($val)
}
}
}
set outfd [open $outpipe r]
proc out_on {} {
global outfd
addinput -read $outfd "outputhandler %F"
}
proc out_off {} {
global outfd
removeinput $outfd
}
out_on
# --- 5. make windows -----------------------------------------------------
toplevel .t
button .t.b1 -text "->" -command {lyxsend_form {\\rightarrow }}
button .t.b2 -text "<-" -command {lyxsend_form {\\leftarrow }}
button .t.b3 -text "-->" -command {lyxsend_form {\\longrightarrow }}
button .t.b4 -text "<--" -command {lyxsend_form {\\longleftarro w}}
button .t.b5 -text "<->" -command {lyxsend_form {\\leftrightarrow }}
button .t.b6 -text "<-->" -command {lyxsend_form {\\longleftrightarrow }}
button .t.b7 -text "..." -command {lyxsend_tex {\\ldots }}
label .t.t -text "TeX Arrows:"
pack .t.t -fill x -in .t
pack .t.b1 -fill x -in .t
pack .t.b2 -fill x -in .t
pack .t.b3 -fill x -in .t
pack .t.b4 -fill x -in .t
pack .t.b5 -fill x -in .t
pack .t.b6 -fill x -in .t
pack .t.b7 -fill x -in .t
label .func -text "New Functions"
button .xp -text "Transpose Chars" -command "lyx_transpose"
button .dw -text "Delete word" -command "lyx_delword"
button .sp -text "Save position" -command "lyx_savepos"
button .rp -text "Restore pos" -command "lyx_restorepos"
button .gi -text "Get Buffer info" -command "lyx_getinfo"
button .q -text "Quit" -command "exit"
pack .func -fill x
pack .xp -fill x
pack .dw -fill x
pack .sp -fill x
pack .rp -fill x
pack .gi -fill x
pack .q -fill x
# --- 6. functions --------------------------------------------------------
# ---
# Format for communication:
#
# client->LyX: "LYXCMD:<client>:<command>:<argument>" >$inpipe
# LyX->client (answer): "INFO:<client>:<command>:<data>" <$outpipe
# LyX->client (notify): "NOTIFY:<key-sequence>" <$outpipe
# (notifies are asynchroneous and are handled by 'outputhandler'
# above)
# ---
proc lyxsend_form {string} {
global inpipe outpipe outfd
# out_off
# exec echo "LYXCMD:sampleclient:get-latex:" >$inpipe
# gets $outfd buf
# set chr [lrange [split $buf :] 3 3]
# out_on
#
# if { "$chr" != "F" } {
# exec echo "LYXCMD:sampleclient:set-formula:" >$inpipe
# }
# exec echo "LYXCMD:sampleclient:insert-self:$string" >$inpipe
# if { "$chr" != "F" } {
# exec echo "LYXCMD:sampleclient:set-formula:" >$inpipe
# }
exec echo "LYXCMD:sampleclient:insert-inset-formula-latex-del:$string" >$inpipe
}
proc lyxsend_tex {string} {
global inpipe outpipe outfd
# out_off
# exec echo "LYXCMD:sampleclient:get-latex:" >$inpipe
# gets $outfd buf
# set chr [lrange [split $buf :] 3 3]
# out_on
#
# if { "$chr" != "L" } {
# exec echo "LYXCMD:sampleclient:set-tex:" >$inpipe
# }
# exec echo "LYXCMD:sampleclient:insert-self:$string" >$inpipe
# if { "$chr" != "L" } {
# exec echo "LYXCMD:sampleclient:set-tex:" >$inpipe
# }
exec echo "LYXCMD:sampleclient:insert-inset-latex-del:$string" >$inpipe
}
proc lyx_transpose {} {
global inpipe outpipe outfd
out_off
exec echo "LYXCMD:sampleclient:char-after:" >$inpipe
gets $outfd buf
set chr [lrange [split $buf :] 3 3]
if { "$chr" == "EOF" } {out_on; return}
if { [string length $chr] > 1 } {
set chr [string range $chr 1 1]
}
exec echo "LYXCMD:sampleclient:delete-forward:" >$inpipe
exec echo "LYXCMD:sampleclient:left:" >$inpipe
if { "$chr" == "{ }" } {
exec echo "LYXCMD:sampleclient:insert-self: " >$inpipe
} else {
exec echo "LYXCMD:sampleclient:insert-self:$chr" >$inpipe
}
out_on
}
set lyxnotify(C-t) lyx_transpose
proc lyx_delword {} {
global inpipe outpipe outfd
exec echo "LYXCMD:sampleclient:word-right-select:" >$inpipe
exec echo "LYXCMD:sampleclient:left-select:" >$inpipe
# !!! should check for end of line here:
# if ( char-after == char-in-word ) right;
exec echo "LYXCMD:sampleclient:delete-forward:" >$inpipe
}
set lyxnotify(M-d) lyx_delword
set posx ""
set posy ""
proc lyx_savepos {} {
global posx posy inpipe outpipe outfd
out_off
exec echo "LYXCMD:sampleclient:get-xy:" >$inpipe
gets $outfd buf
set arg [lrange [split $buf :] 3 3]
# TCL is SO pathetic!
set arg [string range $arg 1 [expr [string length $arg]-2]]
set posx [lrange $arg 0 0]
set posy [lrange $arg 1 1]
out_on
}
set "lyxnotify({C-x slash})" lyx_savepos
proc lyx_restorepos {} {
global posx posy inpipe
if { "$posx" == "" } return
exec echo "LYXCMD:sampleclient:set-xy:$posx $posy" >$inpipe
exec echo "LYXCMD:sampleclient:recenter:" >$inpipe
}
set "lyxnotify({C-x j})" lyx_restorepos
proc lyx_getinfo {} {
global inpipe outpipe outfd
out_off
exec echo "LYXCMD:sampleclient:get-name:" >$inpipe
gets $outfd buf
set fname [lrange [split $buf :] 3 3]
exec echo "LYXCMD:sampleclient:get-layout:" >$inpipe
gets $outfd buf
set layout [lrange [split $buf :] 3 3]
exec echo "LYXCMD:sampleclient:get-font:" >$inpipe
gets $outfd buf
set fnt [lrange [split $buf :] 3 3]
exec echo "LYXCMD:sampleclient:get-latex:" >$inpipe
gets $outfd buf
set ltx [lrange [split $buf :] 3 3]
exec echo "LYXCMD:sampleclient:get-xy:" >$inpipe
gets $outfd buf
set arg [lrange [split $buf :] 3 3]
set arg [string range $arg 1 [expr [string length $arg]-2]]
puts "---------------"
puts "Buffer: $fname"
puts "Current layout: $layout"
puts "Font flag: $fnt"
puts "Latex flag: $ltx"
puts "Position: $arg"
out_on
}
# === End of file: sampleclient.tcl =======================================

View File

@ -0,0 +1,274 @@
/*
* LyXServer monitor. To send command to a running instance of LyX
* and receive information from LyX.
*
* To build it type:
* > gcc -g server_monitor.c -o monitor -lforms -L/usr/X11/lib -lX11 -lm
* > ./monitor
* Before you run lyx uncomment the line "\serverpipe" from your
* ~/.lyx/lyxrc file, according with your home path.
*
* Created: 970531
* Copyright (C) 1997 Alejandro Aguilar Sierra (asierra@servidor.unam.mx)
* Updated: 980104
* Copyright (C) 1998 Asger Alstrup (alstrup@diku.dk)
*/
/* Form definition file generated with fdesign. */
#include "forms.h"
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>
int lyx_listen = 0;
int pipein=-1, pipeout=-1;
char pipename[100];
char const *clientname = "monitor";
/**** Forms and Objects ****/
typedef struct {
FL_FORM *server;
void *vdata;
long ldata;
FL_OBJECT *pipename;
FL_OBJECT *command;
FL_OBJECT *arg;
FL_OBJECT *info;
FL_OBJECT *client;
FL_OBJECT *submit;
FL_OBJECT *notify;
} FD_server;
enum { LS_DUMMY=1, LS_OPEN, LS_CLOSE, LS_SUBMIT };
static FD_server *fd_server;
void closepipe();
void server_cb(FL_OBJECT *ob, long data);
FD_server *create_form_server(void)
{
FL_OBJECT *obj;
FD_server *fdui = (FD_server *) fl_calloc(1, sizeof(*fdui));
fdui->server = fl_bgn_form(FL_NO_BOX, 620, 260);
obj = fl_add_box(FL_UP_BOX,0,0,620,260,"");
fdui->pipename = obj = fl_add_input(FL_NORMAL_INPUT,110,10,190,40,"Pipe name");
fl_set_object_lsize(obj,FL_NORMAL_SIZE);
fl_set_object_callback(obj,server_cb,0);
fl_set_object_shortcut(obj,"#P",1);
fdui->client = obj = fl_add_input(FL_NORMAL_INPUT,410,10,190,40,"Client name");
fl_set_object_lsize(obj,FL_NORMAL_SIZE);
fl_set_object_callback(obj,server_cb,0);
fl_set_object_shortcut(obj,"#N",1);
fdui->command = obj = fl_add_input(FL_NORMAL_INPUT,110,60,190,40,"Command");
fl_set_object_lsize(obj,FL_NORMAL_SIZE);
fl_set_object_callback(obj,server_cb,0);
fl_set_object_shortcut(obj,"#C",1);
fdui->arg = obj = fl_add_input(FL_NORMAL_INPUT,410,60,190,40,"Argument");
fl_set_object_lsize(obj,FL_NORMAL_SIZE);
fl_set_object_callback(obj,server_cb,0);
fl_set_object_shortcut(obj,"#A",1);
obj = fl_add_text(FL_NORMAL_TEXT,10,110,100,40,"Info");
fl_set_object_lsize(obj,FL_NORMAL_SIZE);
fl_set_object_lalign(obj,FL_ALIGN_RIGHT|FL_ALIGN_INSIDE);
fdui->info = obj = fl_add_text(FL_NORMAL_TEXT,110,110,490,40,"");
fl_set_object_boxtype(obj,FL_DOWN_BOX);
fl_set_object_lsize(obj,FL_NORMAL_SIZE);
fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
obj = fl_add_text(FL_NORMAL_TEXT,10,160,100,40,"Notify");
fl_set_object_lsize(obj,FL_NORMAL_SIZE);
fl_set_object_lalign(obj,FL_ALIGN_RIGHT|FL_ALIGN_INSIDE);
fdui->notify = obj = fl_add_text(FL_NORMAL_TEXT,110,160,490,40,"");
fl_set_object_boxtype(obj,FL_DOWN_BOX);
fl_set_object_lsize(obj,FL_NORMAL_SIZE);
fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
obj = fl_add_button(FL_NORMAL_BUTTON,10,210,140,40,"Open pipes");
fl_set_object_lsize(obj,FL_NORMAL_SIZE);
fl_set_object_lstyle(obj,FL_BOLD_STYLE);
fl_set_object_callback(obj,server_cb,LS_OPEN);
fl_set_object_shortcut(obj,"#O",1);
obj = fl_add_button(FL_NORMAL_BUTTON,160,210,140,40,"Close pipes");
fl_set_object_lsize(obj,FL_NORMAL_SIZE);
fl_set_object_lstyle(obj,FL_BOLD_STYLE);
fl_set_object_callback(obj,server_cb,LS_CLOSE);
fl_set_object_shortcut(obj,"#l",1);
fdui->submit = obj = fl_add_button(FL_NORMAL_BUTTON,310,210,170,40,"Submit Command");
fl_set_object_lsize(obj,FL_NORMAL_SIZE);
fl_set_object_lstyle(obj,FL_BOLD_STYLE);
fl_set_object_callback(obj,server_cb,LS_SUBMIT);
fl_set_object_shortcut(obj,"#S",1);
obj = fl_add_button(FL_NORMAL_BUTTON,490,210,120,40,"Done");
fl_set_object_lsize(obj,FL_NORMAL_SIZE);
fl_set_object_lstyle(obj,FL_BOLD_STYLE);
fl_set_object_shortcut(obj,"#D^[",1);
fl_end_form();
fdui->server->fdui = fdui;
return fdui;
}
/*---------------------------------------*/
void io_cb(int fd, void *data)
{
int n;
char s[255];
n = read(fd, &s[0], 200);
if (n>=0)
s[n] = 0;
fprintf(stderr, "monitor: Coming: %s\n", s);
if (strncmp(s, "LYXSRV:", 7)==0) {
if (strstr(s, "bye")) {
lyx_listen = 0;
fprintf(stderr, "monitor: LyX has closed connection!\n");
closepipe();
return;
}
if (strstr(s, "hello")) {
lyx_listen = 1;
fprintf(stderr, "monitor: LyX is listening!\n");
fl_set_object_lcol(fd_server->submit,FL_BLACK);
fl_activate_object(fd_server->submit);
}
}
if (s[0]=='I')
fl_set_object_label(fd_server->info, s);
else
fl_set_object_label(fd_server->notify, s);
}
void openpipe()
{
char buf[100];
clientname = fl_get_input(fd_server->client);
if (pipein==-1) {
char *pipename = strdup(fl_get_input(fd_server->pipename));
char s[255];
fprintf(stderr, "monitor: Opening pipes ");
strcpy(s, pipename);
strcat(s, ".in");
fprintf(stderr, "[%s] and ", s);
pipein = open(s, O_RDWR);
strcpy(s, pipename);
strcat(s, ".out");
fprintf(stderr, "[%s]\n", s);
pipeout = open(s, O_RDONLY|O_NONBLOCK);
fprintf(stderr, "monitor: Opened %d %d\n", pipein, pipeout);
if (pipein<0 || pipeout<0) {
perror("monitor: Couldn't open the pipes");
pipein = pipeout = -1;
return;
}
fl_add_io_callback(pipeout, FL_READ, io_cb, 0);
// greet LyX
sprintf(buf, "LYXSRV:%s:hello", clientname);
write(pipein, buf, strlen(buf));
free(pipename);
} else
fprintf(stderr, "monitor: Pipes already opened, close them first\n");
}
void closepipe()
{
char buf[100];
if (pipein==-1 && pipeout==-1) {
fprintf(stderr, "monitor: Pipes are not opened\n");
return;
}
if (pipein>=0) {
close(pipein);
}
if (pipeout>=0) {
if (lyx_listen) {
lyx_listen = 0;
/* Say goodbye */
sprintf(buf, "LYXSRV:%s:bye\n", clientname);
write(pipeout, buf, strlen(buf));
}
close(pipeout);
fl_remove_io_callback(pipeout, FL_READ, io_cb);
}
pipein = pipeout = -1;
fl_set_object_lcol(fd_server->submit,FL_INACTIVE);
fl_deactivate_object(fd_server->submit);
}
void submit()
{
char s[255];
const char *clientname = fl_get_input(fd_server->client);
const char *argument = fl_get_input(fd_server->arg);
const char *command = fl_get_input(fd_server->command);
sprintf(s, "LYXCMD:%s:%s:%s\n", clientname, command, argument);
fprintf(stderr, "monitor: command: %s\n", s);
if (pipein>=0)
write(pipein, s, strlen(s));
else
fprintf(stderr, "monitor: Pipe is not opened\n");
}
/* callbacks for form server */
void server_cb(FL_OBJECT *ob, long data)
{
switch (data) {
case 0: break;
case LS_OPEN:
openpipe();
break;
case LS_CLOSE:
closepipe();
break;
case LS_SUBMIT:
submit();
break;
case LS_DUMMY:
break;
}
}
int main(int argc, char *argv[])
{
fl_initialize(&argc, argv, 0, 0, 0);
fd_server = create_form_server();
strcpy(pipename, getenv("HOME"));
strcat(pipename, "/.lyxpipe"),
/* fill-in form initialization code */
fl_set_input(fd_server->pipename, pipename);
fl_set_input(fd_server->client, clientname);
fl_deactivate_object(fd_server->submit);
fl_set_object_lcol(fd_server->submit,FL_INACTIVE);
/* show the first form */
fl_show_form(fd_server->server,FL_PLACE_MOUSE,FL_FULLBORDER,"LyX Server Monitor");
fl_do_forms();
if (pipein != -1)
closepipe();
return 0;
}

View File

@ -0,0 +1,41 @@
README file for the binary distribution of LyX 1.0.2
======================================================
Please read the file README for general information on LyX.
To use this binary distribution of LyX, please follow these steps:
1) Unpack the distribution in the directory /usr/local (if you unpack
it in a different place, please read the note below)
2) Configure LyX for you system by executing
cd share/lyx ; ./configure
3) Make sure that the directory bin/ is in your path. For example, if
you unpacked the distribution in /usr/local, your PATH environment
variable should contain "/usr/local/bin".
4) If you want to use reLyX, the LaTeX-to-LyX translator, you will
have to edit the first line of the script, which should read
#!/usr/local/bin/perl
if you have perl installed as /usr/local/bin/perl.
Note that reLyX requires at least perl version 5.002.
That's it. Happy LyXing !
If you did not unpack the distribution in /usr/local
----------------------------------------------------
LyX can perfectly work in this situation, except for one thing: as
distributed, LyX expects to find its internationalization files in the
directory /usr/local/share/locale. If you unpacked the distribution in
directory /foo, you should set the environment variable LYX_LOCALEDIR
to point to /foo/share/locale as follows:
LYX_LOCALEDIR=/foo/share/locale (if you use sh or bash as shell)
or
setenv LYX_LOCALEDIR /foo/share/locale (for csh or tcsh)
Note that, if if you do not have any interest in having LyX display
its messages in other languages than english, you can safely skip this
step.

207
development/tools/scgen.pl Normal file
View File

@ -0,0 +1,207 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Prolog
%
% Shortcut generator v1.0
%
% This program is known to work with SWI-Prolog version 2.9.5, which you
% can find at
%
% http://www.swi.psy.uva.nl/usr/jan/SWI-Prolog.html
%
% Purpose: to generate shortcuts for labels in menus and dialogs that are
% guaranteed to be unique within a set of labels. The shortcuts are
% generated in a prioritized manner, such that characters at the beginning
% of words are preferred to characters in the middle of words.
%
% You might find this progam useful if you are translating LyX.
%
% Don't use this file in the development/tools-directory; copy it
% somewhere out of the LyX-distribution tree, unless you're improving
% the tool itself. The input is to be hard-coded into the file and that
% may cause unnecessary garbage to appear in any patch you're putting
% together.
%
% The labels are supposed to be entered at "LABELS" below,
% and you get one solution (hopefully) with "go.".
% If there are no solutions, the Prolog-interpretator will reply with a
% "No."
%
% You can get all candidate solutions with "all.", but this requires
% lots of memory.
%
% You can inspect the correspondance between the original strings and
% the prioritized ones with "inspect.".
%
% I have no idea what the big O for the algorithm is, but I suspect it's
% rather steep.
% Asger speculates that the algorithm is O(n^m), where n is the cardinality
% of the candidate sets, while m is the number of sets. Since we do an
% exhausitive search, this has to be the case.
% Predicates:
% print out one solution, i.e. a set of label/shortcut's
% writef/2 may be specific for SWI-prolog
show_one_alternative([]).
show_one_alternative([L/_/C|Rest]):-
writef('%s|#%n\n',[L,C]),
show_one_alternative(Rest).
% printout predicate for "all."
show_solutions([]).
show_solutions([H|T]):-
write('-----------\n'),
show_one_alternative(H),
show_solutions(T).
% print out correspondance between original strings and prioritized ones.
show_priority([]).
show_priority([L/P/_|Rest]):-
writef('%s|%n\n',[L,P]),
show_priority(Rest).
% character is from a set of allowed characters.
% "AZaz09"=[65, 90, 97, 122, 48, 57]
allowed_char(C):-
C >= 97, C =< 122. % a-z
allowed_char(C):-
C >= 65, C =< 90. % A-Z
allowed_char(C):-
C >= 48, C =< 57. % 0-9
% turn lowercase to uppercase; alt-<key> is case insensitive
uppercase(L,U):-
(L >= 97, L =< 122) -> U is L - 32;
U is L.
% possible_char/2: Gets all characters in label, one after one.
possible_char(_/Label,Char):-
member(Char,Label). % the character is part of the label
% prepare_labels/2: Prepares all labels. Constructs a new list of pairs
% where the original string is coupled with the prepared string.
prepare_labels([], []).
prepare_labels([H1|T1], [H1/H2|T2]):-
prepare_string(H1, H2),
prepare_labels(T1, T2).
% prepare_string/2: Prepares a string by removing duplicate characters,
% prioritizing initials letters, removing illegal characters and turning
% lowercase to uppercase characters.
prepare_string(Label,Result):-
string_to_list(Label,List1), % make a list of the string
prioritize(List1, List2), % Prioritize string
filter_chars(List2, List3), % Filter out unwanted chars
unique(List3, Result). % Remove duplicates
% prioritize/2: This predicate rearranges a list, such that
% chars at the beginning of words are put first in the list.
% i.e. prioritize("Foo bar", "Fboo ar")" is true.
prioritize(L1,L2):-
initial_chars(L1, I), % Find all initial characters
subtract(L1, I, Rest), % and the others
append(I, Rest, L2). % and we have the result.
% initial_chars/2: Returns a list of characters that appear at the beginning
% of words. i.e. initial_chars("Foo bar", "Fb") is true.
initial_chars([],[]).
initial_chars([A|T1], [A|T3]):-
rest_after_space(T1, T2), % Return rest of list after space
initial_chars(T2, T3).
% rest_after_space/2: Returns the list after the first space.
% i.e. "rest_after_space("Foo bar", "bar") is true.
rest_after_space([], []).
rest_after_space([32, H1|T1], [H1|T1]):- !.
rest_after_space([_|T1], T2):-
rest_after_space(T1, T2).
% filterchars/2: Filter outs non-allowed characters from list, and turns
% lowercase to uppercase.
filter_chars([], []).
filter_chars([H|T1], [C|T2]):-
allowed_char(H), !, uppercase(H, C),
filter_chars(T1, T2).
filter_chars([_|T1], T2):-
filter_chars(T1, T2).
% unique/2: This predicate removes duplicate characters without reordering.
% i.e. unique("Foo bar", "Fo bar") is true.
unique([], []).
unique([H|T1], [H|T3]):-
delete(T1, H, T2), % Remove duplicates.
unique(T2,T3).
% working_shortcuts/2 instantiates Char in the first argument for a whole
% menu/dialog.
working_shortcuts([],_). % end of the list
working_shortcuts([Label/Char|Rest],Used):-
possible_char(Label,Char), % i.e. part of the label string
\+member(Char,Used), % not used by any other shortcut
working_shortcuts(Rest,[Char|Used]). % and all the other labels have
% shortcuts
% The prolog motor will backtrack up and down the list of labels
% until it finds a set with unique characters for each label
% Label strings goes here.
% Just cut&paste the strings from the LyX-source, and remove any
% control sequences for menus. We could add a couple of predicates to scan
% a file, but re-consulting this file takes only a fraction of a second
% so I didn't bother to add a fancy user interface here. The solution is
% printed like <label> '|#' <key>, allthough this isn't nessecarily useful,
% for menus for instance.
%
% The characters are picked with priority from left to right within
% strings, and the labels are listed in falling priority.
% If you want a certain label to have a certain shortcut, try adding that
% character in front of the string (like 'Exit' -> 'xExit') and move it
% higher up in the list.
% If this doesn't work, replace the string with only that character
% ('Exit' -> 'x'). If you get a "No." then, you lose.
% Use "inspect." to inspect the resulting priotized strings.
% LABELS
lab(Labels):-
Strings = [
"New...",
"New from template...",
"Open...",
"Close",
"Save",
"Save As...",
"Revert to saved",
"View dvi",
"View PostScript",
"Update dvi",
"Update PostScript",
"Print...",
"Fax...",
"Export",
"Exit"
% NB, no comma on the last one. Easy to forget.
],
prepare_labels(Strings, Str),
bagof(L/_,member(L,Str),Labels).
% Inspect mapping between original string and prioritized ones.
inspect:-
lab(Labels),
show_priority(Labels).
% Find ALL solutions (they are often legion - don't bother ;)
all:- % May (probably, on large dialogs) run out on memory.
lab(Labels),
setof(Labels,working_shortcuts(Labels,[]),Solutions),
show_solutions(Solutions).
% Find one solution
one:-
lab(Labels),
working_shortcuts(Labels,[]),
show_one_alternative(Labels).
% Entry point.
go:-
one.

202
forms/bibforms.fd Normal file
View File

@ -0,0 +1,202 @@
Magic: 13000
Internal Form Definition File
(do not change)
Number of forms: 2
Unit of measure: FL_COORD_PIXEL
=============== FORM ===============
Name: citation_form
Width: 220
Height: 130
Number of Objects: 5
--------------------
class: FL_BOX
type: UP_BOX
box: 0 0 220 130
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_INPUT
type: NORMAL_INPUT
box: 80 10 130 30
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Key:|#K
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: key
callback:
argument:
--------------------
class: FL_BUTTON
type: RETURN_BUTTON
box: 20 90 90 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: OK
shortcut: ^M
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: bibitem_cb
argument: 1
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 120 90 90 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Cancel|^[
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: bibitem_cb
argument: 0
--------------------
class: FL_INPUT
type: NORMAL_INPUT
box: 80 50 130 30
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Remark:|#R
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: label
callback:
argument:
=============== FORM ===============
Name: bibitem_form
Width: 220
Height: 130
Number of Objects: 5
--------------------
class: FL_BOX
type: UP_BOX
box: 0 0 220 130
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_INPUT
type: NORMAL_INPUT
box: 80 10 130 30
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Key:|#K
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: key
callback:
argument:
--------------------
class: FL_BUTTON
type: RETURN_BUTTON
box: 20 90 90 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: OK
shortcut: ^M
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: bibitem_cb
argument: 3
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 120 90 90 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Cancel|^[
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: bibitem_cb
argument: 2
--------------------
class: FL_INPUT
type: NORMAL_INPUT
box: 80 50 130 30
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Label:|#L
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: label
callback:
argument:
==============================
create_the_forms

32
forms/bibforms.h.patch Normal file
View File

@ -0,0 +1,32 @@
--- bibforms.h Tue Oct 7 21:30:55 1997
+++ ../src/bibforms.h Tue Oct 7 19:57:53 1997
@@ -2,12 +2,6 @@
#define FD_citation_form_h_
/* Header file generated with fdesign. */
-/**** Callback routines ****/
-
-extern void bibitem_cb(FL_OBJECT *, long);
-
-extern void bibitem_cb(FL_OBJECT *, long);
-
/**** Forms and Objects ****/
@@ -19,7 +13,7 @@
FL_OBJECT *label;
} FD_citation_form;
-extern FD_citation_form * create_form_citation_form(void);
+
typedef struct {
FL_FORM *bibitem_form;
void *vdata;
@@ -27,7 +21,5 @@
FL_OBJECT *key;
FL_OBJECT *label;
} FD_bibitem_form;
-
-extern FD_bibitem_form * create_form_bibitem_form(void);
#endif /* FD_citation_form_h_ */

View File

@ -0,0 +1,53 @@
--- bullet_forms.c Wed Sep 24 22:03:42 1997
+++ bullet_forms.c.patched Wed Sep 24 22:05:31 1997
@@ -3,6 +3,10 @@
#include "forms.h"
#include <stdlib.h>
#include "bullet_forms.h"
+#include "bmtable.h"
+#include "filetools.h"
+
+extern int mono_video;
FD_form_bullet *create_form_form_bullet(void)
{
@@ -10,10 +14,28 @@
FD_form_bullet *fdui = (FD_form_bullet *) fl_calloc(1, sizeof(*fdui));
fdui->form_bullet = fl_bgn_form(FL_NO_BOX, 370, 390);
+ fl_set_border_width(-1);
obj = fl_add_box(FL_UP_BOX,0,0,370,390,"");
- fdui->replace_this_with_a_BMTable = obj = fl_add_pixmapbutton(FL_NORMAL_BUTTON,90,105,260,180,"");
- fl_set_object_boxtype(obj,FL_NO_BOX);
- fl_set_pixmapbutton_file(obj, "psnfss2.xpm");
+
+ // make the border thick again to improve the bmtable looks
+ fl_set_border_width(-3);
+
+ fdui->bmtable_bullet_panel = obj = fl_add_bmtable(1, 90, 105, 265, 180, "");
+ fl_set_object_callback(obj, BulletBMTableCB, 0);
+ fl_set_object_lcol(obj, FL_BLUE);
+ fl_set_object_boxtype(obj, FL_UP_BOX);
+ if (mono_video) {
+ fl_set_bmtable_file(obj, 6, 6,
+ LibFileSearch("images",
+ "standard.xbm").c_str());
+ }
+ else {
+ fl_set_bmtable_pixmap_file(obj, 6, 6,
+ LibFileSearch("images",
+ "standard.xpm").c_str());
+ }
+
+ fl_set_border_width(-1);
obj = fl_add_frame(FL_ENGRAVED_FRAME,95,20,255,70,"");
obj = fl_add_frame(FL_ENGRAVED_FRAME,0,340,370,50,"");
fdui->choice_bullet_size = obj = fl_add_choice(FL_NORMAL_CHOICE,15,45,65,30,"Size|#z");
@@ -38,5 +60,7 @@
fl_set_object_lsize(obj,FL_NORMAL_SIZE);
fl_set_object_lstyle(obj,FL_FIXED_STYLE);
+ fl_set_input_return(obj, FL_RETURN_CHANGED);
+ fl_set_input_maxchars(obj,80);
fl_set_object_callback(obj,InputBulletLaTeXCB,0);
fdui->radio_bullet_depth = fl_bgn_group();

452
forms/bullet_forms.fd Normal file
View File

@ -0,0 +1,452 @@
Magic: 13000
Internal Form Definition File
(do not change)
Number of forms: 1
Unit of measure: FL_COORD_PIXEL
=============== FORM ===============
Name: form_bullet
Width: 370
Height: 390
Number of Objects: 24
--------------------
class: FL_BOX
type: UP_BOX
box: 0 0 370 390
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_PIXMAPBUTTON
type: NORMAL_BUTTON
box: 90 105 260 180
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_BOTTOM
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: replace_this_with_a_BMTable
callback:
argument:
file: psnfss2.xpm
fullpath: 1
--------------------
class: FL_FRAME
type: ENGRAVED_FRAME
box: 95 20 255 70
boxtype: FL_NO_BOX
colors: FL_BLACK FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_FRAME
type: ENGRAVED_FRAME
box: 0 340 370 50
boxtype: FL_NO_BOX
colors: FL_BLACK FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_CHOICE
type: NORMAL_CHOICE
box: 15 45 65 30
boxtype: FL_FRAME_BOX
colors: FL_COL1 FL_BLACK
alignment: FL_ALIGN_TOP
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Size|#z
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: choice_bullet_size
callback: ChoiceBulletSizeCB
argument: 0
--------------------
class: FL_BUTTON
type: RETURN_BUTTON
box: 25 350 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: OK
shortcut: ^M
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: button_ok
callback: BulletOKCB
argument: 0
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 135 350 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Apply|#A
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: button_apply
callback: BulletApplyCB
argument: 0
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 245 350 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Cancel|^[
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: button_cancel
callback: BulletCancelCB
argument: 0
--------------------
class: FL_INPUT
type: NORMAL_INPUT
box: 80 300 275 30
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT
style: FL_FIXED_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: LaTeX|#L
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: input_bullet_latex
callback: InputBulletLaTeXCB
argument: 0
--------------------
class: FL_BEGIN_GROUP
type: 0
box: 0 0 0 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: radio_bullet_depth
callback:
argument:
--------------------
class: FL_BUTTON
type: RADIO_BUTTON
box: 105 35 55 40
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_LARGE_SIZE
lcol: FL_BLACK
label: 1|#1
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: radio_bullet_depth_1
callback: BulletDepthCB
argument: 0
value: 1
--------------------
class: FL_BUTTON
type: RADIO_BUTTON
box: 165 35 55 40
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_LARGE_SIZE
lcol: FL_BLACK
label: 2|#2
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: radio_bullet_depth_2
callback: BulletDepthCB
argument: 1
--------------------
class: FL_BUTTON
type: RADIO_BUTTON
box: 225 35 55 40
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_LARGE_SIZE
lcol: FL_BLACK
label: 3|#3
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: radio_bullet_depth_3
callback: BulletDepthCB
argument: 2
--------------------
class: FL_BUTTON
type: RADIO_BUTTON
box: 285 35 55 40
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_LARGE_SIZE
lcol: FL_BLACK
label: 4|#4
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: radio_bullet_depth_4
callback: BulletDepthCB
argument: 3
--------------------
class: FL_END_GROUP
type: 0
box: 0 0 0 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_TEXT
type: NORMAL_TEXT
box: 105 10 85 20
boxtype: FL_FLAT_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Bullet Depth
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_BEGIN_GROUP
type: 0
box: 0 0 0 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: radio_bullet_panel
callback:
argument:
--------------------
class: FL_BUTTON
type: RADIO_BUTTON
box: 15 105 65 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Standard|#S
shortcut:
resize: FL_RESIZE_NONE
gravity: FL_NoGravity FL_NoGravity
name: radio_bullet_panel_standard
callback: BulletPanelCB
argument: 0
value: 1
--------------------
class: FL_BUTTON
type: RADIO_BUTTON
box: 15 135 65 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Maths|#M
shortcut:
resize: FL_RESIZE_NONE
gravity: FL_NoGravity FL_NoGravity
name: radio_bullet_panel_maths
callback: BulletPanelCB
argument: 1
--------------------
class: FL_BUTTON
type: RADIO_BUTTON
box: 15 195 65 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Ding 2|#i
shortcut:
resize: FL_RESIZE_NONE
gravity: FL_NoGravity FL_NoGravity
name: radio_bullet_panel_ding2
callback: BulletPanelCB
argument: 3
--------------------
class: FL_BUTTON
type: RADIO_BUTTON
box: 15 225 65 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Ding 3|#n
shortcut:
resize: FL_RESIZE_NONE
gravity: FL_NoGravity FL_NoGravity
name: radio_bullet_panel_ding3
callback: BulletPanelCB
argument: 4
--------------------
class: FL_BUTTON
type: RADIO_BUTTON
box: 15 255 65 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Ding 4|#g
shortcut:
resize: FL_RESIZE_NONE
gravity: FL_NoGravity FL_NoGravity
name: radio_bullet_panel_ding4
callback: BulletPanelCB
argument: 5
--------------------
class: FL_BUTTON
type: RADIO_BUTTON
box: 15 165 65 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Ding 1|#D
shortcut:
resize: FL_RESIZE_NONE
gravity: FL_NoGravity FL_NoGravity
name: radio_bullet_panel_ding1
callback: BulletPanelCB
argument: 2
--------------------
class: FL_END_GROUP
type: 0
box: 0 0 0 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
==============================
create_the_forms

View File

@ -0,0 +1,23 @@
--- bullet_forms.h Thu Dec 4 12:33:14 1997
+++ ../src/bullet_forms.h Thu Dec 4 12:34:48 1997
@@ -11,5 +11,11 @@
extern void InputBulletLaTeXCB(FL_OBJECT *, long);
extern void BulletDepthCB(FL_OBJECT *, long);
extern void BulletPanelCB(FL_OBJECT *, long);
+extern void BulletBMTableCB(FL_OBJECT *, long);
+
+
+/**** Additional routines ****/
+extern void bulletForm();
+extern bool updateBulletForm();
@@ -20,7 +39,7 @@
void *vdata;
char *cdata;
long ldata;
- FL_OBJECT *replace_this_with_a_BMTable;
+ FL_OBJECT *bmtable_bullet_panel;
FL_OBJECT *choice_bullet_size;
FL_OBJECT *button_ok;
FL_OBJECT *button_apply;

202
forms/credits_form.fd Normal file
View File

@ -0,0 +1,202 @@
Magic: 13000
Internal Form Definition File
(do not change)
Number of forms: 2
Unit of measure: FL_COORD_PIXEL
=============== FORM ===============
Name: form_credits
Width: 500
Height: 330
Number of Objects: 5
--------------------
class: FL_BOX
type: UP_BOX
box: 0 0 500 330
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_BUTTON
type: RETURN_BUTTON
box: 180 290 140 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: OK
shortcut: ^M
resize: FL_RESIZE_NONE
gravity: FL_South FL_South
name:
callback: CreditsOKCB
argument: 0
--------------------
class: FL_TEXT
type: NORMAL_TEXT
box: 10 40 480 30
boxtype: FL_FLAT_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER|FL_ALIGN_INSIDE
style: FL_ITALIC_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Matthias
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NorthWest FL_NorthEast
name:
callback:
argument:
--------------------
class: FL_TEXT
type: NORMAL_TEXT
box: 10 10 480 30
boxtype: FL_FLAT_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER|FL_ALIGN_INSIDE
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: All these people have contributed to the LyX project. Thanks,
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NorthWest FL_NorthEast
name:
callback:
argument:
--------------------
class: FL_BROWSER
type: NORMAL_BROWSER
box: 10 80 480 200
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_BOTTOM
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NorthWest FL_SouthEast
name: browser_credits
callback:
argument:
=============== FORM ===============
Name: copyright
Width: 450
Height: 430
Number of Objects: 5
--------------------
class: FL_BOX
type: UP_BOX
box: 0 0 450 430
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_TEXT
type: NORMAL_TEXT
box: 10 10 430 50
boxtype: FL_FRAME_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER|FL_ALIGN_INSIDE
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: LyX is Copyright (C) 1995 by Matthias Ettrich,\n1995-1999 LyX Team
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NorthWest FL_NorthEast
name:
callback:
argument:
--------------------
class: FL_TEXT
type: NORMAL_TEXT
box: 10 70 430 110
boxtype: FL_FRAME_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER|FL_ALIGN_INSIDE
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: This program is free software; you can redistribute it\nand/or modify it under the terms of the GNU General\nPublic License as published by the Free Software\nFoundation; either version 2 of the License, or\n(at your option) any later version.
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_BUTTON
type: RETURN_BUTTON
box: 160 390 140 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: OK
shortcut: ^M
resize: FL_RESIZE_NONE
gravity: FL_South FL_South
name:
callback: CopyrightOKCB
argument: 0
--------------------
class: FL_TEXT
type: NORMAL_TEXT
box: 10 190 430 190
boxtype: FL_FRAME_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER|FL_ALIGN_INSIDE
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: LyX is distributed in the hope that it will\nbe useful, but WITHOUT ANY WARRANTY;\nwithout even the implied warranty of MERCHANTABILITY\nor FITNESS FOR A PARTICULAR PURPOSE.\nSee the GNU General Public License for more details.\nYou should have received a copy of\nthe GNU General Public License\nalong with this program; if not, write to\nthe Free Software Foundation, Inc.,\n675 Mass Ave, Cambridge, MA 02139, USA.
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
==============================
create_the_forms

85
forms/fdfix.sh Executable file
View File

@ -0,0 +1,85 @@
#! /bin/sh
if [ "$1" = "$2" ]; then
echo "Input and Output file can not be the same."
exit 1
fi
if [ -f $2 ]; then
echo "Output file already exists, overwrite?"
read
if [ "$REPLY" != "y" ]; then
exit 0
fi
fi
if [ ! -f $1 ]; then
echo "Input file does not exist, can not continue"
exit 1
fi
# If there is a patch for the outputfile patch the input file with it.
if [ -f "$2.patch" ]; then
echo "Patching $1 with $2.patch"
patch -s $1 < "$2.patch"
fi
echo "// File modified by fdfix.sh for use by lyx (with xforms 0.81) and gettext" > $2
echo "#include <config.h>" >> $2
echo "#include \"lyx_gui_misc.h\"" >> $2
echo "#include \"gettext.h\"" >> $2
echo >> $2
# The commands to sed does this:
#
# -e 's/#include "forms\.h"/#include FORMS_H_LOCATION/'
#
# Replace "forms.h" by FORMS_H_LOCATION in #include directives. This
# macro is defined in config.h and is either <forms.h> or
# <X11/forms.h>.
#
# -e '/fl_/ s/".[^|]*"/_(&)/'
#
# For all lines containing "fl_" and a string _not_ containging |,
# replace the string with _(string)
#
# -e '/shortcut/ s/".*[|].*"/scex(_(&))/'
#
# For all lines containing "shortcut" and a string containing |, replace
# the string with scex(_(string))
#
# -e '/fl_add/ s/".*[|].*"/idex(_(&))/'
# For all lines containing "fl_add" and a string containing |, replace
# the string with idex(_(string))
#
# -e '/fl_add/ s/idex("\(.*\)").*$/&fl_set_button_shortcut(obj,"\1",1);/'
# For all lines containing "fl_add" and a string containing |, add the
# shortcut command after the end of this line
#
# -e 's/fl_set_object_lcolor/fl_set_object_lcol/'
#
# For all lines replace "fl_set_object_lcolor" with "fl_set_object_lcol"
# This will be removed when we don't support 0.81
#
# -e 's/fdui->.*->fdui = fdui/\/\/&/'
#
# For all lines replace "fdui->...->fdui" with "//fdui->...->fdui"
# This will be removed when we don't support 0.81
#
# -e 's/\(\(FD_[^ ]*\) \*fdui.*\)sizeof(\*fdui)/\1sizeof(\2)/'
#
# Some picky/broken compilers (eg AIX's xlC) don't like evaluating
# sizeof(*fdui) before fdui has been given a value and output a warning.
# This will not be needed anymore as soon as fdesign is fixed (already
# reported to its authors).
cat $1 | sed \
-e 's/#include "forms\.h"/#include FORMS_H_LOCATION/' \
-e '/fl_/ s/".[^|]*"/_(&)/' \
-e '/shortcut/ s/".*[|].*"/scex(_(&))/' \
-e '/fl_add/ s/".*[|].*"/idex(_(&))/' \
-e '/fl_add/ s/idex(\(.*\)").*$/&fl_set_button_shortcut(obj,scex(\1")),1);/' \
-e 's/fl_set_object_lcolor/fl_set_object_lcol/' \
-e 's/fdui->.*->fdui = fdui/\/\/&/' \
-e 's/\(\(FD_[^ ]*\) \*fdui.*\)sizeof(\*fdui)/\1sizeof(\2)/' >> $2

1714
forms/form1.fd Normal file

File diff suppressed because it is too large Load Diff

268
forms/include_form.fd Normal file
View File

@ -0,0 +1,268 @@
Magic: 13000
Internal Form Definition File
(do not change)
Number of forms: 1
Unit of measure: FL_COORD_PIXEL
=============== FORM ===============
Name: include
Width: 340
Height: 210
Number of Objects: 14
--------------------
class: FL_BOX
type: UP_BOX
box: 0 0 340 210
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_FRAME
type: ENGRAVED_FRAME
box: 10 70 160 90
boxtype: FL_NO_BOX
colors: FL_BLACK FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 230 30 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Browse|#B
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: browsebt
callback: include_cb
argument: 0
--------------------
class: FL_CHECKBUTTON
type: PUSH_BUTTON
box: 180 70 150 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Don't typeset|#D
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: flag1
callback:
argument:
--------------------
class: FL_BUTTON
type: RETURN_BUTTON
box: 120 170 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: OK
shortcut: ^M
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: include_cb
argument: 1
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 230 170 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Cancel|^[
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: include_cb
argument: 2
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 230 130 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Load|#L
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: include_cb
argument: 5
--------------------
class: FL_INPUT
type: NORMAL_INPUT
box: 10 30 210 30
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_TOP_LEFT
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: File name:|#F
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: input
callback:
argument:
--------------------
class: FL_CHECKBUTTON
type: PUSH_BUTTON
box: 180 100 150 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Visible space|#s
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: flag41
callback:
argument:
--------------------
class: FL_BEGIN_GROUP
type: 0
box: 0 0 0 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: include_grp
callback:
argument:
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 10 130 160 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Verbatim|#V
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: flag4
callback: include_cb
argument: 10
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 10 100 160 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Use input|#i
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: flag2
callback: include_cb
argument: 11
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 10 70 160 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Use include|#U
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: flag3
callback: include_cb
argument: 11
--------------------
class: FL_END_GROUP
type: 0
box: 0 0 0 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
==============================
create_the_forms

184
forms/latexoptions.fd Normal file
View File

@ -0,0 +1,184 @@
Magic: 13000
Internal Form Definition File
(do not change)
Number of forms: 2
Unit of measure: FL_COORD_PIXEL
=============== FORM ===============
Name: LaTeXOptions
Width: 310
Height: 90
Number of Objects: 5
--------------------
class: FL_BOX
type: UP_BOX
box: 0 0 310 90
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_CHECKBUTTON
type: PUSH_BUTTON
box: 10 10 310 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Allow accents on ALL characters|#w
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: accents
callback:
argument:
--------------------
class: FL_BUTTON
type: RETURN_BUTTON
box: 10 50 90 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: OK
shortcut: ^M
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: LaTeXOptionsOK
argument: 0
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 110 50 90 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Apply|#A
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: LaTeXOptionsApply
argument: 0
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 210 50 90 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Cancel|^[
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: LaTeXOptionsCancel
argument: 0
=============== FORM ===============
Name: LaTeXLog
Width: 470
Height: 380
Number of Objects: 4
--------------------
class: FL_BOX
type: UP_BOX
box: 0 0 470 380
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_BROWSER
type: NORMAL_BROWSER
box: 10 10 450 320
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_BOTTOM
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: browser_latexlog
callback:
argument:
--------------------
class: FL_BUTTON
type: RETURN_BUTTON
box: 270 340 90 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Close
shortcut: ^M
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: LatexLogClose
argument: 0
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 370 340 90 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Update|#Uu
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: LatexLogUpdate
argument: 0
==============================
create_the_forms

3791
forms/layout_forms.fd Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,26 @@
--- layout_forms.h Tue Dec 2 02:50:13 1997
+++ layout_forms.h.patched Tue Dec 2 03:05:24 1997
@@ -43,4 +43,23 @@
extern void TableOptionsCB(FL_OBJECT *, long);
extern void TableSpeCloseCB(FL_OBJECT *, long);
+/* Additional Functions/Methods */
+
+#include "bufferparams.h"
+
+extern bool UpdateLayoutDocument(BufferParams *params = NULL);
+extern bool UpdateLayoutPreamble();
+extern bool UpdateLayoutPaper();
+extern bool UpdateLayoutQuotes();
+extern bool UpdateLayoutParagraph();
+extern bool UpdateParagraphExtra();
+extern bool UpdateLayoutTable(int);
+
+extern void MenuLayoutCharacter();
+extern void MenuLayoutDocument();
+extern void MenuLayoutPreamble();
+extern void MenuLayoutPaper();
+extern void MenuLayoutQuotes();
+extern void MenuLayoutParagraph();
+extern void MenuLayoutTable(int);

634
forms/lyx.fd Normal file
View File

@ -0,0 +1,634 @@
Magic: 13000
Internal Form Definition File
(do not change)
Number of forms: 5
Unit of measure: FL_COORD_PIXEL
=============== FORM ===============
Name: form_title
Width: 425
Height: 290
Number of Objects: 2
--------------------
class: FL_BOX
type: UP_BOX
box: 0 0 425 290
boxtype: FL_UP_BOX
colors: FL_BLACK FL_TOP_BCOL
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_TIMER
type: HIDDEN_TIMER
box: 110 170 190 60
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_RED
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: timer_title
callback: TimerCB
argument: 0
=============== FORM ===============
Name: form_figure
Width: 340
Height: 150
Number of Objects: 10
--------------------
class: FL_BOX
type: UP_BOX
box: 0 0 340 150
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_FRAME
type: ENGRAVED_FRAME
box: 10 20 320 80
boxtype: FL_NO_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_BEGIN_GROUP
type: 0
box: 0 0 0 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: group_radio_fugre
callback:
argument:
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 10 30 320 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Encapsulated Postscript (*.eps, *.ps)|#E
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: radio_postscript
callback:
argument:
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 10 60 320 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Inlined EPS (*.eps, *.ps)|#I
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: radio_inline
callback:
argument:
--------------------
class: FL_END_GROUP
type: 0
box: 0 0 0 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_BUTTON
type: RETURN_BUTTON
box: 10 110 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: OK
shortcut: ^M
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: FigureOKCB
argument: 0
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 120 110 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Apply|#A
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: FigureApplyCB
argument: 0
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 230 110 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Cancel|^[
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: FigureCancelCB
argument: 0
--------------------
class: FL_TEXT
type: NORMAL_TEXT
box: 20 10 50 20
boxtype: FL_FLAT_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
style: FL_BOLD_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Type
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
=============== FORM ===============
Name: form_screen
Width: 390
Height: 220
Number of Objects: 9
--------------------
class: FL_BOX
type: UP_BOX
box: 0 0 390 220
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_INPUT
type: NORMAL_INPUT
box: 140 10 240 30
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Roman Font|#R
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: input_roman
callback:
argument:
--------------------
class: FL_INPUT
type: NORMAL_INPUT
box: 140 40 240 30
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Sans Serif Font|#S
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: input_sans
callback:
argument:
--------------------
class: FL_INPUT
type: NORMAL_INPUT
box: 140 70 240 30
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Typewriter Font|#T
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: input_typewriter
callback:
argument:
--------------------
class: FL_INPUT
type: NORMAL_INPUT
box: 140 100 240 30
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Font Norm|#N
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: input_font_norm
callback:
argument:
--------------------
class: FL_INPUT
type: INT_INPUT
box: 140 140 50 30
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Font Zoom|#Z
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: intinput_size
callback:
argument:
--------------------
class: FL_BUTTON
type: RETURN_BUTTON
box: 60 180 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: OK
shortcut: ^M
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: ScreenOKCB
argument: 0
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 170 180 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Apply|#A
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: ScreenApplyCB
argument: 0
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 280 180 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Cancel|^[
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: ScreenCancelCB
argument: 0
=============== FORM ===============
Name: form_toc
Width: 420
Height: 340
Number of Objects: 4
--------------------
class: FL_BOX
type: UP_BOX
box: 0 0 420 340
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_BROWSER
type: HOLD_BROWSER
box: 10 10 400 280
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_BOTTOM
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NorthWest FL_SouthEast
name: browser_toc
callback: TocSelectCB
argument: 0
--------------------
class: FL_BUTTON
type: RETURN_BUTTON
box: 310 300 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Close
shortcut: ^M
resize: FL_RESIZE_NONE
gravity: FL_SouthEast FL_SouthEast
name:
callback: TocCancelCB
argument: 0
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 200 300 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Update|Uu#u
shortcut:
resize: FL_RESIZE_NONE
gravity: FL_SouthEast FL_SouthEast
name:
callback: TocUpdateCB
argument: 0
=============== FORM ===============
Name: form_ref
Width: 290
Height: 330
Number of Objects: 8
--------------------
class: FL_BOX
type: UP_BOX
box: 0 0 290 330
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_BROWSER
type: HOLD_BROWSER
box: 10 10 270 140
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_BOTTOM
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NorthWest FL_SouthEast
name: browser_ref
callback:
argument: 0
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 180 200 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Update|#U
shortcut:
resize: FL_RESIZE_NONE
gravity: FL_SouthEast FL_SouthEast
name:
callback: RefUpdateCB
argument: 0
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 180 240 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Close|#C^[
shortcut:
resize: FL_RESIZE_NONE
gravity: FL_SouthEast FL_SouthEast
name:
callback: RefHideCB
argument: 0
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 10 240 160 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Insert Reference|#I^M
shortcut:
resize: FL_RESIZE_NONE
gravity: FL_SouthWest FL_SouthWest
name:
callback: RefSelectCB
argument: 0
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 10 200 160 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Insert Page Number|#P
shortcut:
resize: FL_RESIZE_NONE
gravity: FL_SouthWest FL_SouthWest
name:
callback: RefSelectCB
argument: 1
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 10 280 160 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Go to Reference|#G
shortcut:
resize: FL_RESIZE_NONE
gravity: FL_SouthWest FL_SouthWest
name:
callback: RefSelectCB
argument: 2
--------------------
class: FL_INPUT
type: NORMAL_INPUT
box: 80 160 200 30
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label: Name|#N
shortcut:
resize: FL_RESIZE_X
gravity: FL_NorthWest FL_SouthEast
name: ref_name
callback:
argument:
==============================
create_the_forms

442
forms/lyx_sendfax.fd Normal file
View File

@ -0,0 +1,442 @@
Magic: 13000
Internal Form Definition File
(do not change)
Number of forms: 3
Unit of measure: FL_COORD_PIXEL
=============== FORM ===============
Name: xsendfax
Width: 600
Height: 330
Number of Objects: 18
--------------------
class: FL_BOX
type: UP_BOX
box: 0 0 600 330
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_FRAME
type: ENGRAVED_FRAME
box: 10 15 465 125
boxtype: FL_NO_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_INPUT
type: NORMAL_INPUT
box: 90 30 377 30
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Fax no.:|#F
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: Input_Phone
callback:
argument:
--------------------
class: FL_INPUT
type: NORMAL_INPUT
box: 90 65 377 29
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Dest. Name:|#N
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: Input_Name
callback:
argument:
--------------------
class: FL_INPUT
type: NORMAL_INPUT
box: 90 100 377 29
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Enterprise:|#E
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: Input_Enterprise
callback:
argument:
--------------------
class: FL_INPUT
type: MULTILINE_INPUT
box: 15 165 575 106
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_TOP_LEFT
style: FL_NORMAL_STYLE+FL_EMBOSSED_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: Input_Comment
callback:
argument:
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 20 290 180 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_BOLD_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: OK|#O
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: Button_Send
callback: FaxSendCB
argument: 0
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 400 290 180 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_BOLD_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Cancel|^[
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: Button_Cancel
callback: FaxCancelCB
argument: 0
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 210 290 180 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_BOLD_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Apply|#A
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: Button_Apply
callback: FaxApplyCB
argument: 0
--------------------
class: FL_FRAME
type: ENGRAVED_FRAME
box: 485 30 105 100
boxtype: FL_NO_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_TEXT
type: NORMAL_TEXT
box: 490 20 95 20
boxtype: FL_FLAT_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
style: FL_BOLD_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Phone Book
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 490 45 15 15
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_RIGHT
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Select from|#S
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: Button_SPhone
callback: FaxOpenPhonebookCB
argument: 0
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 490 65 15 15
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_RIGHT
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Add to|#t
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: cb_add_phoneno
argument: 0
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 490 85 15 15
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_RIGHT
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Delete from|#D
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: cb_delete_phoneno
argument: 0
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 490 105 15 15
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_RIGHT
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Save|#V
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: pb_save
callback: cb_save_phoneno
argument: 0
--------------------
class: FL_TEXT
type: NORMAL_TEXT
box: 15 5 100 20
boxtype: FL_FLAT_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
style: FL_BOLD_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Destination:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_FRAME
type: ENGRAVED_FRAME
box: 10 155 585 125
boxtype: FL_NO_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_TEXT
type: NORMAL_TEXT
box: 15 145 85 20
boxtype: FL_FLAT_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
style: FL_BOLD_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Comment:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
=============== FORM ===============
Name: phonebook
Width: 600
Height: 320
Number of Objects: 2
--------------------
class: FL_BOX
type: UP_BOX
box: 0 0 600 320
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_BROWSER
type: HOLD_BROWSER
box: 2 2 598 318
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_BOTTOM
style: FL_NORMAL_STYLE
size: FL_MEDIUM_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: browser
callback: cb_select_phoneno
argument: 0
=============== FORM ===============
Name: logfile
Width: 510
Height: 190
Number of Objects: 3
--------------------
class: FL_BOX
type: UP_BOX
box: 0 0 510 190
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_BROWSER
type: NORMAL_BROWSER
box: 10 10 490 130
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_BOTTOM
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: browser
callback:
argument:
--------------------
class: FL_BUTTON
type: RETURN_BUTTON
box: 410 150 90 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Close
shortcut: ^M
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: Button_Close
callback: FaxLogfileCloseCB
argument: 0
==============================
create_the_forms

62
forms/makefile Normal file
View File

@ -0,0 +1,62 @@
###/* This file is part of
###* ======================================================
###*
###* LyX, the High Level Word Processor
###*
###* Copyright (C) 1995-99 The LyX Team
###*
###*======================================================*/
###
###
### Makefile by Lars Gullik Bjønnes (larsbj@ifi.uio.no)
###
SHELL = /bin/sh
.SUFFIXES: .fd .c
# Various commands
FDESIGN = fdesign
SRCS = bullet_forms.fd credits_form.fd form1.fd \
latexoptions.fd layout_forms.fd lyx.fd lyx_sendfax.fd math_forms.fd \
print_form.fd sp_form.fd
OBJS = bullet_forms.c credits_form.c form1.c \
latexoptions.c layout_forms.c lyx.c lyx_sendfax.c math_forms.c \
print_form.c sp_form.c
COBJS = bullet_forms.C credits_form.C form1.C \
latexoptions.C layout_forms.C lyx.C lyx_sendfax.C math_forms.C \
print_form.C sp_form.C
all:
@echo "This is a makefile intended for the maintainer only."
@echo "Only run it if you are absolutely sure about what you"
@echo "are doing."
c: $(OBJS)
d: c $(COBJS)
e: c
for hfil in *.h ; do \
if [ -f "$$hfil.patch" ] ; then \
(echo "Patching $$hfil with $$hfil.patch" ; \
patch -s $$hfil < $$hfil.patch) \
fi; \
done
updatesrc: d e
for fil in *.C *.h ; do cp $$fil ../src ; done
.fd.c:
$(FDESIGN) -convert $<
.c.C:
./fdfix.sh $< $@
clean:
rm -f *.[hcC] *.bak
distclean: clean
rm -f *.orig *.rej *~

39
forms/math_forms.C.patch Normal file
View File

@ -0,0 +1,39 @@
--- math_forms.c Fri Dec 12 01:32:42 1997
+++ math_forms.c.patched Fri Dec 12 01:32:18 1997
@@ -2,7 +2,7 @@
#include "forms.h"
#include <stdlib.h>
-#include "math_forms.h"
+#include "math_panel.h"
FD_panel *create_form_panel(void)
{
@@ -17,7 +17,9 @@
fdui->func_browse = obj = fl_add_browser(FL_SELECT_BROWSER,180,40,94,110,"Functions");
fl_set_object_lalign(obj,FL_ALIGN_TOP);
fl_set_object_callback(obj,button_cb,MM_FUNC);
+#if FL_REVISION > 85
fl_set_browser_hscrollbar(obj, FL_OFF);
+#endif
fdui->greek = obj = fl_add_button(FL_NORMAL_BUTTON,10,90,50,30,"Greek");
fl_set_object_lsize(obj,FL_NORMAL_SIZE);
fl_set_object_lstyle(obj,15);
@@ -79,7 +81,7 @@
fdui->delim = fl_bgn_form(FL_NO_BOX, 250, 260);
obj = fl_add_box(FL_UP_BOX,0,0,250,260,"");
- fdui->menu = obj = fl_add_button(FL_PUSH_BUTTON,40,70,170,140,"");
+ fdui->menu = obj = fl_add_bmtable(FL_PUSH_BUTTON,40,70,170,140,"");
fl_set_object_lcolor(obj,FL_BLUE);
fl_set_object_callback(obj,delim_cb,2);
@@ -166,7 +168,7 @@
fdui->deco = fl_bgn_form(FL_NO_BOX, 160, 150);
obj = fl_add_box(FL_UP_BOX,0,0,160,150,"");
- fdui->menu = obj = fl_add_button(FL_PUSH_BUTTON,10,10,140,90,"");
+ fdui->menu = obj = fl_add_bmtable(FL_PUSH_BUTTON,10,10,140,90,"");
fl_set_object_lcolor(obj,FL_BLUE);
fl_set_object_callback(obj,deco_cb,MM_APPLY);
obj = fl_add_button(FL_RETURN_BUTTON,30,110,100,30,"Close");

930
forms/math_forms.fd Normal file
View File

@ -0,0 +1,930 @@
Magic: 13000
Internal Form Definition File
(do not change)
Number of forms: 5
Unit of measure: FL_COORD_PIXEL
SnapGrid: 2
=============== FORM ===============
Name: panel
Width: 290
Height: 172
Number of Objects: 16
--------------------
class: FL_BOX
type: UP_BOX
box: 0 0 290 172
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_BUTTON
type: RETURN_BUTTON
box: 80 14 80 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Close
shortcut: ^M
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: button_cb
argument: 100
--------------------
class: FL_BROWSER
type: SELECT_BROWSER
box: 180 40 94 110
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_TOP
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label: Functions
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: func_browse
callback: button_cb
argument: MM_FUNC
h_pref: FL_OFF
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 10 90 50 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: 15
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Greek
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: greek
callback: button_cb
argument: MM_GREEK
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 10 120 50 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: 15
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: ­ Û
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: arrow
callback: button_cb
argument: MM_ARROW
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 60 90 50 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: 15
size: 0
lcol: FL_BLACK
label: ± ´
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: boperator
callback: button_cb
argument: MM_BOP
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 110 90 50 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: 15
size: 0
lcol: FL_BLACK
label: £ @
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: brelats
callback: button_cb
argument: MM_BRELATS
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 60 120 50 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: 15
size: 0
lcol: FL_BLACK
label: S ò
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: varsize
callback: button_cb
argument: MM_VARSIZE
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 110 120 50 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_TIMESITALIC_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Misc
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: misc
callback: button_cb
argument: MM_MISC
--------------------
class: FL_PIXMAPBUTTON
type: NORMAL_BUTTON
box: 130 50 30 30
boxtype: FL_UP_BOX
colors: FL_MCOL FL_BLUE
alignment: FL_ALIGN_BOTTOM
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: equation
callback: button_cb
argument: MM_EQU
--------------------
class: FL_PIXMAPBUTTON
type: NORMAL_BUTTON
box: 10 15 30 30
boxtype: FL_UP_BOX
colors: FL_MCOL FL_BLUE
alignment: FL_ALIGN_BOTTOM
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: sqrt
callback: button_cb
argument: MM_SQRT
--------------------
class: FL_PIXMAPBUTTON
type: NORMAL_BUTTON
box: 40 15 30 30
boxtype: FL_UP_BOX
colors: FL_MCOL FL_BLUE
alignment: FL_ALIGN_BOTTOM
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_COL1
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: frac
callback: button_cb
argument: MM_FRAC
--------------------
class: FL_PIXMAPBUTTON
type: NORMAL_BUTTON
box: 10 50 30 30
boxtype: FL_UP_BOX
colors: FL_MCOL FL_BLUE
alignment: FL_ALIGN_BOTTOM
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: delim
callback: button_cb
argument: MM_DELIM
--------------------
class: FL_PIXMAPBUTTON
type: NORMAL_BUTTON
box: 100 50 30 30
boxtype: FL_UP_BOX
colors: FL_MCOL FL_BLUE
alignment: FL_ALIGN_BOTTOM
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: matrix
callback: button_cb
argument: MM_MATRIX
--------------------
class: FL_PIXMAPBUTTON
type: NORMAL_BUTTON
box: 40 50 30 30
boxtype: FL_UP_BOX
colors: FL_MCOL FL_BLUE
alignment: FL_ALIGN_BOTTOM
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: deco
callback: button_cb
argument: MM_DECO
--------------------
class: FL_PIXMAPBUTTON
type: NORMAL_BUTTON
box: 70 50 30 30
boxtype: FL_UP_BOX
colors: FL_MCOL FL_BLUE
alignment: FL_ALIGN_BOTTOM
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: space
callback: button_cb
argument: MM_SPACE
=============== FORM ===============
Name: delim
Width: 250
Height: 260
Number of Objects: 10
--------------------
class: FL_BOX
type: UP_BOX
box: 0 0 250 260
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_BUTTON
type: PUSH_BUTTON
box: 40 70 170 140
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLUE
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: menu
callback: delim_cb
argument: 2
--------------------
class: FL_BEGIN_GROUP
type: 0
box: 0 0 0 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: lado
callback:
argument:
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 40 40 80 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Right|#R
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: right
callback: delim_cb
argument: 4
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 40 10 80 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Left|#L
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: left
callback: delim_cb
argument: 3
--------------------
class: FL_END_GROUP
type: 0
box: 0 0 0 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 170 220 70 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Cancel|^[
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: delim_cb
argument: MM_CLOSE
--------------------
class: FL_PIXMAPBUTTON
type: NORMAL_BUTTON
box: 130 20 50 40
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_BOTTOM
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: pix
callback: delim_cb
argument: MM_APPLY
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 90 220 70 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Apply|#A
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: delim_cb
argument: MM_APPLY
--------------------
class: FL_BUTTON
type: RETURN_BUTTON
box: 10 220 70 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: OK
shortcut: ^M
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: delim_cb
argument: MM_OK
=============== FORM ===============
Name: matrix
Width: 280
Height: 170
Number of Objects: 8
--------------------
class: FL_BOX
type: UP_BOX
box: 0 0 280 170
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_BUTTON
type: RETURN_BUTTON
box: 10 130 80 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: OK
shortcut: ^M
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: matrix_cb
argument: MM_OK
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 190 130 80 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Cancel|^[
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: matrix_cb
argument: MM_CLOSE
--------------------
class: FL_VALSLIDER
type: HOR_NICE_SLIDER
box: 10 30 160 30
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_TOP
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Rows
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: rows
callback: matrix_cb
argument: -1
bounds: 1 20
precision: 0
return: FL_RETURN_END_CHANGED
--------------------
class: FL_VALSLIDER
type: HOR_NICE_SLIDER
box: 10 90 160 30
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_TOP
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Columns
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: columns
callback: matrix_cb
argument: 2
bounds: 1 20
precision: 0
return: FL_RETURN_END_CHANGED
--------------------
class: FL_CHOICE
type: NORMAL_CHOICE
box: 180 30 90 30
boxtype: FL_FRAME_BOX
colors: FL_COL1 FL_BLACK
alignment: FL_ALIGN_TOP
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Vertical align|#V
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: valign
callback: matrix_cb
argument: -1
--------------------
class: FL_INPUT
type: NORMAL_INPUT
box: 180 90 90 30
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_TOP
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Horizontal align|#H
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: halign
callback: matrix_cb
argument: 2
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 100 130 80 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Apply|#A
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: matrix_cb
argument: MM_APPLY
=============== FORM ===============
Name: deco
Width: 160
Height: 150
Number of Objects: 3
--------------------
class: FL_BOX
type: UP_BOX
box: 0 0 160 150
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_BUTTON
type: PUSH_BUTTON
box: 10 10 140 90
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLUE
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: menu
callback: deco_cb
argument: MM_APPLY
--------------------
class: FL_BUTTON
type: RETURN_BUTTON
box: 30 110 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Close
shortcut: ^M
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: deco_cb
argument: MM_CLOSE
=============== FORM ===============
Name: space
Width: 280
Height: 150
Number of Objects: 12
--------------------
class: FL_BOX
type: UP_BOX
box: 0 0 280 150
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_BUTTON
type: RETURN_BUTTON
box: 10 110 80 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: OK
shortcut: ^M
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: space_cb
argument: MM_OK
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 190 110 80 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Cancel|^[
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: space_cb
argument: MM_CLOSE
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 100 110 80 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Apply|#A
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: space_cb
argument: MM_APPLY
--------------------
class: FL_BEGIN_GROUP
type: 0
box: 0 0 0 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: spaces
callback:
argument:
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 20 10 120 30
boxtype: FL_NO_BOX
colors: FL_MCOL FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Thin|#T
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: space_cb
argument: 1
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 20 40 120 30
boxtype: FL_NO_BOX
colors: FL_MCOL FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Medium|#M
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: space_cb
argument: 2
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 20 70 120 30
boxtype: FL_NO_BOX
colors: FL_MCOL FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Thick|#H
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: space_cb
argument: 3
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 140 10 120 30
boxtype: FL_NO_BOX
colors: FL_MCOL FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Negative|#N
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: space_cb
argument: 0
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 140 40 120 30
boxtype: FL_NO_BOX
colors: FL_MCOL FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Quadratin|#Q
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: space_cb
argument: 4
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 140 70 120 30
boxtype: FL_NO_BOX
colors: FL_MCOL FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: 2Quadratin|#2
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: space_cb
argument: 5
--------------------
class: FL_END_GROUP
type: 0
box: 0 0 0 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
==============================
create_the_forms

815
forms/print_form.fd Normal file
View File

@ -0,0 +1,815 @@
Magic: 13000
Internal Form Definition File
(do not change)
Number of forms: 2
Unit of measure: FL_COORD_PIXEL
=============== FORM ===============
Name: form_print
Width: 340
Height: 360
Number of Objects: 30
--------------------
class: FL_BOX
type: UP_BOX
box: 0 0 340 360
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_FRAME
type: ENGRAVED_FRAME
box: 10 215 320 90
boxtype: FL_NO_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_TEXT
type: NORMAL_TEXT
box: 20 205 70 20
boxtype: FL_FLAT_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
style: FL_BOLD_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Print to
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_INPUT
type: NORMAL_INPUT
box: 90 225 230 30
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: input_printer
callback:
argument:
--------------------
class: FL_INPUT
type: NORMAL_INPUT
box: 90 265 230 30
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: input_file
callback:
argument:
--------------------
class: FL_BEGIN_GROUP
type: 0
box: 0 0 0 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: group_radio_printto
callback:
argument:
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 10 225 80 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Printer|#P
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: radio_printer
callback:
argument:
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 10 265 80 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: File|#F
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: radio_file
callback:
argument:
--------------------
class: FL_END_GROUP
type: 0
box: 0 0 0 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_FRAME
type: ENGRAVED_FRAME
box: 180 20 150 70
boxtype: FL_NO_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_FRAME
type: ENGRAVED_FRAME
box: 10 20 160 180
boxtype: FL_NO_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_BUTTON
type: RETURN_BUTTON
box: 10 315 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: OK
shortcut: ^M
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: PrintOKCB
argument: 0
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 120 315 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Apply|#A
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: PrintApplyCB
argument: 0
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 230 315 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Cancel|^[
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: PrintCancelCB
argument: 0
--------------------
class: FL_BEGIN_GROUP
type: 0
box: 0 0 0 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: group_radio_pages
callback:
argument:
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 10 30 160 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: All Pages|#G
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: radio_all_pages
callback:
argument:
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 10 60 160 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Only Odd Pages|#O
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: radio_odd_pages
callback:
argument:
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 10 90 160 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Only Even Pages|#E
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: radio_even_pages
callback:
argument:
--------------------
class: FL_END_GROUP
type: 0
box: 0 0 0 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_BEGIN_GROUP
type: 0
box: 0 0 0 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: group_radio_order
callback:
argument:
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 180 30 150 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Normal Order|#N
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: radio_order_normal
callback:
argument:
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 180 60 150 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Reverse Order|#R
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: radio_order_reverse
callback:
argument:
--------------------
class: FL_END_GROUP
type: 0
box: 0 0 0 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_TEXT
type: NORMAL_TEXT
box: 200 10 60 20
boxtype: FL_FLAT_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
style: FL_BOLD_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Order
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_TEXT
type: NORMAL_TEXT
box: 20 10 50 20
boxtype: FL_FLAT_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
style: FL_BOLD_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Print
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_INPUT
type: NORMAL_INPUT
box: 20 160 140 30
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_TOP_LEFT
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Pages:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: input_pages
callback:
argument:
--------------------
class: FL_FRAME
type: ENGRAVED_FRAME
box: 180 110 150 90
boxtype: FL_NO_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_TEXT
type: NORMAL_TEXT
box: 200 95 50 20
boxtype: FL_FLAT_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
style: FL_BOLD_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Copies
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_INPUT
type: NORMAL_INPUT
box: 190 160 130 30
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_TOP_LEFT
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Count:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: input_copies
callback:
argument:
--------------------
class: FL_CHECKBUTTON
type: PUSH_BUTTON
box: 180 115 140 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Unsorted|#U
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: do_unsorted
callback:
argument:
=============== FORM ===============
Name: form_sendto
Width: 340
Height: 210
Number of Objects: 14
--------------------
class: FL_BOX
type: UP_BOX
box: 0 0 340 210
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_FRAME
type: ENGRAVED_FRAME
box: 10 20 310 80
boxtype: FL_NO_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_TEXT
type: NORMAL_TEXT
box: 20 10 80 20
boxtype: FL_FLAT_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
style: FL_BOLD_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: File Type
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_INPUT
type: NORMAL_INPUT
box: 10 130 320 30
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_TOP_LEFT
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Command:|#C
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: input_cmd
callback:
argument:
--------------------
class: FL_BUTTON
type: RETURN_BUTTON
box: 10 170 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: OK
shortcut: ^M
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: SendtoOKCB
argument: 0
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 120 170 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Apply|#A
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: SendtoApplyCB
argument: 0
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 230 170 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Cancel|^[
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: SendtoCancelCB
argument: 0
--------------------
class: FL_BEGIN_GROUP
type: 0
box: 0 0 0 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: group_ftype
callback:
argument:
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 110 30 110 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: DVI|#D
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: radio_ftype_dvi
callback:
argument:
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 110 60 110 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Postscript|#P
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: radio_ftype_ps
callback:
argument:
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 10 60 100 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: LaTeX|#T
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: radio_ftype_latex
callback:
argument:
value: 1
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 10 30 100 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: LyX|#L
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: radio_ftype_lyx
callback:
argument:
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 220 30 90 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Ascii|#s
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: radio_ftype_ascii
callback:
argument:
--------------------
class: FL_END_GROUP
type: 0
box: 0 0 0 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
==============================
create_the_forms

196
forms/ref.fd Normal file
View File

@ -0,0 +1,196 @@
Magic: 13000
Internal Form Definition File
(do not change)
Number of forms: 1
Unit of measure: FL_COORD_PIXEL
=============== FORM ===============
Name: ref
Width: 210
Height: 170
Number of Objects: 10
--------------------
class: FL_BOX
type: UP_BOX
box: 0 0 210 170
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_FRAME
type: ENGRAVED_FRAME
box: 10 20 130 60
boxtype: FL_NO_BOX
colors: FL_BLACK FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_BUTTON
type: RETURN_BUTTON
box: 120 130 80 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Close
shortcut: ^M
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: label_close_cb
argument: 0
--------------------
class: FL_TEXT
type: NORMAL_TEXT
box: 20 10 110 20
boxtype: FL_FLAT_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Reference Type|#R
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 10 130 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Goto Label|#G
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: goto_label_cb
argument: 0
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 10 90 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Change Label|#C
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback: label_change_cb
argument: 0
--------------------
class: FL_BEGIN_GROUP
type: 0
box: 0 0 0 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: pg_grp
callback:
argument:
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 20 30 20 20
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Page Number|#P
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: flag1
callback:
argument:
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 20 50 20 20
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Reference|#R
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: flag2
callback:
argument:
--------------------
class: FL_END_GROUP
type: 0
box: 0 0 0 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
==============================
create_the_forms

634
forms/sp_form.fd Normal file
View File

@ -0,0 +1,634 @@
Magic: 13000
Internal Form Definition File
(do not change)
Number of forms: 2
Unit of measure: FL_COORD_PIXEL
=============== FORM ===============
Name: form_spell_options
Width: 340
Height: 400
Number of Objects: 19
--------------------
class: FL_BOX
type: UP_BOX
box: 0 0 340 400
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: 0
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_FRAME
type: ENGRAVED_FRAME
box: 10 20 320 110
boxtype: FL_NO_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_FRAME
type: ENGRAVED_FRAME
box: 10 150 320 200
boxtype: FL_NO_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_DEFAULT_SIZE
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_BEGIN_GROUP
type: 0
box: 0 0 0 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: 0
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: lang_buts
callback:
argument:
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 10 30 320 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Use language of document|#D
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: buflang
callback:
argument:
--------------------
class: FL_CHECKBUTTON
type: RADIO_BUTTON
box: 10 60 320 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Use alternate language:|#U
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: altlang
callback:
argument:
--------------------
class: FL_END_GROUP
type: 0
box: 0 0 0 0
boxtype: FL_NO_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: 0
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_INPUT
type: NORMAL_INPUT
box: 40 90 240 30
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT
style: FL_NORMAL_STYLE
size: 0
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: altlang_input
callback:
argument:
--------------------
class: FL_CHECKBUTTON
type: PUSH_BUTTON
box: 10 160 320 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Treat run-together words as legal|#T
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: compounds
callback:
argument: 0
--------------------
class: FL_CHECKBUTTON
type: PUSH_BUTTON
box: 10 190 320 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Input Encoding switch to ispell|#I
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: inpenc
callback:
argument:
--------------------
class: FL_BUTTON
type: RETURN_BUTTON
box: 10 360 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: OK
shortcut: ^M
resize: FL_RESIZE_NONE
gravity: FL_SouthEast FL_SouthEast
name: ok
callback: SpellOptionsOKCB
argument: 0
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 230 360 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Cancel|^[
shortcut:
resize: FL_RESIZE_NONE
gravity: FL_SouthEast FL_SouthEast
name:
callback: SpellOptionsCancelCB
argument: 0
--------------------
class: FL_CHECKBUTTON
type: PUSH_BUTTON
box: 10 220 320 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Use alternate personal dictionary:|#P
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: perdict
callback:
argument:
--------------------
class: FL_CHECKBUTTON
type: PUSH_BUTTON
box: 10 280 320 30
boxtype: FL_NO_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Extra special chars allowed in words:|#E
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: esc_chars
callback:
argument:
--------------------
class: FL_INPUT
type: NORMAL_INPUT
box: 40 250 240 30
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT
style: FL_NORMAL_STYLE
size: 0
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: perdict_input
callback:
argument:
--------------------
class: FL_INPUT
type: NORMAL_INPUT
box: 40 310 240 30
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT
style: FL_NORMAL_STYLE
size: 0
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: esc_chars_input
callback:
argument:
--------------------
class: FL_TEXT
type: NORMAL_TEXT
box: 20 10 90 20
boxtype: FL_FLAT_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
style: FL_BOLD_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Dictionary
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_TEXT
type: NORMAL_TEXT
box: 30 140 70 20
boxtype: FL_FLAT_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
style: FL_BOLD_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Options
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 120 360 100 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Apply|#A
shortcut:
resize: FL_RESIZE_NONE
gravity: FL_SouthEast FL_SouthEast
name:
callback: SpellOptionsApplyCB
argument: 0
=============== FORM ===============
Name: form_spell_check
Width: 540
Height: 280
Number of Objects: 15
--------------------
class: FL_BOX
type: UP_BOX
box: 0 0 540 280
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: 0
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_TEXT
type: NORMAL_TEXT
box: 80 10 220 30
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
style: FL_NORMAL_STYLE
size: 0
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: text
callback:
argument:
--------------------
class: FL_INPUT
type: NORMAL_INPUT
box: 80 40 220 30
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_MCOL
alignment: FL_ALIGN_LEFT
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Replace
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: input
callback:
argument:
--------------------
class: FL_BROWSER
type: SELECT_BROWSER
box: 80 70 220 150
boxtype: FL_DOWN_BOX
colors: FL_COL1 FL_YELLOW
alignment: FL_ALIGN_LEFT
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Near\nMisses
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: browser
callback:
argument:
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 310 210 220 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Spellchecker Options...|#O
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: options
callback:
argument:
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 310 10 220 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Start spellchecking|#S
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: start
callback:
argument:
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 310 50 220 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Insert in personal dictionary|#I
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: insert
callback:
argument:
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 310 110 220 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Ignore word|#g
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: ignore
callback:
argument:
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 310 80 220 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Accept word in this session|#A
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: accept
callback:
argument:
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 310 180 220 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Stop spellchecking|#T
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: stop
callback:
argument:
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 310 240 220 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Close Spellchecker|#C^[
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: done
callback:
argument:
--------------------
class: FL_BOX
type: NO_BOX
box: 10 250 50 20
boxtype: FL_NO_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: 0 %
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_BOX
type: NO_BOX
box: 250 250 50 20
boxtype: FL_NO_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_RIGHT|FL_ALIGN_INSIDE
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: 100 %
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name:
callback:
argument:
--------------------
class: FL_BUTTON
type: NORMAL_BUTTON
box: 310 140 220 30
boxtype: FL_UP_BOX
colors: FL_COL1 FL_COL1
alignment: FL_ALIGN_CENTER
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
label: Replace word|#R
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: replace
callback:
argument:
--------------------
class: FL_SLIDER
type: HOR_FILL_SLIDER
box: 10 230 290 20
boxtype: FL_DOWN_BOX
colors: FL_BLUE FL_COL1
alignment: FL_ALIGN_LEFT
style: FL_NORMAL_STYLE
size: 0
lcol: FL_BLACK
label:
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
name: slider
callback:
argument:
==============================
create_the_forms

17
images/README Normal file
View File

@ -0,0 +1,17 @@
All icons to be used should follow this, so that the icons
look alike.
- size 20x20 pixels
- five color:
#000000000000
#BFBFBFBFBFBF
#FFFFFFFFFFFF
navy
#B2B2ABABACAC
- two color:
#BFBFBFBFBFBF
black

399
images/arrows.xbm Normal file
View File

@ -0,0 +1,399 @@
#define arrow_width 185
#define arrow_height 143
static char arrow_bits[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x21,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xfe,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x21,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x20,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x21,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x21,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x21,0x00,0x00,0x00,
0x80,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x21,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xfe,0x00,0x20,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x21,
0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x08,0x00,0x1c,0xfe,0x00,0x20,0x00,
0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x21,0x00,0x00,0x00,0x60,0x00,0x00,
0x00,0x00,0x04,0x00,0x20,0xfe,0x00,0x20,0x00,0x00,0x00,0x40,0x00,0x00,0x00,
0x00,0x00,0x21,0x00,0x00,0x00,0xf0,0xff,0x1f,0x00,0x00,0x04,0x00,0x20,0xfe,
0x00,0x20,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x21,0x00,0x00,0x00,
0x18,0x00,0x00,0x00,0x00,0x03,0x00,0x20,0xfe,0x00,0x20,0x00,0x00,0x00,0xf8,
0xff,0xff,0x00,0x00,0x00,0x21,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x80,0xff,
0xff,0x1f,0xfe,0x00,0x20,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x21,
0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0xfe,0x00,0x20,0x00,
0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x21,0x00,0x00,0x00,0x18,0x00,0x00,
0x00,0x00,0x02,0x00,0x00,0xfe,0x00,0x20,0x00,0x00,0x00,0x40,0x00,0x00,0x00,
0x00,0x10,0x21,0x01,0x00,0x00,0xe0,0xff,0x1f,0x00,0x00,0x04,0x00,0x00,0xfe,
0x00,0x20,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x60,0xa1,0x00,0x00,0x00,
0x40,0x00,0x00,0x00,0x00,0x0c,0x00,0x00,0xfe,0x00,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x80,0x61,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xfe,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x21,
0x00,0x00,0x00,0x80,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x26,0x02,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x12,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0xa8,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x0a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xfe,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,
0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,
0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x54,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x00,0x00,0x00,0x92,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,
0x11,0x01,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x80,0x08,0x00,0x00,0x00,0x00,
0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x80,
0x00,0x00,0x00,0xc0,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x10,
0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0xe0,0x30,0x00,
0x00,0xc0,0x03,0x00,0x04,0xfe,0x00,0x00,0x20,0x00,0x00,0x00,0x10,0x00,0x00,
0x00,0x00,0x00,0x03,0x00,0x00,0x90,0xd0,0x00,0x00,0x20,0x00,0x00,0x08,0xfe,
0x00,0x00,0x20,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0xfc,0xff,0x07,0x00,0x00,
0x88,0x90,0x00,0x00,0x20,0x00,0x00,0x08,0xfe,0x00,0x00,0xc0,0x00,0x00,0x00,
0x10,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x00,0x80,0x10,0x00,0x00,0x60,0x00,
0x00,0x30,0xfe,0xf0,0xff,0xff,0x01,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,
0x30,0x00,0x00,0x80,0x10,0x00,0x00,0x80,0xff,0xff,0x7f,0xfe,0x00,0x00,0xc0,
0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x80,0x10,0x00,
0x00,0x00,0x00,0x00,0x30,0xfe,0x00,0x00,0x40,0x00,0x00,0x00,0x10,0x00,0x00,
0x00,0x00,0x00,0x0c,0x00,0x00,0x80,0x10,0x00,0x00,0x00,0x00,0x00,0x10,0xfe,
0x00,0x00,0x20,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0xfc,0xff,0x07,0x00,0x00,
0x80,0x10,0x00,0x00,0x00,0x00,0x00,0x08,0xfe,0x00,0x00,0x10,0x00,0x00,0x00,
0x10,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x80,0x10,0x00,0x00,0x00,0x00,
0x00,0x04,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x80,
0x00,0x00,0x00,0x80,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,
0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x80,0x10,0x00,
0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x80,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,
0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x10,0x00,0x00,0x00,0x00,
0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x80,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,
0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x10,0x00,
0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xfe,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0xf8,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x24,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x22,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xfe,0x00,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x02,0xfe,0x00,0x20,0x00,0x00,0x00,0x00,0x01,0x02,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0xfe,0x00,0x20,0x00,
0x00,0x00,0x00,0x01,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x0c,0xfe,0x00,0x20,0x00,0x00,0x00,0x80,0x00,0x04,0x00,
0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x80,0xff,0xff,0x1f,0xfe,
0x00,0x20,0x00,0x00,0x00,0xc0,0x00,0x0c,0x00,0x00,0x08,0x00,0x00,0x00,0x00,
0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x20,0x00,0x00,0x00,0xc0,
0xff,0x1f,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
0x00,0x00,0xfe,0x00,0x20,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x06,0x00,
0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x20,0x00,
0x00,0x00,0x18,0x00,0x60,0x00,0x00,0xff,0xff,0x3f,0x00,0x80,0xff,0xff,0x1f,
0x00,0x80,0xff,0xff,0x1f,0xfe,0x00,0x20,0x00,0x00,0x00,0x1c,0x00,0xe0,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0xfe,
0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0xfe,0x00,0x20,0x00,0x00,0x00,0xc0,
0xff,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
0x00,0x00,0xfe,0x00,0x20,0x00,0x00,0x00,0x80,0x00,0x04,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0xfe,0x00,0x20,0x00,
0x00,0x00,0x00,0x01,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x20,0x00,0x00,0x00,0x00,0x01,0x02,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xfe,0x00,0x26,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0xa8,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,
0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x00,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,
0x86,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x87,0x03,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,
0x00,0x00,0xc0,0x84,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x84,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x01,0x10,0x00,0x00,0x00,0x84,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x01,0xfe,0x80,0x00,0x20,0x00,0x00,0x00,
0x84,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,
0x00,0x02,0xfe,0x80,0x00,0x20,0x00,0x00,0x00,0x84,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x02,0xfe,0x60,0x00,0xc0,
0x00,0x00,0x00,0x84,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x40,0x00,0x00,0x0c,0xfe,0xf0,0xff,0xff,0x01,0x00,0x00,0x84,0x00,0x00,
0x00,0xff,0xff,0x3f,0x00,0x80,0xff,0xff,0x1f,0x00,0xc0,0xff,0xff,0x1f,0xfe,
0x60,0x00,0xc0,0x00,0x00,0x00,0x84,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,
0x00,0x00,0x08,0x00,0x40,0x00,0x00,0x0c,0xfe,0x40,0x00,0x40,0x00,0x00,0x00,
0x84,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x40,0x00,
0x00,0x04,0xfe,0x80,0x00,0x20,0x00,0x00,0x00,0x84,0x00,0x00,0x00,0x08,0x00,
0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x40,0x00,0x00,0x02,0xfe,0x80,0x01,0x10,
0x00,0x00,0x00,0x84,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x00,0x40,0x00,0x00,0x01,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x84,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x00,0x00,0x40,0x84,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,
0x85,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x86,0x01,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,
0x00,0x00,0x00,0x84,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x48,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,
0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe};
#define darrow_width 73
#define darrow_height 73
static char darrow_bits[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xfe,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0xfe,
0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0xfe,0x00,0x0c,0x00,0x00,0x00,
0x00,0x00,0x30,0x00,0xfe,0x00,0x14,0x00,0x00,0x00,0x00,0x00,0x28,0x00,0xfe,
0x00,0x24,0x00,0x00,0x00,0x00,0x00,0x24,0x00,0xfe,0x00,0x44,0x00,0x00,0x00,
0x00,0x00,0x22,0x00,0xfe,0x00,0x82,0x00,0x00,0x00,0x00,0x00,0x41,0x00,0xfe,
0x00,0x00,0x01,0x00,0x00,0x00,0x80,0x00,0x00,0xfe,0x00,0x00,0x02,0x00,0x00,
0x00,0x40,0x00,0x00,0xfe,0x00,0x00,0x04,0x00,0x00,0x00,0x20,0x00,0x00,0xfe,
0x00,0x00,0x08,0x00,0x00,0x00,0x10,0x00,0x00,0xfe,0x00,0x00,0x10,0x00,0x00,
0x00,0x08,0x00,0x00,0xfe,0x00,0x00,0x20,0x00,0x00,0x00,0x04,0x00,0x00,0xfe,
0x00,0x00,0x40,0x00,0x00,0x00,0x02,0x00,0x00,0xfe,0x00,0x00,0x80,0x00,0x00,
0x00,0x01,0x00,0x00,0xfe,0x00,0x00,0x00,0x01,0x00,0x80,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x03,0x00,0x40,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x06,0x00,
0x60,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x0c,0x00,0x30,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x18,0x00,0x18,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x10,0x00,
0x08,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x08,0x00,0x10,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x04,0x00,0x20,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x02,0x00,
0x40,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x01,0x00,0x80,0x00,0x00,0x00,0xfe,
0x00,0x00,0x80,0x00,0x00,0x00,0x01,0x00,0x00,0xfe,0x00,0x00,0x40,0x00,0x00,
0x00,0x02,0x00,0x00,0xfe,0x00,0x00,0x20,0x00,0x00,0x00,0x04,0x00,0x00,0xfe,
0x00,0x00,0x10,0x00,0x00,0x00,0x08,0x00,0x00,0xfe,0x00,0x00,0x08,0x00,0x00,
0x00,0x10,0x00,0x00,0xfe,0x00,0x00,0x04,0x00,0x00,0x00,0x20,0x00,0x00,0xfe,
0x00,0x00,0x02,0x00,0x00,0x00,0x40,0x00,0x00,0xfe,0x00,0x00,0x01,0x00,0x00,
0x00,0x80,0x00,0x00,0xfe,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0xfe,
0x00,0x42,0x00,0x00,0x00,0x00,0x00,0x62,0x00,0xfe,0x00,0x24,0x00,0x00,0x00,
0x00,0x00,0x24,0x00,0xfe,0x00,0x14,0x00,0x00,0x00,0x00,0x00,0x28,0x00,0xfe,
0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0xfe,0x00,0x3c,0x00,0x00,0x00,
0x00,0x00,0x3c,0x00,0xfe,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0xfe,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe};
#define larrow_width 103
#define larrow_height 126
static char larrow_bits[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x01,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x80,0x00,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x80,0x00,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x40,0x00,0x80,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x80,0x00,0x80,0x00,0xe0,0xff,0xff,0xff,0x01,0x00,0xe0,0xff,0xff,0xff,
0x01,0x80,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x80,
0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x80,0x00,0x18,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x80,0x00,0xe0,0xff,0xff,
0xff,0x01,0x00,0xe0,0xff,0xff,0xff,0x01,0x80,0x00,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x40,0x00,0x80,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x20,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x40,0x00,0x00,0x10,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x80,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x80,0x00,0x10,0x00,0x00,0x40,0x00,0x00,0x20,0x00,0x00,0x00,0x08,0x80,
0x00,0xf8,0xff,0xff,0xff,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x80,0x00,0x06,
0x00,0x00,0x00,0x03,0x00,0x08,0x00,0x00,0x00,0x20,0x80,0x80,0x01,0x00,0x00,
0x00,0x0c,0x00,0xfc,0xff,0xff,0xff,0x7f,0x80,0x00,0x06,0x00,0x00,0x00,0x03,
0x00,0x08,0x00,0x00,0x00,0x20,0x80,0x00,0xf8,0xff,0xff,0xff,0x00,0x00,0x10,
0x00,0x00,0x00,0x10,0x80,0x00,0x10,0x00,0x00,0x40,0x00,0x00,0x20,0x00,0x00,
0x00,0x08,0x80,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x80,0x00,0x40,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x80,0x00,0x08,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x80,0x00,0x04,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x80,0x00,0xfe,0xff,0xff,0xff,0x00,
0x00,0xe0,0xff,0xff,0xff,0x1f,0x80,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x08,0x80,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x04,0x80,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x01,
0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x01,0x00,0x00,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x01,0x00,0x00,0x80,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0xff,0xff,0xff,0xff,0x01,0x00,0x00,
0x00,0x00,0x00,0x00,0x80,0x00,0x01,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x80,0x00,0x01,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x80,0x00,0x01,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,
0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x80};

313
images/banner.xpm Normal file
View File

@ -0,0 +1,313 @@
/* XPM */
static char *banner[] = {
/* width height num_colors chars_per_pixel */
" 424 289 16 1",
/* colors */
". c #052e4c",
"# c #224e69",
"a c #46738f",
"b c #5b88a9",
"c c #000000",
"d c #5994cb",
"e c #58524e",
"f c #2a3c47",
"g c #db4805",
"h c #bb582c",
"i c #94acbf",
"j c #d5bc76",
"k c #d1bd81",
"l c #778670",
"m c #e1d29b",
"n c #ffffff",
/* pixels */
"........................................................................................................................................................................................................................................................................................................................................................................................................................................",
"....................................###aaa#......###abb#...............................................................................................................................................................................................................................................................................................#....##.#.#.#.#.#.#.#.#.#.#.#.#..#..#...#..#.....................................",
"....................................#.##bba.....##.#abba............................................................................................................................................................................................########a##.....c..................................................................................#...#..#.#.#.#.#.#..#....#.....#.#...#.......#..#..#..#..#...#...................",
"........c.......c.......c.......c..#..##bbb#....#..##bba#c..c.....c.....c.....c.....c.....c.....c.....c.....c.....c.....c....c.....c.....c....c.....c.....c.....c.....c.....c.....c.c....c.....c.....c.....c.....c.....c.....c.....c.....c.......####.####aaababaa##......c.....c.....c.....c.....c.....c.....c.....c.....c.....c.....c.....c.....c....#....##.#.##.#.#.#.#.##.#.#.#.#....#..#.#..#......................#..............",
"......c...c...c...c...c...c...c.....#.##bbba#...#..#abbb#..............................................................................................................................c.....................................................####..#.#####a#aabbbbbbaa##...............................................................................#...#..#.#..#.....#....#...#...#.#...#...#....#..#..#..#...#.....................",
"....c.......c...c...c...c...c....c.#..##bbbb.c..#..##bbb..c...c...c...c..c..c..c..c..c..c...c..c..c..c..c..c..c..c..c..c...##aa.c.c..c......##a##.c..c..c..c..c..c..c..c..c...#.###aa###...c..c..c..c..c..c..c..c..c..c..c..c..c..c..c.c...###...##.####a###aa#aaabbbbaaa##..c.c..c.c...c....c.c.c..c.c...c....c.c.c..c.c...c....c.c.c..c.c...c....c...#..#.##.#.##.##.##.#.##..#.#.#.#...#...#....#..................#.....#...........",
"..c...c.c.c.......c.......c...c....#..#aabbb#...#..#abbb#...c...c...c......c.....c.....c...c..............................###aba..........####bba..........................###.###aaabbaa#...............................................##...############a##a#a#a#aabbbbbaa##...c...................................................................c.#....#.#.#...#.#..#..#.#.........#..#.....#...#.#........#.......................",
".......##########################.##.###bbbb###.#.###bbba###################################..c..c..c..c..c.c.....c..c...#..#abb#....c.c..#..#abb#..c..c..c..c..c.c......###.#####a#aaaabbaa..c.c..c..c..c..c..c..c..c..c..c..c..c....###...#.#########a###a####a##a#aaaabbbbba##....c...c..c.....c..c.....c..c.....c..c.....c..c.....c.c....c..c..c...#....#.#.#.#.#..#.#.#....##.#.#.#..#..#.#..#......#.#.#..........................",
".....###aabbbbbbbbbbbbbbbbbbbbbaa##.###abbbbbaa##.##bbbbbbbbabababababababababaabaaaaabaababb#...........................#..#abb#.........#..#abba......................#..###aaaaa####aaabba#.......................................#..##########a#a####a###a####a#a#aaa#aaabbba##....c......c........c........c........c........c....................#...#.#.#..#.#.#.#.#.#.#...#.#....#..#...#...#.#...........#.....................",
"....#..#abbbbbbbbbbbbbbbbbbbbbbbaa####aabbbbbaa#####aabbbbbbbbbbbbbbabbabbabbabbabbbbbabbabbbb#.c..c....c....c.c..c..c...#.##abba..c........##abba....c..c..c.c....c..##.###aabbbaa###.###aabba.c....c..c.c...c....c...c..c.c...c..##.#######.##a####a#a###a####a##a#aaaaa##a#abbbb##.c....c.....c..c.....c..c.....c..c.....c..c.....c...c.c..c..c..c..#....#.#.#.#.#.#...#..#.#.#.#..#.#.#...#...#.....#......#......#.................",
"...#...##bbbbbbbbbbbbbabbbbbbbbbba#a#aaababbbaa#a#abababbabababbababbbabababababababababababbda#.........................#..#abb#.........#..#abbb...................##.##bbbbbbbaa##....###abb#.........................c.......##..###aba##.####a######a###a######abbba#######aabbb#.......c........c........c........c........c.....c...............#...#.#.#.#.#.#.###.##.#.#.#.##.#....#....#..#..#..#.#....#.........#............",
"....#..##abbbbbbbbbbaa##abbbbbbbaaa##a#abbbbbba##a#aaabbbabbbbabbbbbabbabbbababababaaabaabbbbbb.c....c..c........c...c...#..#abb#..c..c...#.##abba.c..c....c........#..#aabbbbb###.#.####..##abba.c..c.....c....c.c..c.....#######..##abbbb#...#####aa#a###a###a##aaaabbba#...####aabbb#...c........c........c........c........c.............c..c..c...#..#..##.#.#.#.########..#.######.#.#..#.#.#..#..####..#...#.#.#..#...#.#........",
"...#...##abbbbbbbbba#####abbbbbbaa#####babbbba######bbbbbbbababbababbabbbabbabbabababbabababbba....c......c..............#..#abba.........#..#bbba.......c.....c...#.##aabbba#....c.....##...##bb#......c....c..........###.#.##.###aabbbb###...#########a###a###a#abbbb####....####abbbb##..c.c........c..c.....c..c.....c..c........c..............c.#...#.#.#.#..#.###baa#.#..###aaa##...##.##.#...#######..#..#####...#.#.#.#.......",
"....###.#abbbbbbbbba##.##abbbbbbb##..##aabbbbb##..###abbbbbbbbbbbabbabbabbabbbabbbbbababbbbbba...c...c..c....c..c....c...#.##abb#.c..c....#..#bbba....c.....c.....#####bbbb#.c............##.##abb#...c........c........#...######a#bbbbb####...###a#a#a###a####a#aabbba....###....###abbba#........c...............................c...c...c..c.c.c...#...#.#.#####.###aaba##...##abbb##..#..##a####.###bbb##...###a####..##a###..#....",
"......####aaaaaaaa#######aaaaaaa####..##bbbba###..##bbbbbaaa#a#a#aa#aa#a#a#a#a#a#a##a#####aaa#.............c...........c.#..#abba.........#..#bbb#......c.....c...#..abbba#.......c........#..##aba.........c....c....##..#######aabbbb##....#...########a###a#a#abbbbb#......###...###abbbba#..c.c...c..c..c.c...c..c.c...c..c.c.............c........#....#########.#aabbba#..#.#bbbaa#....###aa##..##abbb##.#.##aab##..##aaba#....#..",
"...c...............#...#########...#..##bbba....#..##abba...#......c....c...c.........#.#...c..c......c..c.....c..c.c....#..#bbb#.....c..#..##abb#..c.......c....#.##abb#.c.....c....c......#..##bb#...c......c......#...#aaaaa##abbbb##c....##...#####a#####a#aaabbbb#.c........##...###abbbba.................c........c........c..c....c.c.......c..#...#.###aaa##.##bbb#.##..##abb####....#abba##..##bba##....##bba##.##abba##......",
"....c...c.c.c...c.c.c..c.cc.c......#..##bbb#....#..#bbbbac..c.........c...c....c......c..c.c...............c.............#..#abb#.c.....c.#..#bbb#......c........#.##bbb#...c.c........c.c...#..#abb#c...c......c..c.#..##bab####abbb##.......#....######aa#a#aabbbbba.......c....##..###a#bbbba#...c..c..c.......c........c...........c...............#...###aabbb##.##aba...#...#bba...##..##abb###..##bb####..##abb##...#bbb###..#.#.",
"..............................c....#..##bbba....#..##bbb#.c.....c.............................c.c.c.c..c......c..c..c....#..#abb#.........#.##abb#cc..c....c....#.##bbb#.c.......c...........##.##bb#.......c.c.....#..##abbbb####ba#...c.cc...#.....######aaabbbbbb#...c..c........#.###a#a#abbba#.............c..............c..c......c..c......c...#...##aabbbb##..#abb....#.###bb#...##..##bba##..##bb#..##..##bbb##.###ba####.....",
".....c........c........c..c.....c...#..#abb#....#..#abbb#.........c.c..c....c...c...c..c....c...............c............#..#abba...c.c...#..#bbb#.......c...c..#.##bb#............c..c.....c.#..#ab##.c..........c.#..##bbb#####a########......##...#.##aaabbbbbbb##c............##.##aa####a#bbbb#..c..c..c......c..c..c.............c......c..c...c.#..###abbbb###..##bb#...#..##bb#....#...#bb####..#bbb#c.#..##bb####.#bbb#..##....",
"...c.....c....................c.....#..#abb.....##.#abba......................c...c...................c...c.....c..c..c..#..#bbb#...........##abb#..c..c........#.#bbb#c.....c.................#.##bb#c...c.c.......#..##bbb#.####a#b#aaabaa##.#.####..##aabbbbbb##.......c...c..##.###aab##.###abbba#.c.........c.........c.c..c..c.c......c..........#...#abbbb#..##.##bb#....#..#abb.....#.###bb#.##.##bb#..##..##bbb##..#bb#...##...",
".......c...c.c..c.c..c..c..c....c....###ba#c.c...###abb#....c.....c..c..c..c........c....c......c...c...c...c............#.###bba.c.......#..#bbb#c............#..#ab##...c.....c...c..c..c....#.##bb#........c.....#..#abba####.###aa#aabbbbbb########aaabbbbb##...c..c......###..##bbbba##..###abbbb#......c......c..c.................c....c..c..c..#..##bbbb#....#..##bb....#..##bb#....#..#bbb#.##..#abb#..#..##bba###.#abb#c..#...",
".............................c........####.........#a##.......c.c...............c...........c.c..................c..c....#..#bbb#....c....#.##abb#.........c...#.##bb#..c........###....c.......#.#bb#..c...........#..###bbb############a#babbbbaaaa#a#aaaa###......c......#.#.####bbbbb####..####abbba.c...................c.....c...c...............#.##bbbb#......#.##bb#...##.##abb.....#.##abb..#..##bba#.##.###bb###.##bb#.c..#..",
"....c...c.........c.c..........c.........c...c..........c.c.........................c.c.c........c.c..c..c..c............#..#abb#.........#..#bbb#..c...c....c.#.##bb#c...c.c...###ba#c...c....##.#aba.........c....#..##aaa#a###aaa########a#babbbaaba#a##...c.c.c......##.##.##abbbbba#..##....###bbbb#..c..c.c...c..c.......c.c...c....c...c....c...#..#bbb##....c.#.##bba....#..#abb#....#..#bba#.##..##bb#..#..##bbb###.#bb##...##.",
"......c...c...............c..........c..c..c...c..............c..c................c........c..................c.c..c..c..#.##abb#.c...c..#..##abb#c............#.##bb#.........#.##bb#......c....##aba.c..c..c....c.#...###aa#aaabbaa############aaabbbbaa#####.#..#.#####.####a#bbbbb#.c....##...###bbb#c.................c.c..........c..............#.##bbb#c.c.....#.#abb#.c..#.##bb#....#..#abb#...#.##bbb..##.##bbb##.###bb.c...#.",
"...c........c..c..c...c........c.c...................c.............c.c.c..c..c..c.....c......c...c..c.c...c..............#..#abba...c.....#..#bbb#...c..c......#.##bb#..c....c.#..abbb..........#.#aba.........c....#...###aabbbbbbb##....#.#######aaaabbbbbbaa##a###.#.#.###aabbbbb#.........##...##abb#...c..c...c..c.c.........c..c.......c...c.c.c.#.#bba.........#..##bbb....#.##bb##c..#.##abb#..#..##bba...#..#abb###.##bb#......",
".........c..............c..c.c.......c...c......c.............c..................................................c..c.c..#..#abb#.c.......#.##abb#.c.......c...#.##bb#c........#.##bba...c......#.#bba.c.c..c........#...###bbbbbbaa####.#.....#######a#aaaababaa#########aaabbbbba#............##..#abb#c...............c......c..........c............##ab#.....c...#.##bbbb.c..#.#abbb...##.##bbb#.c.#..#abb#c.#.##abb#.#.##bba......",
".......c...c..c..c.................c..........c...c.....c..c.........c..c.c...c.....c....c.c..c..c.....c..c..c...........#..#bbb#.........#c.#bbb#....c..c...c.#.##bb#..c..c...#.##bb#.......c.#.##ab#........c......##..##bbbbba##...#.#####.....#######a#a#a###a##a#aaabbbbbbba#.........c.....#..##ba....c..c.c..c.............c.c..c.c...c.c.....c.###b#.........#..##bbb#...#..##bba..#...#babb#..##.##bbb..##.##bbba.##.#bbb.c....",
"...c.c...............c.c......c........c....c.......c..........c...c............c.c..................c...................#..#abb#..c.....#..##abb#..c..........#.##ab#c.........###b##..c..c...#.##bba......c...c......#.##abbb##..c........###.#.....#########aaaaaababbbbbbba#..c...c..c........####ba.c..............c..c..c.c................c......####....c....#..#abbb...##.##bbb#c##.###bbba..##..#abba..#..#abbb#.#.##abb......",
"........c...c..c..c.........c...c..c..........c.......c..c..c....c.....c.....c.......c..c....c..c.......c..c.c..c........#..#bbba....c..c.#..#bbb#....c....c...#..#bb#...........###...........#.##bb#............c.....######...c.............###.#......####aababbbbbbbbba##......c......c....c...##a#...c..c..c...........................c......................#..##bbb#...#..#bbbb#.#..#abbba#..#..#abbb####.##bbb#..#.##bba..c...",
"..c.....................c.c..............c..c..................c......................c............c..c...........c.c.c..#..#abb#.........#.##abb#.c............#.##ba.c..c............c....c..#.##bb#.c..c....c...........#...c...........c......#####.#...###bbbbbbbbba##....c..c.....c.....c......#.............c.c..c..c..c..c.........c.......c..........c.c...#.##bbba#c.#..##abb#.#####bbba...##.##abba#.#.##abba#.##.#abbb......",
"..........c.....c............c...c..c................c....c.......c..c..c.c.c....c......c..c.....c........c...c..........#..#abb#.....c..#...#bbb#...c..c...c...#.##bb#.....c.....c...........#.##bbb............c..c....c..c.........c.c............#.#######bbbbaa###.....c.............c................c.c..c..................c.c..c........c........c........#..##bbb#..##.##bbba###..#bbba#..#..##bbbb#.##.#abbb#..#.##abb#......",
"........c..........c.c.c...............c..c..c................................c......c................c.....c....c....c..#..#abba.c.c.....#.##bbb#.c......c.....#.###bb.c.......c....c..c..c..#.##bb#.c..c...c........c......c......c...........c....c....#.#####.#......c...c..c..c.c......c..c..c......c.............c..c..c..c..........c........c.c......c...c##.##bbba...#..#abbb#.#..#bbbb....#..#abbb#.##.##bbb#..##.#abbb#.c....",
"...c..c.....c..c.........c...c...c....c........c..c..c....c..c.......c..c........c........c..c.c....c.........c..........#..#abbb#....c...#..#bbb#..............#..##bb#..c..................##.#bbb#............c.......................c...c....c....c..............................................c.......c..c.c.c............c...c..c...c...c......c.........#..##bbb#..#..##bbb#..#.##bbb#...#..#abbb#..#.##bbb##.##.##bbb#.......",
"...............................c........c..c.c..........c........c.c...........c.....c..................c.c.......c...c..#.###bbb.c.......#.##abb#c...........c..#..##bb#...c..c.....c..c.c.##.#abbb#.c.....c..c..............c..c..c....................c....c.c..c...c.......c.......c..c.....c...c....c.................c..c.....c..........c......c........c.#..##bbba...#..#abba.c##.##ab#.c..#.##abba#.##.##bba#..#.##abb#....c...",
"...c..c..c..c...c...c.c..c..c....c..c..........c.c..c.....c...c..........c.c.......c...c.c..c..c..c..c.........c.........#..#bbbb...c.....#..#bbb#..c..c..c......##.##bbb#.......c.........#..#abbb#.....c.......c..c..c..c........c..c..c..c.....c........c.........c...c...............c............c....c.c.c......................c...c.........c.....c..c...#..##bbb#cc.#..##bb#...#..#bb#....#..#bba#..#..#bbb#..#..##bbb#........",
"......................................................c.c...........c.c........c........................c....c......c....#..##bbb.c.......#.##abb#c..........c.c..#..##abb#..c.c.....c....#####abb#.......c..c...............c..................c....c...........c..........c....c..c..c....c..c..c.c...................c.c..c...c.c.........c..c................#..##bba.....#.##bb.c..#..##ba#c.##.##bb#.c##.##ab#...##.#bbb#..c..c...",
"...c..c...c.....c..c....c.......c..c..c.......c..c.........c......c..............c...c.c.....c..c..c.c....c....c.........#..#bbbb.....c...#..#bbb#...c..c..c.......#..##bbba#....c.c.....#..##bbba......c........c..c..c..........c.....c....c.....c.......c.c.c.....c..........c.......................c....c..c...c..........c........c..c......c.....c..c.....#...#bbb#...##.##ba#...##.##bb#...#..#bb#...#..#bba..#...#bbb#.c.......",
"..............c....................###..c.c.c........#a##....c..c...###a#..c..c......##................c....c.....c...c..#..##bbb.........#.##bbb#.c...........c....#..###bbbb###.....#######bbbb#....c........c............c...c...............c.......c.........c........c..c...c..c..c.....c..c.........c..........c.c....c.....c............c.....c..........#..###abb#...#..##ba#.c.#.###bb.c.#..#aba#c##.##aba.c##.##bb#..........",
"...c.....c..c....##..c....c.c.c..####ba#...........####bb..........####bb#...c......##a##.c.c......##a#.......c..........#..#abbb#.......#...#bbb#...c.c..c..c......##...##aabbba#a####.###bbbbb#c.c...............c....c.........c.c..c..c.c......c..c...c.........c..c..................c..........c..c........c.c......c.....c....c.c..c..c.....c....c.....c...#...##bbb#c.##.##bb#...##.##bb#..##.##bb#..#..##bb#..##.#bb#.c........",
".......c.......##aaa...c.........#.##bbba#c..c....##.#abba#.c..c...#.##bbb#.c......#.#aba#.......####aba..c.c....c..c....#..#abbb.c..c...#..##bbb#.c..................##..####a#bb#a#####abbbba#......c....c.c.c...........c...c.................c..........c...c.........c..c.....c..c......c..c..c......c..........................................c.....c.......#..###bba.c.##.##bb#...#.##abb...#..#aba..##.##aba..##.#abb#.....c...",
"...c.....c....#.##bba....c...c..#..#abbbb##......#..##bbbbb.......#..#abbbb#...c..#..#abba#.c.c.#..##bbba................#..#abba........#...#bbb#.......c.............##...######aa#aaabbbbba.....c....c.........c..c..c....c.......c......c.........c..............c..c..................c.........c......c..c.....c....c.....c....c..c..c..c..............c.....##..##aab##..#.##bb#...#..##bb#..##.##bb#c.#..##bb#.##.##bb#.c.......",
"......c......##.##bbba.........#..##aabbbba..c..#..###aabbbb#.c..#..###abbbb#....##.###bbba....##..#aabbb#...c....c...c..#.###bba...c..c.#..##abb#..c.........c.c.c......##..#.####abbbbbbb##...c...............c..................c...........c..........##.......c..c......c..c.c......c.......c..........................c.c...................c.c.....c..........#..##bbb#c..#.#abb....#.##bb#...#.##ab#...##.#aba..#.##aba.....c...",
"...c....c...#..##abbbba#..c...#.###aa#aabbba...#..##aba#aabba#..##..#abbabbbb#..#...#aaabbb#...#..##aabbbb#..............#..#bbb#.........#..#bbb#....c..c..c.........c...####.#.##bbbbbba##......c.....c.c...c.......c..c....c........c..c......c....c.ce###a#.#..#....c..............c......c.......c.....c.c.c..c..c..........c.c..c..c..c..c......c..c.....c......#..##bb#...#.#aba..c.#..#bbb..c.#.#bbb#c.#..##bb#.##.##bb#.c......",
"...........##..#aaabbbbb#....##.##abaa###bbba.##.##aaba###abba#.#..##aaa##abbb###.##a#aaabbb###..##a#aabbba#.c...c..c..c..###ab#.......c..#.##abb#.c.............c..c.........#####b#a####.....c....c.c..........c..........c...c.c..........c.....c....fghheee#########.....c.c...c.c..............c...c.c..............c.c...c....................c.............c...##.#abbb...###aba#c..#.##abb#..#####bb#...#.##bba..#.##bb#........",
"...c....c.#..##aaaaa#bbbb#..#..##abb#####abbb###.#abbb##.##abb#a#.##bbb#####bbb#####aa##aabba#####aaa##aabba...c...........#####..c........###ba#c...c..c........................###........c....c..........c......c.c.c............c..c.c..............chgggggghhefe####a..#..#.......c.c..c....................c.c.c..c....c......c...c....c.c.c........c.c........c.#.##bba.##.##bba....#..#bbb#..#..#bbb#c..#..#abb#.#..#abb#.......",
"......c....#.#aaba####abbb###.##abbbb#..###abba###abbba#..###baa###abbbb#.##aa#b###bbb####abaa###abb####abbb#.....c............c.....c......####...c...........c.c..c....c.....................c.......c.................c...c....c...............c.c...cfggggggggggghhhee####a#.##...........c.c.c.c.......c.....................c...............................c...##.#bbb#..#.#abb#...##.##bba#.##.##abb#...#.##bbb#.##.#abb#.c.c...",
"...c....##..#aabba#####bbba####bbbba.##...#a#b#aabbbb#.##..###b##aabbba##...##baabbbba##.##aa##aabba##..##bbb............c.......c............c......c...c..c.........c....c............c..c.......c.....c.c.c....c........c.............c..c..c..........ggggggggggggggggghheee#########................c....c.c......c...c..c.....c...c..c.........c..c....c..c....#..#abbb#.#.##abb#.c.#..#bbba##..##bbbb#.##.##abba..#.##abbb.......",
"........#..##abbba##..##aab#a#abbba#..##...#a#babbbba...#...###aaabbbb#.##..####abbbb###..###ababbbb##..##bbb#...c..c.c...c.c..........c.c..c....c......................c.....c..c..c........c.........c........c...c..c.........c.....c.........c..c.c.ccegggggggggggggggggggggghhee####.##..#....c...c...c....................c.c...c............c.....c...........#.##abb#.##.#abb#...##.#abbb#.##.##bbb#...#.##abb#..#.##bbb#.c.....",
"...c....#.##bbbba.##...##aaaabbbbb#....#....#aabbbbb.....##..###bbbbbb#..##...#bbbbb##.#...##babbbb###...#abbb#c........c.....c...c....................c..c..c....c....................c...................................c..c....c........c.c...c......ccggggggggggggggggggggggggggggheee#######.##........c...c..c.c..c..............c.c.c........c.....c..c..c.##.##bbbb#.#.##abb#...#.##bbb#.#..#abbbb#.##.##bbba####.#bbbb#.......",
".......#..#abbba....##..##abbbbbb#......##..##abbbb#......#...##abbbb#.....#..##bbba#...#...##abbb#..##..##abb#c...c..c...............c.....c.....c..c..........c...c...c...c..c..c..............c.c..c........c..c.....c........c.....c........c...c.c.c.chgggggggggggggggggggggggggggggggggheea####.##.#......c..............c.....c.........c..c................#..##bbb#.##.#abb#.c.#..##bba.##.##abbb#.##.##abba###.##aabb#....c...",
"...c...#.##bbbb#....#....#aabbbba..c.....#...#bbbb#........#...#abbbac.c...##.#abba.....##..##bbbb#...##..#abb...c...........c..c..c.....................c..c..............c...........c.c.c...c....c...c..c..c...........c..........c.....c.c...c.c.c.c...cgggggggggggggggggggggggggggggggggggggghehe###a####..#......c..c......c.....c.....c......c......c.c....#..#abbba..#..#bbb#..##.##bbb#.#..#abbb#..#..#abbb#.#.###bbba.........",
".......#.##bbb#...c..##..##bbbbb.c........####abb#....c.....####abba........####aa.......##.##bbb#......####bb.c.........c.c.............c.....c.....#####...c.c..c...c..........c.c.c.......c.........c.........c..c.c.c.......c.........c........c.c...c.cgggggggggggggggggggggggggggggggggggggggggggggeee######.#.........c.c...........c.....c.....c.c........#.##abba...#.##ab#..c#..#abb#..##.##bb#..##.##bbb####.##bbba.c..c.c...",
"...c...###aba#..c......#.##bbbb......c.....###aa#..c....c....###ba#...c....c..###..........###bb#...c....##ba#......c........c.....c..............#####abba#...............####a##................######..c..c..............c.....c...c.....c.c.c.c...ccc.c.cgggggggggggggggggggggggggggggggggggggggggggggggghheee###.c..c........c.....c....c.....c...........c.#..##bbb#..##..abba.c.#..##bb#..#..#aba#c.#..#bbb####.##bbba#..........",
"........####...........####aba...........c...#........c..................c......c.c..c.c....####..........##....c......c...............c...c..c..##.###aabbbb#......c....#####abbba#.c....c.....#####bbbb#.........c............c...c.....c..c..c.c.ccc.cc.c.gggggggggggggggggggggggggggggggggggggggggggggggggggggh##......c.c........c...c....c.c.....c..c......#..##bb#....#..#aba...##.##bb#c.##.##ab#.##.##bba#.#..##bbb#...........",
".............c..c.c......#aa#.c.c..c..c....c.....c..c..............c.c.......c......c............c.................c..........c..c...c..........#..###a###abbb#........##.###aa#bbbb#.........##..###aabbba#..c.........c...c.c...............c..c.c..cccccccfggggggggggggggggggggggggggggggggggggggggggggggggggggge##.c..........c.c.......................c....#..##bba#.c.#..#aba#c..#..#aba#..#..#bb#.#...#bb#..#..#abb#....c.......",
"......c.............c.....#....................c........c..c.....c.......c........c.......c....c........c..c..c..c....c.c.c.............c...c..##.#aabaa####bbb#.c..c#.#.##a#a####abb#..c.....#.###aaa###bbb#....c..c.c...c........c....c.c.....c.c.cc.cc.ccccggggggggggggggggggggggggggggggggggggggggggggggggggggge##.....c....c.........c........c.c.........c.#...#abb#...##.##aba....#.##bb#..##.##bb#.#.##aba..##.##bb#c.c.....c...",
"...c...........c...........c..c...c..c...........c.................c........c........c...........c..c........................c......c.....c...#..##bbba##.###bb#...c.#..##abba#####bbb#...c.##..#abb#####abba#.c............c..c.....c......c.c..cccc.cccccccceggggggggggggggggggggggggggggggggggggggggggggggggggggg##.c.....c......c.......c.c.c......c.c........#..##abb#...#..#abb#c.##..##bb#..#.##ab####.#aaa#.##.##bba.....c......",
".....c..c..c......c...c.....c..........c.c.....c........c....c...................c.....c..c...........c..c.....c..c........c......c...c.......#.##bbbb###..##abb#c...#.##abbbb##.###bbb.....#.##abbbba#.###bb#......c...c.................c...c.cc..cccccccccccggggggggggggggggggggggggggggggggggggggggggggggggggggh##.....c......c....c.c.........##.#......c....##..##aba.c.##.##aba...##.##abb..##.##bb####.#bb#.##..##bb##.c........",
".............c..........c.c.....c..c................c..........c....c.c.c...c...............c....c..................c.c.........c.........c...#.##bbb..#.#..##bb#...#..#abbb####..##bbb#...#..##bbba###..#aabb...c....c..........c...c.....c.c.c.c.cccccccccccchgggggggggggggggggggggggggggggggggggggggggggggggghhggec.......c.c....c...........fhe########.#......##..#abba...#.###bb#.c.#..##bb#..#..#bba###.##bb..##.##bb##....c.....",
".......c.c.c.....c..c...................c...c..c...........c.c....c...........c.c..c..c..c.....c....c.....c..c....c...........c.....c...c....#..#bbb#.c...#..abb#....#.#bbb#....#..##bb#c..#..#abba#...#..##ba#c...........c...c...c...c.c....c..cccccccccccccccggggggggggggggggggggggggggggggggggggggggggggggggghggh.....c..............c.....fhgggghhee#######.....#.##abb#c.##.##ab#....#.##abb#.##.##bb#.####bb#.##..##bb#......c...",
"...c..........c............c..c...........c......c.c.c.c.................c.................c.........................c..c...c...c............#..#bba......#.##bb#...#.##bba......#.##bb#...#.##bbb#c....#.#abb#..c.....c.....c............c.c...c.c.ccccccccccccgggggggggggggggggggggggggggggggggggggggggggggggghhhggc..c...c........c.....c..#egggggggggggheee####.#...##aba...##.#abb#...#..#abb#..#.##bba.##.##bb#.##.##bb##c........",
".....c......c....c....c............c..c.......c...............c...c........c.c..c...c..c.....c.c...c..c.c..c..c..c........c.......c..c..c....#.##ab#......#.##bb#...#.##bb#...c..##.#bb#...#.##bb#......#.##bb#......c.....c......c..c.........cc.cccccccccccccccggggggggggggggggggggggggggggggggggggggggggggggghhhgge..........c..c....c.....eggggggggggggggggggheef###.##ab##..#.##ab#....#.#abb#..#.##bba..#.##bb#..##.#abb#.c.......",
"..........c.............c.......c.........c..............c..c........c.........c......................................c........c..........c..#.##bb#.c.....#.#bb#...#.##bb#........##bb##c.#.##bb#......#..#bba.c..c..........c.c.........c..c.c.cc.cccccccccccccgggggggggggggggggggggggggggggggggggggggggggggggghhggg....c...........c...c..#gggggggggggggggggggggggghhfeeaaaa##..##bb#.c##.##abb#..#.#abba..#.##bbb#.#..#abb#...c.....",
"......c.c....c.....c..c.............c..c....c.c.....c..............c..............c......c.......c..c.c.....c..c.c..c.....c............c.....#.##bb#...c..#.##bb#...#.#abb.c...c.##.#bb#...#.#abb.c.....#.##bb#..c......c..........c..c.c..c....c.cccccccccccccccfggggggggggggggggggggggggggggggggggggggggggggggghhggg##........c.c.c...c....hggggggggggggggggggggggggggggghgeeef##.##ba..#..##aba#.##.#abb#.##.##bbb#.####abbb.....c...",
"...............c........c.c..c.c..c......c......c.c....c..c....c.....c.c.c..####....c.........c.............................c.c............c.#..#bb#.......#.#bba...#.#aba...c.....##bba.c.#.##bb....c...#.#bb#....c......c....................c.cc.ccccccccccccccggggggggggggggggggggggggggggggggggggggggggggggghhhgge##.c.c.........c..c..egggggggggggggggggggggggggggggggggggghheeea####...#bb#.##..#bbb###..##bbba##..#abba.........",
"....c.....c........c.................................c...................####aaa#c.....c..c.c.....c.....c..c.....c..c..c..c.........c..c.....#.##bb#....c.#.##bb#...#.##bb.......##.#ab#...#.#abb.c......#.#aba.c......c.....c...c..c.c...c.c.c.c.cccccccccccccccchggggggggggggggggggggggggggggggggggggggggggggggghhggh##.....c.c.c.c...c..eggggggggggggggggggggggggggggggggggggggggggghheef####b###..#aab#.##.##abba###.#abbb#..c..c...",
"..c.....c.....c.........c...c......c.c...c.....c........c...c..c.c.....###aadda#a...............c.....c.........................c............#.##bb#..c...#.##bb#...#.#bba........#.#bba...#.##bb...c....#.#ab#..........c.....................c.c.ccccccccccccccccggggggggggggggggggggggggggggggggggggggggggggggghhggg##.............c.c.#ggggggggggggggggggggggggggggggggggggggggggggggggghhhee#f#...#aa###..#abbb###.##bbbb#.........",
".....c......c...c...c.c.......c............c.c......................####aaddddd##....c..c..c.......c.....c..c.c.....c.....c........c....c.c..#.##bb#c.....#.##bb#...#.##bb..c....#.##bb#...#.#abb........#.#bba.c...c..c.....c..c..c.......c......ccccccccccccccccchgggggggggggggggggggggggggggggggggggggggggggggghhhgge##.......c.c.c....hggggggggggggggggggggggggggggggggggggggggggggggggggggggghheee#####.###bbba##.##abbb#...c..c...",
".......c..................c.....c.c....c...........c....c..c......####bddddbbbb#.#...........c.......c......................c.c.............c#.##bb#........##bb#...#.#bba.....c..#.#bb#.c.#.##bb........#.#bb#..........c...........c..c......c.c.cccccccccccccccccggggggggggggggggggggggggggggggggggggggggggggggghhggh##..c.c.....c.c..egggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhe..##bbb###.##bbbb##..........",
".....c............c..c.........................c.c...c.........####abddddbdidbdd##...c....c....c...c....c......c.c.c..c.c........c..c.c..c...#.##bb#....c.#..#bb#...#.##bb...c...#.##ab#...#.#abb..c.....#.#aba.....c..c....c.c..c...........c..c.c.ccccccccccccccccgggggggggggggggggggggggggggggggggggggggggggggggjhggg#.c....c.c.c.c..fggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggge.##abbb###.##abb#...c..c.....",
".........c..c.c........c..c....c.....c......c......c.........####bddddddbiiidddd#.....................c......c..............c..............c.#.##bb#......#.##bb#...#.#bba........#.#bba.c##.##bb.....c.#..#bb#..........c...........c.c.c.c...c...ccccccccccccccccccgggggggggggggggggggggggggggggggggggggggggggggghhhggf.........c.c...hggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggh...#bbb###.##bbbb.............",
"...c..............c..c.......c...c.......c....c........c....###bddddddbiiddbdddda##....c.c.....c.........c.c........c.c...c....c...c..c..c...#.##bb#.c.....#.#bb#...####bb.c...c.#.##bb#...#.#abb.c......###aba.c.c..c.......c..c..c..........c....c.ccccccccccccccccgggggggggggggggggggggggggggggggggggggggggggggggjhggh##.c...c...cc.hgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggge#..##bb#.##.##bba#......c..c...",
".....c...c..c..............c.......c.c.....c.......c.....#.#addddddbdiibdbddddddd##........c.....c................c..............c.........c.#.##bb#...c..#..#bb#..#..#bba.......#.##bb#...#.##bb........#.#bb#..........c................c.....c.c.ccccccccccccccccccgggggggggggggggggggggggggggggggggggggggggggggghhggh.#...c...c.c.fgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghc.#..#aba.##.##bb#..............",
"..c....c.......c.....c..................c.......c.....#.##addddddbiibbbdddddddddda....c..c...........c........c.c.......c..c...c.....c.......#.##bb#.c....#.##bb#..#.###bb#.......#.#bb#...#.#abb........#.#aba.c.....c..........c..c...c.....c..c..ccccccccccccccccccgggggggggggggggggggggggggggggggggggggggggggggghhhggf..c..c.c.c.cggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggh##.##.##bb###.##bb#.c.c..c...c...",
"....c....c.............c.c..c.c...c..........c.....##.#addddddbdibbddddddddddddddd##.........c...c.....c..c........c..............c..........#.##bb#.......#.#bb#..#..#bba....c...#.#bb##c.#.##bb...c....#.#bb#.........c..................c.......c.c.ccccccccccccccceggggggggggggggggggggggggggggggggggggggggggggghhhggh.#...c.ccc.hgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggh#a#..##.#aba###.##bb#.............",
".................c.c............c.......c........###aaddddddbidibddddddddddddddddda##c.............c.c.......c........c..c..c..........c..c....#abb#....c.##.#ab#...###bba..c.....#.#bb#...#.#abb.c......#.#aba..c..c.c...c.c.c...c...c..c...c......c.cccccccccccccccccggggggggggggggggggggggggggggggggggggggggggggggkhggh##.c...c..egggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggh.#ab#.##.##abb##.##abb.c....c......",
"...c......c.c............c..........c.c...c.c.####addddddbdidbbddddddddddddddddddda##.....c...c................c.................c...........#..#bb#.c.....#.#bb#..#..#bb#.......#.##bb##c.#.##ba....c...#.#bb#................................c.c.c.c.cccccccccccccccchggggggggggggggggggggggggggggggggggggggggggggghhhgge#...ccc.fgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggh..##b#..##.##bb###.##bb#............",
".....c..c.......c....c.........c............###abddddddbdibbbdddddddddddddddddddddd#a#c.c...c....c.........c.c......c...c....c.c......c......#.##bb#c...c..#.#ab#..#.##ab#.c......#.#bb#...#.#abb.......#.##aba.c..c...c..c.....c..c...c.c...c......c.ccccccccccccccccccggggggggggggggggggggggggggggggggggggggggggggghhhgge#...c.c.gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggh##..#bb#..#.###bb###.##bb#.c..c..c...",
"...........c.......c...c....c....c..c....####addddddbdiibbddddddddddddddddddddddddda##................c..c......c.c...c..........c.c.......c.#.##bb#.......#.#ab#..#..#bb#...c....#.##ba...#.##bb...c....#.#ab#......c......c..............c...c..c..c.cccccccccccccccccgggggggggggggggggggggggggggggggggggggggggggggghhggh##..c..hggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggh#..#.##ba#.#..#abb####.#aba...........",
"...c..c..c...c.c.c........c............####bddddddbbibbddddddddddddddddddddddddddddd##....c..c....c.c...............c......c........c..c.c...####bb.........##ab#..####ab#.c.....##.#bb#...#.#aba#c......#.#aba...............c.....c...c.......c...c..ccccccccccccccccccgggggggggggggggggggggggggggggggggggggggggggggkhggg##c.ccfggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggh##c.#.##bb#..#.##bba.##.##bb#.c....c...",
"......................c......c..c...####addddddbdbibdddddddddddddddddddddddddddddddd#a#.c......c......c.c..c....c......c........c.............##bb#........###ab#....##bb#.....c..#.#aba.c.####ba........#.##b#.......c....c.................c.........ccccccccccccccccccggggggggggggggggggggggggggggggggggggggggggggghhgggf.cccfggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg#a#c..#.#bb##.#.##bb##.#..#abb..........",
".....c.c.c.......c.........c......###aadddddddbibbddddddddddddddddddddddddddddddddddd##......c................c.............c..............c....#......c..c.####.....####........c####b#....##b##.....c..###bb#..c..c....c.....c..c..c.............c..c..ccccccccccccccccegggggggggggggggggggggggggggggggggggggggggggghhhggf...chggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghf#a#cc#.##bb#.##.#abba...#.##bb#..c..c...",
"...........c...c...c.c..c.......###abdddddbdibbdddddddddddddddddddddddddddddddddddddd###.c......c.c......c..c.....c...c..c..........c....c........c.c.......c.....c...#.#....c.....####......##.....c.....####........c................c..c...c......c.c.cccccccccccccccccggggggggggggggggggggggggggggggggggggggggggggghhgge#..fggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggffa#..#..#abb###..#abb#...####bbb.........",
"....c...c.................c...c.#addddddbbibbdddddddddddddddddddddddddddddddddddddddda##...c.........c.....................c..c.c.c....c........c.....c...c..........c..c..c.....c.....c.....c..c.........c.......c......c......c.c..c......c...c.c.....c.ccccccccccccccccegggggggggggggggggggggggggggggggggggggggggggghhggh#..ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggf.#a#....##aba.##.##bbb##..#.#abb#.c...c...",
"......c........c.......c....c.#bdddddbdibdbddddddddddddddddddddddddddddddddddddddddddd##........c......c..c..c..c..c.c..c...........c.....c.......c.............c....................c............c.........c..........c...c.c.........c...........c..c.c.cccccccccccccccccgggggggggggggggggggggggggggggggggggggggggggghhgghccegggggggggggggggggggggggggggggggggggggggggggggggggggggggghggggfcf#a#c.#.##bb#.#..#bbb#.#.#..#abb#.........",
"..c.c........c.....c.....c...#dddddddibbdddddddddddddddddddddddddddddddddddddddddddddd#a#...c.c.........c......................c...........c..c...............c........c..c..c..c..c.....c....c...........c......c...c..........c....c....c.c....c..c...c.ccccccccccccccccchgggggggggggggggggggggggggggggggggggggggggghhhgggccggggggggggggggggggggggggggggggggggggggggggggggggggggggghgggggfcfea#c....#bba.##.##abb#...#.##abb.c........",
".......c.c.....c.....c.....c.#dddddiibddddddddddddddddddddddddddddddddddddddddddddddddd##........c.c............c..c..c..c.c.....c..c....c.............c.c.........c...................c..........c..c..c...c.c....c.....c.............c.......c.......c.c.cccccccccccccccccggggggggggggggggggggggggggggggggggggggggggghhhgh.eggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggfcc#a#.c...##bb#c##.#abba#.c##.#abb#...c.c.c..",
"...........c.c.....c...c.c....adddbdbdddddddddddddddddddddddddddddddddddddddddddddddddd###.c...c......c.....c.c...............c.......c.....c..c...c.c.....c..c............c....c....c....c.c...c...............c.............c..c..c....c..c......c.c.....cccccccccccccccccggggggggggggggggggggggggggggggggggggggggggghkhggegggggggggggggggggggggggggggggggggggggggggggggggggggggghgggggfccfea#cc#..#aba..#..#abb#...#..#abb#..........",
"...c............c.......c...c.#ddddbbdddddddddddddddddddddddddddddddddddddddddddddddddda##...c...c........c......c..c..c..c.....c.c.....c........c......c.......c.c..c.............c................c.c..c..c..........c..c...................c..c......c.c.cccccccccccccccccggggggggggggggggggggggggggggggggggggggggggghkhhggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggfccf#a##c....#bb#..#.##bba#.c.#.##bb##..c.......",
"........c.c.......c.c.c...c.c..ddddbbddddddddddddddddddddddddddddddddddddddddddddddddddd#a.c.......c....c......c..............c......c.........c......c..................c..c....c....c......c..c...............c....c......c..c..c.c....c............c.....cccccccccccccccccgggggggghghggggggggggggggggggggggggggggggghhhkhhggggggggggggggggggggggggggggggggggggggggggggggggggggggggggecccf###ccc#.##ba.c.#.##bb#....#.#abb#.c.....c...",
"...c........c...c....c.c.cc.ccc#dddddddddddddddddddddddddddddddddddddddddddddddddddddddd###...c......c.....c.....c...c..c..........c...c.c.c......c.......c....c......c..................c........c...c....c.c....c....c..c...................c..c..c...c.c.ccccccccccccccccccgggggggggggghgggggggggggggggggggggggggggggghhhhggggggggggggggggggggggggggggggggggggggggggggggggggghgggggecccff##.ccc.##aa#...###ab#..c..#.#bb#......c.....",
"......c............c..c.c..cc.c.ddddbbddddddddddddddddddddddddddddddddddddddddddddddddddd##......c......c....c...............c.........##....c..c.....c......c...c......c..c..c..............c......c................c........c..c....c..c..c.........c.....c.ccccccccccccccccggggggggghggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghgggggeccccf##cccc...###.c...##b##c....###aa#............",
"...c.......c..c..c...c.c.cc.ccc.addddbddddddddddddddddddddddddddddddddddddddddddddddddddd#a....c.....c....c.......c..c..c..c...c..c...#.aaaa####.........c.........c.c..................c...............c........c......c......................c..c.....c.c..cccccccccccccccccegggggggghghgghghgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggecccccfffc.c.c...........##.......#####c.c..c....c..",
".......c...........c.c.c.cccc.cc.ddddbddddddddddddddddddddddddddddddddddddddddddddddddddda##.c..................c.....................#llbbaaa###a####.....c.c............c..c..c..c..c.........c..c.........c.c..............c....c.c.c.c...c.........c....c..ccccccccccccccccggggggghggghgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghggggghccccccccccc.c..c.c..c............c..#........c......",
"...c..........c.c.c.c..cc.cccccc.adddbbddddddddddddddddddddddddddddddddddddddddddddddddddd##....c.c..c....c.c........c..c..c..c..c....#kmmjklllb######a######.....c.....................c..c.........c...c.......c.c....c..c.....c.........c...c..c...c....c.c.ccccccccccccccccgggggggggggggghgghgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggecccccccccccc...c.......c.....c.c....c.....c.....c....",
"........c...c........cc.ccccccccc#dddddddddddddddddddddddddddddddddddddddddddddddddddddddd##.......c....c.....c.c..................c...lmmmmjjmkkkklbla#a#a########......c...c.c..c.c.c.........c..c...c..............c........c.............................c.cccccccccccccccccggggggggggghhgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghgggggecccccccccc.c.cc....c..c...c.c......c....c....c........",
"...c..c.......c.c.c.c..cccccccccc.ddddabddddddddddddddddddddddddddddddddddddddddddddddddddd##.........c...........c.c..c.....c.c.....c..mjjmjmmkkkkmmkkklklaaa####a######........c.......c..c.c...........c....c........c..c.....c.c.c.c.c..c...c...c...c..c.c.c.cccccccccccccccggggggggghghghgghgghgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghcccccccccccc..c.c.c........................c......c....",
"..........c.c...c..c..ccccccccccccaddddbddddddddddddddddddddddddddddddddddddddddddddddddddd##.c..c..c......c...c...................c....jmjmmmmkkkkkkkmmmkkmkklkll#aa#a#########.......c..c.........c.......c.....c.c.c......c........................c..c....c.cccccccccccccccccgggggggghghgghgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghggggghcccccccccccc.c.c..........c..c........c.........c.......",
"...c..c.......c...c.ccc.cccccccccccddddbddddddddddddddddddddddddddddddddddddddddddddddddddda.#........c.c........c...c..c.c.c...c.c......mjmjmmmkkkkkkkkkkkkkmmmmmmjjlllaaa#####a####.......c.c..........c....c...........c..............c......c.c..........c.c.ccccccccccccccccgggggggghghghghggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghgggghcccccccccccc.c.c..c.c...........c..c.....c.c.......c.....",
".........c..c....c..c.cccccccccccccbdddbbddddddddddddddddddddddddddddddddddddddddddddddddddd##..c..c.........c.c...c...........c...c..c..jmjmjmkkkjjkkkkkkkkkkkmkmmmmmmmkjkkllla#a##a#a####.#...c.c..c.c.........c....c.........c...c.........c........c.c.c..c..ccccccccccccccccfgggggghghghghghgghgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghgggghcccccccccccccc.c..c.....c..c...c........c.........c.......",
"...c..........c.c.c.ccccccccccccccc.ddddbddddddddddddddddddddddddddddddddddddddddddddddddddd#............c...............c...c...c..c.c..lmjmmjkkjjjjjkkkkkkkkkkkkkmmmmkkmmmmmmkkklll#a#a#a##a####.......c...c..........c...c.........c....c....c..c...........cc.ccccccccccccccccgggggggghghghghggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghggggghcccccccccccc.....c...c..c.........c..c.c......c..c....c....",
".......c.c..........c.ccccccccccccccddddbbddddddddddddddddddddddddddddddddddddddddddddddddddd##...c....c..........c........c..c.c..c....c.jmjjmkkjjjjjjjjjkjkkkkkkkkkkkkkkkmmmmmmmmmkkjklllaa###a##........c.......c.c..........c..c.....c...c........c....c..c..c.cccccccccccccccegggggghghghgghghgghggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghggggggccccccccccccccc.c...c............c.........c................",
"...c..........c.c.c.c.cccccccccccccc#ddddbddddddddddddddddddddddddddddddddddddddddddddddddddd#a#....c.....c..c......c..c.c...c...c..c.c.c.jjmjmjjjjmjjjjjjjjjkjkkkkkkkkkkkkmkmmmmmmmmmmmmjkjkklllaa#c...c......c.......c..c..c.......c.........c..c.............c.cccccccccccccccccgggggggghghghgghggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghggggggccccccccccccc.c....c...c....c...c....c........c.........c....",
".....c..c..c...c..c.c.cccccccccccccc.ddddbddddddddddddddddddddddddddddddddddddddddddddddddddda##..c.....c......c..c........c...cc..ccc.ccc.jmjmjjjjjjjmjjjjjjjjjkkkkkkkkkkkkmkkmmmmmmmmmmmmmmjjmml##..............c..c.........c.c.c.....c...c..........c....c....c.cccccccccccccccgggggggghghghghgghggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghggggh.cccccccccccc...c.c..c.....................c........c.c.......",
".............c....c.cccccccccccccccccadddbbddddddddddddddddddddddddddddddddddddddddddddddddddd###....c....c.........c.c..c..c.c.ccc.c.c.c..jmjmjjmjjjjjjmjjjjjjjjjjkkkkkkkkkkkkkmkmmmmmmmmmmkkjmmj#a...c.....c...........c..c.......c......c....c..c..c...c.c..cc.c.ccccccccccccccccgggggggghghghghggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghggggghccccccccccccc...c.......c..c..c..................c.......c.....",
"........c..c....c..c..ccccccccccccccc#ddddbddddddddddddddddddddddddddddddddddddddddddddddddddda##..c...c....c..c..c........c...c..cc.c.cccclmjjmjjjjjmjjjjmjjjjjjjjjjjkkkkkkkkkkkkkkkkmmmmmmkmjjmja#.c...c.c.....c..c.................c.c........................c.c.cccccccccccccccggggggghghghghgghghggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghgggggccccccccccccc.c.c..c.c...............c...c..c........c......c...",
"...c..c..........c..cc.cccccccccccccccadddbbddddddddddddddddddddddddddddddddddddddddddddddddddd##........c.............c.c...c.c.cccccc.ccccjmjmjjjjjjjjjjjjjjjjjkjjjjjkjjjjkkkkkkkkkkkkmkkkkkjmjml##.........c.......c...c.......##a###......c.c.c..c...c..........cccccccccccccccccggggggghghgghghggghggggggggggggggggggggggggggggggggggggggggggggggggggggggggghgggggfcccccccccccc.c.c.......c..c.....c..c..........c..........c......",
"...........c...c...c..ccccccccccccccccaddddbddddddddddddddddddddddddddddddddddddddddddddddddddda##....c.........c..........c.c.c..c.c.ccccccjjmjjmjjjjjmjjjjjmjjjjjjjkjjjkjkjjjkjkkkkkkkjkkkmjjjmmla#.......c....c..c...c....c..#aaaaa##a######...............c........ccccccccccccccgggggggghghhghgghgggggggggggggggggggggggggggggggggggggggggggggggggggggggggghgggggccccccccccccc.c.c...............c......c.................c....c...",
"...c..c......c...c...c.ccccccccccccccccddddbbdddddddddddddddddddddddddddddddddddddddddddddddddda##..c......c........c.c..c..c.cccccccccccccc.jmjmjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjkkjkkkkjkkkkkjmjmj###c...c.....................#mmjklla#a####a#####......c.c.........f#fcccccccccccccggggggghghghgghggghggggggggggggggggggggggggggggggggggggggggggggggggggggghhgggggcccccccccccccc.....c..c...c........c......c.......c.c.c............",
"..........c....c....c.cccccccccccccccccadddbdddddddddddddddddddddddddddddddddddddddddddddddddddd#a.......c....c..c..........c..c..ccccc.cccccjmjmjjjjjjjjjjjjjjjjjkjjkjjjjkkjjkkjkjjkkjkkkkkjjjjjmjaa............c.....c...c...#jmmmmjmjkkkllaa#a#a##a#####....c..c....c#e#efeffccccccggggggghghghghghggggggggggggggggggggggggggggggggggggggggggggggggggggggghggggggccccccccccccc.c.c..c.....c......c.c...c......c.c.c....#...c...c.c...",
"...c..c..........c...c.cccccccccccccccc.ddddbbdddddddddddddddddddddddddddddddddddddddddddddddddd###........c.......c...c...c.cc.ccccccccccccc.jjmjmjjjjjjjjjjjjjjjjjkjjjjjjjkjkjkkjkjjkjkkjkkjjmjmjl##..c..c.c...........c.....amjjjjmmnmmmmmjjklllla#a####a####....c.c.cccff#eeeecccchggggggghghghgghgghgggggggggggggggggggggggggggggggggggggggggggggggggggghgggggfcccccccccccc.c.c.c...c.....c..c.....c...c...........##b##....###....",
".........c..c..c..c.c..cccccccccccccccccddddbdddddddddddddddddddddddddddddddddddddddddddddddddddd##..c..c.......c.....c....c...cccccccccccccccjmjmjjjjjjjjjjjjjjmjjjjkjjkjkjjkjjkjjkkkkkjkjkkjjjmjml##..........c.c..c.c......#mjmmjmmnmnnmnmmmmmmmmkjmlkla#a#a#######f.ccccccccffefcccggggggghhghghhgghggggggggggggggggggggggggggggggggggggggggggggggggggghhgggggccccccccccccc.c......c...c....#.##.####.....c.c......###bb.c.###aa....",
"...c....c.....c......cc.cccccccccccccccc#ddddbbdddddddddddddddddddddddddddddddddddddddddddddddddd#a#......c..c....c......c..c.c..cccccccccccccljjjmjjjjjjjjjjmjjjjjjjjjkjjkjkjkkjkkkjjkjkkkkkkjjjmjj#a...c...c......c.....c..#lmmjjjmmnnmnmnmnmnmnnmmjmmmmmmjklllba#######cfccccccccfcceggggggggghghghgghgggggggggggggggggggggggggggggggggggggggggggggggggghgggggfccccccccccccc.c...c....c...######.###bbaaa##.......##.##b######aba#c..",
"............c......c.c..cccccccccccccccc.ddddbddddddddddddddddddddddddddddddddddddddddddddddddddda##.c.c........c....c.....c.c.ccccccccccccccc.jmjmjjmjjjjjjjjjjjjmjjkkjjkkjjkjjkkjkjkkkkjkjkkjjjjmmb#.c...c...c..c.....c...#emjmjmjkmmmmmmnmmnmnmnmmjjjmjmmmmmmmmjkkllef#.fccccccccccccggghhhhggghghgghggggggggggggggggggggggggggggggggggggggggggggggggghhgggggfccccccccccccc..c.c........###.....#.###abbbbbb#b####.#.##bbb###abba....",
"...c..c..c.....c.c....cc.cccccccccccccccc#dddbbddddddddddddddddddddddddddddddddddddddddddddddddddd###....c...c.........c.c....cc.ccccccccccccccljjjjjjjjjjjjjjjjjjjjjjkjkjjkkjkjkjkkkjkkjkkkkkjjmjmjl##.............c....c..#kmmjjjjjkkmmmmkmmmmmmmnmmmmjjjjjjmjmjmmmmmmmjjlleefccccccccggghkkhhggghghgghghghgggggggggggggggggggggggggggggggggggggggggggghgggggecccccccccccc.c.c....c....##....#..#...###a#aaaabba###..##abba#aaabb#....",
".............c......c...ccccccccccccccccc#ddddbddddddddddddddddddddddddddddddddddddddddddddddddddda##.c........c.....c.....c.c...cccccccccccccc.mmjmmjjjjjmjjjjjjjjjjkjjkjkjjkkjkkkjkkjkkkkkkjmjjjjml##.....c....c......c...lmmjjjjmkkkkkkkkkmkmmmmmnmnmmmmmjmjjjjjjjjmjmmmmmmmjjleeeccccghghhlhhghggggghgggggggggggggggggggggggggggggggggggggggggggggghhgggggeccccccccccccc.c....c.....##......#....#.###################bbbbbbbb#.....",
"...c.c..c.......c..c..c.c.ccccccccccccccccadddbbddddddddddddddddddddddddddddddddddddddddddddddddddd##...c..c.....c..c...c..c.c.cccccccccccccccccjjjmjjmjjjjjjjjjkjjkjkjjkkkkkjjkkkjkkkkkkkkkkkjjjmjmja#.........c..c...c...#mjjmjmjjjkkkkkkkkkkkkkkkjkkmmmmmmmmmmmmmjjjjjjjmjmmmmjmjjjjhlhgggghhhgghgggggghgggggggggggggggggggggggggggggggggggggggggggghgggggecccccccccccc.c.c.c...c.c.#...#.##.....#....############babbbbbbbbbb#......",
"...........c..c.....c..c.cccccccccccccccccaddddbddddddddddddddddddddddddddddddddddddddddddddddddddda##........c...............c..ccccccccccccccc.mjjmjjjjjjjjjjjjkkjkjkjkjjkjkkjkjkkkkkkkkkkkkkjjjjmm###c..c..c.........c..jjmmjjjjkkkkkkkkkkkkkkkkkkkkkkmmmmmmmmmmmmmmmmmmjjjjjjjjmjmmmmmmhghhhhhghghggggggghggggggggggggggggggggggggggggggggggggggghhggggghcccccccccccc.c.c....c....#........#.#.#...#.......###a#bbbbbbbbbbb##.c.....",
"......c...........c.....c.cccccccccccccccccddddbbdddddddddddddddddddddddddddddddddddddddddddddddddda##...c......c..c....c.c.c..cc.cccccccccccccccjmjjjmjjjjjjjmjjjjjkjkkkjkkkkjkkkkkkkkkkkkkkkkkjmjmjla#........c.....c...lmmjjjjjmjkkkkkkkkkkkkkkkkkkkkkkjjkkkmkmmjmmmmmmmmmmmmjmjjjjjmjmjggghhhgghghggggghggggggggggggggggggggggggggggggggggggggggghgggggecccccccccccc.c...c......##..#.##.#........#......#.###abbbbbbbb####......c..",
"........c..c..c.....c...c.cccccccccccccccccadddbdddddddddddddddddddddddddddddddddddddddddddddddddddd#a.c....c.c................c.ccccccccccccccccjmjmjjjmjjjjjjjkjkjkkjjkjkjkkkkkkjkkkkkkkkkkkkjjjjjml##..c..c........cc.#jmjmjmjmkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkjjkjkkjjjjmmmmmmmmjjmjmjjggghhhghhghgghgghggggggggggggggggggggggggggggggggggggggggghhgggghccccccccccccc.c.c...c....#....#..#.#..#..#......#...##abbbb##.#..#......c....",
"...c.c..........c.....c..c.cccccccccccccccc.ddddbbdddddddddddddddddddddddddddddddddddddddddddddddddda##...c........c...c...c.c.c.cccccccccccccccccjmjmjjjjjjjjjjjkjkkjkkkkkkjkkjkkkkkkkkkkkkkkkkjmjmmj###c.......c..ccc..lmmjjjjjmjkkkkkkkkkkkkkkkkkkkkkkkkkkkjkjkkjkjjmjkjjjjjjmmmmjjmjjgggghhhgghghghgghghghggggggggggggggggggggggggggggggggggggghhggggecccccccccccc.c.c..c.....##...#..#...........#.#.#.####bbbbba#.........c.......",
".........c..c.c.....c...c.c.ccccccccccccccccddddbdddddddddddddddddddddddddddddddddddddddddddddddddddd##..............c..........c.ccccccccccccccccjmjjmjmjjmjjmjjjkjjkkjjkjkkkkkkkkkkkkkkkkkkkkmjjjjmm#a.....c.......c..lmmjjmjmkkkmkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjjjjjjjjjjmjjmjmjmggggghhggggghghghghgggggggggggggggggggggggggggggggggggggghhhgggghccccccccccccc.c..c......##..#.#.#..#.#.#.#.#.......###abbbb#.c.............c...",
"...c..c..........c....c.c.cccccccccccccccccc.ddddbddddddddddddddddddddddddddddddddddddddddddddddddddd##....c....c.c.......c.c...c.cccccccccccccccc.jmjmjjjjjjjjjjkjkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkjmjjml##...........cc.#jmjmjjjmjmkkkmkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkjjjjkkkjjjjkkjmjmjjggggghhhggggggghghgghghghggggggggggggggggggggggggggggggggghggggghccccccccccccc.c.c..c...###.###..#.#...#..........####abbbbba#....c...c..c.......",
"..........c....c.....c...c..cccccccccccccccc.ddddbbdddddddddddddddddddddddddddddddddddddddddddddddddda##.c....c......c.........c.c.ccccccccccccccccjmjjmjkkjjjjjkjkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkmjjjmmla#.c...c....ccc.lmjmjjjmkkkkkkkkmkkkkkkkkkkkkkkkkkkkkkkkjkkjkkjkkjjjjjkkjjmjmjjjgggghhhhghgggghghghghgggggggggggggggggggggggggggggggggggghhgggggccccccccccccc.c......######aa###.....#..#.#.#.#.#..###bbbbb#.....................",
"...c....c........c.........c.cccccccccccccccc#dddbdbdddddddddddddddddddddddddddddddddddddddddddddddddd##....c..........c.c..c.c.c.ccccccccccccfcccc.jmjjjmjkjkkjkkkjkkkjkkkkkkkkkkkkkkkkkkkkkkkkjmjjjmj##.........cc..ejmjmjjjmkkmkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkjkjkkkkkjmjmjjgggghhhgghgghggghghghgggggggggggggggggggggggggggggggggggghhhggghccccccccccccc....#######aaabbaa##.#....#...#.......##bbbbbb##......c...c..c..c....",
"..............c......c..c.c.ccccccccccccccccc#ddddbddddddddddddddddddddddddddddddddddddddddddddddddddd#........c....c............c..ccccccccccccccc.jjmmjjkkkjjkjkjkkjkkkkkkkkkkkkkkkkkkkkkkkkkmkjjjmjm#a.c.c.....cc..jmjmjjjmkkmkmkmkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkjkjkkjkkkkkkjjmjjjgggghhhhghggggggghghghggggghgggggggggggggggggggggggggggggghhggggccccccccccccc.c.##..####aabbba#####.#.#....#...##.#.##abbb##....c.c...c............",
"...c.c...c.c....c........c.c.cccccccccccccccccadddbbddddddddddddddddddddddddddddddddddddddddddddddddddd#a........c....c..c.c.c.c..c.cccccccccccfccccjjjmjjmjkkjkjkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjmjmml##.......cc..lmmjjjmmmkmkkkkmkmkmkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkjkjkkkmmjmjggggghhhgghggghgggghghghggghggggggggggggggggggggggggggggggghhgggcccccccccccc.c..#...###bbbbb##......###.#.....#...#.###bbb##...c.........c.c..c.....",
".............c......c.......c.cccccccccccccccc#ddddbddddddddddddddddddddddddddddddddddddddddddddddddddd###..c.c.....c............c.ccccccccccccccccc.jmjmjjkkjjjjkjkkkkkkkkkkkkkkkkkkkkkkkkkkmkmkmjjjjmj##.c....cc..fjjmjmjkkmkkmkmkmkkkkmkmkmkkkkkkkkkkkkkkkkkkkkjkjkjkkkkkkjmjjmjgggghhhhghhggggggghhghghghggggggggggggggggggggggggggggggggghhhggccccc.ccccccc.c.....#.aabbb##........c...#####......#####aba..c......c...........c...",
"...c..c.c......c......c..c.c.ccccccccccccccccccddddbbddddddddddddddddddddddddddddddddddddddddddddddddddd##......c..........c..c.c....ccccccccccffccccjjmjmjkkkkkkjkjkjkkkkkkkkkkkkkkkkkkkkkkkkmkkmjjmjmj###c....cc..lmmjjjjmmkmkkmmkmkmkmjmjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjkkkmjmjjggggghhhhhghghgggggghghghghghghghggggggggggggggggggggggggggggjhhggccc..cccccc.c..#...##abbb#...c.............####..#######abb#.....c......c...........",
"...........c........c..c..c.c..ccccccccccccccccadddbdddddddddddddddddddddddddddddddddddddddddddddddddddd###c.c.....c.....c..........ccccccccccccccccc.mjjmjmkkkjkkkjkkkkkkkkkkkkkkkkkkkkkkkmkmkkkkmjjmjma#.....cc.clmmjjmjmmkmkmmkkkmkkkmkkkmkmkkkkkkkkkkkkkkkkkkkkkkjkkkkkjmjmjjjgggghhhhghghhggghggghhghghghggggggggggggggggggggggggggggggggghkgggcccc..ccc.c....#..##abbba......................#.##bb####aba.c........c...c...c.....",
".....c..c....................cccccccccccccccccc.ddddbbdddddddddddddddddddddddddddddddddddddddddddddddddda##..........c.....c...c.c.c..ccccccccccfcccccjmjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkmmkkkkkmkmkjmjmjl##c...c..fkmjmjjjmmkmmmkmmkmkmkkkmkkkkmkkmkkkkkkkkkkkkkkkkkkkkkkkkjmjmjjgggghhhhghhhghggghgggghghghghgggggghgggggggggggggggggggggggggghkhgghccc..c.c.c......##abbbb#....c..c.........c..c.#.##bb#####bb#.......................",
".............c...c.c..c......c..ccccccccccccccccddddbdddddddddddddddddddddddddddddddddddddddddddddddddddd#a..c...........c........c..c.ccccccccccfccccjjmjmmkkkkjjjkkkkkkkkkkkkkkkkkkkkmjkkmkmmkkkmjjjjml##.c.ccc.lmjmjjjmmkmmkmmkmmkmkmkmkkmmkkmkkkkkkkkkkkkkkkkkkkkkkkkmjjmjjjgggghhhhhhhgggggghggghgghghghgggghggggggggggggggggggggggggggggghkhgggccc...cc.c.c.####abbbb#...c.......c..c.c.......###baa#..##bb#....c....c.....c..c...",
"...c...c.......c........c...c.cccccccccccccccccc.ddddbbdddddddddddddddddddddddddddddddddddddddddddddddddd###...c..c..c.c......c.c..c.ccccccccccccccccccjmjmjjmkkkkkkkkkkkkkkkkkkmjkkkmkkmkmkmjmmmkmkmjmjj##....c.#jmjmjmmmmmkmmkmkmmkmkmmmkkmkmkmkmkkmkkmkkkkkkkkkkkkkkkkkmmjmjgggghhjhghgghgggghggggghggghghghggggghggggggggggggggggggggggggggghkhggfccc.....c...###abbbba........c...............####b#####.#bb#......................",
".....c....c..c......c.c.........cccccccccccccccccddddbdddddddddddddddddddddddddddddddddddddddddddddddddddd##................c.....c..c..cccccccccffccccjmjjmkkkkjkjkkkkkkkkkkkkkjmkkkmkkkmkkkmkkkmkmjjjmma#fcccccjmjmjjjmmkmmmkmmkmkmkmmkkmkmkkmkkkmkkkkkkkkkkkkkkkkkkkkjjmjjjgggghhhhghhggghgghggghgggghhghghghgghggggggggggggggggggggggggggggghkhgggccc...c....###bbbba#.....c.....c...c.........#.#bd#.c####ab#..c..c.c...c.c....c...",
"...c.............c......c.c.c.cc.cccccccccccccccc#dddbibdddddddddddddddddddddddddddddddddddddddddddddddddd#a...c..c..c........c....c.c.cccccccccccfcccc.jmjmjjmkkkkkkkkkkkkkkkkkkkkmkkkmkkmmkkmmmkmkjmjmjl##c.c.#jmjjjmmmkmmkmmkmmmkmmmkmkmkmkmkmkmkkkmkkkkkkkkkkkkkkmkkmmjmjggggghjhhhghggggggggggggggggghghghghgggghggggggggggggggggggggggggggghkgggfcc.....c.###aba##...c.c...c............c....###bb##...###b##.....................",
".......c.c..c.........c.....c....cccccccccccccccc#ddddbddddddddddddddddddddddddddddddddddddddddddddddddddda##...........c..c..........cc.ccccccccccfccccjmjjmkkkkkkkkkkkkkkkkkkkkkmkmkmkmkmkmkmkmkmmjjjjml##ccc.jmmjmjkmmmmmmmmmmkmkmkmkmkmmkmkkkmkkmkkkmkkkkkkkkkkkkkmjmjjjjgggghhhhghhhgggghghgggghgggghghghghgghhggggggggggggggggggggggggggggghkhgggc.c.....###aba##.............c..c..c.c.....#.##bb#c...##bb#....c..c..c..c..c.c...",
"...c..........c...c.....c.c....cc.ccccccccccccccccadddbbddddddddddddddddddddddddddddddddddddddddddddddddddd##...c..c.........c..c.c...c.c.ccccccccefccccjmjmjjmkkkkkkkkkkkkkkkkkmkmkmmkmkmkmkmmmkmmkmjmjmj##.c.emjjmjjmmmmmmmmmmmmmmmkmmkmmkmkmmkkmmkmkkkkmkkkkkkkkkmkjmjmjjgggghjhhghhhghgggghghggghghggggghghghggggggggggggggggggggggggggggggggghkgggcc.c.c.####ba#...c.c..c................c.c#.##bb#....#.#b##...c..................",
"......c..c..c...c............c.c.ccccccccccccccccc#ddddbddddddddddddddddddddddddddddddddddddddddddddddddddd#a#...........c.c.........c..ccccccccffeecccc.jmjmjmkkkkkkkjkkkkkkkkkkkkkkkmkmkmkmmmkmmmkmjjmjm##c..jmjmjjmmmmmmmmmmmkmmmmmkmmkmmmkmmmkkmkkkmkmjkkkkkkkkkjmjmjjjgggghhhhghhgggghhggggghhggghhggghghghghgggghgggggggggggggggggggggggggghhhhggh......#.aba#..c...........c.....c........###aba#..c.###ab..c.......c.....c..c...",
"..................c..c.c....c...c.cccccccccccccccccddddbiddddddddddddddddddddddddddddddddddddddddddddddddddd##...c....c........c.c.c..c.c.ccccffeeeccccccjjmjmjmkkkkkkkkkkkkkkmkmkmkmkmkmmkmkmkmmkmmmjjmjmlf..lmmjmjjmmmmmmmmmmmmmkmmmmkmmkmkmkkmkmkkmkmjkkmkkkkkmmkkmjmjjgggghjhhhhhhhhghghgggggghggghhghghghghghgggggggggggggggggggggggggggggggghkhgggcc.c.###ab#.c...c..c..c..c...........c...#.#bb#.....#.#b#.......................",
"....c..c..c..c..c...............c.cccccccccccccccccadddbbddddddddddddddddddddddddddddddddddddddddddddddddddd###c...c.................c.c.cc..ffefcccccccc#jjmjkmkkkkkkkkkkkkkkkkkkkkmmkmkmmmmkmmmmmkmjjjjml.f.jjjmjjmmmmmmmmmmmmmmmmkmmmmmkmmkmmmmkmmkmkkkkkkkkkmkkmjmjjmgggghhhhhghhhhghhhhhgggghhghgggggghhghghgghgggghgggggggggggggggggggggggggghkggge....###b#.................c..c..c.c....###aba#c....##ab#...c.c.c...c.c..c..c...",
"..................c.....c...c..c.c.cccccccccccccccccddddbbdddddddddddddddddddddddddddddddddddddddddddddddddda##......c..c...c....c..c......#.#fcccccccccc#mmjjjmmkkkkkkkkkkkkmkmkmkmkkmmkmkmmmmmkmmmmmjmmjjf.lmmjjjmmmmmmmmmmmmmmmmmmmmkmmmmmmkmkmkmkkkkmkkmkkkmkkkjmjmjggggghjhhhhhghhhhhhhghhggghggggghggghghghghgghggggggggggggggggggggggggggggghhkgggc...##ab#..c...c.....c.................#.#bb#c..c..###b#c......................",
".....c.....c..c...............c...c.ccccccccccccccccbdddbdddddddddddddddddddddddddddddddddddddddddddddddddddd##.c..c...........c............cccccccccc#addkjjmmkmkkkkkkkkkkkkkkkmkmmkmmkmmmmkmmmmmmmmmjjjjmf.jjjmjjmmmmmmnmmmmmmmmmmmmmmmmmmmkmmmkmmkmkmkkkkkkmmmkjmmjjjggggjhhhhhghhhhhhhhhhhhhggggghgggghggghghghghggghgggggggggggggggggggggggggggkhggge...###b.c...c...........c.....c......###bb#.......##ab#..c....c..c....c...c...",
"...................c..c..c......c.c.cccccccccccccccc.ddddibdddddddddddddddddddddddddddddddddddddddddddddddddd#a#.....c.c..c......c..c......cccccccc#abdddddmmjjjmmkkkkkkkkkkmkmkkkkkmkkmkmmkmmmkmmmmmmkjmjmjlmmjjjmmmnmmmmmmnmmmmmmmmmkmmmkmmmmmkmkkmkkkmkkmkmmkkkmmjmjgggghhhhhhhhhhghhhhhhhhhghgghhghgghggggghghgghghggggggggggggggggggggggggggggghkhgggc..##b#.........c.c..........c...c.c.###ba#.c.c..#.#b##............c..........",
"..c.c.c.c.c..c...c..........c..c.c.ccccccccccccccccccddddbbddddddddddddddddddddddddddddddddddddddddddddddddddd##..c.........c.c..........cccc.c.##adddddddbmjmmkkmmkkkkkkkkkkkkmkmkmkmmmmkmmmkmmmmmmmmmjjmjmjjjmjmmmmmmmnmmmmmmmmmmmmmmmmmmmmkmkmmmmkmmmmkmkkmmkjmjjjjgggghhjhhhhhghgghhhhghhghhhggghhggghhghghghghhghggghggggggggggggggggggggggggggghkgggf..##b#.....c.......c..c..c..........##bb#.......###b#.....c..c..c........c...",
"...............c...c..c.c.c...c...c.ccccccccccccccccc#dddbibdddddddddddddddddddddddddddddddddddddddddddddddddd###.......c.......c...c.c.c...###addddddddbddbmjmjkmkkkkkkkmkmkkkkmkmmkmkmmmmmmmmmmmmmmmmmjjjjjjjjjmmnmmnmmmmmmmmmmmmmmmmmmmmmmmmmkmmkmkmkkkkmmkkkmmjmjgggghjhhhhhhhhgggghhhgghhhhggggggggghghhghhghgghghgggggggggggggggggggggggggggggghhhggg..##a#.......c..............####a#####ba..######.#ab#..............c...c.....",
".............c..............c...c...c.ccccccccccccccc#ddddbdddddddddddddddddddddddddddddddddddddddddddddddddddaa#.c...c....c..c............##bdddddddbdidddijmjmkmmmkkkkkkkkkmkmkmmkmmkmmkmmmmmmmmmmmmmmmjjjmjmmmmmmmmmmmnmnmmnmmnmmmmmmmmmmkmmmkmkmkmkmkmmmkmjmjmjjgggghhjhhhhhhhhghhhhhgghghggggggghggghgggggghghhgghghghghgggggggggggggggggggggggghhkggg#####...c..c...c.c....c.c..#.##a#####bb#.####bb###ab#.........c..........c...",
"......c...c.....c..c..c.......c...c.ccccccccccccccccccadddbibdddddddddddddddddddddddddddddddddddddddddddddddddd##.......c........c.c....##adddddddbbiiiiibddimjmjkmmkkkkkkkmkkkkkmkmmmkmmmmmmmmmmmmmmmmmmmmmmmnmnmnmnmmnmmmmmmmmmmmmmmmmmmmmmmkmmmmkkmkkkmkmmkmmjjjggggghjhhhhhhhhhghhggghhhhhgghhggggggghggggggghghghgghggggggggggggggggggggggggggggghkhggh...c......................#.####..##bb###..###b#bbb##..c..........c..c......",
"....c.....................c........c..cccccccccccccccc#ddddbddddddddddddddddddddddddddddddddddddddddddddddddddd#.....c...............###bddddddbbbiiiiiiibddijmjmkmmmkkmkkkkmkmkmkkmkkmmmmkmmmmmmmmmnmmmnmnmnmnmnmmmmnmmmmmmnmnmmmnmmnmmmmmmmmmmmkmmmkmmmmmmkjmjjjjggghhjhhhhhhhhhggghhgghhhhgghhghhhhggggggghggghghghghgggggggggggggggggggggggggggggghhhggg......c.....c...c...c.....###a###.#bba..#..#####bbb........c.c..c...........",
"..c....c.c..c...c..c...c......c.c...ccc.cccccccccccccccbdddbiddddddddddddddddddddddddddddddddddddddddddddddddddd##.....c.....c...####adddddddbdiiiibbbbbiibddkmjmjkmmkkkkkmkkmkmkkmkmmmkmmmmmmmmmnmmmmnmmmmnmnmmmnmnmmmnmnmmmmmmnmmmmmmmmmmmmmmkmmmkmmkmmmkkkmmjmjgggghjhhhhhhhhhhhghhhghgggggggggghghhgghgggggggghghghghghghgggggggggggggggggggggggggghkhggec................c.......######.##ba#..######aab##....c.c.........c........",
"...........................c......c.c..ccccccccccccccccadddbbbdddddddddddddddddddddddddddddddddddddddddddddddddd##.......c.c...###addddddddbbiiiidbbdbbbbibbdijmjmkmmmmkkkkkkkmmkmmmkmmmkmmmmmmmmmmmmmmmnmmmmmmmnmmmnmnmmmmnmmnmmmmmmmmnmmmmmmmmkmmmmkmkmmmjmmjjjgggghkhhhhhhhhhhhhhhhggggghggggghgghhghgggggghghhghghgghgggggggggggggggggggggggggggggghkhggg##......c..c........c...........####..............c.c........c..c......c...",
".......c..c..c..c..c...c.....c..c...c.ccccccccccccccccccddddibdddddddddddddddddddddddddddddddddddddddddddddddddd##..c.......###aadddddddbbiiibbbbbbbbbibbiidddjmjmjmmmjkmkmkmkkkmmkmkmmmmmmmmmmmmmmnmmmmmmnmmnmnmmnmmmnmnmmmmnkmmnmnmmmmmmmmmmmmmmmkmmmmmkkmjjmjgggghjhhkhhhhhhhhhggghghggghghgggggggggggggggggggghghghhghgggggggggggggggggggggggggggggghhhgge##c.........c...........c.............c...............c..c.......c..c.....",
"...c.c...............c...............c.cccccccccccccccccddddbdddddddddddddddddddddddddddddddddddddddddddddddddddd##...c...###abdddddddbbidibdbbbbbbbbbbbbdibddijmjmkmmmkkkkkmkkmkmkmmkmmmmmmmmmmmnmmmnmmnmmnmmmmnmmnmnmmmnmnmmmnmmmmmnmmmnmmmmmmmkmmkmmmmkjmmjjgggghjhkhhhhhhhhhhhhghgghhghggghhghgggghgghggghggggghghghgghhghgggggggggggggggggggggggggghkhggg.....c..c........c..c.c....c....c..c...........c....c........c............",
"........c..c...c..c.....c..c..c...c...c.cccccccccccccccc.ddddibdddddddddddddddddddddddddddddddddddddddddddddddddd#.....###aadddddddbbdiibbbbbbbbbbbbibbbbbidbddmjmjjmmmkkmkmkmmkmkmmkmmkmmmmmmnmmmmnmmmnmmmmnmnmmnmmnmmnmmnmmnmmmnmmmmmmmmmmmmmmmmmmmmmmkmmjjjggggghjhhhhhhhhhhhhhhhhhgghhghghhghghggggggggghgghgggghghghgggggggggggggggggggggggggggggggghkgggf.c..........c...................................................c...c.c..",
"......c...............c.............c...cccccccccccccccccddddbbddddddddddddddddddddddddddddddddddddddddddddddddddd#######bdddddddbbbiibbibbbbbdbbbbbbbbibbiibddkmjmmkmmmkkkmkmkmkmmmmmmmmmmmmmmmmmmmknmmmnmnmmmnmmnmnmnmmnmmnmmnmmmmnmmnmmmmmmmmmmmmmmmkmjmjjjggghhkhhhhhhhhhhhhhhhhhhggghhggghggggghggggggggghhhghghghggggghghgggggggggggggggggggggggggghhhggh...c..c...c....c......c.....c.....c......c..c....c..c.....c..c...........",
"..c.....c.....c..c..c....c..c..c..c..ccc.cccccccccccccccc#ddddibdddddddddddddddddddddddddddddddddddddddddddddddddd###aadddddddbbbiidbbbbbbbbbbbbbbbbbbbbbbiibbddmjmjjmmmmkmkkkmmkmkmkmmmmmmmmmmnmnmmmmmnmmmnmnmmnmnmmnmnmmnmmnmmmnmnkmmmmnmmmmmmmmmmmmkkmmjmggggghkhkhhlhhhhhhhhhhhhhhhghhghghhggggggghgghhhghghgghghghghggggggghgggggggggggggggggggggggghhkgggf##.....c...c.......c...c..c...c....c.c...............c........c...c.....",
"....c.......c..........c................ccccccccccccccccc.dddbibdddddddddddddddddddddddddddddddddddddddddddddddddda#adddddddbbbdibbbbbbbbdbbbbbbbbbdbbbdbbbiibddjmjmmmmmkmkkmkmkkmmmmkmmmmmmmmmmmmmnmnmmnmnmmmnmnmmnmnmnmnmmnmmnmnmmmmnmmmmnmmmmmmmmmmjmjjjjgggghkkhhhhhhhlhhhhhhhhhhhhhhggggghgggggghggghghhgggghgggghghggggghggggggggggggggggggggggggggghhhgge#.c..c.......c...c..........c..........c..c..c..c..c............c...c...",
"..............c.c..c.....c.....c.....c.c.cccccccccccccfcccaddddibddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbidibbbbbbbbbbbbbbbbbbbibbbbibbbiibddimjmjkmmmkmkmkmmmkmmmmmmmmmmnmmmmmmmmmnmmmnmnmnmnmnmnmnmnmnmmnmmmmnmnmmmmmmmmmmmmmmnkjmmjmjgggghkhhkhhkhhjhhhhhhhhhhhhhhhghgghhgggghhghggggghhhgggggghghghhggggggggggggggggggggggggggggggghhjgggf.......c.............c..c........c..................c.c................",
"..c....c.c.c................c....c..c.....cccccccccccccccc#dddbidddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbdibbbbbbbbbabbbbbbbbbbdbbbbbbbbbdbbiibdbmjjmmmmmkkmmkkmmmmkmmmmmmmmmmmnmmnmnmmnmnmmmnmmnmnmnmnmmnmnmnmnmnmmknmmnmmmmmmmmnmkjmjmjjgggghhkkhhhhhhhhhhhhhhhhhhhghhhhggghhgggggggghhghjhggghggggghghgggggggghgggggggggggggggggggggggghhhggge...........c..c..c..........c..c...........c....c.......c.c....c...c...",
"....c........c...c.......c....c......c.cc.cccccccccccccccccbdddbibddddddddddddddddddddddddddddddddddddddddddddddddddbbbdibbbbbbbbbbbbbbbbbbdbbbbbbbbibbbibbidibddimjmjmmmmmkmmkmkmmmmmmmmmmmmmmmmnmmmmnmmnmnnmnmnmnmnmnmnmnmnmmnmmmnmmmmmmnmmmmnmmmkmmjmjgggghjkhhhkhhkhhhhhhhhhhhhhhhhhhgggghhgggghggghgghhgggghggggggghhgghgggggggggggggggggggggggggggggghhkgggc......c...........c.....c.......c..................c.......c....c.....",
"...........c...c...c.c.c...c......c.c...c..ccccccccccccfcccadddbdddddddddddddddddddddddddddddddddddddddddddddddddddadbbbbbbbbbbbbbbbbbbbbbbbbbbbbdbbbdbbbbbbiiddbijmjmmmmmmkmkmmmmkmmmmmmmmnmmnmmmmmnmmmnmmnmmnmnmnmnmnmnmnmnmnmnmnmmmnmnmmmnmmmmmjmjmjmgggggjhkhkhhlhhhkhhkhhhhhhhhgghhhhghhhgghhhhhhhhhjhhgggccegggggghgghghgghgggggggggggggggggggggggggghhhgggf....c......c..c.c.....................c...c..c..c........c............",
"...c..c......................c..c....c.c.cccccccccccccccccccddddibdddddddddddddddddddddddddddddddddddddddddddddadaddabdbbadbbbababbbabbbabbbbbbbbbbibbibbibbbiibddkmjmjmnmkkmmmkkmmmkmmmmmmmmmmmnmmnmmnmmnmnmnmnmnnmnnmnmnmnmnmmnmmnmmmmmmmmmmnmmkmmjjmggggghkkhhhkhhhhhhhhhhhhhhhhhhghhhhhghghgghhhhhhghhhggggccggggggghggggghhggghgggggggggggggggggggggggghhhgggc......c...........c..c........c...c..............c.........c.........",
"........c.....c....c.....c.........c......c.ccccccccccccccccadddbibdddddddddddddddddddddddddddddddddddddddddddadadadbdbbdbbbbbbbbbabbbabbbbbdbbbbbbbbbaibbbibiibddijjjmkmmmmkmkmmmmmmmmmmmmmmmnmknmmmnmnmnmnmnmnmnmnmnmnnmnmnmmnmmnmmnmnmnmmnmmmkjmjmjjgggghkkhhihhhkhihhkhhhlhhhhhhhhhhhhhgghhhhhhhhghhlhhgggfcchggggghggggghgghggggggggggggggggggggggggggghhjgggf....c....c..c......c......c.c...c...c..c...c........c.c..c.....c.c...",
"...c..c..............c.......c..c....c...c.ccccccccccccccccc.ddddibddddddddddddddddddddddddddddddddddddddddddadddbdadadadadabbabbbbbbbdbbbbbbbbibbbbbbdbbbibbiiibddkmmjjmnmmmkmmmkmmmmmmmnmmmnkmnkmnmmmmnmnmnmnnmnnmnnmnmnmnmnnmnmmnmmmmmmmmmnmmkmmjjjgggghkkhkhhhkhhhhhhhhhhhhhhhhhhhhhghhghghhhhhhhhhhkhggggcccfgggggghghghghggghgggggggggggggggggggggggggghhhgghc.....c..........c......c................c......c..........c.c.......",
"..........c..c..c.c....c..c.............c...cccccccccccccccccddddbiddddddddddddddddddddddddddddddddddddddddddddaddadbdadadbdbadbdbdbdabdadbbbbbbbibbbibbibbbbbiibddimjmjmmmmkmkmmmmmmmmmmmmnmmmmmnmmnmnmnmnmnmnmnmnnmnnmnmnnmnmmnmnmmnmnmmnmnmkjmjmjjgggghjkkhhkhkhhkhhhkhhhjhhhhhhhhhgghhggghhhhhhghhhhhggggccccfgggggghghghghghgggggggggggggggggggggggggggghhhgggc.c.....c..c..c..............c...c....c....c..c.....c................",
"...c..c.....................c..c....c.c....cc.cccccccccccfccc#ddddibdddddddddddddddddddddddddddddddddddddddddadadaddadbbdbabdbabbbabbbbbbbbbbbdbbbbbdbbibbibibiiiddbmjmjjmnmmmmmkmmmmmmmmmmmmmnmmmnmmnmmnmmnmnnmnnmnnmnnmnmmnmnmnmmnmmmmmnknmkkmmmjjgggggjkhhkhhhhihhhkhhhlhhhhhhhhhhhhghhhghhggghhgghlhhggghccccfggggggghghghghghgghggggggggggggggggggggggggghkhgghc..............c....c.c.c...................c........c....c.c.c.c...",
"..........c..c.c.......c..c.......c.......c..cccccccccccccccc.ddddibdddddddddddddddddddddddddddddddddddddddadbdaddadadbdadbdabddabbdabbbbbbbbbbbbbbbibbbbbbbbbdiibddkmjmmmmmmmkmmmmmmmmmnmmmmmmmnmmmnmmnmnnmnnmnmnnmnnmnnmnnnmnmnmnmmnmnmmnmmkmmjjmgggghhkkhkhkhihhhihhhkhhhhhhlhhhhhhhhhhhhggghghghhhjgggggccccccgggggghghghgghgghgggggggggggggggggggggggggggghhggg....c........c.............c..c...c......##......c.........##.......",
".....c...........c...c..............c..c..c.ccccccccccccccfcccadddbibdddddddddddddddddddddddddddddddddddddddbaddaddadbdabbbdbdabbdbabbbbbbbdbbbbbibbbbibibibibibiibddmjmjjmnmkmmkmmmmmmmmmnmnmmnknmnmmnmnmnmnmnnnmnnmnnnmnmnmnmnmnmnmmmnmnmmkkmmjmgggggjkkhihhihhkhhhhkhhhhkhhhhhhhhhhhhhhhhhghhhhhhhigggggcccccccggggggghghghhghghghgggggggggggggggggghggggggghkhggec......c.c......c..c....#.............###ab##.......c.c.###aa#.....",
".........c..c......c......c.....c.c.....c.c..ccccccccccccccccc.ddddibddddddddddddddddddddddddddddddddddddddaddbbbdadadadbdadbabdabbbdbbbbbbbbbbbbbdbbbbbbbbbbibiiibddjmjmmmmmmmmmmmmmmmmmmmmmnmmmmmmmnmnmmnmnmnmnnmnnnmnnmnnmnmnmnmmnmnmmnmkjmmjjjgggghkkhkhkhhkhhkhkhhhhkhhhhjhhhhhhhhhhhhhhhhhhhhhkhgggghcccccccegggggghghghghgghggggghgggggggggggghhhhhgggggghhgggc...........c.........###aa#....c.c..##.#abba#..c......##.#abba.c..",
"...c..c................c....c..............cc..ccccccccccccfcccadddbidddddddddddddddddddddddddddddddddddddaddadadaddaddadabbdbdadadbbbbbbdbbbibbbbbibbibbibibbibiidddimjmjknmmmmmmmmmmnmmmmmmmmnmnmnmnmnmnmnmnnmnmnnmnnmnnmnmnmnmmnmmnmnmmkkmmjmjgggghmkhkhkhhihhkhhhihhhhhkhhhhhhhhhhhhhhhhhghhhhhihgggggcccccccccggggggggggghghghggghhhggggggggggghhhhgggggggghjhggec.....###a...c..c...#..#bbb#.......#...##abba#.......#...##bbba...",
".............c...c.c..........c.c..c....c.c...cccccccccccccfcccadddbibdddddddddddddddddddddddddddddddddddddaddadddadbdadbdadbabbbbbabbbbbbbbbbbibbbbibbbbdbbibbdiiibdbjmjmkmnmmmmmmmmmkmmnmmmnmmmmmmnmmmnmnmnmnmnnmnnnmnnmnmnmnmnmnmnmmnmmjmmjjjgggghkkmhkhihkhhihhkhhhhihhhhhhhhlhhhhhhhhhghhhhhhkhgggggccccffccccgggggggggghghgggghhhhhhgggggggghhhhggggggggggghhggg......###bb#.......#..###bbba.c...##...###abba#.c...#....###abba..",
"...c..c..............c..c............c......c.ccccccccccccccccccddddiibddddddddddddddddddddddddddddddddddadddadadadbdadbadbbdadbbadbbbbdbbbbbbbbbbbbbbbibibbbibibiidddkmjmjkmnmkmmmmmmmmmmmmnkmnmnmnmmnnmnmnmnmnmnnmnmnmnnmnmnmnmnmmnmnmmkmmjmjgggggjkkhkhhhhihhhhihhkhhhhhhkhhhhhhhhhhhhhhgghhhhlhgggggccccceccccchgggggggghgghggghhhhgggggggggggghhhggghceggggggkhggfc..##.##bbb#.c.c.#..#.##abbb##..#...######abba....#..#.#.##abbb#.",
"........c.c.c..c..c..........c...c.c....c....c..ccccccccccccfcccadddbiddddddddddddddddddddddddddddddddddddddadddaddadadbdadadadabdbbdabbbbbbbbbbbibbbbibbbibibbbiiiibddjmjmmmmmmmmmmmmmmmknmmmmmmnmmmnmmnmnmnmnnnmnnmnnnmnmnmnmnmmnmnmnmkjmjmjgggggjkkkhihkihhkhihhhhhhkhhihhhkhhhhhhhhhhhhghhhhhkhggggfccccefccccccggggggghghghghhhhhgggggggggggghhhgggeccf#egggghkhgh..#...##abbb#....##...###abbb#.##..########abb#..#.#..#######bbb.",
"...c................c....c.c.........c...c.c..c.cccccccccccccccc.ddddibbdddddddddddddddddddddddddddddddddadadadaddaddbadadbdabbdbababbdbbbbbbdbbbbbdbbbbbbbbbdibbiiidddkmjmjmnmmmmmmmmmmmmmmnmmmmmmnmmnmmnmnmnmmnmnmnmnmnmnmnmnmnmmnmnkkmmmjmggggghmkhhkhhihhkhhhkhihhhhhhhhhhhhhhhhhhhhhhghhhhlkhgggghccccffcccccccggggggghghghhghhgggghcfhgggggghggggecccc##egggghhggf#....###abb##c.#....#.###abbb##..##bba##.##bbb###...########abb.",
".......c......c...c..........................c.cccccccccccccfccccddddbiddddddddddddddddddddddddddddddddddddddbdddaddabdadbdadbdabbdbdabbbbbbbbdbbbbbibbbibibibibibdibddimjmmkmnmkmmmmmmnmmmmmmnmnmnmmnmmnmnmnmnnmnnmnnnmnmnnmnmnmmnmnmkmjmjjjggghhmmhihihkhhkhihkhhhhihhkhhhhhhhhhhhhhhhhgghhhhkhgggghccccfecccccccceggggghghghghhhhggggccccchgggggggggccc.ff#aeggghhgge...######bbb#..#...###.####aaa#.###bbba#.##aaba##..###bb#..##ab.",
"...c........c........c..c...c...c....c..c.c.c.c.cccccccccccccfcccfddddibdddddddddddddddddddddddddddddddddadaddadadadbdaddaadbabbdabbbbbbbbbbbbbbbbbbbbbdbbbbbbbbibiiibddjmjjjmnmmmmmmmmmmmmmmmmmmmmmnmmnmmnmnmnmnmnmnmnmnmnmnmmnmnnnmkkjmmjjgggghmmkhkhhihhihhhhhihhhhhhhhkhhhhhhhhhhhhhhhghhlkhgggggccccceccccccccccggggggghggghkhggggccccccchgggggghcccfef.f#aeggghggg..########bbb###..######.#########bbba##..###a###.##abbb##..##a.",
".......c..c........c......c...c....c...........c.cccccccccccccccc.ddddiibdddddddddddddddddddddddddddddddddddadadbddadaddaddadbdabbdabbbbbbbbbbbbbibbbbbibbibbibibbiiibddijmmmknmmmmkmmmmmmmmnmmmmmnmmmnmmnmnmnmnmnmnnmnmnmnmmnmnmnmmkjmmmjjgggghjnhkhihihhkhhkhihhhhkhhkhhhhhhhhhhhhhhhhhhhhhkhhggggcccccefccccccccccgggggghggghhhggggccccecccchgggggcccfa#f#f#faegggggf.##abaa###aaba#..##aaa##..#######bbbb###...#####..##abba##..##a.",
"...c.c......c.c..c....c..............c.c....c.c..c.cccccccccccfccc#dddbiddddddddddddddddddddddddddddddddddaddddadaddadbadbdadabbdabbdbbadbbbbbbbbbbbibbbbbbbibbbbibiiidddjmjjjmnmmmmmmmmmmmmmmnmnmmmnmmnmnmmnmnmnmnmnmnmnmnmnmnmnnmmkmjmjjgggggjmhihkhkhkhhihhhhhkhhhhhhhhhhhkhhhhhhhhhhhhhhijgggggeccccffccccccccccchggggggggghkggggeccflefffccfgggfccfeff#f####ahggge.##abbb##.###b###.##bbaa.#..#..##abbba...##...######abbb#.##...#.",
".........c..........c......c..c...c............c.cccccccccccccfccc#ddddiidddddddddddddddddddddddddddddddddddadbbddadbdbddaabbdbbbbdbbabbbbbbdbbbbbbbbbibbbibbbbibbidiibddkmjmmmmmmmkmmmmmmmmmmmmmmnmmmnmmmnmnmnmnmnmnmnmnmnmnmnmnmmkjmjmjgggghhmkmhkhihhihkhhihihkhhihhkhhihhhhhhhhhhhhhhhhkjhggggeccccffcccccccccccccggggggghhkgggggcceefcceeefcfgeccfaff#efccff##ege.###bbbba#..########abbba#.....###abbb#c...#..#....##bbba...##..#.",
"....c..c...c...c................c...c...c.c.c...c.cccccccccccccfcccadddbibdddddddddddddddddddddddddddddddadddaddaddadadaddddabadabadbdbbbbbbbbbbbbdbbbbbbdbbibdbibbibidbdbmjmjjnmmmmmmmmmmnmmmmmmmmmnmmnmnmmnmmnmnmnmnmnmnmnmnmnmmkmmmjjgggggjmmhkhihhkhhhihhhhhhhhhhhhhhhhhhhhhlhhhhhhhhhlkhgggghccccfffcccccccccccccgggggghhhhggggcccefcefccceffccceeff#hge.c.########abbbb#.##...##.##bbbb####..####bbbb#.....#.....###bbbb#....##.#.",
"..c..........c......c...c..c..c.......c......c...c.ccccccccccccfccc#ddddibdddddddddddddddddddddddddddddddddaddadbdaddadbdabadbdabdbababbbbbbbbbdbbbbbbbbbibbbbibbbibbiibddjmjmjmnmkmmkmmmmmmmmmnmmnmmmnmmmnmmnmnmnmnmnmnmnmmnmnmmkmjmjjjgggghmmhihkhkhkhihhkhkhihhihkhhkhhhhhhhhhhhhhhhhhhmhgggggccccfffcccccccccccccceggggghhkggggccclfceggcccccffeeff.fegggeccc.#####aabbb#...#.....###bbba#..#....#abbbb...c...##...##bbbba.c.....##.",
".....c....c....c......c...........c.....c.....c.c.ccccccccccccccfcccddddiibddddddddddddddddddddddddddddddddddaddaddaddadaddadadbdabdbdbadabbbbbbbbbbdbibbbbibbbbibbbbbbbddimjmjmmmmmmmmmmmmmmmmmmnmmnmmmnmmnmmmmnmnmnmnmmmnmmnmmmkmmjmjgggghmmkkhihkhihhkhkhhhhhhkhhhhhhhhhhhhhhhhhhhhhhhmhhggggfccccf.ccccccccccccccccggggghkhggghccefcfggggeccccce#fff#hggggh.ccc####abbha.....#...###bbbb#.c..##..#bbbb#.....c..#...##bbbb.........#.",
"........c........c..c.......c...............c..c.c..ccccccccccccfcccadddbidddddddddddddddddddddddddddddddddaddaddaddaddaddadbbdaadbadabbbbbbbbbbbbbbbbbbibbbbbibbbdbdddbddijjmmknmmmkmmmmmmmmmmnmmmmmmmnmmnmmnmnmmmmnmmnmnmmnnmkjmmjjjgggghhkkhkhkhihhkhihhihihkhhhhhkhhkhhhkhhhhhhhhhhhikhggggfcccc#f.ccccccccccccccccggggghkhgggccfef.hggggghccccfcfffegggggge.cc.##abdhgf.....##...#bbbba.......###bb##..c.......##.#abba#....c......",
".....c......c...................c.......c.........cccccccccccccccfcc.ddddiiddddddddddddddddddddddddddddddddddddaddadbdadadbbadaddabdbbbdadbbbbbbbbbbbbbbbbbibbbbbddddddddddkmjjjmmmmmkmmmmmmmmmmmmmnmmnmmnmmnmmnmnnmmnmmnmnmnkkmmmjjjggggghhhhhhhhhkhihhhhkhhhhhhkhhhhhhhhhhhhhhhhhhhhhmkhgggghccccff.cccccccccccccccccegggghhhggeccffceggggggggcccccf#eggggggggh.c..aabhggec.....#.#.##bba........######.c..........####b##c.c.........",
"..c.....c.......c..c..c.c..c.....c....c.....c.c..c...cccccccccccfccccdddddibddddddddddddddddddddddddddddddaddadddbddadaddadbdadabdababbbbbabbbbbbdbbbbbbbbbbbdbddddddddddd#jmmmjnmkmmmkmmmmmmmmknmmknmmmmknmmnmmnmmmnmnmmnmnmjmjmjmjggggggghgghhhhhhhhhhihhkhkhihhhhhihhhhhhhhhhhhhhhhkkhgggghccccf#ccc.ccccccccccccccccgggghkgggcccfffggggggggggccc.feggggghgggge..##bhgggh#c..c..####bb##...c................c.......##.........c.c...",
"...........c.................c.....c............c.cc.ccccccccccccfccc.dddbidddddddddddddddddddddddddddddddddadadadaddadbbdadadbbbbdbbbadbdbbbbbbbbbbbibbdbbbddddddddddda#ccjmjjjmmmmmmmmmmmmmmmmmmmmmmnmnmmmmmnmmnmnmmmnmmnmkjmmjjjggggggggggggggghghghhhhhhhhhhhihhhhhhihhhhhhhhhhhhkkhgggggccccc#.c.ccccccccccccccccccgggghkhggccccegggggghhggggecehggggggghhggghfeehggghhl.....c...#.#...c.......c.......c....c..c...c.c.............",
".......c.c....c..c..c.c...c...........c..c.c..c.....cccccccccccccfccc.ddddiibddddddddddddddddddddddddddddddddddddaddaddadaddabdadababbdbababbbbbbbbbbbbbbbddddddddddda.ccccjmjmmmmmkkmmmmmmmmmnmmmmnmmmmmmnmnmmmmmmmmnmmmnmkjjmjmjlhehggggggggggggggggggggghhhhhhhhhkhhhhhhhhhhhhhhhjihgggggfcccc#ffcccc.ccccccccccccccchgggghhgggcfegggggggghhgggggggggggggghhggggggggggghhh.c.........c........c......c.............c.......c.........",
"...c..c.....................c.c....c.............c.c.cccccccccccccfccc#ddddiddddddddddddddddddddddddddddddddaddadddadaddadadbdadbdbbdabbdbbdbbbbbbbbbbdbddddddddddb#.ccccccmjmjjmmmmmkmmkmmmmmmmmmmmmmnmmmmmmmnmnmnmnmmnmmmkmmjjmlccccccfheggggggggggggggggggghghghhhhhhhhhhhhhhhhhhmkhggggecccc#fcc.c.cc.cccccccccccccccgggghhhggggggggggggghhhghgggggggggggghhhghgggggghgggf................c....c.........c...c......c...c...........",
"............c..c..c.....c.c......c....c.....c..c...c..ccccccccccccfccc#ddddiidddddddddddddddddddddddddddddddddddaddadddaddbdbbdabadbbbdabadabbbbdbbdbddddddddddda.cccccccchmjjmmmmmkmkmmmmmmmmmmnmmnmmmmnmmmnmmmmmmmmnmmnmmjmjmmjcccccccccccccfehhgggggggggggggggggggghghhhhhhhhhhhkkhggggeccccf#c.c.c..cccccccccccccccccgggghhhhgggggggggggggghhhgggggggggggggghgggggggghhggh.c........................c..c..............c.....c.c.c...",
"...c.c..c......................c....c....c....c..c..cccccccccccccccecccadddbibdddddddddddddddddddddddddddddddaddddadbadadadadadbdbadadadbbbbbbbbbbdddddddddddb#.cccccccfccemjmjmmmmmmmkmmkmmmmmmkmmmmmmmmmnmmmnmnmnmmmmnmmkmmjjjfccccccccccccccccccfehegggggggggggggggggggghghhhhhhkhgggghcccc.f.cc.c.c..cccccccccccccccchggggghhhggggggggggggggggggggggggggggggggggggggghhhggf..c..c..c...c...c...c.c........c...c..........c..........",
"...........c..c..c.c.c...c........c.........c..........ccccccccccccfccc#ddddiddddddddddddddddddddddddddddddddddadaddddaddadbdadadadabbbbabbbbbbbdddddddddddafccccccccfeccclmjmjmmmkkkmmkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmjmjmjccccccfecccccccccccccccccfffhhhggggggggggggggggggghhhhggggccccf#.c..c.c.c.c.cccccccccccccccgggggggggggggggggggggggggggggggggggggggggggggggghgggh..........c.............c..c..........c.c...........c....",
"...c..c..c.................c..c.....c.c..c.....c..c.ccc.ccccccccccccfcccddddiiddddddddddddddddddddddddddddddaddddddaddadaddaddadbdbdadadbdabddddddddddddba..cccccccccefcccjjmjjmmmkmmmkmmmmmmmmmmmmmmmnmmmmmnmmnmmnmmmmnmkjmjmeccccceleeefffccccccccccccccccccffhhhgggggggggggggggghggggfccccff.cc.c.c.c.c.cccccccccccccccgggggggggggggggggggggggggggggggggggggggggggggggghhgggc...c.c.....c.c..c.............c...c......c.......c......",
"..............c..c...c...c.......c.....c.....c.....c...cccccccccccccfcccadddiibdddddddddddddddddddddddddddddddaddaddaddaddadadbdabaadbbabbddddddddddddafcccccccccccceeccccjjjmmmmkmkmkmmkmkmmmmmmmmmmmmmmnmmmmmmmmmmnmmmmmjmjjcccccebeaeeeeeeeeffcccccccccccccccccccffehhggggggggggggggecccc##c...c.....c.cccccccccccccccchggggggggggggggggggggggggggggggggggggggggggggggghhhggec.................c......c..c...c.......................",
"...c...c...........c.......c..c....c.....c.......c....cc.cccccccccccfccccddddiidddddddddddddddddddddddddddddddddaddaddadbaddaadaddbdabdbdddddddddddb#f.ccccccccccccffeccccjmjjjmmkkmkmmmmmmmmmmmmmmmmmmmmmmmmmnmmnmmmmnmmkmjmjfcccceeee#e#eeefeeeeefffccccccccccccccccccccfehghggggggghccccffc.c.c.c.c.c.c..cccccccccccccccgggggggggggggggggggggggggggggggggggggggggggggggghhgggc..c.......c......................c.....c..c.c.c..c.....",
".........c..c..c.......c........c..........c...c..c...c.cccccccccccccfcccbdddiibdddddddddddddddddddddddddddddddddddddadddddaddadbbabdbddddddddddda#ccccccccccccccfcfeccccemjmmkmmkmmkmmkkmkmkmmmmmmmmmmmmmmmmmmmmmmmnmmmmjjmjjccccfee##e#e#f#effffefefefeffcccccccccccccccccccccefhgghccccf#.cc..c........c.cccccccccccccccgggggggggggggggggggggggggggggggggggggggggggggggghhggge........c.........c..c.....c.......c.c.............c...",
"....................c......c............c...........c..cccccccccccccceccc.ddddiidddddddddddddddddddddddddddddadadadaddadaadbdadadbddddddddddddbafccccccccccccccfcfcfffccchmjjjmmkkmkmmkmmmmmkmmmmmmmmmmmmmmmmmmmmmmmmmmmmkmjmlccccfe#ee#efe#fefefffffeffffefeffcccccccccccccccccccccccccc.ff..c...c.c..c.c.ccccccccccccccccggggggggggggggggggggggggggggggggggggggggggggggggghhgggc..c..c......................c.........c..c..c.c.......",
"..c.c.c.c..c..c...c...c..c..........c.c.......c...c.c....cccccccccccccfcc.ddddiibddddddddddddddddddddddddddddddddddddddaddadadbdbddddddddddda#cccccccccccccccfccfccfecccclmjmmkmmkmkkkkmmkmkmmkmmmmmmmmmmmmnmmmmnmmmmmnmmjmjmjcccce#e#ff#f#fe#f#efefffffffffcfffefffcfccccccccccccccccc.f#..cc.c.c...c..c....cccccccccccccccgggggggggggggggggggggggggggggggggggggggggggggggghhgggf#.......c.....c...c...c.c.c.........c.............c...",
"................c..........c...c.........c...........c.c.ccccccccccccceccc#dddbiddddddddddddddddddddddddddddddaddadadaddaddadbdddddddddddd##.ccccccccccccccccfccfcfffccccjjmjjmkkmkkmmkmkmmmkmmmmkmmmmmmmmmkmmmmmmmmmmmmkmmjjeccccfe#f#fffef#fffffffffffffcfffcfcffffffffccccccccccccf.fff.c...c...c.....cc.ccccccccccccccccggggggggggggggggggggggggggggggggggggggggggggggggghhggh##..c.....c...................c.........c..c..........",
"........c..c..c.......c.c..........c...c....c..c...c..c...ccccccccccccfccc.ddddiidddddddddddddddddddddddddddddddddddaddaddadddddddddddda#fccccccccccccccccfcfccfcfcffccccjjjmjmmkmkkmkmkmmkmmkmkmmmmmmmmmmmmmmmmmmmnmmmmjjmjmecccf##f#ff#f#ffffffffffffffffffffffcfcfccfcfcfccccccccf.ff.c..c.c..c...c.......ccccccccccccccchgggggggggggggggggggggggggggggggggggggggggggggggghhgggf......c....c..c....c.c..c.......c.c...........c..c...",
"...c.c...........c...........c..c....c....c......c...c.c.ccccccccccccccecccaddddibddddddddddddddddddddddddddddddaddaddadddddddddddddd##.ccccccccccccccccfcccccfcccfffccccjmjjjmkkkmkkmmkkmkmmmmmmkmmkmmmmmmmmmmmmmmmmmmmkmjmjf.cccfffffffffff#f#ffffffffffcffccfcfcfcfcfcfccfcfcccfccfc..cc.c.c.c..c.....c.c.ccccccccccccccccggggggggggggggggggggggggggggggggggggggggggggggggghhggh..c.......................c..c......c................",
"...........c...c....c...c.........c.........c..c........c..ccccccccccccfccc#ddddiiddddddddddddddddddddddddddddddddadaddddddddddddda#cccccccccccccccccccccccccfcfcfcfccccejjmmkmmkmkmkkkmkmkmkmkkmmkmmmkmmmmmmmmmmmmmmmmmjmjmjfcccff#ff#ff#f.fffffffffffcfcffcfecfcfcfcfcccfcfcccfcccccccc.c.c..........c..c.c.cccccccccccccccggggggggggggggggggggggggggggggggggggggggggggggggghhgggf.....c....c..c..c................c...c.....c..c.....",
".............c...c....c....c..c.....................c...c.ccccccccccccccecccbdddiibddddddddddddddddddddddddddddddddddddddddddddd##.cccccccccccccccccccfccfccfcccfcfffcccemjmjjmkkkkmkmkkmmkkkmmmkmmkmkmmmmkmmmmmmmmmmmmmjmjmj..cc.f..f.f.f.#f.f.f.ff.fcffffcfccffcfcfccfcfcccfccccccc.c..c...c.c...c..c..c.c.c.ccccccccccccccgggggggggggggggggggggggggggggggggggggggggggggggggghhggef#......c...........c...c..c...c.......c............",
"......c.c.c.........c....c.....c..c...c..c..c..c..c.......c.ccccccccccccfcccaddddiddddddddddddddddddddddddddddddddddddddddddda#cccccccccccccccccccccccccccfcccccccfccccchmjmjmkmkmkkkkmkkkmmmkkkmmkmmmmmkmmmmmmmmmmmmmmmjjjjl#cccf#f.f.f.f.f.f.f.f.f.fffcfcffcfcfcfcfcfcfccfcccccfcc.ccc.c.c.c..............c.ccccccccccccccccchggggggggggggggggggggggggggggggggggggggggggggggghhggg##....c.....c..c..c.............................c...",
"...c...........c...........c........................c.c.c.c.ccccccccccccffcccddddiidddddddddddddddddddddddddddddddddddddddd##.cccccccccccccccccccccccccccccccfcfcfcfcccclmjjjmmkkkkkmmkkmkkkmmmmkkmmkmkmkmmkmmkmmmmmmmmkmmmjl#ccc.f..f.f.f.ff.f.f.f.f.cffcfccfcfcfcfcfccccccfccfcccccc..c.c....c.c.c.c...c...c.cccccccccccccccccccceeggggggggggggggggggggggggggggggggggggggggggghggge...c....c...........c..c.....c.......c..c.c........",
".......c..c.......c....c.........c..c...c..c....c.c......c.c.ccccccccccccfcccbddddibdddddddddddddddddddddddddddddddddddda#.ccccccccccccccccccccccccccfccfccfccccccffccccjmjmjkmkkkkkkkmkkkmkkkkmkmmkmkmmmkmmmkmmmmmmmmmjjjjm##.c..f.......f...f...f..ff.cfcffcfcfccfcccfcffccccccccc.c.c....c.c...............ccccccccccccccccccccccccccffeggggggggggggggggggggggggggggggggggggghhggg............c..c..c................c........c..c...",
"...c.c......c..c....................................c.c.....ccccccccccccceccc.ddddiidddddddddddddddddddddddddddddddddd##.ccccccccccccccccccccccccccccccccccccfcccfcfccccjmjjjmkkmkkkkkkkmkmkmkmkkmkkmmmkmkmkmmmmmkmmmmmkmmjj##cc...........cf...f.......f.c.cfcfcccfccfcccccfccccccf.c.c.c.c....c.......c..cc...ccccccccccccccccccccccccccccccfheggggggggggggggggggggggggggggggghhhggfc....................c....c..c..c...c.c...........",
".........c.........c..c..c...c..c..c.c...c.c..c..c........c..ccccccccccccffcccddddiiddddddddddddddddddddddddddddddda#.cccccccccccccccccccccccccccccccccc.c..cccfccfccccejmjmjmmkkkkmkkkkmkkkkkkkmkmkkmkmmmkmmkmkmmkmmkmjjjmm##c..f...f..fc....c..f.cf..c.c.ffccccfccfccccccccfcccfcc.c.c............c.c..c....ccccccccccccccccccccccccccccccccccccccefhgggggggggggggggggggggggggghhggh.........c.....c.c.........................c..c...",
"....c......c...c........c...........................c.c..c.ccccccccccccccceccc#dddbibdddddddddddddddddddddddddddd##.ccccccccccccccccccccccccccccccccfcfcc.c....c..fccccemjmjjkkkkkkkkmkkkkmkkmkmkmkmkkkmkmmkmmmkmmmmmmkkmmjj##cc....c...........c...c.f.....c.fccfccccfcfccfcccfcc.cc.c..c..c...c............c..ccccccccccccccccccccccccccccccccccccccccccheggggggggggggggggggggghhhggc..c.c..............c..c..c...c....c..............",
"..c..........c......c......c..c..c......c...c..c........c......cccccccccccfccc.ddddiidddddddddddddddddddddddddd#.cccccccccccccccccccccccccccccccccfc.c.c.c.c.cc.ccfcccchmjjmjmkkkkkkkkkkkkkkmkkkkkkmkmkmkmkmkmmkmkmmkmmjjjml##c..................c......c.c..c.fccccfcccccccccccc.c....c..c...c........c..c...c..cccccccccccccccccccccccccccccccccccccccccccccccehhggggggggggggggghhggh.........c.c.c.c.c............c......c...c...c...",
".....c..........c............c........c...c.........c..c..c.c.c.##cccccccccecccaddddibdddddddddddddddddddddd#..cccccccccccccccccccccccccccccccccccc.c.c...c....c.fccccclmjmjjkkkkkkkkkkkkmkkkkkmkmkkmkkkmkmkmkmmmmmkmkkjmjml#.........................c.f..c....c...cfcfcfcc.c..c.c.c.c...........c.c....c...c.cc.ccccccccccccccccccccccccccccccccccccccccccccccccccceheggggggggggghhggc.c..c.c...........c..c.c.......c..c.............",
".......c.c.c.......c..c....c...c..c.c.........c.c.c........c..####ccccccccceccc#ddddiddddddddddddddddddddd#..ccccccccccccccccccccccccccccccccccccc.c.c.c...c..c.cc.ccccjmjmjjmkkkkkkkkkkkkkkkkkkkkkmkkmkmkmkkmkkmkmkmmkjmmjl#..c.............................c...f.c.c..c.fc.c.c.c.c.....c..c.c............c...c.ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccehhgggggghgge#.....#.#######aa#........c.........c..c....c...",
"...c............c.......c..............c..c..........c..c...#.##aa#cccccccccecccbdddiiddddddddddddddddda#ccccccccccccccccccccccccccccccccccccc.c..c.....c.c.c.c..f.ccccjjmjjmkkkkkkkkkkkkkkkkmkkkmkkkmkkkkkmkkmkkmmkmkkmjjjl#.c.....c.cc..cc.c.c...c.c...c.......c....c.c.c.c.c.......c....c.....c......c....c..cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccffhhhgggg##..##.#.#.###aabbb##..c......c.................",
".....c.....c..c......c.....c.....c...c......c......c.......#.##aaaccccccccccfccc#dddbibdddddddddddddd#.ccccccccccccccccccccccccccccccccccccc.c...c...c.c......c.ccccccfmjjmjjkkkkkkkkkkkkkkkkkkkkkkkkkkmkmkkmmmkmkmmkmjjmmj##....c.c..............c....c....c..c....c.c..c....c..c..c....c.....c......c...c.......cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc.c.c.cce##.##.....#...###bbbba#..c..c......c..c.c.c.c...",
".................c.c...c...........c...c..c......c......###.###aa#ccccccccccffcccddddibddddddddddda#cccccccccccccccccccccccccccccccccccccc.c.c..c..c.....c.c.c.c.f.cccfjmjjjmkkkkkkkkkkkkkkkkkkkkkkkmkkkkkmkkmkkmkmkmkkmjmj##c.........c..c...c.c...c........c.....c......c..c..c..c.............c..c.........c.c.ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc.....###...#######.####babbba#.......................",
"........c..c...c.....c......c..c.c...........c.c.....###.#.##aaba#cccccccccccecccadddbbddddddddda.cccccccccccccccccccccccccccccccccccccc..c....c.......c....c..fccccccljmjmjkkkkkkkkkkkkkkkkkkkkmkkkkkkkkkkmkkmkkkmkmmjjjml##cc..c..........c........c..c.cc..c..c....c..c..c..c.......c.c...............c..c....c..cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc.c.c.#.....#.#a#####.#####abbba#.c....c.c..c..........",
"...c.........c...c.......c..........c.............###.#.####abbb#.cccccccccccfccc.dddbdddddddd#cccccccccccccccccccccccccccccccccccccc.c.c..c....c...c...c..c.cc.cfcccchmjmjjkkkkkkkkkkkkkkkkkkkkkkmkkkmkkmkkkkkkmkkkkkjmmjl##c..c...c...........c......c........c..c....c........c..c.......c.....c..c.....c....c.c.ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc.c..#...###a#baba##...#####bbbb#..c.........c........",
"......c.c..c...................c.........c.c....##.#.###a#ababba#ccccccccccccfecccddddddddda.ccccccccccccccccccccccccccccccccccccccc.c.c..c...c...c...c..c.c...c.cccccjmmjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmkmkmmkmjjmjml#.c....c.........c......c......c...c..c.............c.......c..c.....c.............c..c.cc.cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc.c.c..#...##a#abbbbba##.....###abba#...c.c.......c..c...",
"...c...........c......c..c.c........c..c.....###.#.####aaabbbbb#cc.ccccccccccceccc#dddddd#ccccccccccccccccccccccccccccccccccccc.c.c...c.....c.......c.......ccc.cfccccjjjmjmjkkkkkkkkkkkkkkkkkkkkkkkkkmkkkkkkkkkkkmkkkmjmjl#.........c..c.....c..c...c................c.c.c......c.c........c.....c........c.c....c..cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc..#...###bbbbbbb#####.....###bbb#....................",
".........c........c.c...........c.c........###..####aabaabbbbba.c.ccccccccccccffcc.ddda.ccccccccccccccccccccccccccccccccccccccc.c.c.......c...c.c.c.......c....c.ccccfjmjmjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmkkkkkmkkkkjmjmj##.c.....c........c.............c......c...........c...........c....c.c......c.c......c.....c.cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc.c.....##abbbbb#.#....###...###bbb#c....c.c..c..c.c...",
"...c.........c..c.....c.c..c..c.....c....##...###aabbabbbbbbbl.c.c.cccccccccccceccc##.ccccccccccccccccccccccccccccccccccccccc..c.c..c.c.....c.........c..c.c.c.cfccccfjmjjjmjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjmjj##...c.c....c..c...........c......c......c..c...c....c...c.......c.......c........c.c....c..c.c.cccccccccccccccccccccccccccccccccccccccccccccccccccccccc..#...#aabbbb#..........##....#abbb...................",
".......c.c...........................c.#.#..###aababbbbbbbbba#..c.cccccccccccccfeccccccccccccccccccccccccccccccccccccccccc.c.c..........c.c...c..c..c..c....ccc.cccccljmjmjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmkkkmkkkmkkjmjmj##.c.....................c...........c........c....c.........c.c.......c....c...c......c..c.c.c.cccccccccccccccccccccccccccccccccccccccccccccccccccccccc.#...##abbb##.c..........##...##bbb#c.c..c..c..c..c...",
"...c.c...........c.......c..c..c.c.....#..###aaabbbbbababbbb#....c.ccccccccccccccffcccccccccccccccccccccccccccccccccccc.c.c......c..c...................c.c...cc.ccccljmjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmkkkkjmjml##c..c.............c.c.c.........c.......c......c....c..c..c......c...........c................c...ccccccccccccccccccccccccccccccccccccccccccccccccccccc.....##abbb#....c..###a#..##..##abb#..................",
"...........c.c.c....c................##..###aabbbabbbabbbbba#c...c..cccccccccccccccccccccccccccccccccccccccccccccccccc.c.c..c..c..c...c....c........c......c.ccfcccccjjmjmjkkjkjkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjmjml#.c...c...c....c.c.......c.....c......c......c.........................c...c.....c....c.c..c....c.c..c.cc.cccccccccccccccccccccccccccccccccccccccccccccc#...##abbb#......##.##bb#..#...##bba.c..c..c.c.c..c...",
"......c.c........c....c..c..c.c.....#..###aabbbbbbbbabbbbbl....c..ccccccccccccccccccccccccccccccccccccccccccccccccc.c.c.......c.....c...c.............c.c...c.cc.ccccjmjjjjjkkjjkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmjmjl#.c.........c......c.......c.c....c.....c............c...c..c......c.....c...c......c.....c..c....c.c...c.c.c.ccccccccccccccccccccccccccccccccccccccccc.#...##abba..c.c.#...##bbb..##..#abba..................",
"....................................#..##aabbbbbbbabblbbba.c.c...c...ccccccccccccccccccccccccccccccccccccccccccc.c...c......c...c.c..........c.c.c..c.....cc.c.cccccfjjjmjmkkjjkjkjkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjjmj##....c.c..c..................................c.....c...........c.c...c.c.......c..c.....c.......c........c.c.c...c.ccc.cc.ccccccccccccccccccccccc.##.c...c..##bbb#c....##..##abba.c.#..##bba......c.....c.....",
"...c..c..........c.c..c..c.........#..##aabbbabbabbbbbbbl#......c.c.c.cccccccccccccccccccccccccccccccccccccccc..c......c..c.........c..c.............c.c.c.c.cc.ccccfjmjjjjjjjkjkkjkkkjkjkkkkkkkkkkkkkkkkkkkkkkkkkkkmmjmj##.c...........c...........c...c.c..c....c.c....c.c.....c..c..c......................c.....c.c..c..c..c.....c..c.c...#.#.#.####.##.##.#..##.#.#####aa#.c#...##abbb...c..#...##bbba...#..##bbb..................",
".........c..c..c...............c..#..#a#bbbbbbbbbbababbbaaa#a######.##.##.cccccccccccccccccccccccccccccccccc.c.c.c.c.c..c.....c.............c..c...c......c.c.ccccccejmjmjjkjjjkjjkjjkjkkkjkkkkkkkkkkkkkkkkkkkkkkkkjjjjmj##................c...c..c...c.........c.....c........c...........c.........c......c..........c.....c..c..c..c......#...#.##.#.##.#.#.#.##.......###ba...#...#abb#.c...#...###bbb#...#..#bbba..c..c..c..c..c...",
"...c.c............c...c.c...c....#..##aabbbabblbbbblbbbbbbbbabbbbbaa####a#.cccccccccccccccccccccccccccccc...c.............c.c......c.....c.......c...c.c...c.cc.cccclmjmjjjjkjjkjkjkjkjkjkkkkkkkkkkkkkkkkkkkkkkkkkkkjmjml##c......c..c...........c.......c..c...........c........c.c..c..c...c....c....c.c.....c...c.......c.............c..#...#.#..#..#..#...#....##.#.###baa#.#...##abba.....#....#babb#...#.###bba.......c..........",
".......c..c..c..c...c.........c.##.###abbbbbbbbbbbbbbbabbbbbbbbbbaaa##aaab#cccccccccccccccccccccccccccc.c.c...c..c....c.c......c.c...........c.c........c..c.cccccccjjjmjjkjjkjjjjjkjkjkjkkjkjkkkkkkkkkkkkkkkkkkkkkjjmjml#..c.c.c......c.c..c..c....c............c...c.......c.c...............c....c........c.......c.......c..c..c.c.c..c.#....#.#.#.#.#.#.##.#.##...####aabb#.#...##abb#.....#...##abb#...#..##bbb#...c.....c....c...",
".......................c..c.....#..##bbabblbbbababbabbabbabbbababababaabal#ccccccccccccccccccccccccc.c....c.....c.........c..c......c..c..c......c.c.c...c.cc.ccccccjmjjjjjjkjjkjkjjkjjjkjjkjkkkjkkkkkkkkkkkkkkkkkkjjmjml#........c......................c..............c.c..........c....c...........c....c...c..c......c..................#.....#.#.#.#.#.#..#.#.#######aaaba#.#....#abba.c...#..###abba####.##abbb#..................",
"......c..c..c..c.c...c.........#..###abbbbbbbbbbbbbbabbbabbabbbabababblaa#.cccccccccccccccccccccc.c..c..c...c......c.c............c.......................c..cccccccjmjmjmjjjkjjjkkjjjjjjkkjkjkjkkkkkkkkkkkkkkkkkkkjmjmja#.c..c.c...........c..c.....c.c.......c...c............c..c.........c..c.c.c...............c..c.......c..c.....c...#...#.#.#.##.#.#..#.#..#.###aabbbb#.c#...##abb#.....#....##abba##..##bbbb##..c.......c..c...",
"...c...............c...c..c.c.#..###bbbbbbbbablbblbbblbbbabbababbabbbbb#..ccccccccccccccccccccc.c.c.c.....c...c..c.........c........c.c.c.......c..c.c.c.c.ccc.ccccfjjmjjjjjjjjjjjjjkkjkkjjkjkkjkjkjkkkkkkkkkkkkkkkjmjmja#.c........c............c.c.......c..c............c.........c..c.c............c....c..c.........c................c.#.#.....#.#.#.#.#.#.#.####aaabbbb##..#...###bbb.....#...####a#a#..##bbbb#......c............",
"........c..c.c................#..##abbbbblbbbbbbbbbbbbabbblbababbbbbbl#..c.cccccccccccccccccc.c.c.....c.....c.........c..c......c.c...........c.........c.c..ccccccejmjjjjjjjjkjjjjjjjjkjjjkjkjjkjkkkkkkkkkkkkkkkkjjjmjj##....c........c..c..c......................c.c........c..c..........c.......c....c............c...c..c..c.c..c.c....#.##....#.#.#.#.#.#.#.###abbbaa#....#....#abbb#.c..#.....#########abbba.c..........c.c.c...",
"...c...........c..c..c..c....#..##abbabbbbbbabbbbbbabbbabbbbblbbbbbba#....c.ccccccccccccc.c....c........c.....c.c.c........c.c........c..c.c.....c....c..ccccc.ccccemjmjjjjjjjjjkjkjjkjjjkjjjkjkjkjkjjkkkkkkkkkkkkkjmjmj#.c..........c................c..c...c..c.......c...c.......c..c........c.c.....c...c.c..c..c...........................##....#.#.##.#.#..#.#abbba#.c.c.c.#..###bbb#.....#..#.####.###abbbb#....c...c.c.........",
"........c.c..c...............#.###babbbbbbabbbbbbabbabbbbababbbbbbba#.c.c.c.c.cccccccccc.cc.c.c...c......c..c.......c.c..c..........c..........c.......c.c..cccccccjmjmjjmjjjjjjjjjkjjjjjjkjjjjkjkjkjkkjjkkkkkkkkkjjjmjl##c....c...c......c..c...c................c..c.........c..c......c............c..................c..c..c....c.c......c....##...#.##.#.#.#.###abba#.c......#...###bba.c.c.##.......####bbbb#...c.................",
"...c............c..c........#..##bbabbblbbbbblbabblbbablbbbbbbbbbb..c....c.c.c.c..c..c..c..c.......c.c........................c.c.....c....c.....c.c.c...ccc.ccccccjjjmjjjjjjjjjjjjjjjjkjjjkjkjkjjjjkjkjkjjkjkkkkkjmjjml#...c.c......c.c.......c...c..c....c..c........c..c..c..............c.c..c.c......c......c..............................c..#..#.#..#.#.#..#.#bbb#...c.....#...##abbb#......#....#.##bbbbba..c...c.....c.c.c.c...",
"......c.c.....c.........c..#..##aaabbbbbbabb#bbbabbbbbbbbabbbbbba#....c.c....c...c.c.c...........c......c....c...........c........c.c....c...c........c.c..ccccccccjjmjjjjjjjjjjjjjjjjjjjkjjjjjkjjkjkjkjjkkjkkjkkjjjjmma#.c......c......c..c.........................c..........c.........c...........c.....c.......c.c..c.c..c..c..c..c..c...c.....#...###.#.#.#.####bbb##.......#....###bbb.c...#.#....##abbbba#c.........c...........",
"...c............c....c....#..##abbbblbbbbba.a#aabbabaabbbbblbbb......c...c.c..c.c..c..c.c...c..c.....c.........c...........c..c....................c...c.cc.cccccccjmjjjjjjjjjjjjjjjkjjjkjjkjjjjjkjkjjjjkjkjkjjkkjjmmjja#.c..c..................c.....c..c...c..c........c..c.......c..c....c..c.........c....c.c..c..............................##..##..##.#..#.####babbb...c..c.#....##bbb#......###.###bbbb#.........c.........c....",
".....c...c.c..c........c.##.###babbbbbabaa#####albbabbbbbbbbb##...c....c..c......c..c.....c..c.....c...c..c..c....c..c...c........c..c......c....c...c.c.c.cccccccejmjmjmjjjjjjjjjjjjjjjjjjjjjjjkjjjjjkjkjkjkkjkjjjjjmj##..........c..........c..c.....c...........c..........c...c..............c.....c................c.....c..c..c..c..c..c....#.....##.#..##.#.####abbba.c.....##...###abb#.c.....#####a###............c..c.........",
"..................#.###.#...#abbbbbbbbbbba##.##abbbbbblbbba##..c............c.c................................c....c......c.c.c........c.....c....c....c.cc.cccccemjjjjjjmjjjmjjjjjjjjjjjjjkjkjjjjkjkjkjjkjkjkkjjjmjmj##c..c........c..c...c......c.....c.c..c..c...c...c...........c..c....c.....c.c...c.c..c..c...c....c......................#...###..#.##..#.#.####abbb##.c....#...###bbbb##c..c...........c...c.c.........c.c.....",
".......c.c......####aaa##.##aabbbbbbbaaaa#######bbblbb#b##..c............c......c...c..c..c.c..c.c..c....c.c.c....c.....c.............c...c.c....c...c.c..ccccccccljmjmjmmmmmjjkjkjjjjjjjjjjjjjjjkjjjjjjjjkjjkjkjjjjmjl##cc.....c..c............c......................c.....c..c..c.............c.................c....c......c...c..c...c.....#...#.#.###.#.##.##.#.##a#bbb#......#....####bbb##.c..........c...............c.........",
"...c..........##..#aabaa###aabbbbb.##......#.##########.......c.....c...c....c...........c......................c....c....###..................c...c...c.cc.ccccccjjmjjjmmmmmmmmmmmkkkkkjkjjjjjjkjjkjjkjjjkjkjjjkkmjmjl##...c.........c..c..c.......c....c.......c..c....c...........c..c.c........c.....c..c..c.....c.....c.c..............c..##..#.#.#.#.#.#..#.#.#.####bbba..c..c.#....###aabbb###.c..........c..c..c.c.........c....",
"............###.###abbbbaaaabbbb##....c...........c...c...c.....c.c..c............c....c.......c....c...c..........c...c.##aba...c..c..c..c..c......c.c.c.ccccccccjjjmjmmjmjmmmmmmmmmmmmmkkkkkkjkjjkjkjjkjjjjkjjjjjjmja#.c...c...c..c..........c.......c..............c.......c..c............c..c.....c.................c......c...c...c.........#..#.##.#.#.#.#.#..#..###bbb#.......#....####abbbbb##...c...................c.........",
"...c....#####..##aabbbbbbbbbbbb#..c....c.........c..c...c...c..........c..c..c.c....c......c.....c....c.....c............###ba...................c.....c.cc.c.fcccjmmjmjjmmmjmmmjmkmmmmmmmmmmmkkkkkkkjkjjkjjjjjkjjmjmjl#.......c.........c.......c..c......c..c...c.....c..c.........c..c..c.............c...c..c....c.....c......c.........c..#...###.#.#.##.##..#.#.#####bbba.c.....##.....####bbbbbb#a##....c.c.c....c.......c.c.c...",
"......###..####aaabbbbbbbbbabbb#c..........c.......................c..............c....c.......................c.........##aba.c..c.c..c....c.....c...c.cccccccccfjjjmjjmjjjjmjmmmmmjmkkkkmkkmmmmmkmkkkkkkkjkjkjjjjjmj##..c..c......c.................c.........c............c..c..c.............c....c............c............c......c..c...#..#.#.#.#.##..#..##.#.#...###bbb#.....c.##.....#######abbbbbab#####....c...c..c..........",
"...c.#...##a#bbabbbbbbbbbbbbbbba....c........c..c..c....c...............c.c.c..c....c....c..c.c.c...###..c........c.....###ba#................c....c.c.c..ccccffccccfeeljjjmmjmjjjmjmmmmmmmmjkkkkmmkmmkmkkmkkkkjjjmjmj##c..c....c.....c.c..c..c..c..c...c...c.....c..c..c..............c..c........c....c....c........c..c..c.......c.........#...###.#.##.##.##..#.#.#.####bbb#.........##.....#####a#b#bbabbbbb##a##.........c.....c..",
".....#..##aabbbbbbbbbbbbbbbbbbbb.c....c..c.c..................c.c..c..c...........c....c...........##aa#...c.c.c.....c.###ab#..c..c...c..c..c....c......cccc.cffccccccccccceeejjjjmjmjjjjmjmmmmmmmkmkkkkkmkkmkmmmjjjml##.c..........c.....................c...c............c....c..c........c..c.c....c...........c.c..........c.......c..c...#.#..#.#.##.##.#..##.#.#.#.###abb#.c....c.#..#..#....#########a#b#bbbbbba#.c..c......c....",
".....#...#bbbbbbbbbbbbbbbblbbbbb#...c........c.c..c..c.c.c..................c.c......c...c.........###b#.........c.....###ba...................c...c.cc.cc.ccccfefcccccccccccccccfeljjjjmjmjjmjmjmmmmmmmmjmkkkkmmmmjml#...........c....c....c..c..................c....c...............c..c.............c.......c..c.....c....................#...#.##.#.#..#.#.#.#..#.#.###bbbb.......c..#.##.......#########a##aa#bbbb#.......c.......",
"..c..#..###bbbbbbbbbbbbbbbbblbbb#.c.....c............................c..............................##ba.c..........c.###bb#.....c..c..c.c..c....c...c...cccccc.feeeeeefcccccccccccccccfeeljjjjmjmjjmjmjmmmmmmmmjjjmjl#.c....c........................c...c..c..c..........c..c....c...........c.c.c......c.c........c.....c........c.c.c.....#...#.#.#.#.##.##.#.#.#.#...##abbb.c.c.c.......##.#..#.....#.########a#bbbb#c.c.......c...",
".....#...##babbbbbblalblbbbbbbbb#....................c....c.c..........c..c.....c....c.c..c..c..c..#.#ba...c....c.....###b##c.................c....c..cccc.cccccccfffeeeleeeffcccccccccccccccceeljjjjjmjmjjmjmjmmjmjm##....c...c..c...c...c...c..c..c..............c.c...c................c...........c...........c....c.c......c.............#..##.#.###.#.##.#.#..#.#.#.##abba#........c.....#.#......#.......####abbbb#..............",
"...c..#..###lbbbblba#####abbbbbba.......c..c....................c..c.c......c......c...............####b#c....c......###ab#.....c..c.c....c......c....c..ccccccccccccccccffeeleleeefcccccccccccccccffelljjjjmjmjjmjmja#c.c..............................c.c......c...........c.c..c..c......c..c...c....c...c.......c.......c........c....c...#....#.##..#.#..#.#.#.#..#.###bbb#.................##.#.#...#.#.#..##a#bbbb#....c...c.c...",
"......##...#abbbbb#######bbbbbbba.c..c.......c.c.c.......c...c...........c.....c.........c..c.c....#.#ab#...c....c....##b#...c................c......c.c.cccccccccccccccccccccfffeeeeeeeffccccccccccccccccfeljjjjjjmj##.c..c.c..c...c...c.c...c..c....c......c.c.....c..c...............c........c....c.........c.c.......c....c...c...c......#...##.#.##.##.#.#.##.#.#.#.##bbba......c..c.........##.#.........###bbbbbb#...c..........",
".......#.#.##bbbbba##..###blbbbbb#.........c.........c.c.......c..c..........c...c..c............c.#.##b#.c..........##ab#......c.####......####.c..c.c.ccccccccccccccccccccccccccccfffeeeeeeeefcccccccccccccccfeellla#c....................c.......c......c.................c.c.c..c.......c......c....c..c..c......c...........c.........c..#...#.#.##.##.#.#.#.#..#.#.###bbb#.c..c..........c.....#.########.###bbbbb#..c.....c..c...",
".........###abaa####.#..#bbbbbbbb#.c..............c......c............c...c...........c.c.c.........#.#ba#.......c..###ba.....c...##aaa###a#aabba..c....c.cccccccccccccccccccccccccccccccfffffeeeeefffccccccccccccccf....c.c..c.....c..c......c.c..c...c......c..c......c................c......c.........................c...c.......c..c....#....###.#.#.##.#.#.##.#.#.##bbbb#......c....c..c.....c....#..######aa####.......c........",
"...c.c....####...c...#..##bbblbbb#......c....c................c..c..c...c....c....c.c...............####b#c...c.....##ab#........#.##abbba#aabbb#...c..##.cccccccccccccccccccccccccccccccccccccccffeeeeeefffcccccccc.cc...........c........c................c......c......c..c...c...c.....c............c...c..c......c.....c...c...c..........#...#.#.#.##.#.#.#..#.#..###abbb#c........c........c.....c..........#.#....c.........c...",
"...............c.....#.###bbbbbbba..c.....c....c...........c..............c....c........c..c.c.c....#.#ab#......c..#.#ba#..c.....#.#abbbaabbbbbb#.....#######cccccccccccccccccccccccccccccccccccccccccfffeefeeea###f.....c...c...............c...c....c..c.......c....c........c................c.....c...........c.c...c.c.............c..c...#..#.#.##.#.#.#.#.##.#.####bbbb##.....c.....c....c...c................c.c....c...........",
".....c.....c.c......#..##bbbbbbbbb#....c...........c..c........c.c.....c....c....c....c..........c....##aa..c.c....###ba.c.......#.#abbbbbbbaba#...c....#aaba#cccccccccccccccccfccccccccccccccccccccccccff#ff###l##f........#.....c....c..c..####.c.........c.....c.......c......c....c....c.c....c.c.....c..c..c...................c........c.##....#.#.#.#.##.#.#.#.####abbb#c...c.....................................c....c..c..c...",
".......c.c.....c...##.###bbbbbbbbbb.c.........c..c......c.c.c......c.c.............c....c.c..........#.#ba#.....c.###ab#...c.c..#.#aabbaa##.#........#..##a#ab#cccccccccccccccffefccccccccccccccccccccccffff.cffea##..c....##a#.c....c......###ba#..c...c.....c.c......c......c..........c.....c........c...........c.........c...c....c..c.....#...#.##.##.#..##.#.####abbbb##........c...c..c....c..c.c..c.c....c..c..................",
".....c............#...##blbbbbbbbbb#..c....c........c.c.......c.c.c..................c.......c.c.....####b#.c......##ba#c.......#.#aba#......c.....c.#..###a#bacccccccccccccffef#efccccccccccccccccccccff#fffcc.##a#..c.c.###aa#...c.....c..##abba.........c.......c.....c...........c...........c........c.c..c..c...c....c....c....c...........#......##.###.#..#.####bbbbb#c...c............................................c..c.c...",
"...c...c..c....c..#..##bbbbbblbbbbbba#..c.....c.c..........####.#....c...c........c..................#..aba......####b#.........#.#bb#.c.......c.c...#..#a##aa##ccccccccccc#fe#e#efcccccccfffccccccccccefffccf.ff#aa#.....#.#aba.....c.....###abb#...c..c....c...c............c...........c...c.......c.c...............c....c...................#.#..#.#.#..##.######bbbbbb#.......c...c.....c.c......c..c...c..c........c..c..........",
"............c....##.##bbbbbbbbbbbbbbbb##....c......#.#######abaaaba##..c....c.c............c....c.c...#.#ab#......##ab#.........###aa..c.c.c.c.....c.#.##a##aa##cccccccc.c##e#f##fccccccccfffcccccccccf#ffccc....f#a#..c.##.##bbb.c........#.ab##..............c....c....c.c....c.c..............c.c..........c....c...........c......c...c.c.c...##.......#.#.####a#bbbbbb#......c...c.................................c........c......",
"...c....c........#..##bbbbbbbbbblbbbbbbb##############.#####aabbbbbbb##...c...........c...............#.##ba...c.###bb#.c..c....#.#ba#.........c.....#.##aa#aba.ccccccccc###a..cccccccccccfefccccccccffefcccccccf.##b#c.....##bbb##..c....###aa#.c.c...c..c............c.....c..........c...c............c..c.........c..c.c.c......c...........c...#....#.#.####aaabbbbba#..c.c..........c..c..c..c..c........c..c..c.....c..c.........",
"............c....#c###abbbbbbbbbbbbbbbbbbbbba##.###.####a#aaabbbabbbbba#.c.....c.c.c....c..c.......c...#.#ab#....###b#..........#.#abbbab######.....#..##aaaaba.ccccccc..##accccccccccccc###fccccccccff#ccccccc..###b#.c.##.##abbb#........##b#..............c..c..c...........c....c..c............c.........c..c.c............c.c..................###....#.##aabbbbbb##.c.........c.......................c...........c........c.c...",
"...c..c..c.......#..#bbbbbbbbbbbbblbbbbbbbbbba#a###a#aa#ababababbbbbbbbb##.c.........c.......c.......c.#.##ba.c.###ab#...c...c..#.##bbbbbbbabba...c.#..##abbba#c..ccccc.####.cccccccccc.#####ccccccccfe#cccccccc.#.#b#.c.#.##b##bba#..c...###b#...c..c...c..............c...c................c.c........c..c..........c.......c.....c...c.c.....c......###...#.aabbbbb##........c......c...c.....c.c..c..c.....c.c..c......c............",
"..............c..#..##abbbbbbbbbbbbbbblbbbbbbbaaabaababbbbabbbbabaabbbbbba...c....c.......c.......c....##.#ab#..###ab#c.........#.##bbbbbaa#abb#c...#..#aabbb#...c...c....aa.c.cccccccc#.##acccccccff###ccccccc.c###b#..#.###b####ba......###ba.c..............................c.c....c..c.......c...c.......c..c........c.c.....c............c..........######aaab####...c.......c..c...c.................c.c..........c.....c..c..c...",
".....c...........#..##blbbbblbbbbbbbbbbbbbbabbbbbabbbbbbbbbbabbabababbbbbb##........c...c...c.c.c........###ba..#.aba....c......#.#abbbbba##bba#....#..##bbba.c.c.c.c.c.#.#a#.c.c.cccc...#aa#cccccc.f#a#cccc.cc...##b#.c.#.#bb####ab#..c..##ab#.....c....c..c....c....c...c................c..c.........c..c......c............c......c..c..c.................##.#....c.....c..c.............c..c....c...............c..................",
"........c..c.....#..###bbbbbbbbbblbbbbbbbbbbbabbbbbbbbababbabbabblbbaabbbbba.c.......................c...#.##b#####ba.c.........#.##bbbb#####a#........#aabaa#.....c....#.#a#..c.c...c..##aa.ccccccff#a#ccc.ccc.###bb#...###b######bb#...#.#ab#........c......c...c..c............c.c..c........c..c..c..............c.c..c.c.......c............c..c............c.....c..c.......c.....c.................c.............c....c.c....c...",
"...c.............#...##babbbbbbbbbbbblbblbbbabbabbbababbbaabababaababbabbbbb#..c....c...c......c..c......##.#b#a#abb#...c..c.c..#.#ab#.....##......##.##aaaaaaaa##....c.#.#ab#...c.c.c.###a#.ccccc...#a#..cc..c.#.#ba.c..##ab#.##.##bb#..###aa#c....c....c......c..........c.c................c..c.............c.......c..c.....c............c....c......c....c.............c.............c...c........c.......c.c.c.......c............",
".....c...c...c.c..#..###albblbbbbbbbbbbbbbabblbbbbabbblbabbblbaa#a#aaababbbbb#........c.............c.....#.###a#aba............#.##b#.c...c.c...c..#.#aaa#a#aaabaa#..c.#.##b#..c.c.c.#.##b#..c..c.f.#aa#.c.c...##ab#....###b#...#.##ab#.###b#....c...c.....c.......c..c.......c...c..c..c............c.c.c......c.c........c.....c...................c.c...c.....c.c..c..c.......c..c..c...c........c......c............c.......c..c...",
"..................##...##bbbbbbbbbbbbbbbbbbbbbbbbabbabbbbabbba#####bablabbbbbb#.c.c.......c.c.c...........##.###abba....c.......#.##bb#........c....#.#bba#######abba##.##.#ab#c.......###b#.c.c.c.#..#aa.c.c.####bb#c...###b#...#..##ba###ab#..........c.......c........c..c....................c...........c...........c....c.c......c.c.c..c...c............................c................c..c..........c......c......c...........",
".......c...c.......#...#a#abbbbbbbblbbbbbbbbbbbblbbbbbbabbbbbaa#.###a#abbabbbba......##a#.............c....#...#abb#..c.....c....#.##bb#..###......###aaaa##.#.####abba#.#.#ab#...c.c.#.#aa#c.c......##aaa...#.##aba....#.#bb#....######a##aba...c..c.........c...c..c........c..c..c..c..c.c......c..c...c....c...c.......c.......c.................c........c..c....c..............c.....c............c..c....c......c.........c..c...",
"...c..............c.#....#aalbbbbbbbbbbblbbbbbbbbbablbbbbbbbba##...##babababbbb##c..###ba#....c.............#.##abb#....c........#..##bba#aab#.c.c..##a#...####.###aaab###.##bb.......###aa#...c..c#...#aaa#####bbb#....####b#.....#..###aabb#..........c..c....c...........c..................c........c....c.........c.c.......c....c.....c..c.........c.................c...c.............c..c.c..c............c.........c..c........",
".....c.c...c..c.c....##..##abbbblbbbbbbbbbbblbababbbbbbbbbb###.##..###ababblbbbba..#.##bb#.c.....c..c....c..##.#abb..c....c...c...##.###bbbbba.....#.#ab.......#####a#######abb#.c......#aa..c..c.c.##.###ab###bbb#.c.c..##bb#c.c...##.###abb#c....c..c.............c..c........c..c......cc.......c......c....c..c..c......c...........c..............c.......c..c..c.c.c.......c..c..c.c.c...............c...........c..c.........c...",
"......................#...##bbbbbbbbblbbbbabbbbbabbbbbbbl##..c..#...##aabababbbbba####abb#...c................##ab#...............#.#.###abbb#......##aa#..c..c.......##.#.#bbb#...c..###b#..........#...###bbbbb##.....###b#........#..##bba....c........c.....c.........c.....................c......c.........................c...c...c.c..c..c..c....c..c..............c.................................c...c.c.c.......c..........",
"....c....c.c.c.c..c....##.##abbbbbblbaaababbbblbbbbbbbb#...c.....##.###ababbbabbbba###bbb#.c....c..c..c.c..c.###a##....c....c....c.#.###a#bb##......##aa.c.............#..#abba.c.....###b#....c.c....#####aabbb#.......##a##....c....####bb#......c..c.....c.c...c..c..c...c...c...c..c....c.....c............c...c..c......c.....c...c...............c........................c..c.............c......c.c................c.....c..c...",
"..c...c....#...........#...#blbblbbbaa#aabbbabbbabbbb##........c..#..##bbababababaaabbbbb.....c.................#....c................#.####....c...####....c..c.......#.##bbb#......c.####.c......c....####aa##.......................##aa#.c.c................c.............c..........c.............c.....c...........c.c...c.c............c...c.........c..c.........c..c..c........c...c..c...c.c..........c......c.....c..........",
".........###aa###.###..##.##abbbbbbbb#a#blbbbab#aaba###....c.......#.##aabababbabbabbbbb#...........c..c..c.c......c.....c...c.c..c..c............c................c.c.###aa##...c.......#....c......c.c...##.......c.......c.......c...##............c..c.c..c.........c..c....c....c.......c....c.c....c.c.....c..c..c.................c.........................c...c..........c...c.......................c...c......c.c...c.c..c...",
"........#.##bbbbbbbaa####.##babbbbbbba#aabbbaa#a###aabb#a#.#.######.##abbabablbbbbbbbbb##..c....c...............c.....c................c..c....c....c.c.....c............#.........c............c...........c.........c.......c.......c....c..c..c...........................c.........c........c.....c........c...........c.........c.....c.c...c..c...c.c..c...............c..c........c.c..c....c.....c..........c...................",
".....c.#..##abbbaabbbbb####aabbbbbba##a####a#########abbbbb########.###aablbbbbbbbabb##..c...........c..c.....c............c.....c...c.......c.........c..c....................c.....c.....c.............c......c..c......c.......c.....c..............c.c....c...c..c...c.....c..c.........c...........c........c.c..c..c...c....c....c.......c................c.c..c.c............c............c.....c...c..c..c...........c......c...",
"...c...#..#abaa#a##bab#baaaaaabbbbba....#......#..###bbbb#a###ab#####bbbbbababbb#.#........c..c..c..........c....c....c........................c............c.c.c..c.c.c.....c..................c..c.........c....c...........c.c..................c............c......c............c..c..c......c...c.......c.c...............c....c......c.....c...c..c..c..............c...c..........c.........c.c.................c.c.c............",
".......#.###bbb####aabbbbabaaaalbbb#.c.......c.##.##bab#b####b#bb#b#babababbbbbb#.c...c.............c.....c....c...c....c..c..c..c...c......c....c..c.....c................c.....c...c...c..c.c.....c..c...c....c.......c...c........c..c.............c...c...c....c.....c..c..c........................c.c..........c....c...........c...........................c.....c...c.....c..c.c.......c........c.....c..c...c...........c..c...",
"...c...#.##bbb######bbbbbba##aabbbb#...c...c...#.##abaaa#####abbbbbbbabababaabbba..........c...c.....................c.............c...c..c......................c......c....c.....c...c........c..................c.c.............c......c.c..c.c......c........c...c............c....c..c....c...c............c..c.........c..c.c.c.....c.....c...c..c.c..c..c..........................c..c...c......................c.....c.........",
".......###abaaa#####abbblbba##aabb#.c....c......###abbaa#.####bbabbababblbabbbbb#..c...c.c............c.c..c......c......c..c..c................c....c...c.c...c...c............c.....................c..c.c..............c..c........................c.....c............c....c............c..c............c.........c..c.c............c.....c....c...............c..c..c..c.......................c...c..c..c.....c......c....c..c.c...",
"........####.....#############a##.....c.........#############ba#aaaaa#a#a#aaaaa#.....c......c..c.c...........c..c......................c..c..........................c..c..............c.......c..c..........c.c...............c..c..c...c...c..c...c....c.......c..c.....c..c.........c............c.c........c..c..........c.......c.........c......c......c...............c..c.c...c...c.....c.......................................",
"............c.....c...c........c...c.....c...........c.c..............#.#...c...c.........c........c..c.......................c...c.........c.c...c.c..c.c...c..c...........c...c....c.....c.c..........c...........c.c.c..c...............c.................c.c..................c......c...c..c.......c...c.......c..c........c.c.....cc..............c......c....c..c...c..................c......c...c..c..c..c.c..c.c..c.c..c......",
"...c..c.c.c...c..c.c....c.c................c.............c....................c.........................c.....c....c.c..c.......c...c..c............................c...c.c........c....c......c..c.........c.....c............c.c.c..............c..c...........c...c.....c..c.....c.............c..c.........c..c......c............c.....c....c..c.....c.c......c...........c..c.c..c.c........c.....................................",
"......................c.........c..c..............c..c..........c...c..c............c...c.c.....c...c.......c....c.......c..c................c..c.c...c....c.c....c...c.......c..c.......c............c...c...c.............c.........c.c.c.....c........c..c............c.......c.....c..cc..c........c..c..c..............c.c..c.c......c...................c..c........c................c..c......c.....c....c......c..c.c....c..c...",
"...c..c.....c..............c.........c....c..c.........c..c.......c...c.....c..c.c....c.....c.c.........c.....c.......c..........c..c...........................c..................c.......c...c..c.............c......c......c.............c......c...c..........c..c.....c.......c.................c..........c.........c...........c.....c..c..c..c...c..............c...c...c....c...........c.....c................................",
"................c.....c......c....c.....c.......c....c....................c........................c.c....c......c......c..c...c..........c.c..c...c..c..c....c.........c...c..c.....c..c...........c...c..c.......c.c..........c.........c...c..c...c.......c..c.....................c..c...c..c........c..c.......c..c....c..c....................................c.c.......c..........c.....c.............c..c..c.c......c..c..c.c...",
"...................................................................................................................................................................................................................................................................................................c..........c...c..............c.....c................................................................................................"
};

1025
images/banner_bw.xbm Normal file

File diff suppressed because it is too large Load Diff

28
images/bold_bw.xpm Normal file
View File

@ -0,0 +1,28 @@
/* XPM */
static char * bold_xpm[] = {
"20 20 2 1",
" c #BFBFBFBFBFBF",
". c #000000000000",
" ",
" ... .... ",
" ... ..... ",
" ... ... ",
" ... ... ",
" ... ... ",
" ... ... ....... ",
" ........ ....... ",
" .... ... ... ",
" ... .. ... ",
" ... ... ... ",
" ... .. ... ",
" ... .. ... ",
" ... .. ... ",
" ... ... ... ",
" ... .. ... ",
" .... ... ... ",
" ........ ... ",
" ... ... ... ",
" "};

265
images/bop.xbm Normal file
View File

@ -0,0 +1,265 @@
#define bop_width 118
#define bop_height 259
static char bop_bits[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x40,0x00,0x00,0x80,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x40,0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x01,0xc0,
0x00,0x40,0x00,0x00,0x20,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x4c,0x02,0xc0,
0x00,0x40,0x00,0x00,0x10,0x80,0x00,0x00,0x40,0x00,0x00,0x00,0x42,0x04,0xc0,
0x00,0x40,0x00,0x00,0x10,0x80,0x00,0x00,0xa0,0x00,0x00,0x00,0x41,0x08,0xc0,
0x00,0x40,0x00,0x00,0x10,0x80,0x00,0x00,0x10,0x01,0x00,0x80,0x40,0x10,0xc0,
0x80,0xff,0x1f,0x00,0x10,0x80,0x00,0x00,0x08,0x02,0x00,0x80,0x40,0x10,0xc0,
0x00,0x40,0x00,0x00,0x10,0x80,0x00,0x00,0x04,0x04,0x00,0x80,0xff,0x1f,0xc0,
0x00,0x40,0x00,0x00,0x10,0x80,0x00,0x00,0x08,0x02,0x00,0x80,0x40,0x10,0xc0,
0x00,0x40,0x00,0x00,0x10,0x80,0x00,0x00,0x08,0x02,0x00,0x80,0x40,0x10,0xc0,
0x00,0x40,0x00,0x00,0x10,0x80,0x00,0x00,0x10,0x01,0x00,0x80,0x41,0x18,0xc0,
0x00,0x40,0x00,0x00,0x10,0x80,0x00,0x00,0xa0,0x00,0x00,0x00,0x41,0x08,0xc0,
0x80,0xff,0x1f,0x00,0x10,0x80,0x00,0x00,0x40,0x00,0x00,0x00,0x42,0x04,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4c,0x02,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x01,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x10,0x80,0x00,0x00,0x50,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x10,0x80,0x00,0x00,0x88,0x00,0x00,0x00,0xf8,0x01,0xc0,
0x80,0xff,0x1f,0x00,0x10,0x80,0x00,0x00,0x88,0x00,0x00,0x00,0x04,0x02,0xc0,
0x00,0x40,0x00,0x00,0x10,0x80,0x00,0x00,0x04,0x01,0x00,0x00,0x02,0x04,0xc0,
0x00,0x40,0x00,0x00,0x10,0x80,0x00,0x00,0x04,0x01,0x00,0x00,0x01,0x08,0xc0,
0x00,0x40,0x00,0x00,0x10,0x80,0x00,0x00,0x02,0x02,0x00,0x80,0x00,0x10,0xc0,
0x00,0x40,0x00,0x00,0x10,0x80,0x00,0x00,0x02,0x02,0x00,0x80,0x00,0x10,0xc0,
0x00,0x40,0x00,0x00,0x10,0x80,0x00,0x00,0x01,0x04,0x00,0x80,0xff,0x1f,0xc0,
0x00,0x40,0x00,0x00,0x10,0x80,0x00,0x00,0x01,0x04,0x00,0x80,0x00,0x10,0xc0,
0x80,0xff,0x1f,0x00,0x10,0x80,0x00,0x80,0x00,0x08,0x00,0x80,0x00,0x10,0xc0,
0x00,0x40,0x00,0x00,0x20,0x40,0x00,0x80,0x00,0x08,0x00,0x80,0x01,0x18,0xc0,
0x00,0x40,0x00,0x00,0x60,0x60,0x00,0x40,0x00,0x10,0x00,0x00,0x01,0x08,0xc0,
0x00,0x40,0x00,0x00,0x80,0x1f,0x00,0xc0,0xff,0x1f,0x00,0x00,0x02,0x04,0xc0,
0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x03,0xc0,
0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x01,0xc0,
0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x10,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x10,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x01,0xc0,
0x00,0x00,0x00,0x00,0x10,0x82,0x00,0xc0,0xff,0x1f,0x00,0x00,0x0c,0x03,0xc0,
0x00,0x02,0x02,0x00,0x10,0x82,0x00,0x40,0x00,0x10,0x00,0x00,0x02,0x04,0xc0,
0x00,0x04,0x01,0x00,0x10,0x82,0x00,0x80,0x00,0x08,0x00,0x00,0x05,0x0a,0xc0,
0x00,0x88,0x00,0x00,0x10,0x82,0x00,0x80,0x00,0x08,0x00,0x80,0x09,0x19,0xc0,
0x00,0x50,0x00,0x00,0xd0,0xbf,0x00,0x00,0x01,0x04,0x00,0x80,0x90,0x10,0xc0,
0x00,0x20,0x00,0x00,0x10,0x82,0x00,0x00,0x01,0x04,0x00,0x80,0x60,0x10,0xc0,
0x00,0x50,0x00,0x00,0x10,0x82,0x00,0x00,0x02,0x02,0x00,0x80,0x60,0x10,0xc0,
0x00,0x88,0x00,0x00,0x10,0x82,0x00,0x00,0x02,0x02,0x00,0x80,0x90,0x10,0xc0,
0x00,0x88,0x00,0x00,0x20,0x40,0x00,0x00,0x04,0x01,0x00,0x80,0x09,0x19,0xc0,
0x00,0x04,0x01,0x00,0x60,0x60,0x00,0x00,0x04,0x01,0x00,0x00,0x05,0x0a,0xc0,
0x00,0x02,0x02,0x00,0x80,0x1f,0x00,0x00,0x88,0x00,0x00,0x00,0x02,0x04,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x00,0x00,0x00,0x0c,0x03,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0xf8,0x01,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0xf0,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x10,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x01,0xc0,
0x00,0x60,0x00,0x00,0x10,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x03,0xc0,
0x00,0x60,0x00,0x00,0x10,0x80,0x00,0x00,0x06,0x00,0x00,0x00,0x02,0x04,0xc0,
0x00,0x00,0x00,0x00,0x10,0x80,0x00,0x00,0x1a,0x00,0x00,0x00,0x01,0x0a,0xc0,
0x00,0x00,0x00,0x00,0x10,0x80,0x00,0x00,0x62,0x00,0x00,0x80,0x01,0x19,0xc0,
0x00,0x00,0x00,0x00,0x10,0x80,0x00,0x00,0x82,0x01,0x00,0x80,0x80,0x10,0xc0,
0x80,0xff,0x1f,0x00,0x10,0x80,0x00,0x00,0x02,0x02,0x00,0x80,0x40,0x10,0xc0,
0x00,0x00,0x00,0x00,0x10,0x80,0x00,0x00,0x02,0x03,0x00,0x80,0x20,0x10,0xc0,
0x00,0x00,0x00,0x00,0x10,0x80,0x00,0x00,0xc2,0x00,0x00,0x80,0x10,0x10,0xc0,
0x00,0x00,0x00,0x00,0x10,0x80,0x00,0x00,0x22,0x00,0x00,0x80,0x09,0x18,0xc0,
0x00,0x60,0x00,0x00,0x10,0x80,0x00,0x00,0x1a,0x00,0x00,0x00,0x05,0x08,0xc0,
0x00,0x60,0x00,0x00,0x10,0x80,0x00,0x00,0x06,0x00,0x00,0x00,0x02,0x04,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x03,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x01,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x10,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x10,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x01,0xc0,
0x00,0x00,0x00,0x00,0x10,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x03,0xc0,
0x00,0x00,0x00,0x00,0x10,0x80,0x00,0x00,0x00,0x03,0x00,0x00,0x02,0x04,0xc0,
0x00,0x00,0x00,0x00,0x10,0x80,0x00,0x00,0xc0,0x02,0x00,0x00,0x01,0x08,0xc0,
0x00,0x00,0x00,0x00,0x10,0x80,0x00,0x00,0x20,0x02,0x00,0x80,0x01,0x18,0xc0,
0x00,0x00,0x00,0x00,0x10,0x80,0x00,0x00,0x18,0x02,0x00,0x80,0x60,0x10,0xc0,
0x00,0x40,0x00,0x00,0x10,0x80,0x00,0x00,0x04,0x02,0x00,0x80,0x60,0x10,0xc0,
0x00,0x40,0x00,0x00,0x10,0x80,0x00,0x00,0x0c,0x02,0x00,0x80,0x60,0x10,0xc0,
0x00,0x00,0x00,0x00,0x10,0x80,0x00,0x00,0x10,0x02,0x00,0x80,0x00,0x10,0xc0,
0x00,0x00,0x00,0x00,0x10,0x80,0x00,0x00,0x60,0x02,0x00,0x80,0x01,0x18,0xc0,
0x00,0x00,0x00,0x00,0x10,0x80,0x00,0x00,0x80,0x02,0x00,0x00,0x01,0x08,0xc0,
0x00,0x00,0x00,0x00,0xf0,0xff,0x00,0x00,0x00,0x03,0x00,0x00,0x02,0x04,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x03,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x01,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x01,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0x3f,0x00,0x00,0x0c,0x0e,0xc0,
0x00,0x00,0x00,0x00,0x20,0x80,0x00,0x00,0x04,0x04,0x00,0x00,0x03,0x18,0xc0,
0x00,0x00,0x00,0x00,0x20,0x80,0x00,0x00,0x04,0x04,0x00,0x80,0x01,0x30,0xc0,
0x00,0x00,0x00,0x00,0x40,0x40,0x00,0x00,0x04,0x04,0x00,0x80,0x00,0x20,0xc0,
0x00,0x20,0x00,0x00,0x40,0x40,0x00,0x00,0x04,0x04,0x00,0x40,0x00,0x40,0xc0,
0x00,0x20,0x00,0x00,0x40,0x20,0x00,0x00,0x04,0x04,0x00,0x40,0x00,0x40,0xc0,
0x00,0x20,0x00,0x00,0x80,0x20,0x00,0x00,0x04,0x04,0x00,0x20,0x00,0x80,0xc0,
0x00,0x22,0x02,0x00,0x80,0x20,0x00,0x00,0x04,0x04,0x00,0x20,0x00,0x80,0xc0,
0x00,0xfc,0x01,0x00,0x00,0x11,0x00,0x00,0x04,0x04,0x00,0x20,0x00,0x80,0xc0,
0x00,0x70,0x00,0x00,0x00,0x11,0x00,0x00,0x04,0x04,0x00,0x20,0x00,0x80,0xc0,
0x00,0x50,0x00,0x00,0x00,0x09,0x00,0x00,0x04,0x04,0x00,0x20,0x00,0x80,0xc0,
0x00,0x50,0x00,0x00,0x00,0x0a,0x00,0x00,0x04,0x04,0x00,0x20,0x00,0x80,0xc0,
0x00,0x88,0x00,0x00,0x00,0x06,0x00,0x00,0x04,0x04,0x00,0x40,0x00,0x40,0xc0,
0x00,0x84,0x00,0x00,0x00,0x04,0x00,0x00,0xff,0x3f,0x00,0x40,0x00,0x40,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x20,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x30,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x18,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x06,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x01,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x08,0x00,0x00,0x00,0x04,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x08,0x00,0x00,0x00,0x04,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x08,0x00,0x00,0x00,0x0a,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x10,0x00,0x00,0x00,0x0a,0x00,0x00,0xf8,0x03,0x00,0x00,0x00,0x00,0xc0,
0x00,0x10,0x00,0x00,0x00,0x11,0x00,0x00,0x40,0x00,0x00,0x00,0xf0,0x00,0xc0,
0x00,0x10,0x00,0x00,0x00,0x11,0x00,0x00,0x40,0x00,0x00,0x00,0x08,0x01,0xc0,
0x00,0x10,0x00,0x00,0x00,0x11,0x00,0x00,0x40,0x00,0x00,0x00,0x04,0x02,0xc0,
0x00,0x20,0x00,0x00,0x80,0x20,0x00,0x00,0x40,0x00,0x00,0x00,0x04,0x02,0xc0,
0x00,0x20,0x00,0x00,0x80,0x20,0x00,0x00,0x40,0x00,0x00,0x00,0x04,0x02,0xc0,
0x00,0x20,0x00,0x00,0x40,0x40,0x00,0x00,0x40,0x00,0x00,0x00,0x04,0x02,0xc0,
0x00,0x40,0x00,0x00,0x40,0x40,0x00,0x00,0x40,0x00,0x00,0x00,0x08,0x01,0xc0,
0x00,0x40,0x00,0x00,0x20,0x80,0x00,0x00,0x40,0x00,0x00,0x00,0xf0,0x00,0xc0,
0x00,0x40,0x00,0x00,0x20,0x80,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0xf8,0x03,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0xf8,0x00,0x00,0x00,0x08,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0xf8,0x00,0x00,0x00,0x08,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0xfc,0x01,0x00,0x00,0x04,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0xfc,0x01,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0xfc,0x01,0x00,0x00,0x02,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0xfc,0x01,0x00,0x00,0x01,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0xf8,0x00,0x00,0x00,0x01,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x70,0x00,0x00,0x00,0x01,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0xf8,0x03,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x0e,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0
};

316
images/brel.xbm Normal file
View File

@ -0,0 +1,316 @@
#define brel_width 123
#define brel_height 291
static char brel_bits[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x03,0x00,
0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x80,0x01,0x00,0x00,0x0c,
0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x00,
0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x18,0x00,0x00,
0x00,0xc0,0x00,0x00,0xc0,0xff,0x07,0x00,0x20,0x00,0x00,0x00,0x00,0x06,0x00,
0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x80,0x01,
0x00,0x00,0x00,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0xa0,0xff,0x0f,0x00,0x00,
0x03,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
0x00,0x0c,0x00,0x00,0x00,0x80,0x01,0x00,0xc0,0xff,0x07,0x00,0x20,0x00,0x00,
0x00,0x00,0x30,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0xa0,
0xff,0x0f,0x00,0x00,0x00,0x03,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,
0x20,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x01,0x00,0x00,0xc0,0xff,0x07,
0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x80,0xff,0x07,0x00,0x00,0xff,0x0f,
0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,
0x04,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
0x00,0x04,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,
0x00,0x00,0x02,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,
0x00,0x00,0x00,0x01,0x00,0x00,0x04,0x00,0x00,0x80,0x03,0x04,0x00,0x00,0x08,
0x00,0x00,0x00,0xe0,0x00,0x00,0x00,0x38,0x00,0x00,0x40,0x04,0x04,0x00,0x00,
0x08,0x00,0x00,0x80,0x1f,0x00,0x00,0x00,0xc0,0x0f,0x00,0x60,0x08,0x06,0x00,
0x00,0x08,0x00,0x00,0x00,0xe0,0x00,0x00,0x00,0x38,0x00,0x00,0x20,0x30,0x02,
0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x04,0x00,0x00,0x20,0xc0,
0x01,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x02,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x01,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x01,0x00,
0x00,0x00,0x00,0x00,0x00,0xf0,0xff,0x03,0x00,0x00,0x00,0x04,0x00,0x00,0x01,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
0x00,0x04,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,
0x00,0x00,0x04,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,
0x00,0x00,0x00,0x02,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x04,0x00,0x00,0x80,0x03,0x04,0x00,0x00,
0x08,0x00,0x00,0x00,0xe0,0x00,0x00,0x00,0x38,0x00,0x00,0x40,0x04,0x04,0x00,
0x00,0x08,0x00,0x00,0x80,0x1f,0x00,0x00,0x00,0xc0,0x0f,0x00,0x60,0x08,0x06,
0x00,0x00,0x08,0x00,0x00,0x00,0xe0,0x00,0x00,0x00,0x38,0x00,0x00,0x20,0x30,
0x02,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x04,0x00,0x00,0x20,
0xc0,0x01,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x02,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x01,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x01,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x04,0x00,0x00,
0x01,0x00,0x00,0xe0,0xff,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x80,
0xff,0x07,0x00,0x00,0xff,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x22,0x00,0x00,0x00,0x40,0x10,0x00,0x20,0x08,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x22,0x00,0x00,0x00,0x30,0x0c,0x00,0xc0,0x30,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x22,0x00,0x00,0x00,0x0c,0x03,0x00,0x00,0xc3,0x00,0x00,0xc0,0x00,
0x06,0x00,0x00,0x22,0x00,0x00,0x00,0xc3,0x00,0x00,0x00,0x0c,0x03,0x00,0x00,
0x83,0x01,0x00,0x00,0x22,0x00,0x00,0x80,0x20,0x00,0x00,0x00,0x10,0x04,0x00,
0x00,0x7c,0x00,0x00,0x00,0x22,0x00,0x00,0x60,0x18,0x00,0x00,0x00,0x60,0x18,
0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x00,0x00,0x18,0x06,0x00,0x00,0x00,0x80,
0x61,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x00,0x00,0x30,0x0c,0x00,0x00,0x00,
0xc0,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x00,0x00,0x40,0x30,0x00,0x00,
0x00,0x30,0x08,0x00,0x00,0x7c,0x00,0x00,0x00,0x22,0x00,0x00,0x80,0x41,0x00,
0x00,0x00,0x08,0x06,0x00,0x00,0x83,0x01,0x00,0x00,0x22,0x00,0x00,0x00,0x86,
0x01,0x00,0x00,0x86,0x01,0x00,0x80,0x00,0x02,0x00,0x00,0x22,0x00,0x00,0x00,
0x18,0x06,0x00,0x80,0x61,0x00,0x00,0x40,0x00,0x04,0x00,0x00,0x22,0x00,0x00,
0x00,0x60,0x18,0x00,0x60,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x03,0x00,0x80,0xff,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x03,
0x00,0x80,0x03,0x04,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,
0x06,0x00,0x40,0x0c,0x04,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
0x00,0x04,0x00,0x20,0x10,0x02,0x00,0x04,0x00,0x04,0x00,0x40,0x00,0x00,0x00,
0x00,0x00,0x08,0x00,0x20,0xe0,0x01,0x00,0x04,0x00,0x02,0x00,0x40,0x00,0x00,
0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x01,0x00,0x40,0x00,
0x00,0x00,0x00,0x00,0x08,0x00,0x80,0x03,0x04,0x00,0x60,0xc0,0x00,0x00,0x40,
0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x40,0x0c,0x04,0x00,0x80,0x3f,0x00,0x00,
0x80,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x20,0x10,0x02,0x00,0x00,0x00,0x00,
0x00,0x80,0x01,0x00,0x00,0x00,0x00,0x06,0x00,0x20,0xe0,0x01,0x00,0x00,0x00,
0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xfc,0x03,0x00,0x80,0xff,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x03,0x00,0x80,0xff,0x00,0x00,
0x80,0x03,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x03,
0x00,0x40,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,
0x06,0x00,0x60,0x08,0x06,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
0x00,0x04,0x00,0x20,0x30,0x02,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,
0x00,0x00,0x08,0x00,0x20,0xc0,0x01,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,
0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x00,0x00,0x40,0x00,
0x00,0x00,0x00,0x00,0x08,0x00,0x80,0xff,0x0f,0x00,0xe0,0xc0,0x00,0x00,0x40,
0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x01,0x00,
0x80,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x02,
0x00,0x80,0x01,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x04,0x00,
0x04,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x03,0x00,0x80,0xff,0x0f,0x00,0x00,
0x00,0x00,0x00,0x00,0xfc,0x03,0x00,0x80,0xff,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xff,0x03,0x00,0x80,0xff,0x0f,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0xc0,0xff,0x07,0x00,0xc0,
0xff,0x07,0x00,0x00,0x20,0x00,0x00,0x00,0x80,0x00,0x00,0x40,0x00,0x00,0x00,
0x00,0x00,0x04,0x00,0x00,0x20,0x00,0x00,0x00,0x80,0x00,0x00,0x40,0x00,0x00,
0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x40,0x00,
0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x40,
0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,
0x40,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x80,0xff,0x0f,0x00,0xc0,0xff,0x07,
0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x10,
0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,
0x10,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,
0x00,0x08,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x80,0xff,0x0f,
0x00,0xc0,0xff,0x07,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,
0x00,0x00,0x00,0x04,0x00,0x00,0xc0,0xff,0x07,0x00,0xc0,0xff,0x07,0x00,0x00,
0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0xc0,0xff,0x07,0x00,0xc0,
0xff,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,
0x00,0xf8,0x01,0x00,0x00,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x01,
0x00,0x00,0x06,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x26,
0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x01,0x00,0x80,0x07,0x07,0x00,0x00,
0x21,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x40,0x8c,0x00,0x00,
0x80,0x20,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x20,0x58,0x00,
0x00,0x80,0x10,0x00,0x00,0x80,0xff,0x01,0x00,0x00,0xff,0x03,0x00,0x20,0x30,
0x00,0x00,0x80,0xff,0x01,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x20,
0x20,0x00,0x00,0x80,0x10,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x02,0x00,
0x20,0x70,0x00,0x00,0x80,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x01,
0x00,0x60,0xd0,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
0x01,0x00,0x40,0x88,0x01,0x00,0x00,0x09,0x00,0x00,0x00,0x06,0x00,0x00,0x00,
0xc0,0x00,0x00,0x80,0x07,0x07,0x00,0x00,0x06,0x00,0x00,0x00,0xf8,0x01,0x00,
0x00,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x01,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x40,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x30,0x00,0x0c,
0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0xd0,0x00,
0x0b,0x00,0x00,0x00,0x00,0x00,0xc0,0xff,0x01,0x00,0x00,0xff,0x07,0x00,0x10,
0x83,0x08,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x04,0x00,
0x10,0x6c,0x08,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x04,
0x00,0x10,0x10,0x08,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,
0x04,0x00,0x10,0x38,0x08,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,
0x00,0x04,0x00,0x10,0x46,0x08,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,
0x00,0x00,0x04,0x00,0x10,0x81,0x09,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,
0x00,0x00,0x00,0x04,0x00,0xd0,0x00,0x0a,0x00,0x00,0x00,0x00,0x00,0x40,0x00,
0x00,0x00,0x00,0x00,0x04,0x00,0x30,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00};

29
images/build.xpm Normal file
View File

@ -0,0 +1,29 @@
/* XPM */
static char *build_xpm[] = {
"20 20 4 1",
". c black",
" c #BFBFBFBFBFBF",
"+ c white",
"O c red",
" ... ",
" ...O... ",
" .OO.OO. ",
" ..O...O.. ",
" .OO..OOO. ",
" ..OO.OO.. ",
" .OOOOO.... ",
" ...O....+. . ",
" ...+.+++..+. ",
" .++++++++++.. ",
" .+++...+++. ",
" .++.+. .++. ",
" ..++.+. .++.. ",
" .+++.. .+++. ",
" ...+.+. .+... ",
" .++.+. .++. ",
" .+++...+++. ",
" .+++++++++++. ",
" .+..+++..+. ",
" . .+. . ",
" ... "};

30
images/close.xpm Normal file
View File

@ -0,0 +1,30 @@
/* XPM */
static char * close_xpm[] = {
"20 20 5 1",
" c #BFBFBFBFBFBF",
". c #7B7B00000000",
"X c #000000000000",
"o c #9A9A94949494",
"O c #E5E5E0E0E1E1",
" .... ",
" .. ",
" . .. ",
" XXXXX . .",
"XXooooX .",
"XooooooXXXXXXXX .",
"XoooooooooooooX . ",
"XoooooooooooooX ",
"XoooooooooooooX ",
"XooooXXXXXXXXXXXXXXX",
"XooooXOOOOOOOOOOOOOX",
"XoooXOOOOOOOOOOOOOX ",
"XoooXOOOOOOOOOOOOOX ",
"XooXOOOOOOOOOOOOOX ",
"XooXOOOOOOOOOOOOOX ",
"XoXOOOOOOOOOOOOOX ",
"XoXOOOOOOOOOOOOOX ",
"XXOOOOOOOOOOOOOX ",
"XXOOOOOOOOOOOOOX ",
"XXXXXXXXXXXXXXX "};

30
images/close_bw.xpm Normal file
View File

@ -0,0 +1,30 @@
/* XPM */
static char * close_xpm[] = {
/* width height num_colors chars_per_pixel */
"20 20 2 1",
/* colors */
" c #BFBFBFBFBFBF",
". c black",
/* pixels */
" .... ",
" .. ",
" . .. ",
" ..... . .",
" ..... .",
"............... .",
"............... . ",
"............... . ",
"............... ",
"....................",
"...... . . . . .. ..",
"..... . .. . . . .. ",
"..... . . . . . . . ",
".... . . . . . . . ",
"..... . . . . . .. ",
".... . . . . . .. ",
"... . . . . . . . ",
"... . . . . . .. ",
".. . . . . . . . ",
"............... "};

30
images/copy.xpm Normal file
View File

@ -0,0 +1,30 @@
/* XPM */
static char * copy_xpm[] = {
"20 20 5 1",
" c #000000000000",
". c #BFBFBFBFBFBF",
"X c #FFFFFFFFFFFF",
"o c navy",
"O c #B2B2ABABACAC",
" ...........",
" XXXXXXX ......o...",
" XXXXXXX O .....o...",
" X X ..ooooo.",
" XXXXXXXXXX ....o...",
" X XX ....o...",
" XXXXXXXXXX ........",
" X XX ...",
" XXXXXXX XXXXXXX ..",
" X XX XXXXXXX O .",
" XXXXXXX X X ",
" XXXXXXX XXXXXXXXXX ",
" XXXXXXX X X ",
" XXXXXXXXXX ",
"........ X X ",
"........ XXXXXXXXXX ",
"........ X X ",
"........ XXXXXXXXXX ",
"........ XXXXXXXXXX ",
"........ "};

30
images/copy_bw.xpm Normal file
View File

@ -0,0 +1,30 @@
/* XPM */
static char * copy_xpm[] = {
"20 20 5 1",
" c black",
". c #BFBFBFBFBFBF",
"X c #BFBFBFBFBFBF",
"o c black",
"O c #BFBFBFBFBFBF",
" ...........",
" XXXXXXX ......o...",
" XXXXXXX O .....o...",
" X X ..ooooo.",
" XXXXXXXXXX ....o...",
" X XX ....o...",
" XXXXXXXXXX ........",
" X XX ...",
" XXXXXXX XXXXXXX ..",
" X XX XXXXXXX O .",
" XXXXXXX X X ",
" XXXXXXX XXXXXXXXXX ",
" XXXXXXX X X ",
" XXXXXXXXXX ",
"........ X X ",
"........ XXXXXXXXXX ",
"........ X X ",
"........ XXXXXXXXXX ",
"........ XXXXXXXXXX ",
"........ "};

29
images/cut.xpm Normal file
View File

@ -0,0 +1,29 @@
/* XPM */
static char * cut_xpm[] = {
"20 20 3 1",
" c #BFBFBFBFBFBF",
". c #000000000000",
"X c #7B7B00000000",
" ",
" ",
" ",
" .. ",
" .. ",
" XXX .. ",
" XXXXX .. ",
" X XX .. ",
" X XX .. ",
" XXXXXX............ ",
" XXX ......... ",
" .. ",
" XXXX. ",
" XXXXX ",
" XX XX ",
" XX XX ",
" XX XX ",
" XXXX ",
" ",
" "};

28
images/cut_bw.xpm Normal file
View File

@ -0,0 +1,28 @@
/* XPM */
static char * cut_xpm[] = {
"20 20 2 1",
" c #BFBFBFBFBFBF",
". c #000000000000",
" ",
" ",
" ",
" .. ",
" .. ",
" ... .. ",
" ..... .. ",
" . .. .. ",
" . .. .. ",
" .................. ",
" ... ......... ",
" .. ",
" ..... ",
" ..... ",
" .. .. ",
" .. .. ",
" .. .. ",
" .... ",
" ",
" "};

141
images/deco.xbm Normal file
View File

@ -0,0 +1,141 @@
#define deco_width 137
#define deco_height 90
static unsigned char deco_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x01, 0x80, 0x01, 0x00,
0x00, 0xc0, 0x06, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x83, 0x07, 0x00, 0x00,
0xc0, 0x03, 0x0e, 0x70, 0x00, 0x00, 0xf0, 0x7f, 0xfc, 0x1f, 0x00, 0x00,
0x00, 0x3c, 0x00, 0x78, 0x00, 0x00, 0x30, 0x00, 0xf0, 0x0f, 0x00, 0x00,
0x18, 0x00, 0x00, 0x30, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x80, 0x07, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x60, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x04, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x80, 0xaa, 0x02, 0x00, 0x00,
0x00, 0xa0, 0xaa, 0x00, 0x00, 0x00, 0x04, 0xa8, 0x2a, 0x40, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x02, 0x00, 0x00,
0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x02, 0x00, 0x00,
0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x02, 0x00, 0x00,
0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x02, 0x00, 0x00,
0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xaa, 0x02, 0x00, 0x00,
0x00, 0xa0, 0xaa, 0x00, 0x00, 0x00, 0x00, 0xa8, 0x2a, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0xff, 0xff, 0xff, 0x03, 0x00, 0xe0, 0xff, 0xff, 0xff, 0x00, 0x00,
0x80, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xaa, 0x02, 0x00, 0x00,
0x00, 0xa0, 0xaa, 0x00, 0x00, 0x00, 0x00, 0xa8, 0x2a, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x02, 0x00, 0x00,
0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x02, 0x00, 0x00,
0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x02, 0x00, 0x00,
0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x02, 0x00, 0x00,
0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xaa, 0x02, 0x00, 0x00,
0x00, 0xa0, 0xaa, 0x00, 0x00, 0x00, 0x00, 0xa8, 0x2a, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xaa, 0x02, 0x00, 0x00,
0x00, 0xa0, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x02, 0x00, 0x00,
0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x02, 0x00, 0x00,
0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x02, 0x00, 0x00,
0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x02, 0x00, 0x00,
0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0xaa, 0x02, 0x04, 0x00,
0x00, 0xa0, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x06, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc7, 0xff, 0x01, 0x00,
0x00, 0xfe, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};

28
images/deco.xpm Normal file
View File

@ -0,0 +1,28 @@
/* XPM */
static char * deco[] = {
"20 20 3 1",
" c #BEFBBEFBBEFB",
". c #000000000000",
"X c #51445144FBEE",
" ",
" ",
" ... ",
" .......... ",
" .......... ",
" .. ",
" . XXXXXXXX ",
" XXXXXXXX ",
" XX XX ",
" XX XX ",
" XX XX ",
" XX XX ",
" XX XX ",
" XX XX ",
" XX XX ",
" XXXXXXXX ",
" XXXXXXXX ",
" ",
" ",
" "};

244
images/delim.xbm Normal file
View File

@ -0,0 +1,244 @@
#define delim_width 164
#define delim_height 136
static unsigned char delim_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3f, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x80, 0x00, 0x00,
0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
0x1c, 0x00, 0x00, 0x00, 0x02, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00,
0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00,
0x00, 0x05, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x05, 0x00,
0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x80, 0x08, 0x00, 0x20, 0x00, 0x00,
0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
0x08, 0x00, 0x00, 0xc0, 0x18, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00,
0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
0xb0, 0x28, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x90, 0x48, 0x00,
0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x80, 0x08, 0x00, 0x20, 0x00, 0x00,
0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
0x08, 0x00, 0x00, 0x80, 0x08, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00,
0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
0x80, 0x08, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x80, 0x08, 0x00,
0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x80, 0x08, 0x00, 0x20, 0x00, 0x00,
0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
0x08, 0x00, 0x00, 0x80, 0x08, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00,
0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
0x80, 0x08, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x80, 0x08, 0x00,
0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x80, 0x08, 0x00, 0x80, 0x00, 0x00,
0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
0x08, 0x00, 0x00, 0x80, 0x08, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00,
0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
0x80, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xc0, 0x01, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x40, 0x00, 0x00,
0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
0x1c, 0x00, 0x00, 0x00, 0x02, 0x00, 0x40, 0x00, 0x00, 0x00, 0x08, 0x00,
0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00,
0x00, 0x05, 0x00, 0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x80, 0x0d, 0x00,
0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0xc0, 0x18, 0x00, 0x40, 0x00, 0x00,
0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
0x08, 0x00, 0x00, 0xa0, 0x28, 0x00, 0x40, 0x00, 0x00, 0x00, 0x08, 0x00,
0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
0x90, 0x48, 0x00, 0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x80, 0x08, 0x00,
0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x80, 0x08, 0x00, 0x40, 0x00, 0x00,
0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
0x08, 0x00, 0x00, 0x80, 0x08, 0x00, 0x40, 0x00, 0x00, 0x00, 0x08, 0x00,
0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
0x80, 0x08, 0x00, 0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x80, 0x08, 0x00,
0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x80, 0x08, 0x00, 0x40, 0x00, 0x00,
0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
0x08, 0x00, 0x00, 0x80, 0x08, 0x00, 0x40, 0x00, 0x00, 0x00, 0x08, 0x00,
0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
0x80, 0x08, 0x00, 0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x80, 0x08, 0x00,
0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x90, 0x48, 0x00, 0x40, 0x00, 0x00,
0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
0x08, 0x00, 0x00, 0xa0, 0x28, 0x00, 0x40, 0x00, 0x00, 0x00, 0x08, 0x00,
0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
0xc0, 0x18, 0x00, 0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x80, 0x08, 0x00,
0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x05, 0x00, 0xc0, 0x01, 0x00,
0x00, 0x0e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
0x0c, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3f, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00,
0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x20,
0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x08,
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x80, 0x08, 0x00, 0x80, 0x00, 0x00,
0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
0x08, 0x00, 0x00, 0x80, 0x08, 0x00, 0x80, 0x00, 0x00, 0x00, 0x10, 0x00,
0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
0x80, 0x08, 0x00, 0x80, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x80, 0x08, 0x00,
0x80, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x20,
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x80, 0x08, 0x00, 0x80, 0x00, 0x00,
0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
0x08, 0x00, 0x00, 0x80, 0x08, 0x00, 0x80, 0x00, 0x00, 0x00, 0x10, 0x00,
0x00, 0x00, 0x08, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
0x80, 0x08, 0x00, 0x80, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04,
0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x80, 0x08, 0x00,
0x40, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40,
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x80, 0x08, 0x00, 0x30, 0x00, 0x00,
0x00, 0xc0, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
0x08, 0x00, 0x00, 0x80, 0x08, 0x00, 0x40, 0x00, 0x00, 0x00, 0x20, 0x00,
0x00, 0x00, 0x04, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
0x80, 0x08, 0x00, 0x80, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02,
0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x90, 0x48, 0x00,
0x80, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0xb0, 0x68, 0x00, 0x80, 0x00, 0x00,
0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
0x08, 0x00, 0x00, 0xc0, 0x18, 0x00, 0x80, 0x00, 0x00, 0x00, 0x10, 0x00,
0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00,
0x80, 0x08, 0x00, 0x80, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x05, 0x00,
0x80, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x02, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x05, 0x00, 0x80, 0x00, 0x00,
0x00, 0x10, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
0x1c, 0x00, 0x00, 0x00, 0x02, 0x00, 0x80, 0x00, 0x00, 0x00, 0x10, 0x00,
0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x08, 0x00, 0x00,
0x00, 0x02, 0x00, 0x80, 0x01, 0x00, 0x00, 0x18, 0x00, 0x00, 0x80, 0x00,
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x04, 0x00,
0x00, 0x00, 0x02, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02,
0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x10,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x08, 0x00,
0x00, 0x00, 0x02, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02,
0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x10,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00,
0x00, 0x00, 0x02, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x02,
0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x40, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x10,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
0x00, 0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00,
0x00, 0x00, 0x02, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02,
0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x10,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x08, 0x00,
0x00, 0x00, 0x02, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02,
0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x10,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x04, 0x00,
0x00, 0x00, 0x02, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};

32
images/delim.xpm Normal file
View File

@ -0,0 +1,32 @@
/* XPM */
static char *delim[] = {
/* width height num_colors chars_per_pixel */
" 20 20 3 1",
/* colors */
". c #bebebe",
"# c #000000",
"a c #5151fb",
/* pixels */
"....................",
"....................",
"....................",
"..###..........###..",
"..###..aaaaaa..###..",
"..##...aaaaaa...##..",
"..##...aa..aa...##..",
"..##...aa..aa...##..",
"..##...aa..aa...##..",
"..##...aa..aa...##..",
"..##...aa..aa...##..",
"..##...aa..aa...##..",
"..##...aa..aa...##..",
"..##...aa..aa...##..",
"..##...aaaaaa...##..",
"..###..aaaaaa..###..",
"..###..........###..",
"....................",
"....................",
"...................."
};

42
images/delim0.xpm Normal file
View File

@ -0,0 +1,42 @@
/* XPM */
static char *delim0[] = {
/* width height num_colors chars_per_pixel */
" 31 31 2 1",
/* colors */
"# c #a2a2a2",
"a c #0000ff",
/* pixels */
"###############################",
"###############################",
"###############################",
"###############################",
"#######a#######################",
"######a#############aa#########",
"#####a###############a#########",
"#####a################a########",
"####a##################a#######",
"####a##################a#######",
"####a##################a#######",
"###a####################a######",
"###a####################a######",
"###a####################a######",
"###a####################a######",
"###a####################a######",
"###a####################a######",
"###a####################a######",
"###a####################a######",
"###a####################a######",
"####a##################a#######",
"####a##################a#######",
"####a##################a#######",
"#####a################a########",
"#####a###############a#########",
"######a##############a#########",
"#######a############a##########",
"###############################",
"###############################",
"###############################",
"###############################"
};

30
images/depth.xpm Normal file
View File

@ -0,0 +1,30 @@
/* XPM */
static char * depth_xpm[] = {
"20 20 5 1",
" c gray60",
". c #000000000000",
"X c #FFFFFFFFFFFF",
"o c #7B7B00000000",
"O c #BFBFBFBFBFBF",
" ",
".XXXXXXXXXXXXXXXXXX.",
".XX..............XX.",
".XXXXXXXXXXXXXXXXXX.",
".XX..............XX.",
".XXXXXXXXXXXXXXXXXX.",
".XXXXXXooooooXXXXXX.",
".XX.XXXXXXXXXXXX.XX.",
"OX..XXXooooooXXX..XO",
"O.....XXXXXXXX.....O",
"OX..XXXooooooXXX..XO",
".XX.XXXXXXXXXXXX.XX.",
".XXXXXXooooooXXXXXX.",
".XXXXXXXXXXXXXXXXXX.",
".XXXXXXXXXXXXXXXXXX.",
".XX..............XX.",
".XXXXXXXXXXXXXXXXXX.",
".XX..............XX.",
".XXXXXXXXXXXXXXXXXX.",
" "};

28
images/depth_bw.xpm Normal file
View File

@ -0,0 +1,28 @@
/* XPM */
static char * depth_xpm[] = {
"20 20 3 1",
" c #BFBFBFBFBFBF",
". c #000000000000",
"X c black",
" ",
" ................ ",
" ",
" ................ ",
" ",
" ",
" ",
" X ...... X ",
" XX XX ",
"XXXXX ...... XXXXX",
" XX XX ",
" X ...... X ",
" ",
" ...... ",
" ",
" ",
" ................ ",
" ",
" ................ ",
" "};

19
images/dots.xbm Normal file
View File

@ -0,0 +1,19 @@
#define dots_width 72
#define dots_height 18
static char dots_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x30, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xc0, 0xcc, 0x00, 0x30, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0,
0xcc, 0x00, 0x30, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x30, 0x33, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x0c, 0x30, 0x33, 0x00,
0x00, 0x00, 0x30, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

24
images/down.xpm Normal file
View File

@ -0,0 +1,24 @@
/* XPM */
static char *down_xpm[] = {
/* width height num_colors chars_per_pixel */
" 11 11 4 1",
/* colors */
". c #656565",
"# c #959595",
"a c #b0b0b0",
"b c #e0e0e0",
/* pixels */
"bbbbbbbbbbb",
"bbbbbbbbb..",
"#bbaaaaa..#",
"#bbaaaaa..#",
"##bbaaa..##",
"##bbaaa..##",
"###bba..###",
"###bba..###",
"####b..####",
"####b..####",
"#####.#####"
};

27
images/emph.xpm Normal file
View File

@ -0,0 +1,27 @@
/* XPM */
static char * emph_xpm[] = {
"20 20 2 1",
" c #BFBFBFBFBFBF",
". c #000000000000",
" ",
" .. ",
" .... ",
" .... ",
" .... ",
" .... ",
" .... ",
" .... ",
" .... ",
" .... ",
" .. ",
" ",
" ",
" .. ",
" .... ",
" .... ",
" .... ",
" .. ",
" ",
" "};

27
images/emph_bw.xpm Normal file
View File

@ -0,0 +1,27 @@
/* XPM */
static char * emph_xpm[] = {
"20 20 2 1",
" c #BFBFBFBFBFBF",
". c #000000000000",
" ",
" .. ",
" .... ",
" .... ",
" .... ",
" .... ",
" .... ",
" .... ",
" .... ",
" .... ",
" .. ",
" ",
" ",
" .. ",
" .... ",
" .... ",
" .... ",
" .. ",
" ",
" "};

32
images/equation.xpm Normal file
View File

@ -0,0 +1,32 @@
/* XPM */
static char *equation[] = {
/* width height num_colors chars_per_pixel */
" 20 20 3 1",
/* colors */
". c #bebebe",
"# c #000000",
"a c #5151fb",
/* pixels */
"....................",
"....................",
"....................",
"...##############...",
"....................",
"...##############...",
"....................",
"....................",
".......aaaaaa.......",
".......a....a.......",
".......a....a.......",
".......aaaaaa.......",
"....................",
"....................",
"...##############...",
"....................",
"...##############...",
"....................",
"....................",
"...................."
};

29
images/fig.xpm Normal file
View File

@ -0,0 +1,29 @@
/* XPM */
static char * fig_xpm[] = {
"20 20 4 1",
" c #000000000000",
". c #FFFFFFFFFFFF",
"X c #7B7B00000000",
"o c gray70",
" ",
" .................. ",
" .. .. ",
" .................. ",
" .. .. ",
" .................. ",
" ....XXXXXXXXXX.... ",
" ....X........X.... ",
" ....X.... ..X.... ",
" ....X... .. .X.... ",
" ....X.. oooo X.... ",
" ....X. ooooooX.... ",
" ....X oooooooX.... ",
" ....XXXXXXXXXX.... ",
" .................. ",
" .. .. ",
" .................. ",
" .. .. ",
" .................. ",
" "};

30
images/fig_bw.xpm Normal file
View File

@ -0,0 +1,30 @@
/* XPM */
static char * fig_xpm[] = {
/* width height num_colors chars_per_pixel */
"20 20 2 1",
/* colors */
" c black",
". c #BFBFBFBFBFBF",
/* pixels */
" ",
" .................. ",
" .. .. ",
" .................. ",
" .. .. ",
" .................. ",
" .... .... ",
" .... ........ .... ",
" .... .... .. .... ",
" .... ... .. . .... ",
" .... .. .... ",
" .... . .... ",
" .... .... ",
" .... .... ",
" .................. ",
" .. .. ",
" .................. ",
" .. .. ",
" .................. ",
" "};

29
images/foot.xpm Normal file
View File

@ -0,0 +1,29 @@
/* XPM */
static char * foot_xpm[] = {
"20 20 4 1",
" c gray60",
". c #000000000000",
"X c #FFFFFFFFFFFF",
"o c #7B7B00000000",
" ",
".XXXXXXXXXXXXXXXXXX ",
".XXX............... ",
".XXXXXXXXXXXXXXXXXX ",
".XXX............... ",
".XXXXXXXXXXXXXXXXXX ",
".XXX............... ",
".XXXXXXXXXXXXXXXXXX ",
".XXX............... ",
".XXXXXXXXXXXXXXXXXX ",
".XXXXXXXXXXXXXXXXXX ",
".XXXXXXXXXXXXXXXXXX ",
".XXXXXXXXXXXXXXX.XX ",
".XXXooooooooXXX..XX ",
".XXXXXXXXXXXXX..... ",
".XXXooooooooXXX..XX ",
".XXXXXXXXXXXXXXX.XX ",
".XXXXXXXXXXXXXXXXXX ",
".XXXXXXXXXXXXXXXXXX ",
"................... "};

27
images/foot_bw.xpm Normal file
View File

@ -0,0 +1,27 @@
/* XPM */
static char * foot_xpm[] = {
"20 20 2 1",
" c black",
". c #BFBFBFBFBFBF",
" ",
" .................. ",
" ... . ",
" .................. ",
" ... . ",
" .................. ",
" ... . ",
" .................. ",
" ... . ",
" .................. ",
" .................. ",
" .................. ",
" .............. ... ",
" ... .. ... ",
" ............ . ",
" ... .. ... ",
" .............. ... ",
" .................. ",
" .................. ",
" "};

32
images/frac.xpm Normal file
View File

@ -0,0 +1,32 @@
/* XPM */
static char *frac[] = {
/* width height num_colors chars_per_pixel */
" 20 20 3 1",
/* colors */
". c #bebebe",
"# c #5151fb",
"a c #000000",
/* pixels */
"....................",
"....................",
".......######.......",
".......#....#.......",
".......#....#.......",
".......#....#.......",
".......#....#.......",
".......######.......",
"....................",
"....aaaaaaaaaaaa....",
"....aaaaaaaaaaaa....",
"....................",
".......######.......",
".......#....#.......",
".......#....#.......",
".......#....#.......",
".......#....#.......",
".......######.......",
"....................",
"...................."
};

27
images/free.xpm Normal file
View File

@ -0,0 +1,27 @@
/* XPM */
static char * free_xpm[] = {
"20 20 2 1",
" c #BFBFBFBFBFBF",
". c #000000000000",
" ",
" ",
" ",
"...... . ",
". . ",
". ... . .. ...",
". . . .. . . ",
".... . . . . . ",
". . . . . . ",
". . . . . . ",
". . . . . . ",
". ... . . ..",
" ",
" ",
" . ",
" . ",
" ..... ",
" ... ",
" . ",
" "};

Some files were not shown because too many files have changed in this diff Show More