Send the fla driver in the Attic

This commit is contained in:
phk 2004-07-13 17:44:17 +00:00
parent ba3a5db863
commit 7c872951b1
7 changed files with 0 additions and 1614 deletions

View File

@ -1,102 +0,0 @@
SOFTWARE LICENSE AGREEMENT
IMPORTANT! READ CAREFULLY:
THIS SOFTWARE LICENSE AGREEMENT (the ``Agreement'') is a legal
agreement between you (either an individual or a single entity) and
M-Systems Flash Disk Pioneers Ltd. ("M-Systems").
This Agreement relates to the M-Systems' software accompanying this
Agreement, which includes computer software and may include associated
media, printed materials, and ``online'' or electronic documentation
(the ``Licensed Software'').
By downloading, installing, copying, or otherwise using the Licensed
Software, you agree to be bound by the terms of this Agreement.
If you do not agree to the terms of this Agreement, do not install,
copy or use the Licensed Software.
The Licensed Software is protected by copyright laws and international
copyright treaties, as well as other intellectual property laws and
treaties. The Licensed Software is licensed, not sold.
The Licensed Software is being provided solely for use with M-Systems'
DiskOnChip® product lines.
1. License Grant.
(a) Grant of License. Subject to the terms and conditions of this
Agreement, M-Systems hereby grants you a nonexclusive,
royalty-free, worldwide license (including the right to
sublicense) to use, copy and distribute the Licensed Software
with M-Systems DiskOnChip® products.
(b) Restrictions on Use. The Licensed Software is licensed solely
for use with and to support M-Systems' DiskOnChip® products.
Use of this Licensed Software with, or to support, any other
flash disk, flash card, resident flash array or solid state
disk of any kind is expressly prohibited, and constitutes an
illegal infringement of M-Systems' patent, copyright and other
rights in and to the Licensed Software.
2. Limitations on Reverse Engineering, Decompilation, and
Disassembly. You may not reverse engineer, decompile, or
disassemble the Licensed Software, except and only to the
extent that such activity is expressly permitted by applicable
law notwithstanding this limitation.
3. Termination. Without prejudice to any other rights, M-Systems
may terminate this Agreement if you fail to comply with the
terms and conditions of this Agreement. In such event, you must
destroy all copies of the Licensed Software and all of its
component parts.
4. Intellectual Property Rights. Title to the Licensed Software,
and all rights with respect to the Software not specifically
granted under this Agreement, including without limitation
all rights of modification, disassembly and decompilation and
all copyright, patent, trademark, trade secret and other
proprietary rights and interests are reserved to M-Systems.
You may not remove or alter the "README" or "COPYRIGHT" files
or copyright notices in the Licensed Software.
5. DISCLAIMER OF WARRANTIES. To the maximum extent permitted by
applicable law, M-Systems and its suppliers provide the Product
and any (if any) support services related to the Product
("Support Services") AS IS AND WITH ALL FAULTS, and hereby
disclaim all warranties and conditions, either express,
implied or statutory, including, but not limited to, any
(if any) implied warranties or conditions of merchantability,
of fitness for a particular purpose, of lack of viruses, of
accuracy or completeness of responses, of results, and of lack
of negligence or lack of workmanlike effort, all with regard
to the Product, and the provision of or failure to provide
Support Services. ALSO, THERE IS NO WARRANTY OR CONDITION OF
TITLE, QUIET ENJOYMENT, QUIET POSSESSION, CORRESPONDENCE TO
DESCRIPTION OR NON-INFRINGEMENT, WITH REGARD TO THE PRODUCT.
THE ENTIRE RISK AS TO THE QUALITY OF OR ARISING OUT OF USE OR
PERFORMANCE OF THE PRODUCT AND SUPPORT SERVICES, IF ANY,
REMAINS WITH YOU.
6. EXCLUSION OF INCIDENTAL, CONSEQUENTIAL AND CERTAIN OTHER
DAMAGES. To the maximum extent permitted by applicable law,
in no event shall M-Systems or its suppliers be liable for
any special, incidental, indirect, or consequential damages
whatsoever (including, but not limited to, damages for loss
of profits or confidential or other information, for business
interruption, for personal injury, for loss of privacy, for
failure to meet any duty including of good faith or of
reasonable care, for negligence, and for any other pecuniary
or other loss whatsoever) arising out of or in any way related
to the use of or inability to use the Product, the provision
of or failure to provide Support Services, or otherwise under
or in connection with any provision of Agreement, even in the
event of the fault, tort (including negligence), strict
liability, breach of contract or breach of warranty of
M-Systems or any supplier, and even if M-Systems or any
supplier has been advised of the possibility of such damages.
7. LIMITATION OF LIABILITY AND REMEDIES. Notwithstanding any
damages that you might incur for any reason whatsoever
(including, without limitation, all damages referenced above
and all direct or general damages), the entire liability of
M-Systems and any of its suppliers under any provision of this
Agreement and your exclusive remedy for all of the foregoing
shall be limited to the greater of the amount actually paid by
you for the Product or U.S.$5.00. The foregoing limitations,
exclusions and disclaimers shall apply to the maximum extent
permitted by applicable law, even if any remedy fails its
essential purpose.
8. Miscellaneous
The laws of the State of California, United States of America,
exclusive of conflict-of-laws provisions, shall govern this
Agreement in all respects.

View File

@ -1,198 +0,0 @@
README and FAQ for the fla driver.
==================================
[0] COPYRIGHT & LICENSE
Please read the COPYRIGHT file carefully. If you cannot
agree to be bound by the terms of this license, please
contact M-systems and make arrangements with them.
[1] What does this driver do ?
This driver supports up to eight M-systems DiskOnChip
devices.
The driver has been tested with the following devices:
DiskOnChip2000 (8, 12, 24, 32, 40, 72, 144 MB)
DiskOnChipMillenium (8 MB)
DiskOnChipMillenium TSOP (8 MB)
You can find full details, specs etc on M-systems homepage:
http://www.m-sys.com
[2] Which firmware version ?
The driver has only been tested with version 1.21.
[3] How many devices ?
The driver supports up to 8 devices but have been tested only
with 5 due to hardware limitations in my test setup.
[4] Which FreeBSD versions ?
The driver is tested for 4.0-CURRENT and 3.3-RELEASE.
Porting to earlier versions of FreeBSD should be a simple
matter of modifying the fla.c file. [patches are welcome]
[5] Can I install FreeBSD with sysinstall ?
Yes, it has been tested in FreeBSD-4.0-CURRENT and it works.
You will need to build a kernel with the fla driver since
the default "GENERIC" kernel doesn't contain the fla driver.
[6] How to boot from a fla device ?
FreeBSD 4.0 and forward find their root device by reading
the /etc/fstab, so the DiskOnChip devices will work just
like any other device.
Earlier FreeBSD kernels recognizes the root device using
various hacks. These hacks doesn't recognize the fla device
so some "real" hacks are needed to boot from your fla
device.
In pre 4.0 versions specifying the boot device in the kernel
config file this way is the easiest way to do it:
config kernel root on major 28 minor 65538
[7] How to disklabel a fla device ?
Look at the script in prep.fla.sh, it will do the job for you.
[8] Who to contact ?
doc2k@phk.freebsd.dk will offer limited best-effort help
to the extent time permits. Further support for special
projects or configurations available at reasonable hourly
rates.
[9] Getting detailed
The DiskOnChip product gets out in some odd corners of the
PC-architecture, and chances are that things don't do what
you expect. Here are some hints and random observations
I've made during my work with these devices.
[9a] Choosing an address for the DOC
Each DOC needs a 8K memory window starting on an 8K boundary.
The lowest possible address is C000:0, the highest is DE00:0
If your hardware puts the DOC another place, you will need
to modify the doc2k_probe() call in fla.c.
It is important that you set the BIOS to not do "fancy things"
with this window, in particular no kind of cache or shadowing
can be enabled.
Be aware that some hardware will decode a 32k memory window
for the DOC device.
If everything is OK, the DOC will print a message during
the BIOS startup.
For large devices it can take some time to check the flash
data structures, but if it takes more than 3 minutes
something is wrong.
If you boot a MSDOS floppy and run FDISK you should be able
to see the DOC device.
If it doesnt work:
If you machine never gets to the point where it will boot,
but just hangs it could be because you have a BIOS which
need the "slightly special" DOC firmware. Obviously you
will need to put the DOC in another machine to load this
firmware. You can download the firmware and utilities
from M-systems website http://www.m-sys.com
If the machine boots, but the device isn't visible it can
be because some other device uses the same memory window,
or because the BIOS prevents it from being used. If you
boot MSDOS and enter DEBUG, you should be able to find a
BIOS extension signature at the address using the 'd'
command, for instance 'd d800:0'.
A special case is when the DOC prints the BIOS message
but disappears afterwards, this can happen because another
card (NCR SCSI controllers for instance) steal the memory
window later in the boot process. In such a case the
above check with DEBUG will not show the BIOS signature.
[9b] So just who is drive 'C' here anyway ?
Using the DUPDATE program you can choose to have the DOC
add itself at the front or the back of the device list.
This is, unfortunately not the only thing affecting the
drive order, the above mentioned NCR SCSI controllers also
have some builtin AI, and the result can be very confusing
because the DOC will come before even the floppy as a result.
There is no simple solution for this case, only variuos
work-arounds. But chances are good that most users will
not use both a DOC and a SCSI in the same system, except
maybe for initial programming.
[9c] MBR/fdisk
The boot firmware in the DOC and/or the FreeBSD bootblocks
mandate that the first MBR slice/(partition in FDISK lingo)
start exactly at "sector #1, head #1, cylinder #0." You
will have problems booting from the fla if you don't get this
right. The prep.fla.sh script will do this for you.
DO NOT WRITE JUNK IN THE MBR! The DOC firmware relies on
various fields and can get utterly confused if they don't
make sense.
[9d] Getting the FreeBSD kernel to use the fla as root
Please see above under item 6.
[9e] I turned the machine off while it was running and now my
DOC hangs during boot/panics the machine/does weird things.
If a write operation to the DOC gets interrupted by reset
or power-failure, it can happen that the flash data structures
are left in a state the sofware cannot cope with.
Your best chance is to DUPDATE, DFORMAT the device again.
If it hangs during boot, you can use this particular dirty
trick ENTIRELY AT YOUR OWN RISK! DO NOT COMPLAIN IF THIS
DOESN'T WORK FOR YOU OR IF YOU DESTROY YOUR COMPUTER OR
DOC DEVICE DOING IT!
Jumper the DOC for an address which will not work, but which
will not interfere with the system either, C000:0 seems to
work pretty universally for this.
Boot MSDOS and rejumper the DOC for its real (working) address.
Run DUPDATE and use the /win:xxxx argument to point it at the
DOC device.
[9f] Apart from that...
...the DOC is just like any other disk, but it is silent,
has better MTBF and doesn't take up a lot of space.
[10] History
The fla driver was written by Poul-Henning Kamp <phk@FreeBSD.org>
under contract for M-systems, and using their "OSAK"
development kit.
Good Luck,
Poul-Henning
$FreeBSD$

View File

@ -1,288 +0,0 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* <phk@FreeBSD.ORG> wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
* ----------------------------------------------------------------------------
*
* $FreeBSD$
*
*/
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/sysctl.h>
#include <sys/kernel.h>
#include <sys/bio.h>
#include <sys/malloc.h>
#include <sys/conf.h>
#include <sys/module.h>
#include <machine/resource.h>
#include <geom/geom_disk.h>
#include <vm/vm.h>
#include <vm/pmap.h>
#include <vm/vm_param.h>
#include <sys/bus.h>
#define LEAVE()
#define ENTER()
#include <contrib/dev/fla/msysosak.h>
static MALLOC_DEFINE(M_FLA, "fla driver", "fla driver storage");
void *
doc2k_malloc(int bytes)
{
return malloc(bytes, M_FLA, M_WAITOK);
}
void
doc2k_free(void *ptr)
{
free(ptr, M_FLA);
}
void
doc2k_delay(unsigned msec)
{
DELAY(1000 * msec);
}
void
doc2k_memcpy(void *dst, const void *src, unsigned len)
{
bcopy(src, dst, len);
}
int
doc2k_memcmp(const void *dst, const void *src, unsigned len)
{
return (bcmp(src, dst, len));
}
void
doc2k_memset(void *dst, int c, unsigned len)
{
u_char *p = dst;
while (len--)
*p++ = c;
}
static struct fla_s {
int busy;
int unit;
unsigned nsect;
struct doc2k_stat ds;
struct bio_queue_head bio_queue;
struct disk *disk;
struct cdev *dev;
} softc[8];
static int
flaopen(struct disk *dp)
{
struct fla_s *sc;
int error;
u_int spu, ncyl, nt, ns;
sc = dp->d_drv1;
error = doc2k_open(sc->unit);
if (error) {
printf("doc2k_open(%d) -> err %d\n", sc->unit, error);
return (EIO);
}
error = doc2k_size(sc->unit, &spu, &ncyl, &nt, &ns);
sc->disk->d_sectorsize = DEV_BSIZE;
sc->disk->d_mediasize = (off_t)spu * DEV_BSIZE;
sc->disk->d_fwsectors = ns;
sc->disk->d_fwheads = nt;
return (0);
}
static int
flaclose(struct disk *dp)
{
int error;
struct fla_s *sc;
sc = dp->d_drv1;
error = doc2k_close(sc->unit);
if (error) {
printf("doc2k_close(%d) -> err %d\n", sc->unit, error);
return (EIO);
}
return (0);
}
static void
flastrategy(struct bio *bp)
{
int unit, error;
struct fla_s *sc;
enum doc2k_work what;
sc = bp->bio_disk->d_drv1;
bioq_disksort(&sc->bio_queue, bp);
if (sc->busy) {
return;
}
sc->busy++;
while (1) {
bp = bioq_first(&sc->bio_queue);
if (bp)
bioq_remove(&sc->bio_queue, bp);
if (!bp)
break;
bp->bio_resid = bp->bio_bcount;
unit = sc->unit;
if (bp->bio_cmd == BIO_DELETE)
what = DOC2K_ERASE;
else if (bp->bio_cmd == BIO_READ)
what = DOC2K_READ;
else
what = DOC2K_WRITE;
LEAVE();
error = doc2k_rwe( unit, what, bp->bio_pblkno,
bp->bio_bcount / DEV_BSIZE, bp->bio_data);
ENTER();
if (error) {
printf("fla%d: %d = rwe(%p, %d, %d, %jd, %ld, %p)\n",
unit, error, bp, unit, what,
(intmax_t)bp->bio_pblkno,
bp->bio_bcount / DEV_BSIZE, bp->bio_data);
}
if (error) {
bp->bio_error = EIO;
bp->bio_flags |= BIO_ERROR;
} else {
bp->bio_resid = 0;
}
biodone(bp);
}
sc->busy = 0;
return;
}
static int
flaprobe (device_t dev)
{
int unit;
struct fla_s *sc;
int i;
unit = device_get_unit(dev);
if (unit >= 8)
return (ENXIO);
sc = &softc[unit];
/* This is slightly ugly */
i = doc2k_probe(unit, KERNBASE + 0xc0000, KERNBASE + 0xe0000);
if (i)
return (ENXIO);
i = doc2k_info(unit, &sc->ds);
if (i)
return (ENXIO);
bus_set_resource(dev, SYS_RES_MEMORY, 0,
sc->ds.window - KERNBASE, 8192);
return (0);
}
static int
flaattach (device_t dev)
{
int unit;
int i, j, k, l, m, error;
struct fla_s *sc;
unit = device_get_unit(dev);
sc = &softc[unit];
error = doc2k_open(unit);
if (error) {
printf("doc2k_open(%d) -> err %d\n", unit, error);
return (EIO);
}
error = doc2k_size(unit, &sc->nsect, &i, &j, &k );
if (error) {
printf("doc2k_size(%d) -> err %d\n", unit, error);
return (EIO);
}
printf("fla%d: <%s %s>\n", unit, sc->ds.product, sc->ds.model);
error = doc2k_close(unit);
if (error) {
printf("doc2k_close(%d) -> err %d\n", unit, error);
return (EIO);
}
m = 1024L * 1024L / DEV_BSIZE;
l = (sc->nsect * 10 + m/2) / m;
printf("fla%d: %d.%01dMB (%u sectors),"
" %d cyls, %d heads, %d S/T, 512 B/S\n",
unit, l / 10, l % 10, sc->nsect, i, j, k);
if (bootverbose)
printf("fla%d: JEDEC=0x%x unitsize=%ld mediasize=%ld"
" chipsize=%ld interleave=%d window=%lx\n",
unit, sc->ds.type, sc->ds.unitSize, sc->ds.mediaSize,
sc->ds.chipSize, sc->ds.interleaving, sc->ds.window);
bioq_init(&sc->bio_queue);
sc->disk = disk_alloc();
sc->disk->d_open = flaopen;
sc->disk->d_close = flaclose;
sc->disk->d_strategy = flastrategy;
sc->disk->d_drv1 = sc;
sc->disk->d_name = "fla";
sc->disk->d_maxsize = MAXPHYS;
sc->unit = unit;
sc->disk->d_unit = unit;
sc->disk->d_flags = DISKFLAG_CANDELETE | DISKFLAG_NEEDSGIANT;
disk_create(sc->disk, DISK_VERSION);
return (0);
}
static device_method_t fla_methods[] = {
/* Device interface */
DEVMETHOD(device_probe, flaprobe),
DEVMETHOD(device_attach, flaattach),
{0, 0}
};
static driver_t fladriver = {
"fla",
fla_methods,
sizeof(struct fla_s),
};
static devclass_t fla_devclass;
DRIVER_MODULE(fla, isa, fladriver, fla_devclass, 0, 0);

View File

@ -1,823 +0,0 @@
$FreeBSD$
SOFTWARE LICENSE AGREEMENT
IMPORTANT! READ CAREFULLY:
THIS SOFTWARE LICENSE AGREEMENT (the ``Agreement'') is a legal
agreement between you (either an individual or a single entity) and
M-Systems Flash Disk Pioneers Ltd. ("M-Systems").
This Agreement relates to the M-Systems' software accompanying this
Agreement, which includes computer software and may include associated
media, printed materials, and ``online'' or electronic documentation
(the ``Licensed Software'').
By downloading, installing, copying, or otherwise using the Licensed
Software, you agree to be bound by the terms of this Agreement.
If you do not agree to the terms of this Agreement, do not install,
copy or use the Licensed Software.
The Licensed Software is protected by copyright laws and international
copyright treaties, as well as other intellectual property laws and
treaties. The Licensed Software is licensed, not sold.
The Licensed Software is being provided solely for use with M-Systems'
DiskOnChip® product lines.
1. License Grant.
(a) Grant of License. Subject to the terms and conditions of this
Agreement, M-Systems hereby grants you a nonexclusive,
royalty-free, worldwide license (including the right to
sublicense) to use, copy and distribute the Licensed Software
with M-Systems DiskOnChip® products.
(b) Restrictions on Use. The Licensed Software is licensed solely
for use with and to support M-Systems' DiskOnChip® products.
Use of this Licensed Software with, or to support, any other
flash disk, flash card, resident flash array or solid state
disk of any kind is expressly prohibited, and constitutes an
illegal infringement of M-Systems' patent, copyright and other
rights in and to the Licensed Software.
2. Limitations on Reverse Engineering, Decompilation, and
Disassembly. You may not reverse engineer, decompile, or
disassemble the Licensed Software, except and only to the
extent that such activity is expressly permitted by applicable
law notwithstanding this limitation.
3. Termination. Without prejudice to any other rights, M-Systems
may terminate this Agreement if you fail to comply with the
terms and conditions of this Agreement. In such event, you must
destroy all copies of the Licensed Software and all of its
component parts.
4. Intellectual Property Rights. Title to the Licensed Software,
and all rights with respect to the Software not specifically
granted under this Agreement, including without limitation
all rights of modification, disassembly and decompilation and
all copyright, patent, trademark, trade secret and other
proprietary rights and interests are reserved to M-Systems.
You may not remove or alter the "README" or "COPYRIGHT" files
or copyright notices in the Licensed Software.
5. DISCLAIMER OF WARRANTIES. To the maximum extent permitted by
applicable law, M-Systems and its suppliers provide the Product
and any (if any) support services related to the Product
("Support Services") AS IS AND WITH ALL FAULTS, and hereby
disclaim all warranties and conditions, either express,
implied or statutory, including, but not limited to, any
(if any) implied warranties or conditions of merchantability,
of fitness for a particular purpose, of lack of viruses, of
accuracy or completeness of responses, of results, and of lack
of negligence or lack of workmanlike effort, all with regard
to the Product, and the provision of or failure to provide
Support Services. ALSO, THERE IS NO WARRANTY OR CONDITION OF
TITLE, QUIET ENJOYMENT, QUIET POSSESSION, CORRESPONDENCE TO
DESCRIPTION OR NON-INFRINGEMENT, WITH REGARD TO THE PRODUCT.
THE ENTIRE RISK AS TO THE QUALITY OF OR ARISING OUT OF USE OR
PERFORMANCE OF THE PRODUCT AND SUPPORT SERVICES, IF ANY,
REMAINS WITH YOU.
6. EXCLUSION OF INCIDENTAL, CONSEQUENTIAL AND CERTAIN OTHER
DAMAGES. To the maximum extent permitted by applicable law,
in no event shall M-Systems or its suppliers be liable for
any special, incidental, indirect, or consequential damages
whatsoever (including, but not limited to, damages for loss
of profits or confidential or other information, for business
interruption, for personal injury, for loss of privacy, for
failure to meet any duty including of good faith or of
reasonable care, for negligence, and for any other pecuniary
or other loss whatsoever) arising out of or in any way related
to the use of or inability to use the Product, the provision
of or failure to provide Support Services, or otherwise under
or in connection with any provision of Agreement, even in the
event of the fault, tort (including negligence), strict
liability, breach of contract or breach of warranty of
M-Systems or any supplier, and even if M-Systems or any
supplier has been advised of the possibility of such damages.
7. LIMITATION OF LIABILITY AND REMEDIES. Notwithstanding any
damages that you might incur for any reason whatsoever
(including, without limitation, all damages referenced above
and all direct or general damages), the entire liability of
M-Systems and any of its suppliers under any provision of this
Agreement and your exclusive remedy for all of the foregoing
shall be limited to the greater of the amount actually paid by
you for the Product or U.S.$5.00. The foregoing limitations,
exclusions and disclaimers shall apply to the maximum extent
permitted by applicable law, even if any remedy fails its
essential purpose.
8. Miscellaneous
The laws of the State of California, United States of America,
exclusive of conflict-of-laws provisions, shall govern this
Agreement in all respects.
begin 664 msysosak.o
M?T5,1@$!`0E&<F5E0E-$``$``P`!```````````````0:````````#0`````
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
M`'0,N!<```#I'0$``(GVBU40C00Z.T,D=AFX&P```.D&`0``C78`N!\```#I
M^0```(GVQT7X`````.G=````@\3X5U/H>NW__XG&@\00@_[_#X2^````B?@Q
MTO=S&&:)1?8/M\B+0S`/MQ1(BT,L@#P"_W0MB@0")'\\0'8D@\3X45/H@_;_
M_X/$$(7`#X67````@\3X5U/H)NW__XG&@\00#[=%_K0`9HE%_L9%_@"#Q/QJ
M`%93Z-_K__^#Q/1J!&H"C47^4(U&!E"-0UQ0BX.$````_]"+2R#3[HGQ#[?1
MBT,L@\0P@#P"`'T+#[=5]HM#,`^W#%`/MU7V9CE3*G83#[?1BT,L]@0"?P^$
M%?____X,`O]%^$?_0U"+11`Y1?@/@A?___\QP(UEV%M>7\G#D%6)Y3'`R<.0
M58GEBT4(BT`DR<.058GE@^P44XM="(-[+`!T#H/$]/]S+.C\____@\00@WLP
M`'0.@\3T_W,PZ/S___^#Q!#'0RP`````QT,P`````(-[-`!T#H/$]/]S-.C\
M____@\00@WLX`'0+@\3T_W,XZ/S____'0S0`````QT,X`````(M=Z,G#58GE
MBU4(C022P>`#*="-!(4@````R<.058GE4XM5"(M=#(M")(D##[="'HM*(-/@
MB4,$BX*8````B4,(,<!;R<.-=@!5B>6#[#Q75E.+50B+71"-!)+!X`,IT(TT
MA2````#'1=@`````@\3\:@YJ`(U%\%#H_/___X/$^%-6Z"7M__^#Q""%P`^%
ML00``(M%%(U67(D0QX:8`````````&;'1@0``(U=\.L%D&;_1@0/MT8$9CM&
M''-*@\3T:@!J#E.#Q/@/MT8$4%;HU.?__X/$$%"-1EQ0BX:`````_]"#Q""#
MQ/QJ!F@8````4^C\____@\00A<!UL@^W1@1F.T8<<@RX&@```.DQ!```B?8/
MMUX$0V:)7@:-7>#K!HGV9O]&!@^W1@9F.T8<<TJ#Q/1J`&H.4X/$^`^W1@90
M5NA@Y___@\004(U&7%"+AH````#_T(/$((/$_&H&:!@```!3Z/S___^#Q!"%
MP'6R#[=&!F8[1AQR!F;'1@;__P^W1?9FB48<BT7X9HE&'H/$](U%^E#H_/__
M_XG"P>H)B58D#[=&'F8!1AR[`0```(M.((G8T^!(B484@\'WB=C3X(E&&(U$
M$/\QTO=V&&:)1A"+1B33Z(G!#[?)#[=&'`^W5AXIT(/$$#G!?GEF@WX&_W1H
M#[=%YF:)1AR+1>AFB48>@\3TC47J4.C\____B<+!Z@F)5B0/MT8>9@%&'(M.
M((G8T^!(B484@\'WB=C3X(E&&(U$$/\QTO=V&&:)1A"+5B33ZHG1#[?)#[=&
M'`^W5AXIT(/$$#G!?@JX%P```.G;`@``@\3T5NB#[/__@\00A<`/A<<"``#'
M!@````"#Q/1J`@^W1AQ0_W8L@\3X#[=&!%!6Z`OF__^#Q!`%``(``%"-7EQ3
MBX:`````_]")QX/$((7_=$UF@WX&_W0_@\3T:@(/MT8<4/]V+(/$^`^W1@90
M5NC+Y?__@\00!0`"``!04XN&@````/_0B<>#Q""%_W00@\3T5NB+_/__B?CI
M.P(``#';9CM>$',4#[?3BT8P9L<$4/__9D-F.UX0<NPQVV8[7AQS0F8[7AYR
M&&8[7@1T$F8[7@9T#`^WTXM&+(`\`O]T'`^WTXM&+(`\`O]T!L8$`FOK"@^W
MTXM&+,8$`FIF0V8[7AQROC';9CM>''-`B?8/M].+1BR*!`($ECP!=B>#Q/R-
M1=Q04E;HB_;__XG'@\00A?\/A5;___^+1=P!1=@!AI@```!F0V8[7AQRPF;'
M1@@```^W7AYF.UX<<S:)]@^WPP-&+(`X$'0%@#B0=12#Q/@/M\-05N@3\/__
M@\00ZPJ)]H`X[W4#Q@#_9D-F.UX<<LQFQT8(```/MUX>9CM>'',9BU8LD`^W
MPX`\$/]U!&;_1@AF0V8[7AQRZP^W1AYFB48HQT90`````,=&3`````#'1D@`
M````QT98`````,=&5`````"+70R),\=#!.`3``#'0PC8%P``QT,4A!@``,=#
M(-`9``#'0R1L&@``QT,8R!D``,=#'-P9``#'0PP`````QT,0`````(/$]`^W
M1AS!X`)0Z/S___^)1C2#Q!"%P'0H,=MF.UX<<R")]@^WPXM6-&;'!(*MWHM6
M-&;'1(("K=YF0V8[7AQRX@^W7AR+3B"#P?73XX/$]%/H_/___XE&.(7`=!6Q
M53'2.=IS#8GVBT8XB`P"0CG:<O6+1=CW)2````#!Z@>)T,'@""G0BU78*<*)
MT"7_````9HF&E`````^W5A"+1=B)TS'2]_-FB9:6````,<"-9;A;7E_)PY!5
MB>575E.#/0`````"?@FX9@```.MIB?:A`````,'@`\>``````)@:``#'@`0`
M````````_P4`````,=*_3````+Y0````NU0```"Y6````(T$DL'@`RG0P>`"
MQP0X`````,<$,`````#'!!@`````QP0(`````$*#^@=VTS'`6UY?R<-5B>6X
M`0```,G#B?95B>7)PXUV`%6)Y<G#C78`58GE,<#)PY!5B>7)PXUV`%6)Y3'`
MR<.058GER<.-=@!5B>7)PXUV`%6)Y3'`R<.058GE,<#)PY!5B>7)PXUV`%6)
MY8/L#%=64XM]#(,]``````=V"[AF````Z<8```"0,?:#/0`````'#X>G````
MD(/$]/\U`````.C\____B<.A`````(D#@\3X:@)3Z/S___^#Q""#Q/Q7BT4(
M4/\SZ/S___^)0RB#Q!"%P'1HQT-`("```,=#1"P@``#'0T@T(```QT-,/"``
M`,=#4$0@``#'0U1,(```QT-85"```,=#7%P@``#'0V!D(```QT-D;"```,=#
M:`````#'0VQT(```1O\%`````(,]``````</AEK___^%]G0&,<#K!XGVN#P`
M``"-9>A;7E_)PY"0D%6)Y8M5"(M"&(M`*,:`!A````"+0AB+0"C&@`80```*
MR<.)]E6)Y8M5"(M"&(M`*,:`!A````"+0AB+0"C&@`80```JR<.)]E6)Y8M%
M"(M`&(M`*,:`!A````+)PXUV`%6)Y8/L$%93BW4(QD7_`(M&&/9`'`AT+#')
MB<.+0RB*5?^*@`80````PHA5_T&#^0%^Z8M&&(M`*(J`!A```.LNC78`,<F+
M7AB-=@"+0RB*5?^*@`<0````PHA5_T&#^0%^Z8M&&(M`*(J`!Q```"2`)?\`
M``!;7LG#B?95B>575E.+70B+=0R+31"+?13V0Q4!=33WQP0```!T)(L1@>+_
M`0``QP90````@_H'=PF!`0`!``#K:Y"#`?CK98UV`,<&`````.M:BT,8#[<1
M9B-0"(G0#[?0*1'WQP0```!T!H'"``(``(M#&`^W0`HYPG,*QP8`````ZQR)
M]HM#&`^W0`8YPG,)QP8!````ZP>0QP90````BT,8#[=`"D@AP@$16UY?R<.0
M58GE@^P05E.+=0C&1?\`,<F+7AB+0RB*5?^*@"`0````PHA5_T&#^0-^Z8M&
M&(M`*(J`!!```(A%_C')BUX8D(M#*(I5_XJ`(!````#"B%7_08/Y`7[IBD7^
MP.@'-`$E_P```%M>R<-5B>6#[!!64XMU"#';C78`@\3T5NA_____@\00A<!U
M"+@!````ZPR00X'[+W4``'[?,<"-9>A;7LG#B?95B>6#[`Q75E.+?0B+30PQ
MV[IG9F9FB=#WZ8G0P?@"B<K!^A\IT#G#?3^Z9V9F9HG0]^G!^@*)R,'X'XG6
M*<:0@\3T:@KH_/___X/$]%?H"?___X/$((7`=0JX`0```.L*C78`0SGS?-<Q
MP(UEZ%M>7\G#D%6)Y8/L%%.+30B+50S&1?\`BT$8BT`HB)`$$```,=N+21B)
M]HM!*(I5_XJ`(!````#"B%7_0X/[`7[I6\G#B?95B>6+10B+50R+0!B+0"B(
MD`40``#)PY!5B>6+30B+01B+4"B*@@$0``"$P'4;QH("$```A8M!&(M`*,:`
M`A```(6+01C&0!4`R<.058GE@^P44XM%"(M=#(/$^&H`_W`<Z/S___^(F`(0
M``"(F`(0``"+7>C)PY!5B>6#[!B+50R*@@`0```\,'45BH(&$```B$7_BD7_
MBI(&$```ZQ.0BH('$```B$7_BD7_BI('$```,-"(1?Z*1?ZH!'0&,<#K!XGV
MN`$```#)PY!5B>6#[`B+50S&@@(0``"$QH("$```A,:"`A```(7&@@(0``"%
MBH(`$```/"!T"HJ"`!```#PP=1>#Q/A2_W4(Z&?___^%P'4'N`$```#K`C'`
MR<-5B>6#[!Q75E.+=0R+?1#'1?@`````A?9U"KX`@`P`OP``#P`Y-00```!S
M.(DU!````#G^=RB)]HL=!````,:#`A```(3&@P(0``"$@04$`````"```#D]
M!````';:B34$````.3T$````#X?E````BQT$````Z:H```"0@WWX`'5"@\3X
M4XM%"%#HR?[__X/$$(7`=7J*@P`0``"$P'0,QH,;$```&NL*C78`QH,%$```
M&L=%^`$```"+-00```#K3HGVBH,`$```/"!T"HJ#`!```#PP=7V#Q/A3BT4(
M4.AS_O__@\00A<!U:8J#`!```#PP=0J*@QL0``#K"(GVBH,%$```B$7_BD7_
M/!IU1:$$````!0`@``"C!````#GX=S*)P\:#`A```(7&@P(0``"%BH,`$```
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
MZ1P!``")]BG[B5T0@\3XC47\4%;HOO;__\=%]`````"#Q!"+31`Y3?0/C?(`
M``"+1A@/MT`2B?L/K]B#Q/AH_P```%;H"O;__X/$^&H15NB'\O__@\0@@\3T
M5NC+\?__@\3X:F!6Z.CU__^#Q""#Q/AJ%5;H8O+__XM&&(M0*(M`)(@<$(M&
M&(M(*(M0)(G8P>@(B`0*@\00]D85!'01BT88BT@HBU`DB=C!Z!"(!`J+1ACV
M0!P(=`J+0"C&@!X0````@\3X:A%6Z`WR__^#Q/AHT````%;H=_7__X/$((/$
M^&H>5NA]\?__@\00A<!U#(/$]%;H,?'__X/$$(/$]%;H)??__X/$$*@!#X7.
M_O___T7T1XM%$#E%]`^,#O___X/$^&H85NBO\?__BT7XC6786UY?R<-5B>6+
M10B-%("-%%"-!)4`!0``R<.-=@!5B>6#[!13BUT(@\3T:@#_=1"+0QC_<"#_
M=0Q3Z"/]__^+0QS'0!P!````BT,8BT`@BUWHR<.)]E6)Y8/L%%.+30B*70R*
M11"(1?^+41B`>A4`#X5L`@``@WT4``^%8@(``&8/ML-FB0*+41AF#[9%_V:)
M0@*+01AFQT`2$``/ML,]F`````^$*`$``#WL````#X5-`@``#[9%_X/X=@^$
MY````'\F@_AS#X2A````?PN#^&1T0.DI`@``D(/X=0^$IP```.D:`@``B?8]
MY0```'0]?P\]XP```'0TZ0,"``"-=@`]Y@```'1%/>H````/A>X!``!FQP%D
M[(M!&&;'0`0``<=!"```(`#IRP$``&;'`>7LBT$89L=`!``"QT$(``!``(!)
M%0'IK0$``(GV9L<!YNR+01AFQT`$``+'00@``(``@$D5`>F-`0``B?9FQP%S
M[(M!&&;'0`0``L=!"`````&`214!ZS:09L<!=>R+01AFQT`$``+'00@````"
M@$D5`>L:D&;'`7;LBT$89L=`!``"QT$(````!(!)%06+01@/MU`2`=)FB5`2
MZ2@!``"0#[9%_X/X=0^$NP```'\A@_AK=&!_"H/X9'0_Z1`!``"#^',/A(,`
M``#I`@$``(GV/>4```!T/7\/@_AV#X2B````Z>D```"0/>8```!T03WJ````
M#X76````9L<!9)B+01AFQT`$``''00@``"``Z98```!FQP'EF(!)%0&+01AF
MQT`$``+'00@``$``ZWN09L<!YIB`214!BT$89L=`!``"QT$(``"``.M?D&;'
M`7.8BT$89L=`!``"QT$(`````8!)%0'K-I!FQP%UF(M!&&;'0`0``L=!"```
M``*`214!ZQJ09L<!=IB+01AFQT`$``+'00@````$@$D5!8M!&`^W4!(!TF:)
M4!*`214"ZQ=F#[;#BU$89CL"=11F#[9%_V8[0@)U";@!````ZP2)]C'`6\G#
MC78`58GE@^P,5U93BUT(BWT,QD7_`(/$^&B0````4^CW\?__@\3X:AU3Z'3N
M__^+0QB+4"B+0"3&!!``BT,8@\0@]D`<"'0*BT`HQH`>$````(/$^&H94^A&
M[O__@\3T:@KH_/___XM#&(M0*(I%_XJ2#1````#0B$7_,<F#Q""+<QB+1BB*
M5?^*@"`0````PHA5_T&#^0%^Z8M#&(M0*(M`)(H4$(A5_H/$]&H*Z/S___^+
M0QB+4"B*1?^*D@T0````T(A%_S')@\00BW,8BT8HBE7_BH`@$````,*(5?]!
M@_D!?NF+0QB+4"B+0"2*!!!7)?\```!0#[9%_E!3Z$O\__^#Q!"#^`%T!S'`
MZ84```#_0PR#Q/AJ$%/H@NW__XM#&(!X%0!U:87_=65FQT`*``&+4Q@/MT($
M9HE"!O9#%0%T#HM#&&;'0`P0`.L,C78`BT,89L=`#`@`BT,8#[=0!DIFB5`(
MBTL8#[=!$@^W408/K\*)0P2+0PB9]WL$9HE!#HM#&`^W4`QF`U`&9HE0$+@!
M````C67H6UY?R<.-=@!5B>6#[!Q75E.+=0C'1?@`````QD7S`(/$]/]V'.C\
M____B<*-!)*-!$*-!(4`!0``B488@\3T@\3T_W8<Z/S___]0Z/S___^)PHM&
M&(E0((/$,(/$^&B%````5N@K[?__@\3X:A#_=ASH_/___X/$((/$^&IX_W8<
MZ/S___^+1AC'0!@!````BT88QD`4!(M&&,9`%03'1@P`````QT8(```@`,=&
M$`$```"#Q/AJ`/]V'.C\____B<*+1AB)4"B+5AB+0BB#Q""*@``0```\,'45
M@$H<"(M&&,=`)``(``#&1@("ZP^0BT88QT`D`!@``,9&`@&#Q/B-1?A05NCY
M[___BU88@\00]D(<"'0=BT(HBH`&$```B$7_BU(HBD7_BI(&$```ZQZ-=@"+
M5AB+0BB*@`<0``"(1?^+4BB*1?^*D@<0```PT(A%_HI%_J@$#X2-`0``BT88
MBT`HBH``$```OQ`````\,'4%OP(```"+1AC&0!4`BT88B<*`>!4#=T>0B="+
M4"B*0!6(@@,0```QVSG[?2.#Q/@/ML-05NB;Z___@\3X:/\```!6Z,7N__^#
MQ"!#.?M\W8M&&/Y`%8M6&(!Z%0-VNHM&&,9`%0"+1AB+4"B*0!6(@@,0``"#
MQ/AJ&%;H%>O__\9%\@"#Q!")]C';.?M]=8GVBT7XB47T@\3XC47T4%;H[>[_
M_X/$^%-6Z/S___^#Q""#^`%U)XI%\O[`B$7S@'WR`'4-BT88BU8(#Z]6$`%0
M&(M&"`^O1A`!1?CK(H!]\@!U%HG?BU88B=@/KT8(#Z]&$(E"&.L(B?:)^\9%
M\@1#.?M\C?Y%\H!]\@,/AGC___^+1AC&0!4`BT88BU`HBD`5B((#$```@WX,
M`'1,QT7X`````(/$^(U%^%!6Z%#N__^+1AB*5?.(4!2#Q/16Z.KG___'1B@D
M+0``QT8L8#```,=&),0O``#'1B"`,@``@$X4`C'`ZP>)]K@:````C6786UY?
MR<.-=@!5B>6#/0`````$?QRA`````,'@`L>```````PW``#_!0`````QP.L%
MN&8```#)PY!5B>6#[!13BUT(]@,(=":#Q/3_LY@```#H_/___X/$$(7`=`/&
M`P"#Q/3_<VR+@X@```#_T,8#`#'`BUWHR<.058GE@^P05E.+70@Q]H-]#`%U
M68/$](U#-%#H_/___X/$$(7`=0JX"0```.F%````@\3X:@'_LY@```#H_/__
M_X/$]/^SF````.C\____@\0@]@,(=%V#Q/AJ`?]S;(N#A````/_0B<;K28GV
M]@,(=!6#Q/AJ`/]S;(N#A````/_0B<:#Q!"#Q/3_LY@```#H_/___X/$^&H`
M_[.8````Z/S___^#Q""#Q/2-0S10Z/S___^)\(UEZ%M>R<-5B>6#[`B+10B#
MQ/QJ`/]U#/]P;(M`</_0R<.058GE@^P44XM="(/$]%/H_/___X/$$(7`=3V#
MQ/QJ`8U#;%")V"T`````:<"7;_F6P?@"4.C\____A<!U&L=#$`````#'0Q@`
M````QT,4`````(`+"#'`BUWHR<-5B>6#["Q75E.+?0C'1>``````QT7<`0``
M`(/$]%?H@?___X/$$(7`#X5;`@``QT7H`````,=%Y`````#I]P```(UV`,=%
MW`````"#Q/B+1>105^C\____B<.#Q!"%VP^$[P$``('[``````^$^P$``&:!
MN_X!``!5J@^%R````,=%[`````"#?>``#X6>````@WW<``^%E````(UU^(GV
MBU7LP>($BX0:O@$``(E%\(N$&L(!``")1?2+A!K&`0``B47XBX0:R@$``(E%
M_(I%]#P$=!-_"3P!=`WK.8UV`#P%=!P\!G4NQT7@`0```(/$]%;H_/___XE'
M$.L6C78`QT7<`0```(/$]%;H_/___XE%Y(/$$/]%[(-][`-W$(-]X`!U"H-]
MW``/A''_____1>B#?>@'=Q"#?>``=0J#?=P!#X3\_O__@\3X_W<05^C\____
MB<.#Q!"%VW4+N!L```#I(@$``)"!^P````!U#+@9````Z0\!``")]H`[Z70;
MBP,E_P#_`#WK`)``=`VX"@```.GP````C78`@\3TC4,+4.C\____@\009CT`
M`@^%SP````^V0PV)1P0/MD,0B4<<#[=#%HE'(`^W2PX#3Q")3Q0/MT,6`<B)
M1Q@/MD,0#[=3%@^OP@'(B4<D@\3TC4,14.C\____)?__``#!X`5(P>@)0(E'
M*`-')(E'+(/$](U#$U#H_/___R7__P``A<!U`XM#(`-'$"M'+#'2]W<$0(E'
M"#WT#P``=D>+1P3!X`F)1PS'1S`"````@`\",<#K-8/$]/]W;(N'B````/_0
MN!L```#K((UV`(/$]/]W;(N'B````/_0N!D```#K"(UV`+@+````C67(6UY?
MR<.-=@!5B>6#[!!64XM="(MU#(/$]/]S;(N#C````/_0.T,0=@LK0Q")1A`Q
MP.L-D,=&$`````"X'P```(UEZ%M>R<.058GE@^P,5U93BWT,BW<,BT<0BU4(
MBUH0`<.+1Q2)1?S'1Q0`````.4<4#X.%````@\3X4XM5"%+H_/___X/$$(7`
M="0]`````'4)N!D```#K98GV@\3\:``"``!05NC\____ZS>-=@"#Q/2+10C_
M<&R)PHN"C````/_0@\00.=AW"K@;````ZRZ-=@"#Q/QH``(``&H`5NC\____
M@\00_T<40X'&``(``(M%_#E'%`^">____S'`C67H6UY?R<.058GE@^P,5U93
MBWT(@\3XBT4,4%?H_/___XG"@\00A=)T"('Z`````'4&,<#K:(GVBT4,*T<4
MP>`(C5C^#Z]?!`-?+#'VC78`BTT0#[<$#F:#/!8`=!YFA<!U&8/$_/]W!%/_
M=VR+AX````#_T(/$$(7`=2*#Q/B+10Q05^C\____B<*#Q!`#7P2#Q@*!_O\!
M``!VM#'`C67H6UY?R<.)]E6)Y8/L#%=64XM%#(MP#(M`$(M5"(M:$`'#BT4,
MBT`4B47\.UH8<TD!V#M"%'9",?\[??QS*HGVBU4(.UH4<A,[6AAS#H/$_%93
M4NC\____@\001T.!Q@`"```[??QRV(M%#(MP#(M`$(M5"(M:$`'#BT4,QT`4
M`````.LIC78`@\3\5E.+10C_<&R)PHM"=/_0@\00A<!U%XM%#/]`%$.!Q@`"
M``"+5?PY4!1RTC'`C67H6UY?R<-5B>6#[!13BT4(BUT,@\3\C57\4O]S$/]P
M;(M`</_0A<!T'3T`````=0JX&0```.L4C78`BT7\B4,4,<#K!XGVN!L```"+
M7>C)PXGV58GE@^P(BU4(BTT,BT$0`T(0@\3\_W$44/]R;(N"@````/_0R<.)
M]E6)Y8/L$%=6BU4(BT4,BW`,@\3X_W(04NC\____A<!U![@;````ZQT]````
M`'01B?>)QORY"0```/.E,<#K!I"X&0```(UEZ%Y?R<-5B>6#[!!64XM="(/$
M^(US.%;_LY@```#H_/___X/$$(7`=0Z#Q/16BT-H_]"`"P$QP(UEZ%M>R<.-
M=@!5B>6+10B`(/[)PY!5B>6+50B+10R+2`P/MT(X9HD!BT(\B4$$BT)`#Z]"
M1(E!"(M"0(E!#(M"2(E!$(I".CP!=!I_"(3`=`SK'HGV/`)T%.L6B?;&00(`
MZPZ)]L9!`@'K!HGVQD$"`C'`R<-5B>6#[!13BUT(BTT,BT$4`T$0BU-`#Z]3
M1#G0?Q&+01"9]WL\BT,\*=`Y011^";@S````ZR")]H/$]/]Q!/]Q%/]Q#/]Q
M$(U#.%"+0US_T(7`=0(QP(M=Z,G#D%6)Y8/L%%.+70B+30R+010#01"+4T`/
MKU-$.=!_$8M!$)GW>SR+0SPIT#E!%'X)N#,```#K((GV@\3T_W$$_W$4_W$,
M_W$0C4,X4(M#8/_0A<!U`C'`BUWHR<.058GE@^P,5U93BUT(BTT,BT$4B<<#
M>1"+<T`/KW-$B?"9]WL\.<=^"+@S````ZQF0@\3\_W$4_W$0C4,X4(M#9/_0
MA<!U`C'`C67H6UY?R<-5B>6+10B+50R+@)@```"+0"C!X`R)`C'`R<.058GE
M@^P,5U93BWT,BW40BUT4QP<`!```QP80````BP_!X02+10@QTO?QB=&)`X7)
M="C_`XL/#Z\+BT4(,=+W\8G1B0:%R702_P:+#@^O"XM%"#'2]_&)P8D/6UY?
MR<.058GE@^Q,5U93BW4(BT4,BU@,QD7'`8L`B47H]@8!=1B#Q/16Z*O]__^#
MQ!"%P`^%"0$``,9%QP"-1=2)1?2#Q/B-1>A05NC1_?__@\00A<`/A><```"+
M1=1FB4,,BT789HE#%(M%W(E#$(I%UHA#%H/$_&H(:"0```"-0QA0Z/S___^#
MQ/QJ!&@L````C4,B4.C\____@\0@@\3XC4,(4%;HWO[__X/$$(7`#X6,````
M@\3XC47(4/]V;(N&D````/_0@\00A<!U<XM%R(D#BT7,B4,$C4,T4(U#,%"-
M0RQ0_W7(Z/S___^#Q!"_0$(/`(!]U@!U!;^@A@$`BT7<F?=]V(G!#Z_/BU70
MB=`QTO?QB<'W)3````")T,'H`XT$@`'`*<&)R/[`B$,7@'W'`'4)@\3T5NC\
M____,<"-9:A;7E_)PXUV`%6)Y8/L#%=64XM]#(,]``````!U#>C\____A<`/
MA1L"``"+!SL%`````'(,N!0```#I!P(``(GVBQ>-!)+!X`,IT(TTA0````"#
MQ/AJ`5;H_/___X/$$(7`#X7>`0``@WT($'=WBT4(_R2%-````)#V!@$/A*\`
M``"#Q/16Z/S___^#Q!#IG@```(GV]@8(=`N['P```.F5`0``D/8&`708@\3T
M_[:8````Z/S___^)PX/$$(/[(G4.@\3T5NC*^___B<.#Q!"%VW1=@\3T5NC\
M____@\00Z4$!``#V!@AT/(/$]/^VF````.C\____@\00A<!T#(/$]%;H_/__
M_X/$$/8&"'06BT4(2(/X$7<(_R2%>````)#V!@)U"[LW````Z0D!``"0@WT(
M$@^'Y@```(M%"/\DA<````"#Q/16Z)OU___IQ````(GV@\3T5NC\____Z;0`
M``")]H/$^/]W#(/$]/\WZ/S___^#Q!!0Z/S____IE````(GV@\3X5U;H[O?_
M_^F#````D(/$]%;H[_3__^MWD(/$^%=6Z!+X___K:H/$^%=6Z&;Y___K7H/$
M^%=6Z!+Z___K4H/$^%=6Z%+Z___K1H/$^%=6Z&[Z___K.H/$^%=6Z/;Z___K
M+H/$^%=6Z$K[___K(H/$^%=6Z)K[___K%H/$^%=6Z.K[___K"H/$^%=6Z*K\
M__^)PX/$$.L(C78`NP$```"%VW4/@\3X:@!6Z/S___^)P^L+@\3X:@!6Z/S_
M__^)V(UEZ%M>7\G#C78`58GE@^P05E.#/0``````#X61````O@`````QVX/$
M]%/H_/___XF&F````(D8Q@8`@\000X'&G````(/[!W;=QP4``````0```.C\
M____QP4``````````.C\____A<!U1^C\____A<!T"NL\N!\```#K-9`QV[X`
M````.QT`````<R.0@\3TC48T4.C\____@\00A<!UU4.!QIP````['0````!R
MWC'`C67H6U[)PY!5B>6#[`Q75E.^`````#'_.ST`````<U^#Q/AJ`5;H_/__
M_X/$$(7`=3Z#Q/16Z/S___^#Q/16Z/S___^#Q""#Q/3_MI@```#H_/___X/$
M](U>-%/H_/___X/$((/$]%/H_/___X/$$$>!QIP````[/0````!RH<<%````
M``````"-9>A;7E_)PY"0D%6)Y5.+30B+70QF#[81BD$!)`/!X`@)PF:)$P^^
M40&!XOP```#!^@**00(D#V:8P>`&"=!FB4,"#[Y1`H'B\````,'Z!(I!`R0_
M9IC!X`0)T&:)0P0/OE$#@>+`````P?H&9@^V003!X`()T&:)0P9;R<.058GE
M5E.+30B+70P/O\,!P`-%$(/`_C'29CG:?1F-=@")SH/F`6:),(/`_F;!^0%F
M0F8YVGSJ6U[)PXGV58GE5U93BU4,B=$/O\&-!$7^____BUT(`<,Q_[X!````
M9DEFA=)^&`^W`X/#_F:%P'0""?<!]HG(9DEFA<!_Z`^_QUM>7\G#58GE@^P(
M@\3T@\3T#[]%"%#HL@$``(G"N/\#```IT)A0Z&H!``"8R<.-=@!5B>6#[!!6
M4XM%"(M5#(G!B=9FA<!T!6:%TG4$,<#K-H/$]`^_P5#H<`$``(G#@\3T#[_&
M4.AB`0``C008@\0@9CW_`WX%!0'\__^#Q/284.@/`0``F(UEZ%M>R<.-=@!5
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
M]%#H_/___^L0B?;'0"S_?P``QT`<`0```,G#58GE@^P44XM="/]##(-[%`!U
M'8/$]%.+0T3_T(/$$(-[(`!T"X/$]/]S)(M#(/_0QT,4`@```(M=Z,G#58GE
MBT4(@W@,`'X#_T@,R<.-=@!5B>6#[!13BUT(_T,0@WL8`'4-@\3T4XM#3/_0
MA<!U"<=#&`(````QP(M=Z,G#B?95B>6+10B#>!``?@/_2!#)PXUV`%6)Y8M%
M"(M5#(M-$(E0((E(),G#58GE@^P44XM="(-[8`!U'8-["`!U%X/$]%.+0T#_
MT(/$$(7`=0?'0P@!````@WL0`'57@WL8`G4+QT,8`0```.L;B?:#>Q@!=1/'
M0Q@`````@\3T4XM#4/_0@\00@WL,`'4G@WL4`G4+QT,4`0```.L8B?:#>Q0!
M=1#'0Q0`````@\3T4XM#2/_0BUWHR<.058GE@^P(BT4(@WAH`'0,@\3X_W4,
M4(M`:/_0,<#)PY!5B>6#[!13BUT(@\3X:@!3Z/S___^#Q/13Z/S___^#Q""#
MQ/AJ`%/H_/___X/$]%.+0VS_T(/$((/$](L#P>`"_[#@"0``Z/S___^+7>C)
MPTTM4WES=&5M<R!$:7-K3VY#:&EP`````$%.04Y$````@8"`@$9R965"4T0`
M-"XQ`,W,S,PT10``H$4``*!%``"@10``-$4``*!%``"@10``H$4``*!%``"@
M10``4$4``%!%``!010``4$4``.Q%``"@10``-$4``.Q%``#L10``[$4``-Q%
M``#L10``[$4``-Q%``#L10``W$4``-Q%``#<10``W$4``-Q%``#<10``[$4`
M`-Q%``#<10``[$4```!&```01@``Y48``-Q&``!01@``7$8``&A&``!T1@``
M@$8``(Q&``"81@``I$8``+!&``"\1@``($8``$!&``#<1@``W$8``,A&````
M`````````````````````````````````````!%5_P````!550``````````
M``````$``P`'``\`'P`_`'\`_P``````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````6T%335]&24Q%7T5.1%U'0T,Z("AC*2`R+CDU+C,@,C`P,3`S
M,34@*')E;&5A<V4I``!;05--7T9)3$5?14Y$74=#0SH@*&,I(#(N.34N,R`R
M,#`Q,#,Q-2`H<F5L96%S92D``%M!4TU?1DE,15]%3D1=1T-#.B`H8RD@,BXY
M-2XS(#(P,#$P,S$U("AR96QE87-E*0``6T%335]&24Q%7T5.1%U'0T,Z("AC
M*2`R+CDU+C,@,C`P,3`S,34@*')E;&5A<V4I``!;05--7T9)3$5?14Y$74=#
M0SH@*&,I(#(N.34N,R`R,#`Q,#,Q-2`H<F5L96%S92D``%M!4TU?1DE,15]%
M3D1=1T-#.B`H8RD@,BXY-2XS(#(P,#$P,S$U("AR96QE87-E*0``6T%335]&
M24Q%7T5.1%U'0T,Z("AC*2`R+CDU+C,@,C`P,3`S,34@*')E;&5A<V4I``!;
M05--7T9)3$5?14Y$74=#0SH@*&,I(#(N.34N,R`R,#`Q,#,Q-2`H<F5L96%S
M92D``%M!4TU?1DE,15]%3D1=1T-#.B`H8RD@,BXY-2XS(#(P,#$P,S$U("AR
M96QE87-E*0``6T%335]&24Q%7T5.1%U'0T,Z("AC*2`R+CDU+C,@,C`P,3`S
M,34@*')E;&5A<V4I``!;05--7T9)3$5?14Y$74=#0SH@*&,I(#(N.34N,R`R
M,#`Q,#,Q-2`H<F5L96%S92D``%M!4TU?1DE,15]%3D1=1T-#.B`H8RD@,BXY
M-2XS(#(P,#$P,S$U("AR96QE87-E*0``6T%335]&24Q%7T5.1%U'0T,Z("AC
M*2`R+CDU+C,@,C`P,3`S,34@*')E;&5A<V4I``!;05--7T9)3$5?14Y$74=#
M0SH@*&,I(#(N.34N,R`R,#`Q,#,Q-2`H<F5L96%S92D`"``````````!````
M,#$N,#$````(``````````$````P,2XP,0````@``````````0```#`Q+C`Q
M````"``````````!````,#$N,#$````(``````````$````P,2XP,0````@`
M`````````0```#`Q+C`Q````"``````````!````,#$N,#$````(````````
M``$````P,2XP,0````@``````````0```#`Q+C`Q````"``````````!````
M,#$N,#$````(``````````$````P,2XP,0````@``````````0```#`Q+C`Q
M````"``````````!````,#$N,#$````(``````````$````P,2XP,0`````N
M<WEM=&%B`"YS=')T86(`+G-H<W1R=&%B`"YT97AT`"YR96PN=&5X=``N<F]D
M871A`"YR96PN<F]D871A`"YD871A`"YB<W,`+F-O;6UE;G0`+FYO=&4`````
M`````````````````````````````````````````````````````!L````!
M````!@`````````T````)%T`````````````!``````````A````"0``````
M````````$'0``/`'```*`````0````0````(````*P````$````"````````
M`%A=```,`0`````````````$`````````#,````)````````````````?```
ML`$```H````#````!`````@````_`````0````,`````````@%X``&`%````
M`````````"``````````10````@````#`````````.!C````"@``````````
M```@`````````$H````!``````````````#@8P``O`(``````````````0``
M``````!3````!P``````````````G&8``!@!``````````````$`````````
M$0````,``````````````+1G``!9```````````````!``````````$````"
M``````````````#P:0``\`4```L```!2````!````!`````)`````P``````
M````````X&\``"X$``````````````$`````````````````````````````
M``````````````````,``0`````````````````#``(`````````````````
M`P`#``````````````````,`!``````````````````#``4`````````````
M`````P`&``````````````````,`!P`````````````````#``@`````````
M`````````P`)``````````````````,`"@`````````````````#``L``0``
M`+1<```?`````@`!`!@````\60``%`````(``0`I````H%H``%H````"``$`
M+P```"P[```;`````@`!`#H```!@6```,P````(``0!'````+%@``#(````"
M``$`4@```$0````4`````0`%`%L```#<6```)0````(``0!B````7`````0`
M```!``4`<````"A9```1`````@`!`'L````0````!`````$`!0"$````4%L`
M`"P````"``$`E````+A8```C`````@`!`)T````X/P``G@````(``0"N````
M!%D```H````"``$`NP```(Q!```+`````@`!`,P````D4P``#@$```(``0#4
M````_%H``!4````"``$`Z````,!4``#+`````@`!`/@````07```%`````(`
M`0`-`0``S%D``,8````"``$`&P$``,P"```*`````@`!`"<!``!@````!```
M``$`!0`O`0``G!\``(0````"``$`/@$``-1<``!0`````@`!`$L!``!4&@``
M%P````(``0!7`0``6`````0````!``4`9@$``'Q;```\`````@`!`'`!``"X
M6P``$0````(``0!^`0``P%(``&0````"``$`CP$``!!9```6`````@`!`)H!
M```,1P``KP````(``0"A`0``;"4``&X!```"``$`N`$``"P````$`````0`%
M`,,!```P.@``/P````(``0#2`0``%%L``!4````"``$`XP$``+Q'``")````
M`@`!`.H!```D7```CP````(``0#\`0``$%@``!D````"``$`!0(``)18```C
M`````@`!``T"```,````!`````$`!0`;`@``_%L``!$````"``$`*0(``&PU
M``"=`0```@`!`#4"``!060``)0````(``0!(`@``?"```.T````"``$`60(`
M`"Q;```A`````@`!`&D"``#$1```10(```(``0!P`@``Q`(```4````"``$`
M?`(``!Q#``!?`````@`!`(P"``#X5P``%@````(``0"3`@``&%<``-T````"
M``$`HP(``&0````8`````0`%`*L"``!P.@``O`````(``0"S`@``0`````0`
M```!``4`PP(``(````#@!````0`%`,@"``#@40``W0````(``0#4`@``X`(`
M`!`````"``$`X@(``/`"```%`````@`!`.\"````.@``+P````(``0`!`P``
MS%L``"X````"``$`"P,``(Q5```N`0```@`!`!<#``!X60``5`````(``0`D
M`P```````"\````"``$`.0,``)1:```+`````@`!`$T#``!H,@``%0````(`
M`0!;`P``V`(```4````"``$`:0,``!@E``!4`````@`!`'@#```H````!```
M``$`!0"!`P``F`X```4!```"``$`BP,``#14```'`````@`!`)0#````````
M`````!````"A`P`````````````0````K`,`````````````$````+D#``!`
M`@``<````!(``0##`P`````````````0````T`,```@"```<````$@`!`-L#
M``!@`0``J````!(``0#F`P``L`(``!,````2``$`\@,``"0"```<````$@`!
M`/X#`````````````!`````+!``````````````0````%P0``'@```#F````
M$@`!`"($```P````1P```!(``0``=7!D871E4V]C:V5T4&%R86UE=&5R<P!F
M;%=R:71E4')O=&5C=&5D`&9L36%P`&9I;F1396-T;W(`9G)O;55.04Q,3TY'
M`'1O54Y!3$Q/3D<`;71D5&%B;&4`9&]C<V5T`&UY7VQO=V%D9')E<W,`9FQ"
M=69F97)/9@!I;FET1&]N90!F;%-O8VME=%-E=$)U<WD`9&]C=W)I=&4`<F5P
M;&%C949!5'-E8W1O<@!F;%-O8VME=$YO3V8`9&ES;6]U;G1,;W=,979E;`!F
M;$UO=6YT`&9L4V5T5VEN9&]W0G5S5VED=&@`9FQ);G1E;$ED96YT:69Y`&9L
M4V5T4&]W97)/;D-A;&QB86-K`&9L26YI=%-O8VME=',`9FQ486ME375T97@`
M;F]/9E1,<P!F;%)E9VES=&5R3D943`!F;$5X:713;V-K970`9V5T06YA;F12
M96,`;7E?:&EG:&%D9')E<W,`9FQ.965D5F-C`&9L1&]N=$YE96168V,`9FQ#
M:&5C:T%N9$9I>$5$0P!F;%-O8VME=$]F`&9L26YI=`!F;$1O8U=I;F1O=T)A
M<V5!9&1R97-S`&YO3V9$<FEV97,`9&ES;6]U;G16;VQU;64`9FQ39717:6YD
M;W=3<&5E9`!F;$5X:70`9FQ);G1E<G9A;%)O=71I;F4`9G)O;55.04P`9&]C
M<F5A9`!F;$US96-#;W5N=&5R`&9L1&]N=$YE9616<'``<F5A9$9L87-H240`
M9FQ297-E=$-A<F1#:&%N9V5D`&9L4F5G:7-T97)$3T-33T,`9FQ39717:6YD
M;W=3:7IE`&)D0V%L;`!F;$9R965-=71E>`!F;$)U:6QD1V5O;65T<GD`=&]5
M3D%,`&9L261E;G1I9GE&;&%S:`!T;%1A8FQE`'-E=$)U<WD`9&%T845R<F]R
M3V)J96-T`'9O;',`9FQ$96-O9&5%1$,`9FQ#<F5A=&5-=71E>`!F;%-Y<V9U
M;DEN:70`9FQ296=I<W1E<D1/0S(P,#``9FQ.965D5G!P`&9L26YT96Q3:7IE
M`&9L365D:6%#:&5C:P!F;%)E9VES=&5R0V]M<&]N96YT<P!F;$=E=$UA<'!I
M;F=#;VYT97AT`&=E=$Y&1$,R,59A<G,`9FQ$96QE=&5-=71E>`!C:&5C:U=I
M;D9O<D1/0P!N;T]F351$<P!S=V%P56YI=',`;F]&;W)M870`9&]C,FM?;65M
M<V5T`&1O8S)K7V9R964`9&]C,FM?;65M8W!Y`&1O8S)K7W)W90!D;V,R:U]M
M86QL;V,`9&]C,FM?;W!E;@!D;V,R:U]S:7IE`&1O8S)K7W-L965P`&1O8S)K
M7V-L;W-E`&1O8S)K7VUE;6-M<`!D;V,R:U]D96QA>0!D;V,R:U]I;F9O`&1O
M8S)K7W!R;V)E````"P````$F```1`````10``!8````".```(@````)&```G
M`````B,``#T````!%```0P````$F``!)`````08``$\````!!@``5P````(K
M``!D`````2T``)`````"4@``I`````(Z``##`````0,``((!```".@``'@(`
M``(Z```Z`@```CH``'X"```".@``C@(```(Z``">`@```CH``+T"```"7```
M*04```$%```>"0```AH``"0)```"%0``5PD```)6``!I"0```E8``$(4```!
M00``,A@```)0``#S&0```E,```<:```"4P``*1H```)3```]&@```E,``&4:
M```!!@``LAH```$&``#)&@```E(``#T;```!`P``0QL```);``"Q&P```0,`
M`+<;```"6P``Z1L```(0``!='````A```*@>```!`0``KQX```$!``"V'@``
M`0$``+T>```!`0``Q!X```$!``#+'@```0$``-(>```!`0``\!X```)6```W
M'P```E8``%P?```!`P``I!\```$B``"U'P```2(``+X?```!/P``PA\```$!
M``#('P```3\``,P?```!40``TA\```$B``#9'P```08``-X?```!!@``XQ\`
M``$&``#H'P```08``(H@```!+0``H"````$M``"Q(````2T``+8@```"*@``
MO2````$M``#*(````CD``-P@```"+```[2````$!``#T(````0$``/L@```!
M`0```B$```$!```)(0```0$``!`A```!`0``%R$```$!```>(0```0$``"4A
M```!`0``+"$```$!```Z(0```0$``$$A```!+0``1R$```$M``#>(P```ED`
M`*XD```"#@``DB4```$%``":)0```04``*8E```!!0``NB4```$%``#$)0``
M`04``,PE```!!0``TB4```$%``#>)0```04``"@F```!!0``?28```$%``"'
M)@```04``!\H```"#@``JB@```(S``#-*````C,```DI```"&```/RD```(3
M``#_*@```@T``,PL```",P``\2P```$%```]+P```C,``&0O```"*0``AC``
M``(-``!W,@```08``,PU```"7```&#8```)<```J-P```AH``#DW```!!@``
M2C<```(:``!0-P```A4``'8W```"'0``AC<```(O``#`-P```@X``"$Y```"
M-@``S3D```$!``#4.0```0$``-LY```!`0``XCD```$!```%.@```4\```TZ
M```!3P``%CH```$2```:.@```0$``"`Z```!3P``23H```))``"+.@```B$`
M`*PZ```"%P``NCH```(G````.P```B@``!`[```"%P``'SL```([``!7.P``
M`BX``&X[```!0@``?3L```(<``#X.P```@\```L\```!00``F#P```(0``"P
M/````A```/0\```"#P``#CT```%!``!(/0```C(``)D]```",@``NST```(R
M``"Q/@```@\``+T^```!00``USX```)4```0/P```E(``$T_```"#P``7#\`
M``%!``"U/P```@\``"1````"&0``M$````%!```=00```@\``"U!```!00``
M:4$```(^``#R0P```0,``/M#```"5```!40```$#```.1````E0``&%$```"
M/```D40```$#``"S1````AL``-)$```!%@``VD0```(K``#J1````2T```E%
M```!0@``%$4```)````O10```0,``$)%```"&P``;T4```))``"410```AL`
M`*]%```"20``OT4```(N``#710```0,``/Q%```!`P``%48```(N```L1@``
M`BH``#5&```"#```[$8```)```#[1@```D```!9'```!%@``(D<```%"```M
M1P```BH``$U'```!%@``5D<```)%``!<1P```2(``&5'```"2@``;D<```(@
M``"#1P```4(``(E'```!+0``F$<```)$``"L1P```2T``,9'```!0@``SD<`
M``$M``#;1P```D```.M'```"+@``]$<```(;```%2````B0``!%(```".P``
M'4@```)-```M2````2T``#5(```!%@``/TP```$%``!_3````04``-E2```"
M0P``/%,```(J``!04P```CX``()3```!(@``CU,```$_``">4P```3\``,53
M```!(@``]U,```$B```&5````3\``!M4```!/P``3U0```(.``!_5````E0`
M`+A4```"'P``VU0```(.``#/5@```@X``#17```"-P``/U<```))``!U5P``
M`0$``'Q7```!`0``@U<```$!``"*5P```0$``)%7```!`0``F5<```%/``"K
M5P```1(``+E7```!3P``0U@```(]``!36````CT``'!8```",@``?E@```(R
M``"Q6````E0``-58```"5```^U@```)2```@60```08``#-9```!!@``U5D`
M``$&``#=60```2T``/)9```"+P``_5D```(=```+6@```CD``!]:```"5@``
M)EH```$&``!_6@```2T``&1;```",0``Y5P```(.``#N7````B@``/Q<```"
M%P``%ET```$&```;70```E,``#0````!`0``.`````$!```\`````0$``$``
M```!`0``1`````$!``!(`````0$``$P````!`0``4`````$!``!4`````0$`
M`%@````!`0``7`````$!``!@`````0$``&0````!`0``:`````$!``!L````
M`0$``'`````!`0``=`````$!``!X`````0$``'P````!`0``@`````$!``"$
M`````0$``(@````!`0``C`````$!``"0`````0$``)0````!`0``F`````$!
M``"<`````0$``*`````!`0``I`````$!``"H`````0$``*P````!`0``L```
M``$!``"T`````0$``+@````!`0``O`````$!``#``````0$``,0````!`0``
MR`````$!``#,`````0$``-`````!`0``U`````$!``#8`````0$``-P````!
M`0``X`````$!``#D`````0$``.@````!`0``[`````$!``#P`````0$``/0`
M```!`0``^`````$!``#\`````0$````!```!`0``!`$```$!```(`0```0$`
!```!
`
end

View File

@ -1,135 +0,0 @@
/*-
SOFTWARE LICENSE AGREEMENT
IMPORTANT! READ CAREFULLY:
THIS SOFTWARE LICENSE AGREEMENT (the ``Agreement'') is a legal
agreement between you (either an individual or a single entity) and
M-Systems Flash Disk Pioneers Ltd. ("M-Systems").
This Agreement relates to the M-Systems' software accompanying this
Agreement, which includes computer software and may include associated
media, printed materials, and ``online'' or electronic documentation
(the ``Licensed Software'').
By downloading, installing, copying, or otherwise using the Licensed
Software, you agree to be bound by the terms of this Agreement.
If you do not agree to the terms of this Agreement, do not install,
copy or use the Licensed Software.
The Licensed Software is protected by copyright laws and international
copyright treaties, as well as other intellectual property laws and
treaties. The Licensed Software is licensed, not sold.
The Licensed Software is being provided solely for use with M-Systems'
DiskOnChip® product lines.
1. License Grant.
(a) Grant of License. Subject to the terms and conditions of this
Agreement, M-Systems hereby grants you a nonexclusive,
royalty-free, worldwide license (including the right to
sublicense) to use, copy and distribute the Licensed Software
with M-Systems DiskOnChip® products.
(b) Restrictions on Use. The Licensed Software is licensed solely
for use with and to support M-Systems' DiskOnChip® products.
Use of this Licensed Software with, or to support, any other
flash disk, flash card, resident flash array or solid state
disk of any kind is expressly prohibited, and constitutes an
illegal infringement of M-Systems' patent, copyright and other
rights in and to the Licensed Software.
2. Limitations on Reverse Engineering, Decompilation, and
Disassembly. You may not reverse engineer, decompile, or
disassemble the Licensed Software, except and only to the
extent that such activity is expressly permitted by applicable
law notwithstanding this limitation.
3. Termination. Without prejudice to any other rights, M-Systems
may terminate this Agreement if you fail to comply with the
terms and conditions of this Agreement. In such event, you must
destroy all copies of the Licensed Software and all of its
component parts.
4. Intellectual Property Rights. Title to the Licensed Software,
and all rights with respect to the Software not specifically
granted under this Agreement, including without limitation
all rights of modification, disassembly and decompilation and
all copyright, patent, trademark, trade secret and other
proprietary rights and interests are reserved to M-Systems.
You may not remove or alter the "README" or "COPYRIGHT" files
or copyright notices in the Licensed Software.
5. DISCLAIMER OF WARRANTIES. To the maximum extent permitted by
applicable law, M-Systems and its suppliers provide the Product
and any (if any) support services related to the Product
("Support Services") AS IS AND WITH ALL FAULTS, and hereby
disclaim all warranties and conditions, either express,
implied or statutory, including, but not limited to, any
(if any) implied warranties or conditions of merchantability,
of fitness for a particular purpose, of lack of viruses, of
accuracy or completeness of responses, of results, and of lack
of negligence or lack of workmanlike effort, all with regard
to the Product, and the provision of or failure to provide
Support Services. ALSO, THERE IS NO WARRANTY OR CONDITION OF
TITLE, QUIET ENJOYMENT, QUIET POSSESSION, CORRESPONDENCE TO
DESCRIPTION OR NON-INFRINGEMENT, WITH REGARD TO THE PRODUCT.
THE ENTIRE RISK AS TO THE QUALITY OF OR ARISING OUT OF USE OR
PERFORMANCE OF THE PRODUCT AND SUPPORT SERVICES, IF ANY,
REMAINS WITH YOU.
6. EXCLUSION OF INCIDENTAL, CONSEQUENTIAL AND CERTAIN OTHER
DAMAGES. To the maximum extent permitted by applicable law,
in no event shall M-Systems or its suppliers be liable for
any special, incidental, indirect, or consequential damages
whatsoever (including, but not limited to, damages for loss
of profits or confidential or other information, for business
interruption, for personal injury, for loss of privacy, for
failure to meet any duty including of good faith or of
reasonable care, for negligence, and for any other pecuniary
or other loss whatsoever) arising out of or in any way related
to the use of or inability to use the Product, the provision
of or failure to provide Support Services, or otherwise under
or in connection with any provision of Agreement, even in the
event of the fault, tort (including negligence), strict
liability, breach of contract or breach of warranty of
M-Systems or any supplier, and even if M-Systems or any
supplier has been advised of the possibility of such damages.
7. LIMITATION OF LIABILITY AND REMEDIES. Notwithstanding any
damages that you might incur for any reason whatsoever
(including, without limitation, all damages referenced above
and all direct or general damages), the entire liability of
M-Systems and any of its suppliers under any provision of this
Agreement and your exclusive remedy for all of the foregoing
shall be limited to the greater of the amount actually paid by
you for the Product or U.S.$5.00. The foregoing limitations,
exclusions and disclaimers shall apply to the maximum extent
permitted by applicable law, even if any remedy fails its
essential purpose.
8. Miscellaneous
The laws of the State of California, United States of America,
exclusive of conflict-of-laws provisions, shall govern this
Agreement in all respects.
*/
#ifndef MSYSOSAK_H
#define MSYSOSAK_H 1
struct doc2k_stat {
unsigned short type;
long unitSize;
long mediaSize;
long chipSize;
int interleaving;
unsigned long window;
/* Non-OSAK members Below this point */
char *product;
char model[40];
};
enum doc2k_work { DOC2K_READ, DOC2K_WRITE, DOC2K_ERASE };
int doc2k_probe(int drive, unsigned lowaddr, unsigned highaddr);
int doc2k_info(int drive, struct doc2k_stat *info);
int doc2k_size(int drive, unsigned *capacity, unsigned *ncyl, unsigned *nhead, unsigned *nsect);
int doc2k_open(int drive);
int doc2k_close(int drive);
int doc2k_rwe(int drive, enum doc2k_work what, unsigned block, unsigned len, void *ptr);
void doc2k_memcpy(void *dst, const void *src, unsigned len);
void doc2k_memset(void *dst, int c, unsigned len);
int doc2k_memcmp(const void *dst, const void *src, unsigned len);
void *doc2k_malloc(int bytes);
void doc2k_free(void *ptr);
void doc2k_delay(unsigned usec);
#endif

View File

@ -1,23 +0,0 @@
Index: files.i386
===================================================================
RCS file: /home/ncvs/src/sys/i386/conf/files.i386,v
retrieving revision 1.220.2.8
diff -u -r1.220.2.8 files.i386
--- files.i386 1999/05/27 03:06:33 1.220.2.8
+++ files.i386 1999/08/01 12:44:00
@@ -34,6 +34,13 @@
no-obj no-implicit-rule before-depend \
clean "ukbdmap.h"
#
+contrib/dev/fla/fla.c optional fla
+msysosak.o optional fla \
+ dependency "$S/contrib/dev/fla/i386/msysosak.o.uu" \
+ compile-with "uudecode < $S/contrib/dev/fla/i386/msysosak.o.uu" \
+ no-implicit-rule
+
+#
dev/fb/fb.c optional fb device-driver
dev/fb/fb.c optional vga device-driver
dev/fb/splash.c optional splash

View File

@ -1,45 +0,0 @@
#!/bin/sh
# $FreeBSD$
dev=fla0
grep "$dev.*sectors" /var/run/dmesg.boot | tr -d '(:)' | awk '
{
v = $3
c = $5
h = $7
s = $9
ss = c * h * s - s
print "#",$0 > "_"
print "g c"c" h"h" s"s > "_"
print "p 1 165",s,ss > "_"
print "a 1" > "_"
print "#",$0 > "__"
print "type: ESDI" > "__"
print "disk:", $1 > "__"
print "label:" > "__"
print "flags:" > "__"
print "bytes/sector: 512" > "__"
print "sectors/track:", s > "__"
print "tracks/cylinder:", h > "__"
print "sectors/cylinder:", s * h > "__"
print "cylinders:", c > "__"
print "sectors/unit:", ss > "__"
print "rpm: 3600" > "__"
print "interleave: 1" > "__"
print "trackskew: 0" > "__"
print "cylinderskew: 0" > "__"
print "headswitch: 0 # milliseconds" > "__"
print "track-to-track seek: 0 # milliseconds" > "__"
print "drivedata: 0 " > "__"
print "8 partitions:" > "__"
print "# size offset fstype [fsize bsize bps/cpg]" > "__"
print "a:",ss,"0 4.2BSD 512 4096 " > "__"
print "c:",ss,"0 unused 0 0" > "__"
}
'
fdisk -f _ -i -v $dev
disklabel -BrR ${dev} __
newfs /dev/r${dev}a