]> Cypherpunks repositories - gostls13.git/commitdiff
remove nacl
authorRuss Cox <rsc@golang.org>
Wed, 15 Dec 2010 16:49:23 +0000 (11:49 -0500)
committerRuss Cox <rsc@golang.org>
Wed, 15 Dec 2010 16:49:23 +0000 (11:49 -0500)
The recent linker changes broke NaCl support
a month ago, and there are no known users of it.

The NaCl code can always be recovered from the
repository history.

R=adg, r
CC=golang-dev
https://golang.org/cl/3671042

93 files changed:
doc/devel/roadmap.html
doc/install.html
src/Make.inc
src/all-nacl.bash [deleted file]
src/cmd/5l/asm.c
src/cmd/6l/asm.c
src/cmd/8g/ggen.c
src/cmd/8l/asm.c
src/cmd/8l/l.h
src/cmd/8l/obj.c
src/cmd/8l/span.c
src/cmd/cc/dpchk.c
src/cmd/ld/lib.h
src/pkg/Makefile
src/pkg/crypto/rand/Makefile
src/pkg/debug/proc/proc_nacl.go [deleted file]
src/pkg/debug/proc/regs_nacl_386.go [deleted file]
src/pkg/exec/Makefile
src/pkg/exp/4s/4s.go [deleted file]
src/pkg/exp/4s/4s.html [deleted file]
src/pkg/exp/4s/5s.go [deleted file]
src/pkg/exp/4s/5s.html [deleted file]
src/pkg/exp/4s/Makefile [deleted file]
src/pkg/exp/4s/data.go [deleted file]
src/pkg/exp/4s/xs.go [deleted file]
src/pkg/exp/nacl/README [deleted file]
src/pkg/exp/nacl/av/Makefile [deleted file]
src/pkg/exp/nacl/av/av.go [deleted file]
src/pkg/exp/nacl/av/event.go [deleted file]
src/pkg/exp/nacl/av/image.go [deleted file]
src/pkg/exp/nacl/srpc/Makefile [deleted file]
src/pkg/exp/nacl/srpc/client.go [deleted file]
src/pkg/exp/nacl/srpc/msg.go [deleted file]
src/pkg/exp/nacl/srpc/server.go [deleted file]
src/pkg/exp/spacewar/Makefile [deleted file]
src/pkg/exp/spacewar/code.go [deleted file]
src/pkg/exp/spacewar/pdp1.go [deleted file]
src/pkg/exp/spacewar/spacewar.go [deleted file]
src/pkg/exp/spacewar/spacewar.html [deleted file]
src/pkg/net/Makefile
src/pkg/net/fd_nacl.go [deleted file]
src/pkg/os/Makefile
src/pkg/os/dir_nacl.go [deleted file]
src/pkg/os/stat_nacl.go [deleted file]
src/pkg/os/sys_nacl.go [deleted file]
src/pkg/path/Makefile
src/pkg/runtime/386/closure.c
src/pkg/runtime/Makefile
src/pkg/runtime/malloc.h
src/pkg/runtime/mgc0.c
src/pkg/runtime/mheap.c
src/pkg/runtime/nacl/386/closure.c [deleted file]
src/pkg/runtime/nacl/386/defs.h [deleted file]
src/pkg/runtime/nacl/386/rt0.s [deleted file]
src/pkg/runtime/nacl/386/signal.c [deleted file]
src/pkg/runtime/nacl/386/sys.s [deleted file]
src/pkg/runtime/nacl/defs.c [deleted file]
src/pkg/runtime/nacl/mem.c [deleted file]
src/pkg/runtime/nacl/os.h [deleted file]
src/pkg/runtime/nacl/runtime_defs.go [deleted file]
src/pkg/runtime/nacl/signals.h [deleted file]
src/pkg/runtime/nacl/thread.c [deleted file]
src/pkg/syscall/Makefile
src/pkg/syscall/asm_nacl_386.s [deleted file]
src/pkg/syscall/mkerrors_nacl.sh [deleted file]
src/pkg/syscall/mksysnum_nacl.sh [deleted file]
src/pkg/syscall/syscall_nacl.go [deleted file]
src/pkg/syscall/syscall_nacl_386.go [deleted file]
src/pkg/syscall/types_nacl.c [deleted file]
src/pkg/syscall/zerrors_nacl_386.go [deleted file]
src/pkg/syscall/zsyscall_nacl_386.go [deleted file]
src/pkg/syscall/zsysnum_nacl_386.go [deleted file]
src/pkg/syscall/zsysnum_windows_386.go
src/pkg/syscall/ztypes_nacl.go [deleted file]
src/pkg/syscall/ztypes_nacl_386.go [deleted file]
src/pkg/time/Makefile
test/env.go
test/fixedbugs/bug243.go
test/nilptr/arrayindex.go
test/nilptr/arrayindex1.go
test/nilptr/arraytoslice.go
test/nilptr/arraytoslice1.go
test/nilptr/arraytoslice2.go
test/nilptr/slicearray.go
test/nilptr/structfield.go
test/nilptr/structfield1.go
test/nilptr/structfield2.go
test/nilptr/structfieldaddr.go
test/nul1.go
test/recover2.go
test/recover3.go
test/sigchld.go
test/zerodivide.go

index 935910a9215e9e8f798af5469fc279210d456357..021ed6478a03a6330416dcccae8317a13f63ba61 100644 (file)
@@ -89,8 +89,6 @@ Safe compilation mode: generate code that is guaranteed not to obtain an invalid
 <li>
 Gccgo: garbage collection.
 <li>
-Native Client (NaCl) support.
-<li>
 SWIG support.
 <li>           
 Simpler semicolon rules.
index 8df3d423c683ee570465094fd97770385664a8b9..92b099fe8d92f5f2713cc8c2f480cee5d3957abc 100644 (file)
@@ -62,7 +62,7 @@ support for segmented stacks, and a strong goroutine implementation.
 </p>
 
 <p>
-The compilers can target the FreeBSD, Linux, Native Client,
+The compilers can target the FreeBSD, Linux,
 and OS X (a.k.a. Darwin) operating systems.
 (A port to Microsoft Windows is in progress but incomplete.  See the 
 <a href="http://code.google.com/p/go/wiki/WindowsPort">Windows Port</a>
@@ -340,7 +340,6 @@ to override the defaults.
        Choices for <code>$GOOS</code> are <code>linux</code>,
        <code>freebsd</code>,
        <code>darwin</code> (Mac OS X 10.5 or 10.6),
-       <code>nacl</code> (Native Client, an incomplete port),
        and <code>windows</code> (Windows, an incomplete port).
        Choices for <code>$GOARCH</code> are <code>amd64</code> (64-bit x86, the most mature port),
        <code>386</code> (32-bit x86), and
@@ -372,9 +371,6 @@ to override the defaults.
        <td></td><td><code>linux</code></td> <td><code>arm</code></td> <td><i>incomplete</i></td>
        </tr>
        <tr>
-       <td></td><td><code>nacl</code></td> <td><code>386</code></td>
-       </tr>
-       <tr>
        <td></td><td><code>windows</code></td> <td><code>386</code></td> <td><i>incomplete</i></td>
        </tr>
        </table>
index 2d9ee29058cd968bbbdf31d6cd6f8f4b089e1c5c..2889c7edf2544148f6678fc78b9e076473b41f11 100644 (file)
@@ -32,12 +32,11 @@ endif
 ifeq ($(GOOS),darwin)
 else ifeq ($(GOOS),freebsd)
 else ifeq ($(GOOS),linux)
-else ifeq ($(GOOS),nacl)
 else ifeq ($(GOOS),tiny)
 else ifeq ($(GOOS),plan9)
 else ifeq ($(GOOS),windows)
 else
-$(error Invalid $$GOOS '$(GOOS)'; must be darwin, freebsd, linux, nacl, tiny, plan9, or windows)
+$(error Invalid $$GOOS '$(GOOS)'; must be darwin, freebsd, linux, plan9, tiny, or windows)
 endif
 
 ifeq ($(GOHOSTARCH),)
diff --git a/src/all-nacl.bash b/src/all-nacl.bash
deleted file mode 100755 (executable)
index 0238c2a..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/usr/bin/env bash
-# Copyright 2009 The Go Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style
-# license that can be found in the LICENSE file.
-
-# TODO(rsc): delete in favor of all.bash once nacl support is complete
-
-export GOARCH=386
-export GOOS=nacl
-export GORUN=${GORUN:-$GOROOT/misc/nacl/naclrun}
-
-set -e
-bash make.bash
-
-xcd() {
-       echo
-       echo --- cd $1
-       builtin cd $1
-}
-
-(xcd pkg
-make install
-make test
-) || exit $?
-
-(xcd pkg/exp/nacl/srpc
-make clean
-make install
-) || exit $?
-
-(xcd pkg/exp/nacl/av
-make clean
-make install
-) || exit $?
-
-(xcd pkg/exp/4s
-make clean
-make
-) || exit $?
-
-(xcd pkg/exp/spacewar
-make clean
-make
-) || exit $?
-
-(xcd ../test
-./run
-) || exit $?
index 128f7e4fa697ce7cc76744997e8b0e5ecc9dc661..a26d5e209dacec99e9ae6dae1425b86e60be44e8 100644 (file)
@@ -535,8 +535,6 @@ asmb(void)
 
                for(sect=segtext.sect; sect!=nil; sect=sect->next)
                        elfshbits(sect);
-               for(sect=segrodata.sect; sect!=nil; sect=sect->next)
-                       elfshbits(sect);
                for(sect=segdata.sect; sect!=nil; sect=sect->next)
                        elfshbits(sect);
 
index dca2313d128a69bdc4a734baa68c617a2a97d32a..de18b3e299221fd491af73fad8fae37ae6e83957 100644 (file)
@@ -415,7 +415,7 @@ addpltsym(Sym *s)
 static void
 addgotsym(Sym *s)
 {
-       Sym *got, *rela, *indir;
+       Sym *got, *rela;
 
        if(s->got >= 0)
                return;
@@ -976,8 +976,6 @@ asmb(void)
                        diag("elftextsh = %d, want %d", elftextsh, eh->shnum);
                for(sect=segtext.sect; sect!=nil; sect=sect->next)
                        elfshbits(sect);
-               for(sect=segrodata.sect; sect!=nil; sect=sect->next)
-                       elfshbits(sect);
                for(sect=segdata.sect; sect!=nil; sect=sect->next)
                        elfshbits(sect);
 
index f1461adbebf3b0ada923713689358f5d93fafa38..4dcbd44895a658fbab111f69de331e57bb442ef8 100644 (file)
@@ -8,7 +8,6 @@
 #include "opt.h"
 
 static Prog *pret;
-static Node *naclnop;
 
 void
 compile(Node *fn)
@@ -24,7 +23,6 @@ compile(Node *fn)
                newproc = sysfunc("newproc");
                deferproc = sysfunc("deferproc");
                deferreturn = sysfunc("deferreturn");
-               naclnop = sysfunc("naclnop");
                panicindex = sysfunc("panicindex");
                panicslice = sysfunc("panicslice");
                throwreturn = sysfunc("throwreturn");
@@ -96,16 +94,8 @@ compile(Node *fn)
        if(pret)
                patch(pret, pc);
        ginit();
-       if(hasdefer) {
-               // On Native client, insert call to no-op function
-               // to force alignment immediately before call to deferreturn,
-               // so that when jmpdefer subtracts 5 from the second CALL's
-               // return address and then the return masks off the low bits,
-               // we'll back up to the NOPs immediately after the dummy CALL.
-               if(strcmp(getgoos(), "nacl") == 0)
-                       ginscall(naclnop, 0);
+       if(hasdefer)
                ginscall(deferreturn, 0);
-       }
        if(curfn->exit)
                genlist(curfn->exit);
        gclean();
index 85e6f39362e6dcca938026835a49b9ea8ad52369..882f5d447d3be2ae7f2b3ccca90431d9fd46c4f4 100644 (file)
@@ -539,8 +539,6 @@ doelf(void)
        elfstr[ElfStrData] = addstring(shstrtab, ".data");
        elfstr[ElfStrBss] = addstring(shstrtab, ".bss");
        addstring(shstrtab, ".elfdata");
-       if(HEADTYPE == 8)
-               addstring(shstrtab, ".closure");
        addstring(shstrtab, ".rodata");
        if(!debug['s']) {
                elfstr[ElfStrGosymcounts] = addstring(shstrtab, ".gosymcounts");
@@ -674,8 +672,6 @@ asmb(void)
        sect = segtext.sect;
        seek(cout, sect->vaddr - segtext.vaddr + segtext.fileoff, 0);
        codeblk(sect->vaddr, sect->len);
-       
-       // TODO: NaCl: pad with HLT
 
        /* output read-only data in text segment */
        sect = segtext.sect->next;
@@ -889,7 +885,7 @@ asmb(void)
 
        Elfput:
                /* elf 386 */
-               if(HEADTYPE == 8 || HEADTYPE == 11)
+               if(HEADTYPE == 11)
                        debug['d'] = 1;
 
                eh = getElfEhdr();
@@ -901,17 +897,14 @@ asmb(void)
                /* This null SHdr must appear before all others */
                sh = newElfShdr(elfstr[ElfStrEmpty]);
 
-               /* program header info - but not on native client */
-               pph = nil;
-               if(HEADTYPE != 8) {
-                       pph = newElfPhdr();
-                       pph->type = PT_PHDR;
-                       pph->flags = PF_R + PF_X;
-                       pph->off = eh->ehsize;
-                       pph->vaddr = INITTEXT - HEADR + pph->off;
-                       pph->paddr = INITTEXT - HEADR + pph->off;
-                       pph->align = INITRND;
-               }
+               /* program header info */
+               pph = newElfPhdr();
+               pph->type = PT_PHDR;
+               pph->flags = PF_R + PF_X;
+               pph->off = eh->ehsize;
+               pph->vaddr = INITTEXT - HEADR + pph->off;
+               pph->paddr = INITTEXT - HEADR + pph->off;
+               pph->align = INITRND;
 
                if(!debug['d']) {
                        /* interpreter */
@@ -935,8 +928,6 @@ asmb(void)
                }
 
                elfphload(&segtext);
-               if(segrodata.len > 0)
-                       elfphload(&segrodata);
                elfphload(&segdata);
 
                /* Dynamic linking sections */
@@ -1038,8 +1029,6 @@ asmb(void)
                        diag("elftextsh = %d, want %d", elftextsh, eh->shnum);
                for(sect=segtext.sect; sect!=nil; sect=sect->next)
                        elfshbits(sect);
-               for(sect=segrodata.sect; sect!=nil; sect=sect->next)
-                       elfshbits(sect);
                for(sect=segdata.sect; sect!=nil; sect=sect->next)
                        elfshbits(sect);
 
@@ -1073,11 +1062,6 @@ asmb(void)
                eh->ident[EI_DATA] = ELFDATA2LSB;
                eh->ident[EI_VERSION] = EV_CURRENT;
                switch(HEADTYPE) {
-               case 8:
-                       eh->ident[EI_OSABI] = ELFOSABI_NACL;
-                       eh->ident[EI_ABIVERSION] = 7;
-                       eh->flags = 0x200000;   // aligned mod 32
-                       break;
                case 9:
                        eh->ident[EI_OSABI] = 9;
                        break;
index 6ac226712676d2be23553e3021d9837d10efc86f..daede88790b0c08e5aec16caee305014ae80be94 100644 (file)
@@ -321,7 +321,6 @@ EXTERN      int32   spsize;
 EXTERN Sym*    symlist;
 EXTERN int32   symsize;
 EXTERN Sym*    textp;
-EXTERN int32   textpad;
 EXTERN int32   textsize;
 EXTERN int     version;
 EXTERN Prog    zprg;
index 222d7c734cfef74b4af188c128532f7446b9c256..4a724d10cc2919e82e8f8abd7ba1e1591710425c 100644 (file)
@@ -55,8 +55,10 @@ char *thestring      = "386";
  *     -H4 -Tx -Rx                     is fake MS-DOS .EXE
  *     -H6 -Tx -Rx                     is Apple Mach-O
  *     -H7 -Tx -Rx                     is Linux ELF32
- *     -H8 -Tx -Rx                     is Google Native Client
+ *     -H8 -Tx -Rx                     was Google Native Client
  *     -H9 -Tx -Rx                     is FreeBSD ELF32
+ *     -H10 -Tx -Rx                    is MS Windows PE
+ *     -H11 -Tx -Rx                    is tiny (os image)
  */
 
 void
@@ -133,9 +135,6 @@ main(int argc, char *argv[])
                if(strcmp(goos, "darwin") == 0)
                        HEADTYPE = 6;
                else
-               if(strcmp(goos, "nacl") == 0)
-                       HEADTYPE = 8;
-               else
                if(strcmp(goos, "freebsd") == 0)
                        HEADTYPE = 9;
                else
@@ -248,21 +247,6 @@ main(int argc, char *argv[])
                if(INITRND == -1)
                        INITRND = 4096;
                break;
-       case 8: /* native client elf32 executable */
-               elfinit();
-               HEADR = 4096;
-               if(INITTEXT == -1)
-                       INITTEXT = 0x20000;
-               if(INITDAT == -1)
-                       INITDAT = 0;
-               if(INITRND == -1)
-                       INITRND = 65536;
-               
-               // 512 kB of address space for closures.
-               // (Doesn't take any space in the binary file.)
-               // Closures are 64 bytes each, so this is 8,192 closures.
-               textpad = 512*1024;
-               break;
        case 10: /* PE executable */
                peinit();
                HEADR = PEFILEHEADR;
index 7d28fa279f6c8e1651e5475d8521c54f2cada773..66a843b2357686de1c069e12ee6639b1646ee0f2 100644 (file)
@@ -822,22 +822,6 @@ subreg(Prog *p, int from, int to)
                print("%P\n", p);
 }
 
-// nacl RET:
-//     POPL BX
-//     ANDL BX, $~31
-//     JMP BX
-uchar naclret[] = { 0x5b, 0x83, 0xe3, ~31, 0xff, 0xe3 };
-
-// nacl JMP BX:
-//     ANDL BX, $~31
-//     JMP BX
-uchar nacljmpbx[] = { 0x83, 0xe3, ~31, 0xff, 0xe3 };
-
-// nacl CALL BX:
-//     ANDL BX, $~31
-//     CALL BX
-uchar naclcallbx[] = { 0x83, 0xe3, ~31, 0xff, 0xd3 };
-
 void
 doasm(Prog *p)
 {
@@ -906,12 +890,6 @@ found:
                break;
 
        case Zlit:
-               if(HEADTYPE == 8 && p->as == ARET) {
-                       // native client return.
-                       for(z=0; z<sizeof(naclret); z++)
-                               *andptr++ = naclret[z];
-                       break;
-               }
                for(; op = o->op[z]; z++)
                        *andptr++ = op;
                break;
@@ -945,42 +923,6 @@ found:
                break;
 
        case Zo_m:
-               if(HEADTYPE == 8) {
-                       Adr a;
-
-                       switch(p->as) {
-                       case AJMP:
-                               if(p->to.type < D_AX || p->to.type > D_DI)
-                                       diag("indirect jmp must use register in native client");
-                               // ANDL $~31, REG
-                               *andptr++ = 0x83;
-                               asmand(&p->to, 04);
-                               *andptr++ = ~31;
-                               // JMP REG
-                               *andptr++ = 0xFF;
-                               asmand(&p->to, 04);
-                               return;
-
-                       case ACALL:
-                               a = p->to;
-                               // native client indirect call
-                               if(a.type < D_AX || a.type > D_DI) {
-                                       // MOVL target into BX
-                                       *andptr++ = 0x8b;
-                                       asmand(&p->to, reg[D_BX]);
-                                       memset(&a, 0, sizeof a);
-                                       a.type = D_BX;
-                               }
-                               // ANDL $~31, REG
-                               *andptr++ = 0x83;
-                               asmand(&a, 04);
-                               *andptr++ = ~31;
-                               // CALL REG
-                               *andptr++ = 0xFF;
-                               asmand(&a, 02);
-                               return;
-                       }
-               }
                *andptr++ = op;
                asmand(&p->to, o->op[z+1]);
                break;
@@ -1004,12 +946,6 @@ found:
                else
                        a = &p->to;
                v = vaddr(a, nil);
-               if(HEADTYPE == 8 && p->as == AINT && v == 3) {
-                       // native client disallows all INT instructions.
-                       // translate INT $3 to HLT.
-                       *andptr++ = 0xf4;
-                       break;
-               }
                *andptr++ = op;
                *andptr++ = v;
                break;
@@ -1380,51 +1316,8 @@ mfound:
 void
 asmins(Prog *p)
 {
-       if(HEADTYPE == 8) {
-               ulong npc;
-               static Prog *prefix;
-               
-               // TODO: adjust relocations, like 6l does for rex prefix
-
-               // native client
-               // - pad indirect jump targets (aka ATEXT) to 32-byte boundary
-               // - instructions cannot cross 32-byte boundary
-               // - end of call (return address) must be on 32-byte boundary
-               if(p->as == ATEXT)
-                       p->pc += 31 & -p->pc;
-               if(p->as == ACALL) {
-                       // must end on 32-byte boundary.
-                       // doasm to find out how long the CALL encoding is.
-                       andptr = and;
-                       doasm(p);
-                       npc = p->pc + (andptr - and);
-                       p->pc += 31 & -npc;
-               }
-               if(p->as == AREP || p->as == AREPN) {
-                       // save prefix for next instruction,
-                       // so that inserted NOPs do not split (e.g.) REP / MOVSL sequence.
-                       prefix = p;
-                       andptr = and;
-                       return;
-               }
-               andptr = and;
-               if(prefix)
-                       doasm(prefix);
-               doasm(p);
-               npc = p->pc + (andptr - and);
-               if(andptr > and && (p->pc&~31) != ((npc-1)&~31)) {
-                       // crossed 32-byte boundary; pad to boundary and try again
-                       p->pc += 31 & -p->pc;
-                       andptr = and;
-                       if(prefix)
-                               doasm(prefix);
-                       doasm(p);
-               }
-               prefix = nil;
-       } else {
-               andptr = and;
-               doasm(p);
-       }
+       andptr = and;
+       doasm(p);
        if(andptr > and+sizeof and) {
                print("and[] is too short - %d byte instruction\n", andptr - and);
                errorexit();
index 65a7746d4745d2ba74bb68c9bc838d3d51f54350..6eb5fb409cc999a8a58bdda255a9e973ae84bf9e 100644 (file)
@@ -400,6 +400,7 @@ dpcheck(Node *n)
 
        i = l->param;
        b = n->right;
+       a = Z;
        while(i > 0) {
                b = nextarg(b, &a);
                i--;
index f11cb34f6685907e89f4cabfe60a471d08330fa4..0f933013dffb4a42253df90d84592e6d8de2ee96 100644 (file)
@@ -95,7 +95,6 @@ EXTERN        char*   thestring;
 
 EXTERN Segment segtext;
 EXTERN Segment segdata;
-EXTERN Segment segrodata;      // NaCl only
 EXTERN Segment segsym;
 
 void   addlib(char *src, char *obj);
index 1e3f7e0622f705daaccc32931b8628ff6df01d7d..aa94cb2dda63ee747b498b3f4273445e2bfed631 100644 (file)
@@ -186,27 +186,6 @@ ifeq ($(DISABLE_NET_TESTS),1)
 NOTEST+=http net
 endif
 
-# Disable tests that NaCl cannot run yet.
-ifeq ($(GOOS),nacl)
-NOTEST+=archive/tar  # no pipe
-NOTEST+=archive/zip  # no pread
-NOTEST+=debug/dwarf  # no pread
-NOTEST+=debug/macho  # no pread
-NOTEST+=debug/elf    # no pread
-NOTEST+=exec         # no pipe
-NOTEST+=http         # no network
-NOTEST+=log          # no runtime.Caller
-NOTEST+=net          # no network
-NOTEST+=netchan      # no network
-NOTEST+=os           # many things unimplemented
-NOTEST+=os/signal    # no signals
-NOTEST+=path         # tree walking does not work
-NOTEST+=rpc          # no network
-NOTEST+=syslog       # no network
-NOTEST+=time         # no syscall.Kill, syscall.SIGCHLD for sleep tests
-NOTEST+=websocket    # no network
-endif
-
 # Disable tests that windows cannot run yet.
 ifeq ($(GOOS),windows)
 NOTEST+=os/signal    # no signals
index c24429ad4fc0e79a4d95ed57b2ee7966c12b38c6..88b6d71e330b3b205096a186d619f50b76fbe5fc 100644 (file)
@@ -18,9 +18,6 @@ GOFILES_darwin=\
 GOFILES_linux=\
        rand_unix.go\
 
-GOFILES_nacl=\
-       rand_unix.go\
-
 GOFILES_windows=\
        rand_windows.go\
 
diff --git a/src/pkg/debug/proc/proc_nacl.go b/src/pkg/debug/proc/proc_nacl.go
deleted file mode 100644 (file)
index be26bbf..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2009 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package proc
-
-import (
-       "os"
-       "syscall"
-)
-
-// Process tracing is not supported on Native Client.
-
-func Attach(pid int) (Process, os.Error) {
-       return nil, os.NewSyscallError("ptrace", syscall.ENACL)
-}
-
-func ForkExec(argv0 string, argv []string, envv []string, dir string, fd []*os.File) (Process, os.Error) {
-       return nil, os.NewSyscallError("fork/exec", syscall.ENACL)
-}
diff --git a/src/pkg/debug/proc/regs_nacl_386.go b/src/pkg/debug/proc/regs_nacl_386.go
deleted file mode 100644 (file)
index 60c9ac7..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-// Copyright 2009 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package proc
index 6110414ac33bb33de0644e2e288a3883b8f37383..262ecac85e2bfac192379fcdd9cab1c8d9d7d0a9 100644 (file)
@@ -17,9 +17,6 @@ GOFILES_darwin=\
 GOFILES_linux=\
        lp_unix.go\
 
-GOFILES_nacl=\
-       lp_unix.go\
-
 GOFILES_windows=\
        lp_windows.go\
 
diff --git a/src/pkg/exp/4s/4s.go b/src/pkg/exp/4s/4s.go
deleted file mode 100644 (file)
index ccc0d00..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-// Copyright 2009 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// This is a simple demo of Go running under Native Client.
-// It is a tetris clone built on top of the exp/nacl/av and exp/draw
-// packages.
-//
-// See ../nacl/README for how to run it.
-package main
-
-import (
-       "exp/nacl/av"
-       "exp/nacl/srpc"
-       "log"
-       "runtime"
-       "os"
-)
-
-var sndc chan []uint16
-
-func main() {
-       // Native Client requires that some calls are issued
-       // consistently by the same OS thread.
-       runtime.LockOSThread()
-
-       if srpc.Enabled() {
-               go srpc.ServeRuntime()
-       }
-
-       args := os.Args
-       p := pieces4
-       if len(args) > 1 && args[1] == "-5" {
-               p = pieces5
-       }
-       dx, dy := 500, 500
-       w, err := av.Init(av.SubsystemVideo|av.SubsystemAudio, dx, dy)
-       if err != nil {
-               log.Exit(err)
-       }
-
-       sndc = make(chan []uint16, 10)
-       go audioServer()
-       Play(p, w)
-}
-
-func audioServer() {
-       // Native Client requires that all audio calls
-       // original from a single OS thread.
-       runtime.LockOSThread()
-
-       n, err := av.AudioStream(nil)
-       if err != nil {
-               log.Exit(err)
-       }
-       for {
-               b := <-sndc
-               for len(b)*2 >= n {
-                       var a []uint16
-                       a, b = b[0:n/2], b[n/2:]
-                       n, err = av.AudioStream(a)
-                       if err != nil {
-                               log.Exit(err)
-                       }
-                       println(n, len(b)*2)
-               }
-               a := make([]uint16, n/2)
-               copy(a, b)
-               n, err = av.AudioStream(a)
-       }
-}
-
-func PlaySound(b []uint16) { sndc <- b }
-
-var whoosh = []uint16{
-// Insert your favorite sound samples here.
-}
diff --git a/src/pkg/exp/4s/4s.html b/src/pkg/exp/4s/4s.html
deleted file mode 100644 (file)
index 924f8b1..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-<h1>games/4s</h1>
-<table><tr><td valign=top>
-<embed name="nacl_module" id="pluginobj" src="8.out" type="application/x-nacl-srpc" width=400 height=600>
-<td valign=top>
-This is a simple block stacking game, a port of Plan 9's
-<a href="http://plan9.bell-labs.com/magic/man2html/1/games">games/4s</a>
-<br><br>
-To play using the keyboard:
-as the blocks fall, the <i>a</i>, <i>s</i>, <i>d</i>, and <i>f</i> keys
-move the block left, rotate the block left, rotate the block right,
-anad move the block right, respectively.
-To drop a block, type the space key.
-<b>You may need to click on the game window to 
-focus the keyboard on it.</b>
-<br><br>
-To play using the mouse:
-as the blocks fall, moving the mouse horizontally positions
-the block; left or right clicks rotate the block left or right.
-A middle click drops the block.
-(Unfortunately, some environments seem to intercept
-the middle click before it gets to Native Client.)
-<br><br>
-To pause the game, type <i>z</i>, <i>p</i>, or the escape key.
-</table>
diff --git a/src/pkg/exp/4s/5s.go b/src/pkg/exp/4s/5s.go
deleted file mode 100644 (file)
index efeb6f1..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright 2009 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Hack to produce a binary that defaults to 5s.
-
-package main
-
-func init() { pieces4 = pieces5 }
diff --git a/src/pkg/exp/4s/5s.html b/src/pkg/exp/4s/5s.html
deleted file mode 100644 (file)
index 5fa1107..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-<h1>games/5s</h1>
-<table><tr><td valign=top>
-<embed name="nacl_module" id="pluginobj" src="8.5s" type="application/x-nacl-srpc" width=400 height=600>
-<td valign=top>
-This is a simple block stacking game, a port of Plan 9's
-<a href="http://plan9.bell-labs.com/magic/man2html/1/games">games/5s</a>
-<br><br>
-To play using the keyboard:
-as the blocks fall, the <i>a</i>, <i>s</i>, <i>d</i>, and <i>f</i> keys
-move the block left, rotate the block left, rotate the block right,
-anad move the block right, respectively.
-To drop a block, type the space key.
-<b>You may need to click on the game window to 
-focus the keyboard on it.</b>
-<br><br>
-To play using the mouse:
-as the blocks fall, moving the mouse horizontally positions
-the block; left or right clicks rotate the block left or right.
-A middle click drops the block.
-(Unfortunately, some environments seem to intercept
-the middle click before it gets to Native Client.)
-<br><br>
-To pause the game, type <i>z</i>, <i>p</i>, or the escape key.
-</table>
diff --git a/src/pkg/exp/4s/Makefile b/src/pkg/exp/4s/Makefile
deleted file mode 100644 (file)
index 8ad3905..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2009 The Go Authors.  All rights reserved.
-# Use of this source code is governed by a BSD-style
-# license that can be found in the LICENSE file.
-
-all: 8.out 8.5s
-
-4s.8: 4s.go data.go xs.go
-       8g 4s.go data.go xs.go
-
-5s.8: 5s.go 4s.go data.go xs.go
-       8g 5s.go 4s.go data.go xs.go
-
-8.out: 4s.8
-       8l 4s.8
-
-8.5s: 5s.8
-       8l -o 8.5s 5s.8
-
-clean:
-       rm -f *.8 8.out
diff --git a/src/pkg/exp/4s/data.go b/src/pkg/exp/4s/data.go
deleted file mode 100644 (file)
index 9e2a045..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-// games/4s - a tetris clone
-//
-// Derived from Plan 9's /sys/src/games/xs.c
-// http://plan9.bell-labs.com/sources/plan9/sys/src/games/xs.c
-//
-// Copyright (C) 2003, Lucent Technologies Inc. and others. All Rights Reserved.
-// Portions Copyright 2009 The Go Authors.  All Rights Reserved.
-// Distributed under the terms of the Lucent Public License Version 1.02
-// See http://plan9.bell-labs.com/plan9/license.html
-
-package main
-
-import . "image"
-
-var pieces4 = []Piece{
-       {0, 0, Point{4, 1}, []Point{{0, 0}, {1, 0}, {1, 0}, {1, 0}}, nil, nil},
-       {1, 0, Point{1, 4}, []Point{{0, 0}, {0, 1}, {0, 1}, {0, 1}}, nil, nil},
-       {2, 0, Point{4, 1}, []Point{{0, 0}, {1, 0}, {1, 0}, {1, 0}}, nil, nil},
-       {3, 0, Point{1, 4}, []Point{{0, 0}, {0, 1}, {0, 1}, {0, 1}}, nil, nil},
-
-       {0, 3, Point{2, 2}, []Point{{0, 1}, {1, 0}, {0, -1}, {-1, 0}}, nil, nil},
-       {1, 3, Point{2, 2}, []Point{{0, 1}, {1, 0}, {0, -1}, {-1, 0}}, nil, nil},
-       {2, 3, Point{2, 2}, []Point{{0, 1}, {1, 0}, {0, -1}, {-1, 0}}, nil, nil},
-       {3, 3, Point{2, 2}, []Point{{0, 1}, {1, 0}, {0, -1}, {-1, 0}}, nil, nil},
-
-       {0, 1, Point{3, 2}, []Point{{0, 0}, {1, 0}, {1, 0}, {0, 1}}, nil, nil},
-       {1, 1, Point{2, 3}, []Point{{1, 0}, {0, 1}, {0, 1}, {-1, 0}}, nil, nil},
-       {2, 1, Point{3, 2}, []Point{{0, 0}, {0, 1}, {1, 0}, {1, 0}}, nil, nil},
-       {3, 1, Point{2, 3}, []Point{{0, 0}, {1, 0}, {-1, 1}, {0, 1}}, nil, nil},
-
-       {0, 2, Point{3, 2}, []Point{{0, 1}, {1, 0}, {1, 0}, {0, -1}}, nil, nil},
-       {1, 2, Point{2, 3}, []Point{{0, 0}, {0, 1}, {0, 1}, {1, 0}}, nil, nil},
-       {2, 2, Point{3, 2}, []Point{{0, 0}, {1, 0}, {1, 0}, {-2, 1}}, nil, nil},
-       {3, 2, Point{2, 3}, []Point{{0, 0}, {1, 0}, {0, 1}, {0, 1}}, nil, nil},
-
-       {0, 4, Point{3, 2}, []Point{{0, 0}, {1, 0}, {1, 0}, {-1, 1}}, nil, nil},
-       {1, 4, Point{2, 3}, []Point{{1, 0}, {-1, 1}, {1, 0}, {0, 1}}, nil, nil},
-       {2, 4, Point{3, 2}, []Point{{1, 0}, {-1, 1}, {1, 0}, {1, 0}}, nil, nil},
-       {3, 4, Point{2, 3}, []Point{{0, 0}, {0, 1}, {0, 1}, {1, -1}}, nil, nil},
-
-       {0, 5, Point{3, 2}, []Point{{0, 0}, {1, 0}, {0, 1}, {1, 0}}, nil, nil},
-       {1, 5, Point{2, 3}, []Point{{1, 0}, {0, 1}, {-1, 0}, {0, 1}}, nil, nil},
-       {2, 5, Point{3, 2}, []Point{{0, 0}, {1, 0}, {0, 1}, {1, 0}}, nil, nil},
-       {3, 5, Point{2, 3}, []Point{{1, 0}, {0, 1}, {-1, 0}, {0, 1}}, nil, nil},
-
-       {0, 6, Point{3, 2}, []Point{{0, 1}, {1, 0}, {0, -1}, {1, 0}}, nil, nil},
-       {1, 6, Point{2, 3}, []Point{{0, 0}, {0, 1}, {1, 0}, {0, 1}}, nil, nil},
-       {2, 6, Point{3, 2}, []Point{{0, 1}, {1, 0}, {0, -1}, {1, 0}}, nil, nil},
-       {3, 6, Point{2, 3}, []Point{{0, 0}, {0, 1}, {1, 0}, {0, 1}}, nil, nil},
-}
-
-var pieces5 = []Piece{
-       {0, 1, Point{5, 1}, []Point{{0, 0}, {1, 0}, {1, 0}, {1, 0}, {1, 0}}, nil, nil},
-       {1, 1, Point{1, 5}, []Point{{0, 0}, {0, 1}, {0, 1}, {0, 1}, {0, 1}}, nil, nil},
-       {2, 1, Point{5, 1}, []Point{{0, 0}, {1, 0}, {1, 0}, {1, 0}, {1, 0}}, nil, nil},
-       {3, 1, Point{1, 5}, []Point{{0, 0}, {0, 1}, {0, 1}, {0, 1}, {0, 1}}, nil, nil},
-
-       {0, 0, Point{4, 2}, []Point{{0, 0}, {1, 0}, {1, 0}, {1, 0}, {0, 1}}, nil, nil},
-       {1, 0, Point{2, 4}, []Point{{1, 0}, {0, 1}, {0, 1}, {0, 1}, {-1, 0}}, nil, nil},
-       {2, 0, Point{4, 2}, []Point{{0, 0}, {0, 1}, {1, 0}, {1, 0}, {1, 0}}, nil, nil},
-       {3, 0, Point{2, 4}, []Point{{0, 0}, {1, 0}, {-1, 1}, {0, 1}, {0, 1}}, nil, nil},
-
-       {0, 2, Point{4, 2}, []Point{{0, 0}, {0, 1}, {1, -1}, {1, 0}, {1, 0}}, nil, nil},
-       {1, 2, Point{2, 4}, []Point{{0, 0}, {1, 0}, {0, 1}, {0, 1}, {0, 1}}, nil, nil},
-       {2, 2, Point{4, 2}, []Point{{0, 1}, {1, 0}, {1, 0}, {1, 0}, {0, -1}}, nil, nil},
-       {3, 2, Point{2, 4}, []Point{{0, 0}, {0, 1}, {0, 1}, {0, 1}, {1, 0}}, nil, nil},
-
-       {0, 7, Point{3, 3}, []Point{{0, 0}, {1, 0}, {1, 0}, {0, 1}, {0, 1}}, nil, nil},
-       {1, 7, Point{3, 3}, []Point{{0, 2}, {1, 0}, {1, 0}, {0, -1}, {0, -1}}, nil, nil},
-       {2, 7, Point{3, 3}, []Point{{0, 0}, {0, 1}, {0, 1}, {1, 0}, {1, 0}}, nil, nil},
-       {3, 7, Point{3, 3}, []Point{{0, 2}, {0, -1}, {0, -1}, {1, 0}, {1, 0}}, nil, nil},
-
-       {0, 3, Point{3, 2}, []Point{{0, 0}, {1, 0}, {1, 0}, {-2, 1}, {1, 0}}, nil, nil},
-       {1, 3, Point{2, 3}, []Point{{0, 0}, {1, 0}, {-1, 1}, {1, 0}, {0, 1}}, nil, nil},
-       {2, 3, Point{3, 2}, []Point{{1, 0}, {1, 0}, {-2, 1}, {1, 0}, {1, 0}}, nil, nil},
-       {3, 3, Point{2, 3}, []Point{{0, 0}, {0, 1}, {1, 0}, {-1, 1}, {1, 0}}, nil, nil},
-
-       {0, 4, Point{3, 2}, []Point{{0, 0}, {1, 0}, {1, 0}, {-1, 1}, {1, 0}}, nil, nil},
-       {1, 4, Point{2, 3}, []Point{{1, 0}, {-1, 1}, {1, 0}, {-1, 1}, {1, 0}}, nil, nil},
-       {2, 4, Point{3, 2}, []Point{{0, 0}, {1, 0}, {-1, 1}, {1, 0}, {1, 0}}, nil, nil},
-       {3, 4, Point{2, 3}, []Point{{0, 0}, {1, 0}, {-1, 1}, {1, 0}, {-1, 1}}, nil, nil},
-
-       {0, 7, Point{3, 2}, []Point{{0, 0}, {2, 0}, {-2, 1}, {1, 0}, {1, 0}}, nil, nil},
-       {1, 7, Point{2, 3}, []Point{{0, 0}, {1, 0}, {-1, 1}, {0, 1}, {1, 0}}, nil, nil},
-       {2, 7, Point{3, 2}, []Point{{0, 0}, {1, 0}, {1, 0}, {-2, 1}, {2, 0}}, nil, nil},
-       {3, 7, Point{2, 3}, []Point{{0, 0}, {1, 0}, {0, 1}, {-1, 1}, {1, 0}}, nil, nil},
-
-       {0, 5, Point{3, 3}, []Point{{0, 0}, {1, 0}, {0, 1}, {1, 0}, {-1, 1}}, nil, nil},
-       {1, 5, Point{3, 3}, []Point{{2, 0}, {-2, 1}, {1, 0}, {1, 0}, {-1, 1}}, nil, nil},
-       {2, 5, Point{3, 3}, []Point{{1, 0}, {-1, 1}, {1, 0}, {0, 1}, {1, 0}}, nil, nil},
-       {3, 5, Point{3, 3}, []Point{{1, 0}, {-1, 1}, {1, 0}, {1, 0}, {-2, 1}}, nil, nil},
-
-       {0, 6, Point{3, 3}, []Point{{1, 0}, {1, 0}, {-2, 1}, {1, 0}, {0, 1}}, nil, nil},
-       {1, 6, Point{3, 3}, []Point{{1, 0}, {-1, 1}, {1, 0}, {1, 0}, {0, 1}}, nil, nil},
-       {2, 6, Point{3, 3}, []Point{{1, 0}, {0, 1}, {1, 0}, {-2, 1}, {1, 0}}, nil, nil},
-       {3, 6, Point{3, 3}, []Point{{0, 0}, {0, 1}, {1, 0}, {1, 0}, {-1, 1}}, nil, nil},
-
-       {0, 0, Point{4, 2}, []Point{{0, 0}, {1, 0}, {1, 0}, {1, 0}, {-2, 1}}, nil, nil},
-       {1, 0, Point{2, 4}, []Point{{1, 0}, {-1, 1}, {1, 0}, {0, 1}, {0, 1}}, nil, nil},
-       {2, 0, Point{4, 2}, []Point{{2, 0}, {-2, 1}, {1, 0}, {1, 0}, {1, 0}}, nil, nil},
-       {3, 0, Point{2, 4}, []Point{{0, 0}, {0, 1}, {0, 1}, {1, 0}, {-1, 1}}, nil, nil},
-
-       {0, 2, Point{4, 2}, []Point{{0, 0}, {1, 0}, {1, 0}, {1, 0}, {-1, 1}}, nil, nil},
-       {1, 2, Point{2, 4}, []Point{{1, 0}, {0, 1}, {-1, 1}, {1, 0}, {0, 1}}, nil, nil},
-       {2, 2, Point{4, 2}, []Point{{1, 0}, {-1, 1}, {1, 0}, {1, 0}, {1, 0}}, nil, nil},
-       {3, 2, Point{2, 4}, []Point{{0, 0}, {0, 1}, {1, 0}, {-1, 1}, {0, 1}}, nil, nil},
-
-       {0, 1, Point{3, 3}, []Point{{0, 0}, {1, 0}, {0, 1}, {1, 0}, {0, 1}}, nil, nil},
-       {1, 1, Point{3, 3}, []Point{{2, 0}, {-1, 1}, {1, 0}, {-2, 1}, {1, 0}}, nil, nil},
-       {2, 1, Point{3, 3}, []Point{{0, 0}, {0, 1}, {1, 0}, {0, 1}, {1, 0}}, nil, nil},
-       {3, 1, Point{3, 3}, []Point{{1, 0}, {1, 0}, {-2, 1}, {1, 0}, {-1, 1}}, nil, nil},
-
-       {0, 3, Point{3, 3}, []Point{{0, 0}, {1, 0}, {1, 0}, {-1, 1}, {0, 1}}, nil, nil},
-       {1, 3, Point{3, 3}, []Point{{2, 0}, {-2, 1}, {1, 0}, {1, 0}, {0, 1}}, nil, nil},
-       {2, 3, Point{3, 3}, []Point{{1, 0}, {0, 1}, {-1, 1}, {1, 0}, {1, 0}}, nil, nil},
-       {3, 3, Point{3, 3}, []Point{{0, 0}, {0, 1}, {1, 0}, {1, 0}, {-2, 1}}, nil, nil},
-
-       {0, 4, Point{3, 3}, []Point{{1, 0}, {-1, 1}, {1, 0}, {1, 0}, {-1, 1}}, nil, nil},
-       {1, 4, Point{3, 3}, []Point{{1, 0}, {-1, 1}, {1, 0}, {1, 0}, {-1, 1}}, nil, nil},
-       {2, 4, Point{3, 3}, []Point{{1, 0}, {-1, 1}, {1, 0}, {1, 0}, {-1, 1}}, nil, nil},
-       {3, 4, Point{3, 3}, []Point{{1, 0}, {-1, 1}, {1, 0}, {1, 0}, {-1, 1}}, nil, nil},
-
-       {0, 8, Point{4, 2}, []Point{{0, 0}, {1, 0}, {0, 1}, {1, 0}, {1, 0}}, nil, nil},
-       {1, 8, Point{2, 4}, []Point{{1, 0}, {-1, 1}, {1, 0}, {-1, 1}, {0, 1}}, nil, nil},
-       {2, 8, Point{4, 2}, []Point{{0, 0}, {1, 0}, {1, 0}, {0, 1}, {1, 0}}, nil, nil},
-       {3, 8, Point{2, 4}, []Point{{1, 0}, {0, 1}, {-1, 1}, {1, 0}, {-1, 1}}, nil, nil},
-
-       {0, 9, Point{4, 2}, []Point{{2, 0}, {1, 0}, {-3, 1}, {1, 0}, {1, 0}}, nil, nil},
-       {1, 9, Point{2, 4}, []Point{{0, 0}, {0, 1}, {0, 1}, {1, 0}, {0, 1}}, nil, nil},
-       {2, 9, Point{4, 2}, []Point{{1, 0}, {1, 0}, {1, 0}, {-3, 1}, {1, 0}}, nil, nil},
-       {3, 9, Point{2, 4}, []Point{{0, 0}, {0, 1}, {1, 0}, {0, 1}, {0, 1}}, nil, nil},
-
-       {0, 5, Point{3, 3}, []Point{{0, 0}, {0, 1}, {1, 0}, {1, 0}, {0, 1}}, nil, nil},
-       {1, 5, Point{3, 3}, []Point{{1, 0}, {1, 0}, {-1, 1}, {-1, 1}, {1, 0}}, nil, nil},
-       {2, 5, Point{3, 3}, []Point{{0, 0}, {0, 1}, {1, 0}, {1, 0}, {0, 1}}, nil, nil},
-       {3, 5, Point{3, 3}, []Point{{1, 0}, {1, 0}, {-1, 1}, {-1, 1}, {1, 0}}, nil, nil},
-
-       {0, 6, Point{3, 3}, []Point{{2, 0}, {-2, 1}, {1, 0}, {1, 0}, {-2, 1}}, nil, nil},
-       {1, 6, Point{3, 3}, []Point{{0, 0}, {1, 0}, {0, 1}, {0, 1}, {1, 0}}, nil, nil},
-       {2, 6, Point{3, 3}, []Point{{2, 0}, {-2, 1}, {1, 0}, {1, 0}, {-2, 1}}, nil, nil},
-       {3, 6, Point{3, 3}, []Point{{0, 0}, {1, 0}, {0, 1}, {0, 1}, {1, 0}}, nil, nil},
-}
diff --git a/src/pkg/exp/4s/xs.go b/src/pkg/exp/4s/xs.go
deleted file mode 100644 (file)
index c6806c0..0000000
+++ /dev/null
@@ -1,750 +0,0 @@
-// games/4s - a tetris clone
-//
-// Derived from Plan 9's /sys/src/games/xs.c
-// http://plan9.bell-labs.com/sources/plan9/sys/src/games/xs.c
-//
-// Copyright (C) 2003, Lucent Technologies Inc. and others. All Rights Reserved.
-// Portions Copyright 2009 The Go Authors.  All Rights Reserved.
-// Distributed under the terms of the Lucent Public License Version 1.02
-// See http://plan9.bell-labs.com/plan9/license.html
-
-/*
- * engine for 4s, 5s, etc
- */
-
-package main
-
-import (
-       "exp/draw"
-       "image"
-       "log"
-       "os"
-       "rand"
-       "time"
-)
-
-/*
-Cursor whitearrow = {
-       {0, 0},
-       {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFC,
-        0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF8, 0xFF, 0xFC,
-        0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFC,
-        0xF3, 0xF8, 0xF1, 0xF0, 0xE0, 0xE0, 0xC0, 0x40, },
-       {0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x06, 0xC0, 0x1C,
-        0xC0, 0x30, 0xC0, 0x30, 0xC0, 0x38, 0xC0, 0x1C,
-        0xC0, 0x0E, 0xC0, 0x07, 0xCE, 0x0E, 0xDF, 0x1C,
-        0xD3, 0xB8, 0xF1, 0xF0, 0xE0, 0xE0, 0xC0, 0x40, }
-};
-*/
-
-const (
-       CNone   = 0
-       CBounds = 1
-       CPiece  = 2
-       NX      = 10
-       NY      = 20
-
-       NCOL = 10
-
-       MAXN = 5
-)
-
-var (
-       N                        int
-       display                  draw.Window
-       screen                   draw.Image
-       screenr                  image.Rectangle
-       board                    [NY][NX]byte
-       rboard                   image.Rectangle
-       pscore                   image.Point
-       scoresz                  image.Point
-       pcsz                     = 32
-       pos                      image.Point
-       bbr, bb2r                image.Rectangle
-       bb, bbmask, bb2, bb2mask *image.RGBA
-       whitemask                image.Image
-       br, br2                  image.Rectangle
-       points                   int
-       dt                       int
-       DY                       int
-       DMOUSE                   int
-       lastmx                   int
-       mouse                    draw.MouseEvent
-       newscreen                bool
-       timerc                   <-chan int64
-       suspc                    chan bool
-       mousec                   chan draw.MouseEvent
-       resizec                  chan bool
-       kbdc                     chan int
-       suspended                bool
-       tsleep                   int
-       piece                    *Piece
-       pieces                   []Piece
-)
-
-type Piece struct {
-       rot   int
-       tx    int
-       sz    image.Point
-       d     []image.Point
-       left  *Piece
-       right *Piece
-}
-
-var txbits = [NCOL][32]byte{
-       {0xDD, 0xDD, 0xFF, 0xFF, 0x77, 0x77, 0xFF, 0xFF,
-               0xDD, 0xDD, 0xFF, 0xFF, 0x77, 0x77, 0xFF, 0xFF,
-               0xDD, 0xDD, 0xFF, 0xFF, 0x77, 0x77, 0xFF, 0xFF,
-               0xDD, 0xDD, 0xFF, 0xFF, 0x77, 0x77, 0xFF, 0xFF,
-       },
-       {0xDD, 0xDD, 0x77, 0x77, 0xDD, 0xDD, 0x77, 0x77,
-               0xDD, 0xDD, 0x77, 0x77, 0xDD, 0xDD, 0x77, 0x77,
-               0xDD, 0xDD, 0x77, 0x77, 0xDD, 0xDD, 0x77, 0x77,
-               0xDD, 0xDD, 0x77, 0x77, 0xDD, 0xDD, 0x77, 0x77,
-       },
-       {0xAA, 0xAA, 0x55, 0x55, 0xAA, 0xAA, 0x55, 0x55,
-               0xAA, 0xAA, 0x55, 0x55, 0xAA, 0xAA, 0x55, 0x55,
-               0xAA, 0xAA, 0x55, 0x55, 0xAA, 0xAA, 0x55, 0x55,
-               0xAA, 0xAA, 0x55, 0x55, 0xAA, 0xAA, 0x55, 0x55,
-       },
-       {0xAA, 0xAA, 0x55, 0x55, 0xAA, 0xAA, 0x55, 0x55,
-               0xAA, 0xAA, 0x55, 0x55, 0xAA, 0xAA, 0x55, 0x55,
-               0xAA, 0xAA, 0x55, 0x55, 0xAA, 0xAA, 0x55, 0x55,
-               0xAA, 0xAA, 0x55, 0x55, 0xAA, 0xAA, 0x55, 0x55,
-       },
-       {0x22, 0x22, 0x88, 0x88, 0x22, 0x22, 0x88, 0x88,
-               0x22, 0x22, 0x88, 0x88, 0x22, 0x22, 0x88, 0x88,
-               0x22, 0x22, 0x88, 0x88, 0x22, 0x22, 0x88, 0x88,
-               0x22, 0x22, 0x88, 0x88, 0x22, 0x22, 0x88, 0x88,
-       },
-       {0x22, 0x22, 0x00, 0x00, 0x88, 0x88, 0x00, 0x00,
-               0x22, 0x22, 0x00, 0x00, 0x88, 0x88, 0x00, 0x00,
-               0x22, 0x22, 0x00, 0x00, 0x88, 0x88, 0x00, 0x00,
-               0x22, 0x22, 0x00, 0x00, 0x88, 0x88, 0x00, 0x00,
-       },
-       {0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
-               0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
-               0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
-               0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
-       },
-       {0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
-               0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
-               0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
-               0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
-       },
-       {0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
-               0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
-               0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
-               0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
-       },
-       {0xCC, 0xCC, 0xCC, 0xCC, 0x33, 0x33, 0x33, 0x33,
-               0xCC, 0xCC, 0xCC, 0xCC, 0x33, 0x33, 0x33, 0x33,
-               0xCC, 0xCC, 0xCC, 0xCC, 0x33, 0x33, 0x33, 0x33,
-               0xCC, 0xCC, 0xCC, 0xCC, 0x33, 0x33, 0x33, 0x33,
-       },
-}
-
-var txpix = [NCOL]image.Image{
-       image.NewColorImage(image.RGBAColor{0xFF, 0xFF, 0x00, 0xFF}), /* yellow */
-       image.NewColorImage(image.RGBAColor{0x00, 0xFF, 0xFF, 0xFF}), /* cyan */
-       image.NewColorImage(image.RGBAColor{0x00, 0xFF, 0x00, 0xFF}), /* lime green */
-       image.NewColorImage(image.RGBAColor{0x00, 0x5D, 0xBB, 0xFF}), /* slate */
-       image.NewColorImage(image.RGBAColor{0xFF, 0x00, 0x00, 0xFF}), /* red */
-       image.NewColorImage(image.RGBAColor{0x55, 0xAA, 0xAA, 0xFF}), /* olive green */
-       image.NewColorImage(image.RGBAColor{0x00, 0x00, 0xFF, 0xFF}), /* blue */
-       image.NewColorImage(image.RGBAColor{0xFF, 0x55, 0xAA, 0xFF}), /* pink */
-       image.NewColorImage(image.RGBAColor{0xFF, 0xAA, 0xFF, 0xFF}), /* lavender */
-       image.NewColorImage(image.RGBAColor{0xBB, 0x00, 0x5D, 0xFF}), /* maroon */
-}
-
-func movemouse() int {
-       //mouse.image.Point = image.Pt(rboard.Min.X + rboard.Dx()/2, rboard.Min.Y + rboard.Dy()/2);
-       //moveto(mousectl, mouse.Xy);
-       return mouse.Loc.X
-}
-
-func warp(p image.Point, x int) int {
-       if !suspended && piece != nil {
-               x = pos.X + piece.sz.X*pcsz/2
-               if p.Y < rboard.Min.Y {
-                       p.Y = rboard.Min.Y
-               }
-               if p.Y >= rboard.Max.Y {
-                       p.Y = rboard.Max.Y - 1
-               }
-               //moveto(mousectl, image.Pt(x, p.Y));
-       }
-       return x
-}
-
-func initPieces() {
-       for i := range pieces {
-               p := &pieces[i]
-               if p.rot == 3 {
-                       p.right = &pieces[i-3]
-               } else {
-                       p.right = &pieces[i+1]
-               }
-               if p.rot == 0 {
-                       p.left = &pieces[i+3]
-               } else {
-                       p.left = &pieces[i-1]
-               }
-       }
-}
-
-func collide(pt image.Point, p *Piece) bool {
-       pt.X = (pt.X - rboard.Min.X) / pcsz
-       pt.Y = (pt.Y - rboard.Min.Y) / pcsz
-       for _, q := range p.d {
-               pt.X += q.X
-               pt.Y += q.Y
-               if pt.X < 0 || pt.X >= NX || pt.Y < 0 || pt.Y >= NY {
-                       return true
-                       continue
-               }
-               if board[pt.Y][pt.X] != 0 {
-                       return true
-               }
-       }
-       return false
-}
-
-func collider(pt, pmax image.Point) bool {
-       pi := (pt.X - rboard.Min.X) / pcsz
-       pj := (pt.Y - rboard.Min.Y) / pcsz
-       n := pmax.X / pcsz
-       m := pmax.Y/pcsz + 1
-       for i := pi; i < pi+n && i < NX; i++ {
-               for j := pj; j < pj+m && j < NY; j++ {
-                       if board[j][i] != 0 {
-                               return true
-                       }
-               }
-       }
-       return false
-}
-
-func setpiece(p *Piece) {
-       draw.Draw(bb, bbr, image.White, image.ZP)
-       draw.Draw(bbmask, bbr, image.Transparent, image.ZP)
-       br = image.Rect(0, 0, 0, 0)
-       br2 = br
-       piece = p
-       if p == nil {
-               return
-       }
-       var op image.Point
-       var r image.Rectangle
-       r.Min = bbr.Min
-       for i, pt := range p.d {
-               r.Min.X += pt.X * pcsz
-               r.Min.Y += pt.Y * pcsz
-               r.Max.X = r.Min.X + pcsz
-               r.Max.Y = r.Min.Y + pcsz
-               if i == 0 {
-                       draw.Draw(bb, r, image.Black, image.ZP)
-                       draw.Draw(bb, r.Inset(1), txpix[piece.tx], image.ZP)
-                       draw.Draw(bbmask, r, image.Opaque, image.ZP)
-                       op = r.Min
-               } else {
-                       draw.Draw(bb, r, bb, op)
-                       draw.Draw(bbmask, r, bbmask, op)
-               }
-               if br.Max.X < r.Max.X {
-                       br.Max.X = r.Max.X
-               }
-               if br.Max.Y < r.Max.Y {
-                       br.Max.Y = r.Max.Y
-               }
-       }
-       br.Max = br.Max.Sub(bbr.Min)
-       delta := image.Pt(0, DY)
-       br2.Max = br.Max.Add(delta)
-       r = br.Add(bb2r.Min)
-       r2 := br2.Add(bb2r.Min)
-       draw.Draw(bb2, r2, image.White, image.ZP)
-       draw.Draw(bb2, r.Add(delta), bb, bbr.Min)
-       draw.Draw(bb2mask, r2, image.Transparent, image.ZP)
-       draw.DrawMask(bb2mask, r, image.Opaque, bbr.Min, bbmask, image.ZP, draw.Over)
-       draw.DrawMask(bb2mask, r.Add(delta), image.Opaque, bbr.Min, bbmask, image.ZP, draw.Over)
-}
-
-func drawpiece() {
-       draw.DrawMask(screen, br.Add(pos), bb, bbr.Min, bbmask, image.ZP, draw.Over)
-       if suspended {
-               draw.DrawMask(screen, br.Add(pos), image.White, image.ZP, whitemask, image.ZP, draw.Over)
-       }
-}
-
-func undrawpiece() {
-       var mask image.Image
-       if collider(pos, br.Max) {
-               mask = bbmask
-       }
-       draw.DrawMask(screen, br.Add(pos), image.White, bbr.Min, mask, bbr.Min, draw.Over)
-}
-
-func rest() {
-       pt := pos.Sub(rboard.Min)
-       pt.X /= pcsz
-       pt.Y /= pcsz
-       for _, p := range piece.d {
-               pt.X += p.X
-               pt.Y += p.Y
-               board[pt.Y][pt.X] = byte(piece.tx + 16)
-       }
-}
-
-func canfit(p *Piece) bool {
-       var dx = [...]int{0, -1, 1, -2, 2, -3, 3, 4, -4}
-       j := N + 1
-       if j >= 4 {
-               j = p.sz.X
-               if j < p.sz.Y {
-                       j = p.sz.Y
-               }
-               j = 2*j - 1
-       }
-       for i := 0; i < j; i++ {
-               var z image.Point
-               z.X = pos.X + dx[i]*pcsz
-               z.Y = pos.Y
-               if !collide(z, p) {
-                       z.Y = pos.Y + pcsz - 1
-                       if !collide(z, p) {
-                               undrawpiece()
-                               pos.X = z.X
-                               return true
-                       }
-               }
-       }
-       return false
-}
-
-func score(p int) {
-       points += p
-       //      snprint(buf, sizeof(buf), "%.6ld", points);
-       //      draw.Draw(screen, draw.Rpt(pscore, pscore.Add(scoresz)), image.White, image.ZP);
-       //      string(screen, pscore, image.Black, image.ZP, font, buf);
-}
-
-func drawsq(b draw.Image, p image.Point, ptx int) {
-       var r image.Rectangle
-       r.Min = p
-       r.Max.X = r.Min.X + pcsz
-       r.Max.Y = r.Min.Y + pcsz
-       draw.Draw(b, r, image.Black, image.ZP)
-       draw.Draw(b, r.Inset(1), txpix[ptx], image.ZP)
-}
-
-func drawboard() {
-       draw.Border(screen, rboard.Inset(-2), 2, image.Black, image.ZP)
-       draw.Draw(screen, image.Rect(rboard.Min.X, rboard.Min.Y-2, rboard.Max.X, rboard.Min.Y),
-               image.White, image.ZP)
-       for i := 0; i < NY; i++ {
-               for j := 0; j < NX; j++ {
-                       if board[i][j] != 0 {
-                               drawsq(screen, image.Pt(rboard.Min.X+j*pcsz, rboard.Min.Y+i*pcsz), int(board[i][j]-16))
-                       }
-               }
-       }
-       score(0)
-       if suspended {
-               draw.DrawMask(screen, screenr, image.White, image.ZP, whitemask, image.ZP, draw.Over)
-       }
-}
-
-func choosepiece() {
-       for {
-               i := rand.Intn(len(pieces))
-               setpiece(&pieces[i])
-               pos = rboard.Min
-               pos.X += rand.Intn(NX) * pcsz
-               if !collide(image.Pt(pos.X, pos.Y+pcsz-DY), piece) {
-                       break
-               }
-       }
-       drawpiece()
-       display.FlushImage()
-}
-
-func movepiece() bool {
-       var mask image.Image
-       if collide(image.Pt(pos.X, pos.Y+pcsz), piece) {
-               return false
-       }
-       if collider(pos, br2.Max) {
-               mask = bb2mask
-       }
-       draw.DrawMask(screen, br2.Add(pos), bb2, bb2r.Min, mask, bb2r.Min, draw.Over)
-       pos.Y += DY
-       display.FlushImage()
-       return true
-}
-
-func suspend(s bool) {
-       suspended = s
-       /*
-               if suspended {
-                       setcursor(mousectl, &whitearrow);
-               } else {
-                       setcursor(mousectl, nil);
-               }
-       */
-       if !suspended {
-               drawpiece()
-       }
-       drawboard()
-       display.FlushImage()
-}
-
-func pause(t int) {
-       display.FlushImage()
-       for {
-               select {
-               case s := <-suspc:
-                       if !suspended && s {
-                               suspend(true)
-                       } else if suspended && !s {
-                               suspend(false)
-                               lastmx = warp(mouse.Loc, lastmx)
-                       }
-               case <-timerc:
-                       if suspended {
-                               break
-                       }
-                       t -= tsleep
-                       if t < 0 {
-                               return
-                       }
-               case <-resizec:
-                       //redraw(true);
-               case mouse = <-mousec:
-               case <-kbdc:
-               }
-       }
-}
-
-func horiz() bool {
-       var lev [MAXN]int
-       h := 0
-       for i := 0; i < NY; i++ {
-               for j := 0; board[i][j] != 0; j++ {
-                       if j == NX-1 {
-                               lev[h] = i
-                               h++
-                               break
-                       }
-               }
-       }
-       if h == 0 {
-               return false
-       }
-       r := rboard
-       newscreen = false
-       for j := 0; j < h; j++ {
-               r.Min.Y = rboard.Min.Y + lev[j]*pcsz
-               r.Max.Y = r.Min.Y + pcsz
-               draw.DrawMask(screen, r, image.White, image.ZP, whitemask, image.ZP, draw.Over)
-               display.FlushImage()
-       }
-       PlaySound(whoosh)
-       for i := 0; i < 3; i++ {
-               pause(250)
-               if newscreen {
-                       drawboard()
-                       break
-               }
-               for j := 0; j < h; j++ {
-                       r.Min.Y = rboard.Min.Y + lev[j]*pcsz
-                       r.Max.Y = r.Min.Y + pcsz
-                       draw.DrawMask(screen, r, image.White, image.ZP, whitemask, image.ZP, draw.Over)
-               }
-               display.FlushImage()
-       }
-       r = rboard
-       for j := 0; j < h; j++ {
-               i := NY - lev[j] - 1
-               score(250 + 10*i*i)
-               r.Min.Y = rboard.Min.Y
-               r.Max.Y = rboard.Min.Y + lev[j]*pcsz
-               draw.Draw(screen, r.Add(image.Pt(0, pcsz)), screen, r.Min)
-               r.Max.Y = rboard.Min.Y + pcsz
-               draw.Draw(screen, r, image.White, image.ZP)
-               for k := lev[j] - 1; k >= 0; k-- {
-                       board[k+1] = board[k]
-               }
-               board[0] = [NX]byte{}
-       }
-       display.FlushImage()
-       return true
-}
-
-func mright() {
-       if !collide(image.Pt(pos.X+pcsz, pos.Y), piece) &&
-               !collide(image.Pt(pos.X+pcsz, pos.Y+pcsz-DY), piece) {
-               undrawpiece()
-               pos.X += pcsz
-               drawpiece()
-               display.FlushImage()
-       }
-}
-
-func mleft() {
-       if !collide(image.Pt(pos.X-pcsz, pos.Y), piece) &&
-               !collide(image.Pt(pos.X-pcsz, pos.Y+pcsz-DY), piece) {
-               undrawpiece()
-               pos.X -= pcsz
-               drawpiece()
-               display.FlushImage()
-       }
-}
-
-func rright() {
-       if canfit(piece.right) {
-               setpiece(piece.right)
-               drawpiece()
-               display.FlushImage()
-       }
-}
-
-func rleft() {
-       if canfit(piece.left) {
-               setpiece(piece.left)
-               drawpiece()
-               display.FlushImage()
-       }
-}
-
-var fusst = 0
-
-func drop(f bool) bool {
-       if f {
-               score(5 * (rboard.Max.Y - pos.Y) / pcsz)
-               for movepiece() {
-               }
-       }
-       fusst = 0
-       rest()
-       if pos.Y == rboard.Min.Y && !horiz() {
-               return true
-       }
-       horiz()
-       setpiece(nil)
-       pause(1500)
-       choosepiece()
-       lastmx = warp(mouse.Loc, lastmx)
-       return false
-}
-
-func play() {
-       var om draw.MouseEvent
-       dt = 64
-       lastmx = -1
-       lastmx = movemouse()
-       choosepiece()
-       lastmx = warp(mouse.Loc, lastmx)
-       for {
-               select {
-               case mouse = <-mousec:
-                       if suspended {
-                               om = mouse
-                               break
-                       }
-                       if lastmx < 0 {
-                               lastmx = mouse.Loc.X
-                       }
-                       if mouse.Loc.X > lastmx+DMOUSE {
-                               mright()
-                               lastmx = mouse.Loc.X
-                       }
-                       if mouse.Loc.X < lastmx-DMOUSE {
-                               mleft()
-                               lastmx = mouse.Loc.X
-                       }
-                       if mouse.Buttons&^om.Buttons&1 == 1 {
-                               rleft()
-                       }
-                       if mouse.Buttons&^om.Buttons&2 == 2 {
-                               if drop(true) {
-                                       return
-                               }
-                       }
-                       if mouse.Buttons&^om.Buttons&4 == 4 {
-                               rright()
-                       }
-                       om = mouse
-
-               case s := <-suspc:
-                       if !suspended && s {
-                               suspend(true)
-                       } else if suspended && !s {
-                               suspend(false)
-                               lastmx = warp(mouse.Loc, lastmx)
-                       }
-
-               case <-resizec:
-                       //redraw(true);
-
-               case r := <-kbdc:
-                       if suspended {
-                               break
-                       }
-                       switch r {
-                       case 'f', ';':
-                               mright()
-                       case 'a', 'j':
-                               mleft()
-                       case 'd', 'l':
-                               rright()
-                       case 's', 'k':
-                               rleft()
-                       case ' ':
-                               if drop(true) {
-                                       return
-                               }
-                       }
-
-               case <-timerc:
-                       if suspended {
-                               break
-                       }
-                       dt -= tsleep
-                       if dt < 0 {
-                               i := 1
-                               dt = 16 * (points + rand.Intn(10000) - 5000) / 10000
-                               if dt >= 32 {
-                                       i += (dt - 32) / 16
-                                       dt = 32
-                               }
-                               dt = 52 - dt
-                               for ; i > 0; i-- {
-                                       if movepiece() {
-                                               continue
-                                       }
-                                       fusst++
-                                       if fusst == 40 {
-                                               if drop(false) {
-                                                       return
-                                               }
-                                               break
-                                       }
-                               }
-                       }
-               }
-       }
-}
-
-func suspproc() {
-       s := false
-       for {
-               select {
-               case mouse = <-mousec:
-                       mousec <- mouse
-               case r := <-kbdc:
-                       switch r {
-                       case 'q', 'Q', 0x04, 0x7F:
-                               os.Exit(0)
-                       default:
-                               if s {
-                                       s = false
-                                       suspc <- s
-                                       break
-                               }
-                               switch r {
-                               case 'z', 'Z', 'p', 'P', 0x1B:
-                                       s = true
-                                       suspc <- s
-                               default:
-                                       kbdc <- r
-                               }
-                       }
-               }
-       }
-}
-
-func redraw(new bool) {
-       //      if new && getwindow(display, Refmesg) < 0 {
-       //              sysfatal("can't reattach to window");
-       //      }
-       r := screen.Bounds()
-       pos.X = (pos.X - rboard.Min.X) / pcsz
-       pos.Y = (pos.Y - rboard.Min.Y) / pcsz
-       dx := r.Max.X - r.Min.X
-       dy := r.Max.Y - r.Min.Y - 2*32
-       DY = dx / NX
-       if DY > dy/NY {
-               DY = dy / NY
-       }
-       DY /= 8
-       if DY > 4 {
-               DY = 4
-       }
-       pcsz = DY * 8
-       DMOUSE = pcsz / 3
-       if pcsz < 8 {
-               log.Exitf("screen too small: %d", pcsz)
-       }
-       rboard = screenr
-       rboard.Min.X += (dx - pcsz*NX) / 2
-       rboard.Min.Y += (dy-pcsz*NY)/2 + 32
-       rboard.Max.X = rboard.Min.X + NX*pcsz
-       rboard.Max.Y = rboard.Min.Y + NY*pcsz
-       pscore.X = rboard.Min.X + 8
-       pscore.Y = rboard.Min.Y - 32
-       //      scoresz = stringsize(font, "000000");
-       pos.X = pos.X*pcsz + rboard.Min.X
-       pos.Y = pos.Y*pcsz + rboard.Min.Y
-       bbr = image.Rect(0, 0, N*pcsz, N*pcsz)
-       bb = image.NewRGBA(bbr.Max.X, bbr.Max.Y)
-       bbmask = image.NewRGBA(bbr.Max.X, bbr.Max.Y) // actually just a bitmap
-       bb2r = image.Rect(0, 0, N*pcsz, N*pcsz+DY)
-       bb2 = image.NewRGBA(bb2r.Dx(), bb2r.Dy())
-       bb2mask = image.NewRGBA(bb2r.Dx(), bb2r.Dy()) // actually just a bitmap
-       draw.Draw(screen, screenr, image.White, image.ZP)
-       drawboard()
-       setpiece(piece)
-       if piece != nil {
-               drawpiece()
-       }
-       lastmx = movemouse()
-       newscreen = true
-       display.FlushImage()
-}
-
-func demuxEvents(w draw.Window) {
-       for event := range w.EventChan() {
-               switch e := event.(type) {
-               case draw.MouseEvent:
-                       mousec <- e
-               case draw.ConfigEvent:
-                       resizec <- true
-               case draw.KeyEvent:
-                       kbdc <- e.Key
-               }
-       }
-       os.Exit(0)
-}
-
-func Play(pp []Piece, ctxt draw.Window) {
-       display = ctxt
-       screen = ctxt.Screen()
-       screenr = screen.Bounds()
-       pieces = pp
-       N = len(pieces[0].d)
-       initPieces()
-       rand.Seed(int64(time.Nanoseconds() % (1e9 - 1)))
-       whitemask = image.NewColorImage(image.AlphaColor{0x7F})
-       tsleep = 50
-       timerc = time.Tick(int64(tsleep/2) * 1e6)
-       suspc = make(chan bool)
-       mousec = make(chan draw.MouseEvent)
-       resizec = make(chan bool)
-       kbdc = make(chan int)
-       go demuxEvents(ctxt)
-       go suspproc()
-       points = 0
-       redraw(false)
-       play()
-}
diff --git a/src/pkg/exp/nacl/README b/src/pkg/exp/nacl/README
deleted file mode 100644 (file)
index f8e1c19..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-To try Native Client by running 4s (tetris) or 5s or Spacewar:
-
-1. Build the Go distribution for your native system.
-
-2. Download the Native Client SDK and install it.
-    http://code.google.com/p/nativeclient-sdk/wiki/HowTo_GetStarted
-  * You only need to do steps 1 and 2.
-
-3. Copy "./native_client*/toolchain/*/bin/sel_ldr"
-   from the Native Client distribution somewhere in your path as "nacl".
-   This will let you run binaries using "nacl -M 8.out".
-   The -M flag enables multithreaded access to the video library.
-
-4. Build the Go distribution again, this time for Native Client:
-       cd $GOROOT/src
-       ./all-nacl.bash
-   * If you didn't do step 3, the tests at the end will fail, but that's okay.
-   * If you are on a Mac, your dock will flicker as the "nacl" binary
-   starts and stops while the tests run.  You can stop the tests at any time.
-
-5. Run the programs by using
-       nacl -M $GOROOT/src/pkg/exp/4s/8.out
-       nacl -M $GOROOT/src/pkg/exp/4s/8.5s
-       nacl -M $GOROOT/src/pkg/exp/spacewar/8.out
-       
-6. If you have an old copy of the Native Client plugin, you may be
-   able to run the programs in your browser, by running
-   "godoc --http=:5103" and then visiting
-  * http://localhost:5103/src/pkg/exp/4s/4s.html
-  * http://localhost:5103/src/pkg/exp/4s/5s.html [sic]
-  * http://localhost:5103/src/pkg/exp/spacewar/spacewar.html
-
-   This usage is deprecated in favor of newere APIs in recent
-   releases of Native Client.  More work will be necessary to support
-   interactive graphics when using those releases.
-
diff --git a/src/pkg/exp/nacl/av/Makefile b/src/pkg/exp/nacl/av/Makefile
deleted file mode 100644 (file)
index c75f351..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 2009 The Go Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style
-# license that can be found in the LICENSE file.
-
-include ../../../../Make.inc
-
-TARG=exp/nacl/av
-GOFILES=\
-       av.go\
-       event.go\
-       image.go\
-
-include ../../../../Make.pkg
diff --git a/src/pkg/exp/nacl/av/av.go b/src/pkg/exp/nacl/av/av.go
deleted file mode 100644 (file)
index 2b980f5..0000000
+++ /dev/null
@@ -1,289 +0,0 @@
-// Copyright 2009 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Native Client audio/video
-
-// Package av implements audio and video access for Native Client
-// binaries running standalone or embedded in a web browser window.
-//
-// The C version of the API is documented at
-// http://nativeclient.googlecode.com/svn/data/docs_tarball/nacl/googleclient/native_client/scons-out/doc/html/group__audio__video.html
-package av
-
-import (
-       "exp/draw"
-       "exp/nacl/srpc"
-       "log"
-       "os"
-       "syscall"
-       "unsafe"
-)
-
-var srpcEnabled = srpc.Enabled()
-
-// native_client/src/trusted/service_runtime/include/sys/audio_video.h
-
-// Subsystem values for Init.
-const (
-       SubsystemVideo = 1 << iota
-       SubsystemAudio
-       SubsystemEmbed
-)
-//     SubsystemRawEvents;
-
-// Audio formats.
-const (
-       AudioFormatStereo44K = iota
-       AudioFormatStereo48K
-)
-
-// A Window represents a connection to the Native Client window.
-// It implements draw.Context.
-type Window struct {
-       Embedded bool // running as part of a web page?
-       *Image        // screen image
-       eventc   chan interface{}
-}
-
-// *Window implements draw.Window.
-var _ draw.Window = (*Window)(nil)
-
-func (w *Window) EventChan() <-chan interface{} { return w.eventc }
-
-func (w *Window) Close() os.Error {
-       // TODO(nigeltao): implement.
-       return nil
-}
-
-func (w *Window) Screen() draw.Image { return w.Image }
-
-// Init initializes the Native Client subsystems specified by subsys.
-// Init must be called before using any of the other functions
-// in this package, and it must be called only once.
-//
-// If the SubsystemVideo flag is set, Init requests a window of size dx×dy.
-// When embedded in a web page, the web page's window specification
-// overrides the parameters to Init, so the returned Window may have
-// a different size than requested.
-//
-// If the SubsystemAudio flag is set, Init requests a connection to the
-// audio device carrying 44 kHz 16-bit stereo PCM audio samples.
-func Init(subsys int, dx, dy int) (*Window, os.Error) {
-       xsubsys := subsys
-       if srpcEnabled {
-               waitBridge()
-               xsubsys &^= SubsystemVideo | SubsystemEmbed
-       }
-
-       if xsubsys&SubsystemEmbed != 0 {
-               return nil, os.NewError("not embedded")
-       }
-
-       w := new(Window)
-       err := multimediaInit(xsubsys)
-       if err != nil {
-               return nil, err
-       }
-
-       if subsys&SubsystemVideo != 0 {
-               if dx, dy, err = videoInit(dx, dy); err != nil {
-                       return nil, err
-               }
-               w.Image = newImage(dx, dy, bridge.pixel)
-               w.eventc = make(chan interface{}, 64)
-       }
-
-       if subsys&SubsystemAudio != 0 {
-               var n int
-               if n, err = audioInit(AudioFormatStereo44K, 2048); err != nil {
-                       return nil, err
-               }
-               println("audio", n)
-       }
-
-       if subsys&SubsystemVideo != 0 {
-               go w.readEvents()
-       }
-
-       return w, nil
-}
-
-func (w *Window) FlushImage() {
-       if w.Image == nil {
-               return
-       }
-       videoUpdate(w.Image.Linear)
-}
-
-func multimediaInit(subsys int) (err os.Error) {
-       return os.NewSyscallError("multimedia_init", syscall.MultimediaInit(subsys))
-}
-
-func videoInit(dx, dy int) (ndx, ndy int, err os.Error) {
-       if srpcEnabled {
-               bridge.share.ready = 1
-               return int(bridge.share.width), int(bridge.share.height), nil
-       }
-       if e := syscall.VideoInit(dx, dy); e != 0 {
-               return 0, 0, os.NewSyscallError("video_init", int(e))
-       }
-       return dx, dy, nil
-}
-
-func videoUpdate(data []Color) (err os.Error) {
-       if srpcEnabled {
-               bridge.flushRPC.Call("upcall", nil)
-               return
-       }
-       return os.NewSyscallError("video_update", syscall.VideoUpdate((*uint32)(&data[0])))
-}
-
-var noEvents = os.NewError("no events")
-
-func videoPollEvent(ev []byte) (err os.Error) {
-       if srpcEnabled {
-               r := bridge.share.eq.ri
-               if r == bridge.share.eq.wi {
-                       return noEvents
-               }
-               copy(ev, bridge.share.eq.event[r][0:])
-               bridge.share.eq.ri = (r + 1) % eqsize
-               return nil
-       }
-       return os.NewSyscallError("video_poll_event", syscall.VideoPollEvent(&ev[0]))
-}
-
-func audioInit(fmt int, want int) (got int, err os.Error) {
-       var x int
-       e := syscall.AudioInit(fmt, want, &x)
-       if e == 0 {
-               return x, nil
-       }
-       return 0, os.NewSyscallError("audio_init", e)
-}
-
-var audioSize uintptr
-
-// AudioStream provides access to the audio device.
-// Each call to AudioStream writes the given data,
-// which should be a slice of 16-bit stereo PCM audio samples,
-// and returns the number of samples required by the next
-// call to AudioStream.
-//
-// To find out the initial number of samples to write, call AudioStream(nil).
-//
-func AudioStream(data []uint16) (nextSize int, err os.Error) {
-       if audioSize == 0 {
-               e := os.NewSyscallError("audio_stream", syscall.AudioStream(nil, &audioSize))
-               return int(audioSize), e
-       }
-       if data == nil {
-               return int(audioSize), nil
-       }
-       if uintptr(len(data))*2 != audioSize {
-               log.Printf("invalid audio size want %d got %d", audioSize, len(data))
-       }
-       e := os.NewSyscallError("audio_stream", syscall.AudioStream(&data[0], &audioSize))
-       return int(audioSize), e
-}
-
-// Synchronization structure to wait for bridge to become ready.
-var bridge struct {
-       c         chan bool
-       displayFd int
-       rpcFd     int
-       share     *videoShare
-       pixel     []Color
-       client    *srpc.Client
-       flushRPC  *srpc.RPC
-}
-
-// Wait for bridge to become ready.
-// When chan is first created, there is nothing in it,
-// so this blocks.  Once the bridge is ready, multimediaBridge.Run
-// will drop a value into the channel.  Then any calls
-// to waitBridge will finish, taking the value out and immediately putting it back.
-func waitBridge() { bridge.c <- <-bridge.c }
-
-const eqsize = 64
-
-// Data structure shared with host via mmap.
-type videoShare struct {
-       revision int32 // definition below is rev 100 unless noted
-       mapSize  int32
-
-       // event queue
-       eq struct {
-               ri    uint32 // read index [0,eqsize)
-               wi    uint32 // write index [0,eqsize)
-               eof   int32
-               event [eqsize][64]byte
-       }
-
-       // now unused
-       _, _, _, _ int32
-
-       // video backing store information
-       width, height, _, size int32
-       ready                  int32 // rev 0x101
-}
-
-// The frame buffer data is videoShareSize bytes after
-// the videoShare begins.
-const videoShareSize = 16 * 1024
-
-type multimediaBridge struct{}
-
-// If using SRPC, the runtime will call this method to pass in two file descriptors,
-// one to mmap to get the display memory, and another to use for SRPCs back
-// to the main process.
-func (multimediaBridge) Run(arg, ret []interface{}, size []int) srpc.Errno {
-       bridge.displayFd = arg[0].(int)
-       bridge.rpcFd = arg[1].(int)
-
-       var st syscall.Stat_t
-       if errno := syscall.Fstat(bridge.displayFd, &st); errno != 0 {
-               log.Exitf("mmbridge stat display: %s", os.Errno(errno))
-       }
-
-       addr, _, errno := syscall.Syscall6(syscall.SYS_MMAP,
-               0,
-               uintptr(st.Size),
-               syscall.PROT_READ|syscall.PROT_WRITE,
-               syscall.MAP_SHARED,
-               uintptr(bridge.displayFd),
-               0)
-       if errno != 0 {
-               log.Exitf("mmap display: %s", os.Errno(errno))
-       }
-
-       bridge.share = (*videoShare)(unsafe.Pointer(addr))
-
-       // Overestimate frame buffer size
-       // (must use a compile-time constant)
-       // and then reslice.  256 megapixels (1 GB) should be enough.
-       fb := (*[256 * 1024 * 1024]Color)(unsafe.Pointer(addr + videoShareSize))
-       bridge.pixel = fb[0 : (st.Size-videoShareSize)/4]
-
-       // Configure RPC connection back to client.
-       var err os.Error
-       bridge.client, err = srpc.NewClient(bridge.rpcFd)
-       if err != nil {
-               log.Exitf("NewClient: %s", err)
-       }
-       bridge.flushRPC = bridge.client.NewRPC(nil)
-
-       // Notify waiters that the bridge is ready.
-       println("bridged", bridge.share.revision)
-       bridge.c <- true
-
-       return srpc.OK
-}
-
-func init() {
-       bridge.c = make(chan bool, 1)
-       if srpcEnabled {
-               srpc.Add("nacl_multimedia_bridge", "hh:", multimediaBridge{})
-       }
-}
diff --git a/src/pkg/exp/nacl/av/event.go b/src/pkg/exp/nacl/av/event.go
deleted file mode 100644 (file)
index 5d04613..0000000
+++ /dev/null
@@ -1,473 +0,0 @@
-// Copyright 2009 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// NaCl GUI events.
-// Clients do not have raw access to the event stream
-// (only filtered through the lens of package draw)
-// but perhaps they will.
-
-package av
-
-import (
-       "encoding/binary"
-       "exp/draw"
-       "image"
-       "log"
-       "os"
-       "time"
-)
-
-// An eventType identifies the type of a Native Client Event.
-type eventType uint8
-
-const (
-       eventActive = 1 + iota
-       eventExpose
-       eventKeyDown
-       eventKeyUp
-       eventMouseMotion
-       eventMouseButtonDown
-       eventMouseButtonUp
-       eventQuit
-       eventUnsupported
-)
-
-// A key represents a key on a keyboard.
-type key uint16
-
-const (
-       keyUnknown      = 0
-       keyFirst        = 0
-       keyBackspace    = 8
-       keyTab          = 9
-       keyClear        = 12
-       keyReturn       = 13
-       keyPause        = 19
-       keyEscape       = 27
-       keySpace        = 32
-       keyExclaim      = 33
-       keyQuotedbl     = 34
-       keyHash         = 35
-       keyDollar       = 36
-       keyAmpersand    = 38
-       keyQuote        = 39
-       keyLeftparen    = 40
-       keyRightparen   = 41
-       keyAsterisk     = 42
-       keyPlus         = 43
-       keyComma        = 44
-       keyMinus        = 45
-       keyPeriod       = 46
-       keySlash        = 47
-       key0            = 48
-       key1            = 49
-       key2            = 50
-       key3            = 51
-       key4            = 52
-       key5            = 53
-       key6            = 54
-       key7            = 55
-       key8            = 56
-       key9            = 57
-       keyColon        = 58
-       keySemicolon    = 59
-       keyLess         = 60
-       keyEquals       = 61
-       keyGreater      = 62
-       keyQuestion     = 63
-       keyAt           = 64
-       keyLeftbracket  = 91
-       keyBackslash    = 92
-       keyRightbracket = 93
-       keyCaret        = 94
-       keyUnderscore   = 95
-       keyBackquote    = 96
-       keyA            = 97
-       keyB            = 98
-       keyC            = 99
-       keyD            = 100
-       keyE            = 101
-       keyF            = 102
-       keyG            = 103
-       keyH            = 104
-       keyI            = 105
-       keyJ            = 106
-       keyK            = 107
-       keyL            = 108
-       keyM            = 109
-       keyN            = 110
-       keyO            = 111
-       keyP            = 112
-       keyQ            = 113
-       keyR            = 114
-       keyS            = 115
-       keyT            = 116
-       keyU            = 117
-       keyV            = 118
-       keyW            = 119
-       keyX            = 120
-       keyY            = 121
-       keyZ            = 122
-       keyDelete       = 127
-       keyWorld0       = 160
-       keyWorld1       = 161
-       keyWorld2       = 162
-       keyWorld3       = 163
-       keyWorld4       = 164
-       keyWorld5       = 165
-       keyWorld6       = 166
-       keyWorld7       = 167
-       keyWorld8       = 168
-       keyWorld9       = 169
-       keyWorld10      = 170
-       keyWorld11      = 171
-       keyWorld12      = 172
-       keyWorld13      = 173
-       keyWorld14      = 174
-       keyWorld15      = 175
-       keyWorld16      = 176
-       keyWorld17      = 177
-       keyWorld18      = 178
-       keyWorld19      = 179
-       keyWorld20      = 180
-       keyWorld21      = 181
-       keyWorld22      = 182
-       keyWorld23      = 183
-       keyWorld24      = 184
-       keyWorld25      = 185
-       keyWorld26      = 186
-       keyWorld27      = 187
-       keyWorld28      = 188
-       keyWorld29      = 189
-       keyWorld30      = 190
-       keyWorld31      = 191
-       keyWorld32      = 192
-       keyWorld33      = 193
-       keyWorld34      = 194
-       keyWorld35      = 195
-       keyWorld36      = 196
-       keyWorld37      = 197
-       keyWorld38      = 198
-       keyWorld39      = 199
-       keyWorld40      = 200
-       keyWorld41      = 201
-       keyWorld42      = 202
-       keyWorld43      = 203
-       keyWorld44      = 204
-       keyWorld45      = 205
-       keyWorld46      = 206
-       keyWorld47      = 207
-       keyWorld48      = 208
-       keyWorld49      = 209
-       keyWorld50      = 210
-       keyWorld51      = 211
-       keyWorld52      = 212
-       keyWorld53      = 213
-       keyWorld54      = 214
-       keyWorld55      = 215
-       keyWorld56      = 216
-       keyWorld57      = 217
-       keyWorld58      = 218
-       keyWorld59      = 219
-       keyWorld60      = 220
-       keyWorld61      = 221
-       keyWorld62      = 222
-       keyWorld63      = 223
-       keyWorld64      = 224
-       keyWorld65      = 225
-       keyWorld66      = 226
-       keyWorld67      = 227
-       keyWorld68      = 228
-       keyWorld69      = 229
-       keyWorld70      = 230
-       keyWorld71      = 231
-       keyWorld72      = 232
-       keyWorld73      = 233
-       keyWorld74      = 234
-       keyWorld75      = 235
-       keyWorld76      = 236
-       keyWorld77      = 237
-       keyWorld78      = 238
-       keyWorld79      = 239
-       keyWorld80      = 240
-       keyWorld81      = 241
-       keyWorld82      = 242
-       keyWorld83      = 243
-       keyWorld84      = 244
-       keyWorld85      = 245
-       keyWorld86      = 246
-       keyWorld87      = 247
-       keyWorld88      = 248
-       keyWorld89      = 249
-       keyWorld90      = 250
-       keyWorld91      = 251
-       keyWorld92      = 252
-       keyWorld93      = 253
-       keyWorld94      = 254
-       keyWorld95      = 255
-
-       // Numeric keypad
-       keyKp0        = 256
-       keyKp1        = 257
-       keyKp2        = 258
-       keyKp3        = 259
-       keyKp4        = 260
-       keyKp5        = 261
-       keyKp6        = 262
-       keyKp7        = 263
-       keyKp8        = 264
-       keyKp9        = 265
-       keyKpPeriod   = 266
-       keyKpDivide   = 267
-       keyKpMultiply = 268
-       keyKpMinus    = 269
-       keyKpPlus     = 270
-       keyKpEnter    = 271
-       keyKpEquals   = 272
-
-       // Arrow & insert/delete pad
-       keyUp       = 273
-       keyDown     = 274
-       keyRight    = 275
-       keyLeft     = 276
-       keyInsert   = 277
-       keyHome     = 278
-       keyEnd      = 279
-       keyPageup   = 280
-       keyPagedown = 281
-
-       // Function keys
-       keyF1  = 282
-       keyF2  = 283
-       keyF3  = 284
-       keyF4  = 285
-       keyF5  = 286
-       keyF6  = 287
-       keyF7  = 288
-       keyF8  = 289
-       keyF9  = 290
-       keyF10 = 291
-       keyF11 = 292
-       keyF12 = 293
-       keyF13 = 294
-       keyF14 = 295
-       keyF15 = 296
-
-       // Modifier keys
-       keyNumlock   = 300
-       keyCapslock  = 301
-       keyScrollock = 302
-       keyRshift    = 303
-       keyLshift    = 304
-       keyRctrl     = 305
-       keyLctrl     = 306
-       keyRalt      = 307
-       keyLalt      = 308
-       keyRmeta     = 309
-       keyLmeta     = 310
-       keyLsuper    = 311
-       keyRsuper    = 312
-       keyMode      = 313
-       keyCompose   = 314
-
-       // Misc keys
-       keyHelp   = 315
-       keyPrint  = 316
-       keySysreq = 317
-       keyBreak  = 318
-       keyMenu   = 319
-       keyPower  = 320
-       keyEuro   = 321
-       keyUndo   = 322
-
-       // Add any other keys here
-       keyLast
-)
-
-// A keymod is a set of bit flags
-type keymod uint16
-
-const (
-       keymodNone     = 0x0000
-       keymodLshift   = 0x0001
-       keymodRshift   = 0x0002
-       keymodLctrl    = 0x0040
-       keymodRctrl    = 0x0080
-       keymodLalt     = 0x0100
-       keymodRalt     = 0x0200
-       keymodLmeta    = 0x0400
-       keymodRmeta    = 0x0800
-       keymodNum      = 0x1000
-       keymodCaps     = 0x2000
-       keymodMode     = 0x4000
-       keymodReserved = 0x8000
-)
-
-const (
-       mouseButtonLeft   = 1
-       mouseButtonMiddle = 2
-       mouseButtonRight  = 3
-       mouseScrollUp     = 4
-       mouseScrollDown   = 5
-)
-
-const (
-       mouseStateLeftButtonPressed   = 1
-       mouseStateMiddleButtonPressed = 2
-       mouseStateRightButtonPressed  = 4
-)
-
-const (
-       activeMouse       = 1 //  mouse leaving/entering
-       activeInputFocus  = 2 // input focus lost/restored
-       activeApplication = 4 // application minimized/restored
-)
-
-const maxEventBytes = 64
-
-type activeEvent struct {
-       EventType eventType
-       Gain      uint8
-       State     uint8
-}
-
-type exposeEvent struct {
-       EventType eventType
-}
-
-type keyboardEvent struct {
-       EventType eventType
-       Device    uint8
-       State     uint8
-       Pad       uint8
-       ScanCode  uint8
-       Pad1      uint8
-       Key       key
-       Mod       keymod
-       Unicode   uint16
-}
-
-type mouseMotionEvent struct {
-       EventType eventType
-       Device    uint8
-       Buttons   uint8
-       Pad       uint8
-       X         uint16
-       Y         uint16
-       Xrel      int16
-       Yrel      int16
-}
-
-type mouseButtonEvent struct {
-       EventType eventType
-       Device    uint8
-       Button    uint8
-       State     uint8
-       X         uint16
-       Y         uint16
-}
-
-type quitEvent struct {
-       EventType eventType
-}
-
-type syncEvent struct{}
-
-type event interface{}
-
-type reader []byte
-
-func (r *reader) Read(p []byte) (n int, err os.Error) {
-       b := *r
-       if len(b) == 0 && len(p) > 0 {
-               return 0, os.EOF
-       }
-       n = copy(p, b)
-       *r = b[n:]
-       return
-}
-
-func (w *Window) readEvents() {
-       buf := make([]byte, maxEventBytes)
-       clean := false
-       var (
-               ea  *activeEvent
-               ee  *exposeEvent
-               ke  *keyboardEvent
-               mme *mouseMotionEvent
-               mbe *mouseButtonEvent
-               qe  *quitEvent
-       )
-       var m draw.MouseEvent
-       for {
-               if err := videoPollEvent(buf); err != nil {
-                       if !clean {
-                               clean = w.eventc <- draw.ConfigEvent{image.Config{ColorModel, w.Image.Bounds().Dx(), w.Image.Bounds().Dy()}}
-                       }
-                       time.Sleep(10e6) // 10ms
-                       continue
-               }
-               clean = false
-               var e event
-               switch buf[0] {
-               default:
-                       log.Print("unsupported event type", buf[0])
-                       continue
-               case eventActive:
-                       ea = new(activeEvent)
-                       e = ea
-               case eventExpose:
-                       ee = new(exposeEvent)
-                       e = ee
-               case eventKeyDown, eventKeyUp:
-                       ke = new(keyboardEvent)
-                       e = ke
-               case eventMouseMotion:
-                       mme = new(mouseMotionEvent)
-                       e = mme
-               case eventMouseButtonDown, eventMouseButtonUp:
-                       mbe = new(mouseButtonEvent)
-                       e = mbe
-               case eventQuit:
-                       qe = new(quitEvent)
-                       e = qe
-               }
-               r := reader(buf)
-               if err := binary.Read(&r, binary.LittleEndian, e); err != nil {
-                       log.Printf("unpacking %T event: %s", e, err)
-                       continue
-               }
-               // log.Printf("%#v\n", e);
-               switch buf[0] {
-               case eventExpose:
-                       w.eventc <- draw.ConfigEvent{image.Config{ColorModel, w.Image.Bounds().Dx(), w.Image.Bounds().Dy()}}
-               case eventKeyDown:
-                       w.eventc <- draw.KeyEvent{int(ke.Key)}
-               case eventKeyUp:
-                       w.eventc <- draw.KeyEvent{-int(ke.Key)}
-               case eventMouseMotion:
-                       m.Loc.X = int(mme.X)
-                       m.Loc.Y = int(mme.Y)
-                       m.Buttons = int(mme.Buttons)
-                       m.Nsec = time.Nanoseconds()
-                       _ = w.eventc <- m
-               case eventMouseButtonDown:
-                       m.Loc.X = int(mbe.X)
-                       m.Loc.Y = int(mbe.Y)
-                       // TODO(rsc): Remove uint cast once 8g bug is fixed.
-                       m.Buttons |= 1 << uint(mbe.Button-1)
-                       m.Nsec = time.Nanoseconds()
-                       _ = w.eventc <- m
-               case eventMouseButtonUp:
-                       m.Loc.X = int(mbe.X)
-                       m.Loc.Y = int(mbe.Y)
-                       // TODO(rsc): Remove uint cast once 8g bug is fixed.
-                       m.Buttons &^= 1 << uint(mbe.Button-1)
-                       m.Nsec = time.Nanoseconds()
-                       _ = w.eventc <- m
-               case eventQuit:
-                       close(w.eventc)
-               }
-       }
-}
diff --git a/src/pkg/exp/nacl/av/image.go b/src/pkg/exp/nacl/av/image.go
deleted file mode 100644 (file)
index 2ff4bb6..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-// Copyright 2009 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package av
-
-import (
-       "image"
-)
-
-// Native Client image format:
-// a single linear array of 32-bit ARGB as packed uint32s.
-
-// An Image represents a Native Client frame buffer.
-// The pixels in the image can be accessed as a single
-// linear slice or as a two-dimensional slice of slices.
-// Image implements image.Image.
-type Image struct {
-       Linear []Color
-       Pixel  [][]Color
-}
-
-var _ image.Image = (*Image)(nil)
-
-func (m *Image) ColorModel() image.ColorModel { return ColorModel }
-
-func (m *Image) Bounds() image.Rectangle {
-       if len(m.Pixel) == 0 {
-               return image.ZR
-       }
-       return image.Rectangle{image.ZP, image.Point{len(m.Pixel[0]), len(m.Pixel)}}
-}
-
-func (m *Image) At(x, y int) image.Color { return m.Pixel[y][x] }
-
-func (m *Image) Set(x, y int, color image.Color) {
-       if c, ok := color.(Color); ok {
-               m.Pixel[y][x] = c
-               return
-       }
-       m.Pixel[y][x] = makeColor(color.RGBA())
-}
-
-func newImage(dx, dy int, linear []Color) *Image {
-       if linear == nil {
-               linear = make([]Color, dx*dy)
-       }
-       pix := make([][]Color, dy)
-       for i := range pix {
-               pix[i] = linear[dx*i : dx*(i+1)]
-       }
-       return &Image{linear, pix}
-}
-
-// A Color represents a Native Client color value,
-// a 32-bit R, G, B, A value packed as 0xAARRGGBB.
-type Color uint32
-
-func (p Color) RGBA() (r, g, b, a uint32) {
-       x := uint32(p)
-       a = x >> 24
-       a |= a << 8
-       r = (x >> 16) & 0xFF
-       r |= r << 8
-       g = (x >> 8) & 0xFF
-       g |= g << 8
-       b = x & 0xFF
-       b |= b << 8
-       return
-}
-
-func makeColor(r, g, b, a uint32) Color {
-       return Color(a>>8<<24 | r>>8<<16 | g>>8<<8 | b>>8)
-}
-
-func toColor(color image.Color) image.Color {
-       if c, ok := color.(Color); ok {
-               return c
-       }
-       return makeColor(color.RGBA())
-}
-
-// ColorModel is the color model corresponding to the Native Client Color.
-var ColorModel = image.ColorModelFunc(toColor)
diff --git a/src/pkg/exp/nacl/srpc/Makefile b/src/pkg/exp/nacl/srpc/Makefile
deleted file mode 100644 (file)
index c89997d..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 2009 The Go Authors.  All rights reserved.
-# Use of this source code is governed by a BSD-style
-# license that can be found in the LICENSE file.
-
-include ../../../../Make.inc
-
-TARG=exp/nacl/srpc
-GOFILES=\
-       client.go\
-       msg.go\
-       server.go\
-
-include ../../../../Make.pkg
diff --git a/src/pkg/exp/nacl/srpc/client.go b/src/pkg/exp/nacl/srpc/client.go
deleted file mode 100644 (file)
index 3e421e4..0000000
+++ /dev/null
@@ -1,210 +0,0 @@
-// Copyright 2009 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// This package implements Native Client's simple RPC (SRPC).
-package srpc
-
-import (
-       "bytes"
-       "log"
-       "os"
-       "sync"
-)
-
-// A Client represents the client side of an SRPC connection.
-type Client struct {
-       fd      int // fd to server
-       r       msgReceiver
-       s       msgSender
-       service map[string]srv // services by name
-       out     chan *msg      // send to out to write to connection
-
-       mu      sync.Mutex // protects pending, idGen
-       pending map[uint64]*RPC
-       idGen   uint64 // generator for request IDs
-}
-
-// A srv is a single method that the server offers.
-type srv struct {
-       num uint32 // method number
-       fmt string // argument format
-}
-
-// An RPC represents a single RPC issued by a client.
-type RPC struct {
-       Ret   []interface{} // Return values
-       Done  chan *RPC     // Channel where notification of done arrives
-       Errno Errno         // Status code
-       c     *Client
-       id    uint64 // request id
-}
-
-// NewClient allocates a new client using the file descriptor fd.
-func NewClient(fd int) (c *Client, err os.Error) {
-       c = new(Client)
-       c.fd = fd
-       c.r.fd = fd
-       c.s.fd = fd
-       c.service = make(map[string]srv)
-       c.pending = make(map[uint64]*RPC)
-
-       // service discovery request
-       m := &msg{
-               protocol: protocol,
-               isReq:    true,
-               Ret:      []interface{}{[]byte(nil)},
-               Size:     []int{4000},
-       }
-       m.packRequest()
-       c.s.send(m)
-       m, err = c.r.recv()
-       if err != nil {
-               return nil, err
-       }
-       m.unpackResponse()
-       if m.status != OK {
-               log.Printf("NewClient service_discovery: %s", m.status)
-               return nil, m.status
-       }
-       for n, line := range bytes.Split(m.Ret[0].([]byte), []byte{'\n'}, -1) {
-               i := bytes.Index(line, []byte{':'})
-               if i < 0 {
-                       continue
-               }
-               c.service[string(line[0:i])] = srv{uint32(n), string(line[i+1:])}
-       }
-
-       c.out = make(chan *msg)
-       go c.input()
-       go c.output()
-       return c, nil
-}
-
-func (c *Client) input() {
-       for {
-               m, err := c.r.recv()
-               if err != nil {
-                       log.Exitf("client recv: %s", err)
-               }
-               if m.unpackResponse(); m.status != OK {
-                       log.Printf("invalid message: %s", m.status)
-                       continue
-               }
-               c.mu.Lock()
-               rpc, ok := c.pending[m.requestId]
-               if ok {
-                       c.pending[m.requestId] = nil, false
-               }
-               c.mu.Unlock()
-               if !ok {
-                       log.Print("unexpected response")
-                       continue
-               }
-               rpc.Ret = m.Ret
-               rpc.Done <- rpc
-       }
-}
-
-func (c *Client) output() {
-       for m := range c.out {
-               c.s.send(m)
-       }
-}
-
-// NewRPC creates a new RPC on the client connection.
-func (c *Client) NewRPC(done chan *RPC) *RPC {
-       if done == nil {
-               done = make(chan *RPC)
-       }
-       c.mu.Lock()
-       id := c.idGen
-       c.idGen++
-       c.mu.Unlock()
-       return &RPC{nil, done, OK, c, id}
-}
-
-// Start issues an RPC request for method name with the given arguments.
-// The RPC r must not be in use for another pending request.
-// To wait for the RPC to finish, receive from r.Done and then
-// inspect r.Ret and r.Errno.
-func (r *RPC) Start(name string, arg []interface{}) {
-       var m msg
-
-       r.Errno = OK
-       r.c.mu.Lock()
-       srv, ok := r.c.service[name]
-       if !ok {
-               r.c.mu.Unlock()
-               r.Errno = ErrBadRPCNumber
-               r.Done <- r
-               return
-       }
-       r.c.pending[r.id] = r
-       r.c.mu.Unlock()
-
-       m.protocol = protocol
-       m.requestId = r.id
-       m.isReq = true
-       m.rpcNumber = srv.num
-       m.Arg = arg
-
-       // Fill in the return values and sizes to generate
-       // the right type chars.  We'll take most any size.
-
-       // Skip over input arguments.
-       // We could check them against arg, but the server
-       // will do that anyway.
-       i := 0
-       for srv.fmt[i] != ':' {
-               i++
-       }
-       fmt := srv.fmt[i+1:]
-
-       // Now the return prototypes.
-       m.Ret = make([]interface{}, len(fmt)-i)
-       m.Size = make([]int, len(fmt)-i)
-       for i := 0; i < len(fmt); i++ {
-               switch fmt[i] {
-               default:
-                       log.Exitf("unexpected service type %c", fmt[i])
-               case 'b':
-                       m.Ret[i] = false
-               case 'C':
-                       m.Ret[i] = []byte(nil)
-                       m.Size[i] = 1 << 30
-               case 'd':
-                       m.Ret[i] = float64(0)
-               case 'D':
-                       m.Ret[i] = []float64(nil)
-                       m.Size[i] = 1 << 30
-               case 'h':
-                       m.Ret[i] = int(-1)
-               case 'i':
-                       m.Ret[i] = int32(0)
-               case 'I':
-                       m.Ret[i] = []int32(nil)
-                       m.Size[i] = 1 << 30
-               case 's':
-                       m.Ret[i] = ""
-                       m.Size[i] = 1 << 30
-               }
-       }
-
-       m.packRequest()
-       r.c.out <- &m
-}
-
-// Call is a convenient wrapper that starts the RPC request,
-// waits for it to finish, and then returns the results.
-// Its implementation is:
-//
-//     r.Start(name, arg)
-//     <-r.Done
-//     return r.Ret, r.Errno
-//
-func (r *RPC) Call(name string, arg []interface{}) (ret []interface{}, err Errno) {
-       r.Start(name, arg)
-       <-r.Done
-       return r.Ret, r.Errno
-}
diff --git a/src/pkg/exp/nacl/srpc/msg.go b/src/pkg/exp/nacl/srpc/msg.go
deleted file mode 100644 (file)
index 92601ed..0000000
+++ /dev/null
@@ -1,522 +0,0 @@
-// Copyright 2009 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// SRPC constants, data structures, and parsing.
-
-package srpc
-
-import (
-       "math"
-       "os"
-       "strconv"
-       "syscall"
-       "unsafe"
-)
-
-// An Errno is an SRPC status code.
-type Errno uint32
-
-const (
-       OK Errno = 256 + iota
-       ErrBreak
-       ErrMessageTruncated
-       ErrNoMemory
-       ErrProtocolMismatch
-       ErrBadRPCNumber
-       ErrBadArgType
-       ErrTooFewArgs
-       ErrTooManyArgs
-       ErrInArgTypeMismatch
-       ErrOutArgTypeMismatch
-       ErrInternalError
-       ErrAppError
-)
-
-var errstr = [...]string{
-       OK - OK:                    "ok",
-       ErrBreak - OK:              "break",
-       ErrMessageTruncated - OK:   "message truncated",
-       ErrNoMemory - OK:           "out of memory",
-       ErrProtocolMismatch - OK:   "protocol mismatch",
-       ErrBadRPCNumber - OK:       "invalid RPC method number",
-       ErrBadArgType - OK:         "unexpected argument type",
-       ErrTooFewArgs - OK:         "too few arguments",
-       ErrTooManyArgs - OK:        "too many arguments",
-       ErrInArgTypeMismatch - OK:  "input argument type mismatch",
-       ErrOutArgTypeMismatch - OK: "output argument type mismatch",
-       ErrInternalError - OK:      "internal error",
-       ErrAppError - OK:           "application error",
-}
-
-func (e Errno) String() string {
-       if e < OK || int(e-OK) >= len(errstr) {
-               return "Errno(" + strconv.Itoa64(int64(e)) + ")"
-       }
-       return errstr[e-OK]
-}
-
-// A *msgHdr is the data argument to the imc_recvmsg
-// and imc_sendmsg system calls.  Because it contains unchecked
-// counts trusted by the system calls, the data structure is unsafe
-// to expose to package clients.
-type msgHdr struct {
-       iov   *iov
-       niov  int32
-       desc  *int32
-       ndesc int32
-       flags uint32
-}
-
-// A single region for I/O.  Just as unsafe as msgHdr.
-type iov struct {
-       base *byte
-       len  int32
-}
-
-// A msg is the Go representation of a message.
-type msg struct {
-       rdata []byte  // data being consumed during message parsing
-       rdesc []int32 // file descriptors being consumed during message parsing
-       wdata []byte  // data being generated when replying
-
-       // parsed version of message
-       protocol  uint32
-       requestId uint64
-       isReq     bool
-       rpcNumber uint32
-       gotHeader bool
-       status    Errno         // error code sent in response
-       Arg       []interface{} // method arguments
-       Ret       []interface{} // method results
-       Size      []int         // max sizes for arrays in method results
-       fmt       string        // accumulated format string of arg+":"+ret
-}
-
-// A msgReceiver receives messages from a file descriptor.
-type msgReceiver struct {
-       fd   int
-       data [128 * 1024]byte
-       desc [8]int32
-       hdr  msgHdr
-       iov  iov
-}
-
-func (r *msgReceiver) recv() (*msg, os.Error) {
-       // Init pointers to buffers where syscall recvmsg can write.
-       r.iov.base = &r.data[0]
-       r.iov.len = int32(len(r.data))
-       r.hdr.iov = &r.iov
-       r.hdr.niov = 1
-       r.hdr.desc = &r.desc[0]
-       r.hdr.ndesc = int32(len(r.desc))
-       n, _, e := syscall.Syscall(syscall.SYS_IMC_RECVMSG, uintptr(r.fd), uintptr(unsafe.Pointer(&r.hdr)), 0)
-       if e != 0 {
-               return nil, os.NewSyscallError("imc_recvmsg", int(e))
-       }
-
-       // Make a copy of the data so that the next recvmsg doesn't
-       // smash it.  The system call did not update r.iov.len.  Instead it
-       // returned the total byte count as n.
-       m := new(msg)
-       m.rdata = make([]byte, n)
-       copy(m.rdata, r.data[0:])
-
-       // Make a copy of the desc too.
-       // The system call *did* update r.hdr.ndesc.
-       if r.hdr.ndesc > 0 {
-               m.rdesc = make([]int32, r.hdr.ndesc)
-               copy(m.rdesc, r.desc)
-       }
-
-       return m, nil
-}
-
-// A msgSender sends messages on a file descriptor.
-type msgSender struct {
-       fd  int
-       hdr msgHdr
-       iov iov
-}
-
-func (s *msgSender) send(m *msg) os.Error {
-       if len(m.wdata) > 0 {
-               s.iov.base = &m.wdata[0]
-       }
-       s.iov.len = int32(len(m.wdata))
-       s.hdr.iov = &s.iov
-       s.hdr.niov = 1
-       s.hdr.desc = nil
-       s.hdr.ndesc = 0
-       _, _, e := syscall.Syscall(syscall.SYS_IMC_SENDMSG, uintptr(s.fd), uintptr(unsafe.Pointer(&s.hdr)), 0)
-       if e != 0 {
-               return os.NewSyscallError("imc_sendmsg", int(e))
-       }
-       return nil
-}
-
-// Reading from msg.rdata.
-func (m *msg) uint8() uint8 {
-       if m.status != OK {
-               return 0
-       }
-       if len(m.rdata) < 1 {
-               m.status = ErrMessageTruncated
-               return 0
-       }
-       x := m.rdata[0]
-       m.rdata = m.rdata[1:]
-       return x
-}
-
-func (m *msg) uint32() uint32 {
-       if m.status != OK {
-               return 0
-       }
-       if len(m.rdata) < 4 {
-               m.status = ErrMessageTruncated
-               return 0
-       }
-       b := m.rdata[0:4]
-       x := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24
-       m.rdata = m.rdata[4:]
-       return x
-}
-
-func (m *msg) uint64() uint64 {
-       if m.status != OK {
-               return 0
-       }
-       if len(m.rdata) < 8 {
-               m.status = ErrMessageTruncated
-               return 0
-       }
-       b := m.rdata[0:8]
-       x := uint64(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24)
-       x |= uint64(uint32(b[4])|uint32(b[5])<<8|uint32(b[6])<<16|uint32(b[7])<<24) << 32
-       m.rdata = m.rdata[8:]
-       return x
-}
-
-func (m *msg) bytes(n int) []byte {
-       if m.status != OK {
-               return nil
-       }
-       if len(m.rdata) < n {
-               m.status = ErrMessageTruncated
-               return nil
-       }
-       x := m.rdata[0:n]
-       m.rdata = m.rdata[n:]
-       return x
-}
-
-// Writing to msg.wdata.
-func (m *msg) grow(n int) []byte {
-       i := len(m.wdata)
-       if i+n > cap(m.wdata) {
-               a := make([]byte, i, (i+n)*2)
-               copy(a, m.wdata)
-               m.wdata = a
-       }
-       m.wdata = m.wdata[0 : i+n]
-       return m.wdata[i : i+n]
-}
-
-func (m *msg) wuint8(x uint8) { m.grow(1)[0] = x }
-
-func (m *msg) wuint32(x uint32) {
-       b := m.grow(4)
-       b[0] = byte(x)
-       b[1] = byte(x >> 8)
-       b[2] = byte(x >> 16)
-       b[3] = byte(x >> 24)
-}
-
-func (m *msg) wuint64(x uint64) {
-       b := m.grow(8)
-       lo := uint32(x)
-       b[0] = byte(lo)
-       b[1] = byte(lo >> 8)
-       b[2] = byte(lo >> 16)
-       b[3] = byte(lo >> 24)
-       hi := uint32(x >> 32)
-       b[4] = byte(hi)
-       b[5] = byte(hi >> 8)
-       b[6] = byte(hi >> 16)
-       b[7] = byte(hi >> 24)
-}
-
-func (m *msg) wbytes(p []byte) { copy(m.grow(len(p)), p) }
-
-func (m *msg) wstring(s string) {
-       b := m.grow(len(s))
-       copy(b, s)
-}
-
-// Parsing of RPC header and arguments.
-//
-// The header format is:
-//     protocol uint32;
-//     requestId uint64;
-//     isReq bool;
-//     rpcNumber uint32;
-//     status uint32;  // only for response
-//
-// Then a sequence of values follow, preceded by the length:
-//     nvalue uint32;
-//
-// Each value begins with a one-byte type followed by
-// type-specific data.
-//
-//     type uint8;
-//     'b':    x bool;
-//     'C':    len uint32; x [len]byte;
-//     'd':    x float64;
-//     'D':    len uint32; x [len]float64;
-//     'h':    x int;  // handle aka file descriptor
-//     'i':    x int32;
-//     'I':    len uint32; x [len]int32;
-//     's':    len uint32; x [len]byte;
-//
-// If this is a request, a sequence of pseudo-values follows,
-// preceded by its length (nvalue uint32).
-//
-// Each pseudo-value is a one-byte type as above,
-// followed by a maximum length (len uint32)
-// for the 'C', 'D', 'I', and 's' types.
-//
-// In the Go msg, we represent each argument by
-// an empty interface containing the type of x in the
-// corresponding case.
-
-// The current protocol number.
-const protocol = 0xc0da0002
-
-func (m *msg) unpackHeader() {
-       m.protocol = m.uint32()
-       m.requestId = m.uint64()
-       m.isReq = m.uint8() != 0
-       m.rpcNumber = m.uint32()
-       m.gotHeader = m.status == OK // signal that header parsed successfully
-       if m.gotHeader && !m.isReq {
-               status := Errno(m.uint32())
-               m.gotHeader = m.status == OK // still ok?
-               if m.gotHeader {
-                       m.status = status
-               }
-       }
-}
-
-func (m *msg) packHeader() {
-       m.wuint32(m.protocol)
-       m.wuint64(m.requestId)
-       if m.isReq {
-               m.wuint8(1)
-       } else {
-               m.wuint8(0)
-       }
-       m.wuint32(m.rpcNumber)
-       if !m.isReq {
-               m.wuint32(uint32(m.status))
-       }
-}
-
-func (m *msg) unpackValues(v []interface{}) {
-       for i := range v {
-               t := m.uint8()
-               m.fmt += string(t)
-               switch t {
-               default:
-                       if m.status == OK {
-                               m.status = ErrBadArgType
-                       }
-                       return
-               case 'b': // bool[1]
-                       v[i] = m.uint8() > 0
-               case 'C': // char array
-                       v[i] = m.bytes(int(m.uint32()))
-               case 'd': // double
-                       v[i] = math.Float64frombits(m.uint64())
-               case 'D': // double array
-                       a := make([]float64, int(m.uint32()))
-                       for j := range a {
-                               a[j] = math.Float64frombits(m.uint64())
-                       }
-                       v[i] = a
-               case 'h': // file descriptor (handle)
-                       if len(m.rdesc) == 0 {
-                               if m.status == OK {
-                                       m.status = ErrBadArgType
-                               }
-                               return
-                       }
-                       v[i] = int(m.rdesc[0])
-                       m.rdesc = m.rdesc[1:]
-               case 'i': // int
-                       v[i] = int32(m.uint32())
-               case 'I': // int array
-                       a := make([]int32, int(m.uint32()))
-                       for j := range a {
-                               a[j] = int32(m.uint32())
-                       }
-                       v[i] = a
-               case 's': // string
-                       v[i] = string(m.bytes(int(m.uint32())))
-               }
-       }
-}
-
-func (m *msg) packValues(v []interface{}) {
-       for i := range v {
-               switch x := v[i].(type) {
-               default:
-                       if m.status == OK {
-                               m.status = ErrInternalError
-                       }
-                       return
-               case bool:
-                       m.wuint8('b')
-                       if x {
-                               m.wuint8(1)
-                       } else {
-                               m.wuint8(0)
-                       }
-               case []byte:
-                       m.wuint8('C')
-                       m.wuint32(uint32(len(x)))
-                       m.wbytes(x)
-               case float64:
-                       m.wuint8('d')
-                       m.wuint64(math.Float64bits(x))
-               case []float64:
-                       m.wuint8('D')
-                       m.wuint32(uint32(len(x)))
-                       for _, f := range x {
-                               m.wuint64(math.Float64bits(f))
-                       }
-               case int32:
-                       m.wuint8('i')
-                       m.wuint32(uint32(x))
-               case []int32:
-                       m.wuint8('I')
-                       m.wuint32(uint32(len(x)))
-                       for _, i := range x {
-                               m.wuint32(uint32(i))
-                       }
-               case string:
-                       m.wuint8('s')
-                       m.wuint32(uint32(len(x)))
-                       m.wstring(x)
-               }
-       }
-}
-
-func (m *msg) unpackRequest() {
-       m.status = OK
-       if m.unpackHeader(); m.status != OK {
-               return
-       }
-       if m.protocol != protocol || !m.isReq {
-               m.status = ErrProtocolMismatch
-               return
-       }
-
-       // type-tagged argument values
-       m.Arg = make([]interface{}, m.uint32())
-       m.unpackValues(m.Arg)
-       if m.status != OK {
-               return
-       }
-
-       // type-tagged expected return sizes.
-       // fill in zero values for each return value
-       // and save sizes.
-       m.fmt += ":"
-       m.Ret = make([]interface{}, m.uint32())
-       m.Size = make([]int, len(m.Ret))
-       for i := range m.Ret {
-               t := m.uint8()
-               m.fmt += string(t)
-               switch t {
-               default:
-                       if m.status == OK {
-                               m.status = ErrBadArgType
-                       }
-                       return
-               case 'b': // bool[1]
-                       m.Ret[i] = false
-               case 'C': // char array
-                       m.Size[i] = int(m.uint32())
-                       m.Ret[i] = []byte(nil)
-               case 'd': // double
-                       m.Ret[i] = float64(0)
-               case 'D': // double array
-                       m.Size[i] = int(m.uint32())
-                       m.Ret[i] = []float64(nil)
-               case 'h': // file descriptor (handle)
-                       m.Ret[i] = int(-1)
-               case 'i': // int
-                       m.Ret[i] = int32(0)
-               case 'I': // int array
-                       m.Size[i] = int(m.uint32())
-                       m.Ret[i] = []int32(nil)
-               case 's': // string
-                       m.Size[i] = int(m.uint32())
-                       m.Ret[i] = ""
-               }
-       }
-}
-
-func (m *msg) packRequest() {
-       m.packHeader()
-       m.wuint32(uint32(len(m.Arg)))
-       m.packValues(m.Arg)
-       m.wuint32(uint32(len(m.Ret)))
-       for i, v := range m.Ret {
-               switch x := v.(type) {
-               case bool:
-                       m.wuint8('b')
-               case []byte:
-                       m.wuint8('C')
-                       m.wuint32(uint32(m.Size[i]))
-               case float64:
-                       m.wuint8('d')
-               case []float64:
-                       m.wuint8('D')
-                       m.wuint32(uint32(m.Size[i]))
-               case int:
-                       m.wuint8('h')
-               case int32:
-                       m.wuint8('i')
-               case []int32:
-                       m.wuint8('I')
-                       m.wuint32(uint32(m.Size[i]))
-               case string:
-                       m.wuint8('s')
-                       m.wuint32(uint32(m.Size[i]))
-               }
-       }
-}
-
-func (m *msg) unpackResponse() {
-       m.status = OK
-       if m.unpackHeader(); m.status != OK {
-               return
-       }
-       if m.protocol != protocol || m.isReq {
-               m.status = ErrProtocolMismatch
-               return
-       }
-
-       // type-tagged return values
-       m.fmt = ""
-       m.Ret = make([]interface{}, m.uint32())
-       m.unpackValues(m.Ret)
-}
-
-func (m *msg) packResponse() {
-       m.packHeader()
-       m.wuint32(uint32(len(m.Ret)))
-       m.packValues(m.Ret)
-}
diff --git a/src/pkg/exp/nacl/srpc/server.go b/src/pkg/exp/nacl/srpc/server.go
deleted file mode 100644 (file)
index 5d65ca1..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-// Copyright 2009 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// SRPC server
-
-package srpc
-
-import (
-       "bytes"
-       "log"
-       "os"
-       "syscall"
-)
-
-// TODO(rsc): I'd prefer to make this
-//     type Handler func(m *msg) Errno
-// but NaCl can't use closures.
-// The explicit interface is a way to attach state.
-
-// A Handler is a handler for an SRPC method.
-// It reads arguments from arg, checks size for array limits,
-// writes return values to ret, and returns an Errno status code.
-type Handler interface {
-       Run(arg, ret []interface{}, size []int) Errno
-}
-
-type method struct {
-       name    string
-       fmt     string
-       handler Handler
-}
-
-var rpcMethod []method
-
-// BUG(rsc): Add's format string should be replaced by analyzing the
-// type of an arbitrary func passed in an interface{} using reflection.
-
-// Add registers a handler for the named method.
-// Fmt is a Native Client format string, a sequence of
-// alphabetic characters representing the types of the parameter values,
-// a colon, and then a sequence of alphabetic characters
-// representing the types of the returned values.
-// The format characters and corresponding dynamic types are:
-//
-//     b       bool
-//     C       []byte
-//     d       float64
-//     D       []float64
-//     h       int     // a file descriptor (aka handle)
-//     i       int32
-//     I       []int32
-//     s       string
-//
-func Add(name, fmt string, handler Handler) {
-       rpcMethod = append(rpcMethod, method{name, fmt, handler})
-}
-
-// Serve accepts new SRPC connections from the file descriptor fd
-// and answers RPCs issued on those connections.
-// It closes fd and returns an error if the imc_accept system call fails.
-func Serve(fd int) os.Error {
-       defer syscall.Close(fd)
-
-       for {
-               cfd, _, e := syscall.Syscall(syscall.SYS_IMC_ACCEPT, uintptr(fd), 0, 0)
-               if e != 0 {
-                       return os.NewSyscallError("imc_accept", int(e))
-               }
-               go serveLoop(int(cfd))
-       }
-       panic("unreachable")
-}
-
-func serveLoop(fd int) {
-       c := make(chan *msg)
-       go sendLoop(fd, c)
-
-       var r msgReceiver
-       r.fd = fd
-       for {
-               m, err := r.recv()
-               if err != nil {
-                       break
-               }
-               m.unpackRequest()
-               if !m.gotHeader {
-                       log.Printf("cannot unpack header: %s", m.status)
-                       continue
-               }
-               // log.Printf("<- %#v", m);
-               m.isReq = false // set up for response
-               go serveMsg(m, c)
-       }
-       close(c)
-}
-
-func sendLoop(fd int, c <-chan *msg) {
-       var s msgSender
-       s.fd = fd
-       for m := range c {
-               // log.Printf("-> %#v", m);
-               m.packResponse()
-               s.send(m)
-       }
-       syscall.Close(fd)
-}
-
-func serveMsg(m *msg, c chan<- *msg) {
-       if m.status != OK {
-               c <- m
-               return
-       }
-       if m.rpcNumber >= uint32(len(rpcMethod)) {
-               m.status = ErrBadRPCNumber
-               c <- m
-               return
-       }
-
-       meth := &rpcMethod[m.rpcNumber]
-       if meth.fmt != m.fmt {
-               switch {
-               case len(m.fmt) < len(meth.fmt):
-                       m.status = ErrTooFewArgs
-               case len(m.fmt) > len(meth.fmt):
-                       m.status = ErrTooManyArgs
-               default:
-                       // There's a type mismatch.
-                       // It's an in-arg mismatch if the mismatch happens
-                       // before the colon; otherwise it's an out-arg mismatch.
-                       m.status = ErrInArgTypeMismatch
-                       for i := 0; i < len(m.fmt) && m.fmt[i] == meth.fmt[i]; i++ {
-                               if m.fmt[i] == ':' {
-                                       m.status = ErrOutArgTypeMismatch
-                                       break
-                               }
-                       }
-               }
-               c <- m
-               return
-       }
-
-       m.status = meth.handler.Run(m.Arg, m.Ret, m.Size)
-       c <- m
-}
-
-// ServeRuntime serves RPCs issued by the Native Client embedded runtime.
-// This should be called by main once all methods have been registered using Add.
-func ServeRuntime() os.Error {
-       // Call getFd to check that we are running embedded.
-       if _, err := getFd(); err != nil {
-               return err
-       }
-
-       // We are running embedded.
-       // The fd returned by getFd is a red herring.
-       // Accept connections on magic fd 3.
-       return Serve(3)
-}
-
-// getFd runs the srpc_get_fd system call.
-func getFd() (fd int, err os.Error) {
-       r1, _, e := syscall.Syscall(syscall.SYS_SRPC_GET_FD, 0, 0, 0)
-       return int(r1), os.NewSyscallError("srpc_get_fd", int(e))
-}
-
-// Enabled returns true if SRPC is enabled in the Native Client runtime.
-func Enabled() bool {
-       _, err := getFd()
-       return err == nil
-}
-
-// Service #0, service_discovery, returns a list of the other services
-// and their argument formats.
-type serviceDiscovery struct{}
-
-func (serviceDiscovery) Run(arg, ret []interface{}, size []int) Errno {
-       var b bytes.Buffer
-       for _, m := range rpcMethod {
-               b.WriteString(m.name)
-               b.WriteByte(':')
-               b.WriteString(m.fmt)
-               b.WriteByte('\n')
-       }
-       if b.Len() > size[0] {
-               return ErrNoMemory
-       }
-       ret[0] = b.Bytes()
-       return OK
-}
-
-func init() { Add("service_discovery", ":C", serviceDiscovery{}) }
diff --git a/src/pkg/exp/spacewar/Makefile b/src/pkg/exp/spacewar/Makefile
deleted file mode 100644 (file)
index a27e1f9..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2009 The Go Authors.  All rights reserved.
-# Use of this source code is governed by a BSD-style
-# license that can be found in the LICENSE file.
-
-all: 8.out
-
-pdp1.8: pdp1.go
-       8g pdp1.go
-
-spacewar.8: spacewar.go code.go pdp1.8
-       8g spacewar.go code.go
-
-8.out: spacewar.8
-       8l spacewar.8
-
-clean:
-       rm -f *.8 8.out
-
diff --git a/src/pkg/exp/spacewar/code.go b/src/pkg/exp/spacewar/code.go
deleted file mode 100644 (file)
index 6391b50..0000000
+++ /dev/null
@@ -1,7556 +0,0 @@
-// This file contains the assembly language and machine code for
-// Spacewar!, the original PDP-1 video game.  It is downloaded from
-// http://spacewar.oversigma.com/sources/sources.zip which has
-// the following notice at http://spacewar.oversigma.com/:
-//
-//     Spacewar! was conceived in 1961 by Martin Graetz, Stephen Russell,
-//     and Wayne Wiitanen. It was first realized on the PDP-1 in 1962 by
-//     Stephen Russell, Peter Samson, Dan Edwards, and Martin Graetz,
-//     together with Alan Kotok, Steve Piner, and Robert A Saunders.
-//     Spacewar! is in the public domain, but this credit paragraph must
-//     accompany all distributed versions of the program.
-//
-//     This is the original version! Martin Graetz provided us with a
-//     printed version of the source. We typed in in again - it was about
-//     40 pages long - and re-assembled it with a PDP-1 assembler written
-//     in PERL. The resulting binary runs on a PDP-1 emulator written as
-//     a Java applet. The code is extremely faithful to the original. There
-//     are only two changes. 1)The spaceships have been made bigger and
-//     2) The overall timing has been special cased to deal with varying
-//     machine speeds.
-//
-//     The "a", "s", "d", "f" keys control one of the spaceships. The "k",
-//     "l", ";", "'" keys control the other. The controls are spin one
-//     way, spin the other, thrust, and fire.
-//
-//     Barry Silverman
-//     Brian Silverman
-//     Vadim Gerasimov
-//
-
-package main
-
-const spacewarCode = `
--/macro fio-dec system, june 1963
- 007652        640500          szm=sza sma-szf
- 007652        650500          spq=szm i
- 007652        761200          clc=cma+cla-opr
--      define senseswitch A
--      repeat 3, A=A+A
--      szs A
--      term
--      define init A,B
--      law B
--      dap A
--      term
--      define index A,B,C
--      idx A
--      sas B
--      jmp C
--      term
--      define listen
--      cla+cli+clf 1-opr-opr
--      szf i 1
--      jmp .-1
--      tyi
--      term
--      define swap
--      rcl 9s
--      rcl 9s
--      term
--      define load A,B
--      lio (B
--      dio A
--      term
--      define setup A,B
--      law i B
--      dac A
--      term
--      define count A,B
--      isp A
--      jmp B
--      term
--      define move A,B
--      lio A
--      dio B
--      term
--      define clear A,B
--      init .+2, A
--      dzm
--      index .-1, (dzm B+1, .-1
--      term
--/spacewar 3.1  24 sep 62  p1. 1
- 000003                        3/
- 000003        600061          jmp sbf         / ignore seq. break
- 000004        601561          jmp a40
- 000005        601556          jmp a1          / use test word for control, note iot 11 00
--/ interesting and often changed constants
--/symb loc  usual value (all instructions are executed,
--/ and may be replaced by jda or jsp)
- 000006                tno,
- 000006                6,
- 000006        710041          law i 41        / number of torps + 1
- 000007                tvl,
- 000007                7,
- 000007        675017          sar 4s          / torpedo velocity
- 000010                rlt,
- 000010                10,
- 000010        710020          law i 20        / torpedo reload time
- 000011                tlf,
- 000011                11,
- 000011        710140          law i 140       / torpedo life
- 000012                foo,
- 000012                12,
- 000012        757777          -20000          / fuel supply
- 000013                maa,
- 000013                13,
- 000013        000010          10              / spaceship angular acceleration
- 000014                sac,
- 000014                14,
- 000014        675017          sar 4s          / spaceship acceleration
- 000015                str,
- 000015                15,
- 000015        000001          1               / star capture radius
- 000016                me1,
- 000016                16,
- 000016        006000          6000            / collision "radius"
- 000017                me2,
- 000017                17,
- 000017        003000          3000            / above/2
- 000020                ddd,
- 000020                20,
- 000020        777777          777777          / 0 to save space for ddt
- 000021                the,
- 000021                21,
- 000021        675777          sar 9s          / amount of torpedo space warpage
- 000022                mhs,
- 000022                22,
- 000022        710010          law i 10        / number of hyperspace shots
- 000023                hd1,
- 000023                23,
- 000023        710040          law i 40        / time in hyperspace before breakout
- 000024                hd2,
- 000024                24,
- 000024        710100          law i 100       / time in hyperspace breakout
- 000025                hd3,
- 000025                25,
- 000025        710200          law i 200       / time to recharge hyperfield generator
- 000026                hr1,
- 000026                26,
- 000026        667777          scl 9s          / scale on hyperspatial displacement
- 000027                hr2,
- 000027                27,
- 000027        667017          scl 4s          / scale on hyperspatially induced velocity
- 000030                hur,
- 000030                30,
- 000030        040000          40000           / hyperspatial uncertancy
- 000031                ran,
- 000031                31,
- 000031        000000          0               / random number
--/ place to build a private control word routine.
--/ it should leave the control word in the io as follows.
--/ high order 4 bits, rotate ccw, rotate cw, (both mean hyperspace)
--/    fire rocket, and fire torpedo. low order 4 bits, same for
--/    other ship. routine is entered by jsp cwg.
- 000040                        40/
- 000040                cwr,
- 000040        601672          jmp mg1         / normally iot 11 control
- 000061                        . 20/           / space
--////
--/ routine to flush sequence breaks, if they occur.
- 000061                sbf,
- 000061        720004          tyi
- 000062        220002          lio 2
- 000063        200000          lac 0
- 000064        720054          lsm
- 000065        610001          jmp i 1
--      define xincr X,Y,INS
--      lac Y
--      INS ~ssn
--      dac Y
--      lac X
--      INS ~scn
--      dac X
--      term
--      define yincr X,Y,INS
--      lac Y
--      INS ~scn
--      dac Y
--      lac X
--      -INS+add+sub ~ssn
--      dac X
--      term
--////
--      define dispatch
--      add (a+r
--      dap . 1
--      jmp .
--a,
--      term
--      define dispt A,Y,B
--      repeat 6, B=B+B
--      lio Y
--      dpy-A+B
--      term
--      define scale A,B,C
--      lac A
--      sar B
--      dac C
--      term
--      define diff V,S,QF
--      add i V
--      dac i V
--      xct QF
--      add i S
--      dac i S
--      term
--      define random
--      lac ran
--      rar 1s
--      xor (355760
--      add (355670
--      dac ran
--      term
--      define ranct S,X,C
--      random
--      S
--      X
--      sma
--      cma
--      dac C
--      term
--////
--/sine-cosine subroutine. adams associates
--/calling sequence= number in ac, jda jda sin or jdacos.
--/argument is between q+2 pi, with binary point to right of bit 3.
--/anser has binary point to right of bit 0. time = 2.35 ms.
--      define mult Z
--      jda mpy
--      lac Z
--      term
- 000066                cos,
- 000066        000000          0
- 000067        260142          dap csx
- 000070        202760          lac (62210
- 000071        400066          add cos
- 000072        240074          dac sin
- 000073        600077          jmp .+4
- 000074                sin,
- 000074        000000          0
- 000075        260142          dap csx
- 000076        200074          lac sin
- 000077        640200          spa
- 000100                si1,
- 000100        402761          add (311040
- 000101        422760          sub (62210
- 000102        640400          sma
- 000103        600143          jmp si2
- 000104        402760          add (62210
- 000105                si3,
- 000105        661003          ral 2s
--      mult (242763
-+000106        170171          jda mpy
-+000107        202762          lac ZZ11
- 000110        240074          dac sin
--      mult sin
-+000111        170171          jda mpy
-+000112        200074          lac ZZ12
- 000113        240066          dac cos
--      mult (756103
-+000114        170171          jda mpy
-+000115        202763          lac ZZ13
- 000116        402764          add (121312
--      mult cos
-+000117        170171          jda mpy
-+000120        200066          lac ZZ14
- 000121        402765          add (532511
--      mult cos
-+000122        170171          jda mpy
-+000123        200066          lac ZZ15
- 000124        402766          add (144417
--      mult sin
-+000125        170171          jda mpy
-+000126        200074          lac ZZ16
- 000127        667007          scl 3s
- 000130        240066          dac cos
- 000131        060074          xor sin
- 000132        640400          sma
- 000133        600141          jmp csx-1
- 000134        202767          lac (377777
- 000135        220074          lio sin
- 000136        642000          spi
- 000137        761000          cma
- 000140        600142          jmp csx
- 000141        200066          lac cos
- 000142                csx,
- 000142        600142          jmp .
- 000143                si2,
- 000143        761000          cma
- 000144        402760          add (62210
- 000145        640400          sma
- 000146        600105          jmp si3
- 000147        402760          add (62210
- 000150        640200          spa
- 000151        600154          jmp .+3
- 000152        422760          sub (62210
- 000153        600105          jmp si3
- 000154        422760          sub (62210
- 000155        600100          jmp si1
--////
--/bbn multiply subroutine
--/call.. lac one factor, jdy mpy or imp, lac other factor.
- 000156                imp,
- 000156        000000          0                               /returns low 17 bits and sign in ac
- 000157        260160          dap im1
- 000160                im1,
- 000160        100000          xct
- 000161        170171          jda mpy
- 000162        200156          lac imp
- 000163        440160          idx im1
- 000164        672001          rir 1s
- 000165        673777          rcr 9s
- 000166        673777          rcr 9s
- 000167        610160          jmp i im1
- 000170                mp2,
- 000170        000000          0
- 000171                mpy,
- 000171        000000          0                               /return 34 bits and 2 signs
- 000172        260200          dap mp1
- 000173        200171          lac mpy
- 000174        640200          spa
- 000175        761000          cma
- 000176        673777          rcr 9s
- 000177        673777          rcr 9s
- 000200                mp1,
- 000200        100000          xct
- 000201        640200          spa
- 000202        761000          cma
- 000203        240170          dac mp2
- 000204        760200          cla
- 000205        540170          mus mp2
-+000206        540170          mus mp2
-+000207        540170          mus mp2
-+000210        540170          mus mp2
-+000211        540170          mus mp2
-+000212        540170          mus mp2
-+000213        540170          mus mp2
-+000214        540170          mus mp2
-+000215        540170          mus mp2
-+000216        540170          mus mp2
-+000217        540170          mus mp2
-+000220        540170          mus mp2
-+000221        540170          mus mp2
-+000222        540170          mus mp2
-+000223        540170          mus mp2
-+000224        540170          mus mp2
-+000225        540170          mus mp2
- 000226        240170          dac mp2
- 000227        100200          xct mp1
- 000230        060171          xor mpy
- 000231        640400          sma
- 000232        600243          jmp mp3
- 000233        200170          lac mp2
- 000234        761000          cma
- 000235        673777          rcr 9s
- 000236        673777          rcr 9s
- 000237        761000          cma
- 000240        673777          rcr 9s
- 000241        673777          rcr 9s
- 000242        240170          dac mp2
- 000243                mp3,
- 000243        440200          idx mp1
- 000244        200170          lac mp2
- 000245        610200          jmp i mp1
--////
--/integer square root
--/input in ac, binary point to right of bit 17, jda sqt
--/answer in ac with binary point between 8 and 9
--/largest input number = 177777
- 000246                sqt,
- 000246        000000          0
- 000247        260260          dap sqx
- 000250        710023          law i 23
- 000251        240304          dac sq1
- 000252        340305          dzm sq2
- 000253        220246          lio sqt
- 000254        340246          dzm sqt
- 000255                sq3,
- 000255        460304          isp sq1
- 000256        600261          jmp .+3
- 000257        200305          lac sq2
- 000260                sqx,
- 000260        600260          jmp .
- 000261        200305          lac sq2
- 000262        665001          sal 1s
- 000263        240305          dac sq2
- 000264        200246          lac sqt
- 000265        663003          rcl 2s
- 000266        650100          sza i
- 000267        600255          jmp sq3
- 000270        240246          dac sqt
- 000271        200305          lac sq2
- 000272        665001          sal 1s
- 000273        402770          add (1
- 000274        420246          sub sqt
- 000275        640500          sma+sza-skip
- 000276        600255          jmp sq3
- 000277        640200          spa
- 000300        761000          cma
- 000301        240246          dac sqt
- 000302        440305          idx sq2
- 000303        600255          jmp sq3
- 000304                sq1,
- 000304        000000          0
- 000305                sq2,
- 000305        000000          0
--////
--/bbn divide subroutine
--/calling sequence.. lac hi-dividend, lio lo-dividend, jda dvd, lac divisor.
--/returns quot in ac, rem in io.
- 000306                idv,
- 000306        000000          0               /integer divide, dividend in ac.
- 000307        260317          dap dv1
- 000310        200306          lac idv
- 000311        677777          scr 9s
- 000312        677377          scr 8s
- 000313        240315          dac dvd
- 000314        600317          jmp dv1
- 000315                dvd,
- 000315        000000          0
- 000316        260317          dap dv1
- 000317                dv1,
- 000317        100000          xct
- 000320        640200          spa
- 000321        761000          cma
- 000322        240306          dac idv
- 000323        200315          lac dvd
- 000324        640400          sma
- 000325        600334          jmp dv2
- 000326        761000          cma
- 000327        673777          rcr 9s
- 000330        673777          rcr 9s
- 000331        761000          cma
- 000332        673777          rcr 9s
- 000333        673777          rcr 9s
- 000334                dv2,
- 000334        420306          sub idv
- 000335        640400          sma
- 000336        600376          jmp dve
- 000337        560306          dis idv
-+000340        560306          dis idv
-+000341        560306          dis idv
-+000342        560306          dis idv
-+000343        560306          dis idv
-+000344        560306          dis idv
-+000345        560306          dis idv
-+000346        560306          dis idv
-+000347        560306          dis idv
-+000350        560306          dis idv
-+000351        560306          dis idv
-+000352        560306          dis idv
-+000353        560306          dis idv
-+000354        560306          dis idv
-+000355        560306          dis idv
-+000356        560306          dis idv
-+000357        560306          dis idv
-+000360        560306          dis idv
- 000361        400306          add idv
- 000362        320306          dio idv
- 000363        764000          cli
- 000364        673001          rcr 1s
- 000365        220315          lio dvd
- 000366        642000          spi
- 000367        761000          cma
- 000370        240315          dac dvd
- 000371        100317          xct dv1
- 000372        060315          xor dvd
- 000373        673777          rcr 9s
- 000374        673777          rcr 9s
- 000375        440317          idx dv1
- 000376                dve,
- 000376        440317          idx dv1
- 000377        200306          lac idv
- 000400        642000          spi
- 000401        761000          cma
- 000402        220315          lio dvd
- 000403        610317          jmp i dv1
--////
--/outline compiler
--/ac=where to compile to,  call oc
--/ot=address of outline table
--      define  plinst A
--      lac A
--      dac i oc
--      idx oc
--      terminate
--      define comtab A, B
--      plinst A
--      jsp ocs
--      lac B
--      jmp oce
--      terminate
- 000404                ocs,
- 000404        260411          dap ocz         /puts in swap
- 000405        330412          dio i oc
- 000406        440412          idx oc
- 000407        330412          dio i oc
- 000410        440412          idx oc
- 000411                ocz,
- 000411        600411          jmp .
- 000412                oc,
- 000412        000000          0
- 000413        260554          dap ocx
- 000414        210554          lac i ocx
- 000415        260434          dap ocg
--      plinst (stf 5
-+000416        202771          lac ZZ17
-+000417        250412          dac i oc
-+000420        440412          idx oc
- 000421        260555          dap ocm
- 000422        440554          idx ocx
- 000423                ock,
--      plinst (lac ~sx1
-+000423        202772          lac ZZ18
-+000424        250412          dac i oc
-+000425        440412          idx oc
--      plinst (lio ~sy1
-+000426        202773          lac ZZ19
-+000427        250412          dac i oc
-+000430        440412          idx oc
- 000431        760006          clf 6
- 000432                ocj,
--      setup ~occ,6
-+000432        710006          law i ZZ210
-+000433        243112          dac ZZ110
- 000434                ocg,
- 000434        220434          lio .
- 000435                och,
- 000435        760200          cla
- 000436        663007          rcl 3s
- 000437        323113          dio ~oci
- 000440        222774          lio (rcl 9s
--      dispatch
-+000441        402775          add (a11
-+000442        260443          dap . 1
-+000443        600443          jmp .
-+000444                a11,
- 000444        760000          opr
- 000445        600557          jmp oc1
- 000446                oco,
- 000446        600602          jmp oc2
- 000447                ocq,
- 000447        600610          jmp oc3
- 000450                ocp,
- 000450        600616          jmp oc4
- 000451                ocr,
- 000451        600624          jmp oc5
- 000452        600632          jmp oc6
--////
--      plinst (szf 5           //code
-+000453        202776          lac ZZ112
-+000454        250412          dac i oc
-+000455        440412          idx oc
- 000456        402777          add (4
- 000457        260556          dap ocn
--      plinst ocn
-+000460        200556          lac ZZ113
-+000461        250412          dac i oc
-+000462        440412          idx oc
--      plinst (dac ~sx1
-+000463        203000          lac ZZ114
-+000464        250412          dac i oc
-+000465        440412          idx oc
--      plinst (dio ~sy1
-+000466        203001          lac ZZ115
-+000467        250412          dac i oc
-+000470        440412          idx oc
--      plinst (jmp sq6
-+000471        203002          lac ZZ116
-+000472        250412          dac i oc
-+000473        440412          idx oc
--      plinst (clf 5
-+000474        203003          lac ZZ117
-+000475        250412          dac i oc
-+000476        440412          idx oc
--      plinst (lac ~scm
-+000477        203004          lac ZZ118
-+000500        250412          dac i oc
-+000501        440412          idx oc
--      plinst (cma
-+000502        203005          lac ZZ119
-+000503        250412          dac i oc
-+000504        440412          idx oc
--      plinst (dac ~scm
-+000505        203006          lac ZZ120
-+000506        250412          dac i oc
-+000507        440412          idx oc
--      plinst (lac ~ssm
-+000510        203007          lac ZZ121
-+000511        250412          dac i oc
-+000512        440412          idx oc
--      plinst (cma
-+000513        203005          lac ZZ122
-+000514        250412          dac i oc
-+000515        440412          idx oc
--      plinst (dac ~ssm
-+000516        203010          lac ZZ123
-+000517        250412          dac i oc
-+000520        440412          idx oc
--      plinst (lac ~csm
-+000521        203011          lac ZZ124
-+000522        250412          dac i oc
-+000523        440412          idx oc
--      plinst (lio ~ssd
-+000524        203012          lac ZZ125
-+000525        250412          dac i oc
-+000526        440412          idx oc
--      plinst (dac ~ssd
-+000527        203013          lac ZZ126
-+000530        250412          dac i oc
-+000531        440412          idx oc
--      plinst (dio ~csm
-+000532        203014          lac ZZ127
-+000533        250412          dac i oc
-+000534        440412          idx oc
--      plinst (lac ~ssc
-+000535        203015          lac ZZ128
-+000536        250412          dac i oc
-+000537        440412          idx oc
--      plinst (lio ~csn
-+000540        203016          lac ZZ129
-+000541        250412          dac i oc
-+000542        440412          idx oc
--      plinst (dac ~csn
-+000543        203017          lac ZZ130
-+000544        250412          dac i oc
-+000545        440412          idx oc
--      plinst (dio ~ssc
-+000546        203020          lac ZZ131
-+000547        250412          dac i oc
-+000550        440412          idx oc
--      plinst ocm
-+000551        200555          lac ZZ132
-+000552        250412          dac i oc
-+000553        440412          idx oc
- 000554                ocx,
- 000554        600554          jmp .
- 000555                ocm,
- 000555        600555          jmp .
- 000556                ocn,
- 000556        600556          jmp .
- 000557                oc1,
--      plinst (add ~ssn
-+000557        203021          lac ZZ133
-+000560        250412          dac i oc
-+000561        440412          idx oc
- 000562        620404          jsp ocs
- 000563        203022          lac (sub ~scn
- 000564                oce,
- 000564        250412          dac i oc
- 000565        440412          idx oc
- 000566        620404          jsp ocs
--      plinst (ioh
-+000567        203023          lac ZZ134
-+000570        250412          dac i oc
-+000571        440412          idx oc
- 000572        203024          lac (dpy-4000
- 000573                ocd,
- 000573        250412          dac i oc
- 000574        440412          idx oc
- 000575        223113          lio ~oci
--      count ~occ, och
-+000576        463112          isp ZZ135
-+000577        600435          jmp ZZ235
- 000600        440434          idx ocg
- 000601        600432          jmp ocj
- 000602                oc2,
--      comtab (add ~scm, (add ~ssm
--      plinst ZZ136
-+000602        203025          lac ZZ137
-+000603        250412          dac i oc
-+000604        440412          idx oc
-+000605        620404          jsp ocs
-+000606        203026          lac ZZ236
-+000607        600564          jmp oce
- 000610                oc3,
--      comtab (add ~ssc, (sub ~csm
--      plinst ZZ138
-+000610        203027          lac ZZ139
-+000611        250412          dac i oc
-+000612        440412          idx oc
-+000613        620404          jsp ocs
-+000614        203030          lac ZZ238
-+000615        600564          jmp oce
- 000616                oc4,
--      comtab (sub ~scm, (sub ~ssm
--      plinst ZZ140
-+000616        203031          lac ZZ141
-+000617        250412          dac i oc
-+000620        440412          idx oc
-+000621        620404          jsp ocs
-+000622        203032          lac ZZ240
-+000623        600564          jmp oce
- 000624                oc5,
--      comtab (add ~csn, (sub ~ssd
--      plinst ZZ142
-+000624        203033          lac ZZ143
-+000625        250412          dac i oc
-+000626        440412          idx oc
-+000627        620404          jsp ocs
-+000630        203034          lac ZZ242
-+000631        600564          jmp oce
- 000632                oc6,
- 000632        640006          szf 6
- 000633        600642          jmp oc9
- 000634        760016          stf 6
--      plinst (dac ~ssa
-+000635        203035          lac ZZ144
-+000636        250412          dac i oc
-+000637        440412          idx oc
- 000640        203036          lac (dio ~ssi
- 000641        600573          jmp ocd
- 000642                oc9,
- 000642        760006          clf 6
--      plinst (lac ~ssa
-+000643        203037          lac ZZ145
-+000644        250412          dac i oc
-+000645        440412          idx oc
- 000646        203040          lac (lio ~ssi
- 000647        600573          jmp ocd
--////
--/ display a star
--      define starp
--      add ~bx
--      swap
--      add ~by
--      swap
--      ioh
--      dpy-4000
--      terminate
--                              /star
- 000650                blp,
- 000650        260675          dap blx
- 000651        640060          szs 60
- 000652        600675          jmp blx
--      random
-+000653        200031          lac ran
-+000654        671001          rar 1s
-+000655        063041          xor (355760
-+000656        403042          add (355670
-+000657        240031          dac ran
- 000660        671777          rar 9s
- 000661        023043          and (add 340
- 000662        640200          spa
- 000663        062767          xor (377777
- 000664        243116          dac ~bx
- 000665        200031          lac ran
- 000666        661017          ral 4s
- 000667        023043          and (add 340
- 000670        640200          spa
- 000671        062767          xor (377777
- 000672        243117          dac ~by
- 000673        620676          jsp bpt
- 000674        730000          ioh
- 000675                blx,
- 000675        600675          jmp .
- 000676                bpt,
- 000676        261117          dap bpx
--      random
-+000677        200031          lac ran
-+000700        671001          rar 1s
-+000701        063041          xor (355760
-+000702        403042          add (355670
-+000703        240031          dac ran
- 000704        675777          sar 9s
- 000705        675037          sar 5s
- 000706        640200          spa
- 000707        761000          cma
- 000710        665007          sal 3s
- 000711        403044          add (bds
- 000712        260715          dap bjm
- 000713        764206          cla cli clf 6-opr-opr
- 000714        724007          dpy-4000
- 000715                bjm,
- 000715        600715          jmp .
- 000716                bds,
--      starp
-+000716        403116          add ~bx
--      swap
-+000717        663777          rcl 9s
-+000720        663777          rcl 9s
-+000721        403117          add ~by
--      swap
-+000722        663777          rcl 9s
-+000723        663777          rcl 9s
-+000724        730000          ioh
-+000725        724007          dpy-4000
--      starp
-+000726        403116          add ~bx
--      swap
-+000727        663777          rcl 9s
-+000730        663777          rcl 9s
-+000731        403117          add ~by
--      swap
-+000732        663777          rcl 9s
-+000733        663777          rcl 9s
-+000734        730000          ioh
-+000735        724007          dpy-4000
--      starp
-+000736        403116          add ~bx
--      swap
-+000737        663777          rcl 9s
-+000740        663777          rcl 9s
-+000741        403117          add ~by
--      swap
-+000742        663777          rcl 9s
-+000743        663777          rcl 9s
-+000744        730000          ioh
-+000745        724007          dpy-4000
--      starp
-+000746        403116          add ~bx
--      swap
-+000747        663777          rcl 9s
-+000750        663777          rcl 9s
-+000751        403117          add ~by
--      swap
-+000752        663777          rcl 9s
-+000753        663777          rcl 9s
-+000754        730000          ioh
-+000755        724007          dpy-4000
--      starp
-+000756        403116          add ~bx
--      swap
-+000757        663777          rcl 9s
-+000760        663777          rcl 9s
-+000761        403117          add ~by
--      swap
-+000762        663777          rcl 9s
-+000763        663777          rcl 9s
-+000764        730000          ioh
-+000765        724007          dpy-4000
--      starp
-+000766        403116          add ~bx
--      swap
-+000767        663777          rcl 9s
-+000770        663777          rcl 9s
-+000771        403117          add ~by
--      swap
-+000772        663777          rcl 9s
-+000773        663777          rcl 9s
-+000774        730000          ioh
-+000775        724007          dpy-4000
--      starp
-+000776        403116          add ~bx
--      swap
-+000777        663777          rcl 9s
-+001000        663777          rcl 9s
-+001001        403117          add ~by
--      swap
-+001002        663777          rcl 9s
-+001003        663777          rcl 9s
-+001004        730000          ioh
-+001005        724007          dpy-4000
--      starp
-+001006        403116          add ~bx
--      swap
-+001007        663777          rcl 9s
-+001010        663777          rcl 9s
-+001011        403117          add ~by
--      swap
-+001012        663777          rcl 9s
-+001013        663777          rcl 9s
-+001014        730000          ioh
-+001015        724007          dpy-4000
--      starp
-+001016        403116          add ~bx
--      swap
-+001017        663777          rcl 9s
-+001020        663777          rcl 9s
-+001021        403117          add ~by
--      swap
-+001022        663777          rcl 9s
-+001023        663777          rcl 9s
-+001024        730000          ioh
-+001025        724007          dpy-4000
--      starp
-+001026        403116          add ~bx
--      swap
-+001027        663777          rcl 9s
-+001030        663777          rcl 9s
-+001031        403117          add ~by
--      swap
-+001032        663777          rcl 9s
-+001033        663777          rcl 9s
-+001034        730000          ioh
-+001035        724007          dpy-4000
--      starp
-+001036        403116          add ~bx
--      swap
-+001037        663777          rcl 9s
-+001040        663777          rcl 9s
-+001041        403117          add ~by
--      swap
-+001042        663777          rcl 9s
-+001043        663777          rcl 9s
-+001044        730000          ioh
-+001045        724007          dpy-4000
--      starp
-+001046        403116          add ~bx
--      swap
-+001047        663777          rcl 9s
-+001050        663777          rcl 9s
-+001051        403117          add ~by
--      swap
-+001052        663777          rcl 9s
-+001053        663777          rcl 9s
-+001054        730000          ioh
-+001055        724007          dpy-4000
--      starp
-+001056        403116          add ~bx
--      swap
-+001057        663777          rcl 9s
-+001060        663777          rcl 9s
-+001061        403117          add ~by
--      swap
-+001062        663777          rcl 9s
-+001063        663777          rcl 9s
-+001064        730000          ioh
-+001065        724007          dpy-4000
--      starp
-+001066        403116          add ~bx
--      swap
-+001067        663777          rcl 9s
-+001070        663777          rcl 9s
-+001071        403117          add ~by
--      swap
-+001072        663777          rcl 9s
-+001073        663777          rcl 9s
-+001074        730000          ioh
-+001075        724007          dpy-4000
--      starp
-+001076        403116          add ~bx
--      swap
-+001077        663777          rcl 9s
-+001100        663777          rcl 9s
-+001101        403117          add ~by
--      swap
-+001102        663777          rcl 9s
-+001103        663777          rcl 9s
-+001104        730000          ioh
-+001105        724007          dpy-4000
--      starp
-+001106        403116          add ~bx
--      swap
-+001107        663777          rcl 9s
-+001110        663777          rcl 9s
-+001111        403117          add ~by
--      swap
-+001112        663777          rcl 9s
-+001113        663777          rcl 9s
-+001114        730000          ioh
-+001115        724007          dpy-4000
- 001116        640006          szf 6
- 001117                bpx,
- 001117        601117          jmp .
- 001120        760016          stf 6
- 001121        761000          cma
--      swap
-+001122        663777          rcl 9s
-+001123        663777          rcl 9s
- 001124        761000          cma
--      swap
-+001125        663777          rcl 9s
-+001126        663777          rcl 9s
- 001127        600715          jmp bjm
--////
--/background display .  3/13/62, prs.
--      define dislis J, Q, B
--      repeat 6, B=B+B
--      clf 5
--      lac flo+r
--      dap fpo+r
--fs,
--      dap fin+r
--      dap fyn+r
--      idx fyn+r
--fin,
--      lac                     /lac x
--      sub fpr                 /right margin
--      sma
--      jmp fgr+r
--      add (2000
--frr,
--      spq
--fou,
--      jmp fuu+r
--fie,
--      sub (1000
--      sal 8s
--fyn,
--      lio                             /lio y
--      dpy-i+B
--      stf 5
--fid,
--      idx fyn+r
--      sad (lio Q+2
--      jmp flp+r
--      sad fpo+r
--      jmp fx+r
--      dap fin+r
--      idx fyn+r
--      jmp fin+r
--fgr,
--      add (2000 -20000
--      jmp frr+r
--fuu,
--      szf 5
--fx,
--      jmp flo+r+1             /return
--      idx flo+r
--      idx flo+r
--      sas (Q+2
--      jmp fid+r
--      law J
--      dac flo+r
--      jmp fid+r
--flp,
--      lac (lio J
--      sad fpo+r
--      jmp fx+r
--      dap fin+r
--      law J+1
--      dap fyn+r
--      jmp fin+r
--fpo,
--      lio
--flo,
--      J
--      terminate
--////
--      define background
--      jsp bck
--      termin
- 001130                bck,
- 001130        261134          dap bcx
- 001131        640040          szs 40
- 001132        601134          jmp bcx
- 001133        461441          isp bcc
- 001134                bcx,
- 001134        601134          jmp .
- 001135        710002          law i 2
- 001136        241441          dac bcc
--      dislis 1j,1q,3
-+001137        000006          ZZ398=ZZ398+ZZ398
-+001137        000014          ZZ398=ZZ398+ZZ398
-+001137        000030          ZZ398=ZZ398+ZZ398
-+001137        000060          ZZ398=ZZ398+ZZ398
-+001137        000140          ZZ398=ZZ398+ZZ398
-+001137        000300          ZZ398=ZZ398+ZZ398
-+001137        760005          clf 5
-+001140        201214          lac flo98
-+001141        261213          dap fpo98
-+001142                fs98,
-+001142        261145          dap fin98
-+001143        261156          dap fyn98
-+001144        441156          idx fyn98
-+001145                fin98,
-+001145        200000          lac
-+001146        421443          sub fpr
-+001147        640400          sma
-+001150        601171          jmp fgr98
-+001151        403045          add (2000
-+001152                frr98,
-+001152        650500          spq
-+001153                fou98,
-+001153        601173          jmp fuu98
-+001154                fie98,
-+001154        423046          sub (1000
-+001155        665377          sal 8s
-+001156                fyn98,
-+001156        220000          lio
-+001157        720307          dpy-i+ZZ398
-+001160        760015          stf 5
-+001161                fid98,
-+001161        441156          idx fyn98
-+001162        503047          sad (lio ZZ298+2
-+001163        601204          jmp flp98
-+001164        501213          sad fpo98
-+001165        601174          jmp fx98
-+001166        261145          dap fin98
-+001167        441156          idx fyn98
-+001170        601145          jmp fin98
-+001171                fgr98,
-+001171        403050          add (2000 -20000
-+001172        601152          jmp frr98
-+001173                fuu98,
-+001173        640005          szf 5
-+001174                fx98,
-+001174        601215          jmp flo98+1
-+001175        441214          idx flo98
-+001176        441214          idx flo98
-+001177        523051          sas (ZZ298+2
-+001200        601161          jmp fid98
-+001201        706000          law ZZ198
-+001202        241214          dac flo98
-+001203        601161          jmp fid98
-+001204                flp98,
-+001204        203052          lac (lio ZZ198
-+001205        501213          sad fpo98
-+001206        601174          jmp fx98
-+001207        261145          dap fin98
-+001210        706001          law ZZ198+1
-+001211        261156          dap fyn98
-+001212        601145          jmp fin98
-+001213                fpo98,
-+001213        220000          lio
-+001214                flo98,
-+001214        006000          ZZ198
--      dislis 2j,2q,2
-+001215        000004          ZZ399=ZZ399+ZZ399
-+001215        000010          ZZ399=ZZ399+ZZ399
-+001215        000020          ZZ399=ZZ399+ZZ399
-+001215        000040          ZZ399=ZZ399+ZZ399
-+001215        000100          ZZ399=ZZ399+ZZ399
-+001215        000200          ZZ399=ZZ399+ZZ399
-+001215        760005          clf 5
-+001216        201272          lac flo99
-+001217        261271          dap fpo99
-+001220                fs99,
-+001220        261223          dap fin99
-+001221        261234          dap fyn99
-+001222        441234          idx fyn99
-+001223                fin99,
-+001223        200000          lac
-+001224        421443          sub fpr
-+001225        640400          sma
-+001226        601247          jmp fgr99
-+001227        403045          add (2000
-+001230                frr99,
-+001230        650500          spq
-+001231                fou99,
-+001231        601251          jmp fuu99
-+001232                fie99,
-+001232        423046          sub (1000
-+001233        665377          sal 8s
-+001234                fyn99,
-+001234        220000          lio
-+001235        720207          dpy-i+ZZ399
-+001236        760015          stf 5
-+001237                fid99,
-+001237        441234          idx fyn99
-+001240        503053          sad (lio ZZ299+2
-+001241        601262          jmp flp99
-+001242        501271          sad fpo99
-+001243        601252          jmp fx99
-+001244        261223          dap fin99
-+001245        441234          idx fyn99
-+001246        601223          jmp fin99
-+001247                fgr99,
-+001247        403050          add (2000 -20000
-+001250        601230          jmp frr99
-+001251                fuu99,
-+001251        640005          szf 5
-+001252                fx99,
-+001252        601273          jmp flo99+1
-+001253        441272          idx flo99
-+001254        441272          idx flo99
-+001255        523054          sas (ZZ299+2
-+001256        601237          jmp fid99
-+001257        706022          law ZZ199
-+001260        241272          dac flo99
-+001261        601237          jmp fid99
-+001262                flp99,
-+001262        203055          lac (lio ZZ199
-+001263        501271          sad fpo99
-+001264        601252          jmp fx99
-+001265        261223          dap fin99
-+001266        706023          law ZZ199+1
-+001267        261234          dap fyn99
-+001270        601223          jmp fin99
-+001271                fpo99,
-+001271        220000          lio
-+001272                flo99,
-+001272        006022          ZZ199
--      dislis 3j,3q,1
-+001273        000002          ZZ3100=ZZ3100+ZZ3100
-+001273        000004          ZZ3100=ZZ3100+ZZ3100
-+001273        000010          ZZ3100=ZZ3100+ZZ3100
-+001273        000020          ZZ3100=ZZ3100+ZZ3100
-+001273        000040          ZZ3100=ZZ3100+ZZ3100
-+001273        000100          ZZ3100=ZZ3100+ZZ3100
-+001273        760005          clf 5
-+001274        201350          lac flo100
-+001275        261347          dap fpo100
-+001276                fs100,
-+001276        261301          dap fin100
-+001277        261312          dap fyn100
-+001300        441312          idx fyn100
-+001301                fin100,
-+001301        200000          lac
-+001302        421443          sub fpr
-+001303        640400          sma
-+001304        601325          jmp fgr100
-+001305        403045          add (2000
-+001306                frr100,
-+001306        650500          spq
-+001307                fou100,
-+001307        601327          jmp fuu100
-+001310                fie100,
-+001310        423046          sub (1000
-+001311        665377          sal 8s
-+001312                fyn100,
-+001312        220000          lio
-+001313        720107          dpy-i+ZZ3100
-+001314        760015          stf 5
-+001315                fid100,
-+001315        441312          idx fyn100
-+001316        503056          sad (lio ZZ2100+2
-+001317        601340          jmp flp100
-+001320        501347          sad fpo100
-+001321        601330          jmp fx100
-+001322        261301          dap fin100
-+001323        441312          idx fyn100
-+001324        601301          jmp fin100
-+001325                fgr100,
-+001325        403050          add (2000 -20000
-+001326        601306          jmp frr100
-+001327                fuu100,
-+001327        640005          szf 5
-+001330                fx100,
-+001330        601351          jmp flo100+1
-+001331        441350          idx flo100
-+001332        441350          idx flo100
-+001333        523057          sas (ZZ2100+2
-+001334        601315          jmp fid100
-+001335        706044          law ZZ1100
-+001336        241350          dac flo100
-+001337        601315          jmp fid100
-+001340                flp100,
-+001340        203060          lac (lio ZZ1100
-+001341        501347          sad fpo100
-+001342        601330          jmp fx100
-+001343        261301          dap fin100
-+001344        706045          law ZZ1100+1
-+001345        261312          dap fyn100
-+001346        601301          jmp fin100
-+001347                fpo100,
-+001347        220000          lio
-+001350                flo100,
-+001350        006044          ZZ1100
--      dislis 4j,4q,0
-+001351        000000          ZZ3101=ZZ3101+ZZ3101
-+001351        000000          ZZ3101=ZZ3101+ZZ3101
-+001351        000000          ZZ3101=ZZ3101+ZZ3101
-+001351        000000          ZZ3101=ZZ3101+ZZ3101
-+001351        000000          ZZ3101=ZZ3101+ZZ3101
-+001351        000000          ZZ3101=ZZ3101+ZZ3101
-+001351        760005          clf 5
-+001352        201426          lac flo101
-+001353        261425          dap fpo101
-+001354                fs101,
-+001354        261357          dap fin101
-+001355        261370          dap fyn101
-+001356        441370          idx fyn101
-+001357                fin101,
-+001357        200000          lac
-+001360        421443          sub fpr
-+001361        640400          sma
-+001362        601403          jmp fgr101
-+001363        403045          add (2000
-+001364                frr101,
-+001364        650500          spq
-+001365                fou101,
-+001365        601405          jmp fuu101
-+001366                fie101,
-+001366        423046          sub (1000
-+001367        665377          sal 8s
-+001370                fyn101,
-+001370        220000          lio
-+001371        720007          dpy-i+ZZ3101
-+001372        760015          stf 5
-+001373                fid101,
-+001373        441370          idx fyn101
-+001374        503061          sad (lio ZZ2101+2
-+001375        601416          jmp flp101
-+001376        501425          sad fpo101
-+001377        601406          jmp fx101
-+001400        261357          dap fin101
-+001401        441370          idx fyn101
-+001402        601357          jmp fin101
-+001403                fgr101,
-+001403        403050          add (2000 -20000
-+001404        601364          jmp frr101
-+001405                fuu101,
-+001405        640005          szf 5
-+001406                fx101,
-+001406        601427          jmp flo101+1
-+001407        441426          idx flo101
-+001410        441426          idx flo101
-+001411        523062          sas (ZZ2101+2
-+001412        601373          jmp fid101
-+001413        706306          law ZZ1101
-+001414        241426          dac flo101
-+001415        601373          jmp fid101
-+001416                flp101,
-+001416        203063          lac (lio ZZ1101
-+001417        501425          sad fpo101
-+001420        601406          jmp fx101
-+001421        261357          dap fin101
-+001422        706307          law ZZ1101+1
-+001423        261370          dap fyn101
-+001424        601357          jmp fin101
-+001425                fpo101,
-+001425        220000          lio
-+001426                flo101,
-+001426        006306          ZZ1101
- 001427        461442          isp bkc
- 001430        601134          jmp bcx
- 001431        710020          law i 20
- 001432        241442          dac bkc
- 001433        710001          law i 1
- 001434        401443          add fpr
- 001435        640200          spa
- 001436        403064          add (20000
- 001437        241443          dac fpr
- 001440        601134          jmp bcx
- 001441                bcc,
- 001441        000000          0
- 001442                bkc,
- 001442        000000          0
- 001443                fpr,
- 001443        010000          10000
--////
--/spacewar 3.1  24 sep 62  pt. 2
--/main control for spaceships
- 001444        000030          nob=30                  /total number of colliding objects
- 001444                ml0,
--      load ~mtc, -4000        /delay for loop
-+001444        223065          lio (ZZ2102
-+001445        323120          dio ZZ1102
--      init ml1, mtb           /loc of calc routines
-+001446        703365          law ZZ2103
-+001447        261703          dap ZZ1103
- 001450        403066          add (nob
- 001451        261737          dap mx1                 /x
- 001452        003415          nx1=mtb nob
- 001452        403066          add (nob
- 001453        261747          dap my1                 /y
- 001454        003445          ny1=nx1 nob
- 001454        403066          add (nob
- 001455        261772          dap ma1                 / count for length of explosion or torp
- 001456        003475          na1=ny1 nob
- 001456        403066          add (nob
- 001457        262006          dap mb1                 / count of instructions taken by calc routine
- 001460        003525          nb1=na1 nob
- 001460        403066          add (nob
- 001461        243121          dac ~mdx                / dx
- 001462        003555          ndx=nb1 nob
- 001462        403066          add (nob
- 001463        243122          dac ~mdy                / dy
- 001464        003605          ndy=ndx nob
- 001464        403066          add (nob
- 001465        262327          dap mom                 /angular velocity
- 001466        003635          nom=ndy nob
- 001466        403067          add (2
- 001467        262343          dap mth                 / angle
- 001470        003637          nth=nom 2
- 001470        403067          add (2
- 001471        243123          dac ~mfu                /fuel
- 001472        003641          nfu=nth 2
- 001472        403067          add (2
- 001473        243124          dac ~mtr                / no torps remaining
- 001474        003643          ntr=nfu 2
- 001474        403067          add (2
- 001475        261732          dap mot                 / outline of spaceship
- 001476        003645          not=ntr 2
- 001476        403067          add (2
- 001477        262577          dap mco                 / old control word
- 001500        003647          nco=not 2
- 001500        403067          add (2
- 001501        243125          dac ~mh1
- 001502        003651          nh1=nco 2
- 001502        403067          add (2
- 001503        243126          dac ~mh2
- 001504        003653          nh2=nh1 2
- 001504        403067          add (2
- 001505        243127          dac ~mh3
- 001506        003655          nh3=nh2 2
- 001506        403067          add (2
- 001507        243130          dac ~mh4
- 001510        003657          nh4=nh3 2
- 001510        003661          nnn=nh4 2
--////
- 001510        702310          law ss1
- 001511        063365          xor mtb
- 001512        640100          sza
- 001513        601534          jmp mdn
- 001514        702314          law ss2
- 001515        063366          xor mtb 1
- 001516        640100          sza
- 001517        601534          jmp mdn
- 001520        700001          law 1                   / test if both ships out of torps
- 001521        403643          add ntr
- 001522        640200          spa
- 001523        601530          jmp md1
- 001524        700001          law 1
- 001525        403644          add ntr 1
- 001526        650200          spa i
- 001527        601534          jmp mdn
- 001530                md1,
- 001530        100011          xct tlf                 / restart delay is 2x torpedo life
- 001531        665001          sal 1s
- 001532        243131          dac ~ntd
- 001533        601703          jmp ml1
- 001534                mdn,
--      count ~ntd,ml1
-+001534        463131          isp ZZ1104
-+001535        601703          jmp ZZ2104
- 001536        760011          stf 1
- 001537        760012          stf 2
- 001540        702310          law ss1
- 001541        063365          xor mtb
- 001542        640100          sza
- 001543        760001          clf 1
- 001544        650100          sza i
- 001545        443132          idx ~1sc
- 001546        702314          law ss2
- 001547        063366          xor mtb 1
- 001550        640100          sza
- 001551        760002          clf 2
- 001552        650100          sza i
- 001553        443133          idx ~2sc
- 001554        760002          clf 2
- 001555        601564          jmp a
--////
- 001556                a1,
- 001556        701676          law mg2                 / test word control
- 001557        243134          dac ~cwg
- 001560        601564          jmp a
- 001561                a40,
- 001561        700040          law cwr                 / here from start at 4
- 001562        243134          dac ~cwg
- 001563        601613          jmp a6
- 001564                a,
- 001564        203135          lac ~gct
- 001565        640400          sma
- 001566        601576          jmp a5
--      count ~gct, a5
-+001567        463135          isp ZZ1105
-+001570        601576          jmp ZZ2105
- 001571        203132          lac ~1sc
- 001572        523133          sas ~2sc
- 001573        601602          jmp a4
- 001574        710001          law i 1
- 001575        243135          dac ~gct
- 001576                a5,
- 001576        762200          lat
- 001577        023070          and (40
- 001600        650100          sza i
- 001601        601621          jmp a2
- 001602                a4,
- 001602        203132          lac ~1sc
- 001603        223133          lio ~2sc
- 001604        760400          hlt
- 001605        762200          lat
- 001606        023070          and (40
- 001607        640100          sza
- 001610        601621          jmp a2
- 001611        343132          dzm ~1sc
- 001612        343133          dzm ~2sc
- 001613                a6,
- 001613        762200          lat
- 001614        671077          rar 6s
- 001615        023071          and (37
- 001616        640100          sza
- 001617        761000          cma
- 001620        243135          dac ~gct
- 001621                a2,
--      clear mtb, nnn-1                / clear out all tables
--      init .+2, ZZ1106
-+001621        703365          law ZZ2107
-+001622        261623          dap ZZ1107
-+001623        340000          dzm
--      index .-1, (dzm ZZ2106+1, .-1
-+001624        441623          idx ZZ1108
-+001625        523072          sas ZZ2108
-+001626        601623          jmp ZZ3108
- 001627        702310          law ss1
- 001630        243365          dac mtb
- 001631        702314          law ss2
- 001632        243366          dac mtb 1
- 001633        203073          lac (200000
- 001634        243415          dac nx1
- 001635        243445          dac ny1
- 001636        761000          cma
- 001637        243416          dac nx1 1
- 001640        243446          dac ny1 1
- 001641        203074          lac (144420
- 001642        243637          dac nth
--////
- 001643        703661          law nnn                                 / start of outline problem
- 001644        243645          dac not
- 001645        220020          lio ddd
- 001646        652000          spi i
- 001647        601652          jmp a3
- 001650        170412          jda oc
- 001651        002735          ot1
- 001652                a3,
- 001652        243646          dac not 1
- 001653        170412          jda oc
- 001654        002746          ot2
- 001655        100006          xct tno
- 001656        243643          dac ntr
- 001657        243644          dac ntr 1
- 001660        200012          lac foo
- 001661        243641          dac nfu
- 001662        243642          dac nfu 1
- 001663        702000          law 2000
- 001664        243525          dac nb1
- 001665        243526          dac nb1 1
- 001666        100022          xct mhs
- 001667        243653          dac nh2
- 001670        243654          dac nh2 1
- 001671        601444          jmp ml0
--/ control word get routines
- 001672                mg1,
- 001672        261675          dap mg3
- 001673        764000          cli
- 001674        720011          iot 11
- 001675                mg3,
- 001675        601675          jmp .
- 001676                mg2,
- 001676        261702          dap mg4
- 001677        762200          lat
--      swap
-+001700        663777          rcl 9s
-+001701        663777          rcl 9s
- 001702                mg4,
- 001702        601702          jmp .
--////
- 001703                ml1,
- 001703        201703          lac .                   / 1st control word
- 001704        650100          sza i                   / zero if not active
- 001705        602011          jmp mq1                 / not active
--      swap
-+001706        663777          rcl 9s
-+001707        663777          rcl 9s
- 001710        443136          idx ~moc
- 001711        642000          spi
- 001712        602003          jmp mq4
- 001713        700001          law 1
- 001714        401703          add ml1
- 001715        261734          dap ml2
- 001716        700001          law 1
- 001717        401737          add mx1
- 001720        261740          dap mx2
- 001721        700001          law 1
- 001722        401747          add my1
- 001723        261750          dap my2
- 001724        700001          law 1
- 001725        401772          add ma1
- 001726        261773          dap ma2
- 001727        700001          law 1
- 001730        402006          add mb1
- 001731        261766          dap mb2
- 001732                mot,
- 001732        201732          lac .
- 001733        262530          dap sp5
- 001734                ml2,
- 001734        201734          lac .                   / 2nd control word
- 001735        650500          spq                     / can it collide?
- 001736        601774          jmp mq2                 / no
- 001737                mx1,
- 001737        201737          lac .                   / calc if collision
- 001740                mx2,
- 001740        421740          sub .                   / delta x
- 001741        640200          spa                     / take abs value
- 001742        761000          cma
- 001743        243137          dac ~mt1
- 001744        420016          sub me1                 / < epsilon ?
- 001745        640400          sma
- 001746        601774          jmp mq2                 / no
- 001747                my1,
- 001747        201747          lac .
- 001750                my2,
- 001750        421750          sub .
- 001751        640200          spa
- 001752        761000          cma
- 001753        420016          sub me1                 / < epsilon ?
- 001754        640400          sma
- 001755        601774          jmp mq2                 / no
- 001756        403137          add ~mt1
- 001757        420017          sub me2
- 001760        640400          sma
- 001761        601774          jmp mq2
- 001762        203103          lac (mex 400000 / yes, explode
- 001763        251703          dac i ml1               / replace calc routine with explosion
- 001764        251734          dac i ml2
- 001765        212006          lac i mb1               / duration of explosion
- 001766                mb2,
- 001766        401766          add .
- 001767        761000          cma
- 001770        675377          sar 8s
- 001771        402770          add (1
- 001772                ma1,
- 001772        241772          dac .
- 001773                ma2,
- 001773        241773          dac .
- 001774                mq2,
- 001774        441740          idx mx2                 / end of comparion loop
- 001775        441750          idx my2
- 001776        441773          idx ma2
- 001777        441766          idx mb2
--      index ml2, (lac mtb nob, ml2
-+002000        441734          idx ZZ1111
-+002001        523075          sas ZZ2111
-+002002        601734          jmp ZZ3111
--////
- 002003                mq4,
- 002003        211703          lac i ml1               / routine for calculating spaceship
- 002004        262005          dap . 1                 / or other object and displaying it
- 002005        622005          jsp .
- 002006                mb1,
- 002006        202006          lac .                   / alter count of number of instructions
- 002007        403120          add ~mtc
- 002010        243120          dac ~mtc
- 002011                mq1,
- 002011        441737          idx mx1                 / end of comparison and display loop
- 002012        441747          idx my1
- 002013        441772          idx ma1
- 002014        442006          idx mb1
- 002015        443121          idx ~mdx
- 002016        443122          idx ~mdy
- 002017        442327          idx mom
- 002020        442343          idx mth
- 002021        443140          idx ~mas
- 002022        443123          idx ~mfu
- 002023        443124          idx ~mtr
- 002024        441732          idx mot
- 002025        442577          idx mco
- 002026        443125          idx ~mh1
- 002027        443126          idx ~mh2
- 002030        443127          idx ~mh3
- 002031        443130          idx ~mh4
--      index ml1, (lac mtb nob-1, ml1
-+002032        441703          idx ZZ1112
-+002033        523076          sas ZZ2112
-+002034        601703          jmp ZZ3112
- 002035        211703          lac i ml1               / display and compute last point
- 002036        650100          sza i                   / if active
- 002037        602045          jmp mq3
- 002040        262041          dap . 1
- 002041        622041          jsp .
- 002042        212006          lac i mb1
- 002043        403120          add ~mtc
- 002044        243120          dac ~mtc
- 002045                mq3,
--      background              / display stars of the heavens
-+002045        621130          jsp bck
- 002046        620650          jsp blp                 / display massive star
--      count ~mtc, .   / use the rest of time of main loop
-+002047        463120          isp ZZ1114
-+002050        602047          jmp ZZ2114
- 002051        601444          jmp ml0                 / repeat whole works
--////
--/ misc calculation routines
--      / explosion
- 002052                mex,
- 002052        262133          dap mxr
- 002053        760200          cla
--      diff ~mdx, mx1, (sar 3s
-+002054        413121          add i ZZ1115
-+002055        253121          dac i ZZ1115
-+002056        103077          xct ZZ3115
-+002057        411737          add i ZZ2115
-+002060        251737          dac i ZZ2115
- 002061        760200          cla
--      diff ~mdy, my1, (sar 3s
-+002062        413122          add i ZZ1116
-+002063        253122          dac i ZZ1116
-+002064        103077          xct ZZ3116
-+002065        411747          add i ZZ2116
-+002066        251747          dac i ZZ2116
- 002067        702134          law ms2
- 002070        262117          dap msh
- 002071        212006          lac i mb1               / time involved
- 002072        765000          cma cli-opr
- 002073        675007          sar 3s
- 002074        243141          dac ~mxc
- 002075                ms1,
- 002075        423100          sub (140
- 002076        640400          sma
- 002077        442117          idx msh
- 002100                mz1,
--      random
-+002100        200031          lac ran
-+002101        671001          rar 1s
-+002102        063041          xor (355760
-+002103        403042          add (355670
-+002104        240031          dac ran
- 002105        023101          and (777
- 002106        043102          ior (scl
- 002107        242120          dac mi1
--      random
-+002110        200031          lac ran
-+002111        671001          rar 1s
-+002112        063041          xor (355760
-+002113        403042          add (355670
-+002114        240031          dac ran
- 002115        677777          scr 9s
- 002116        676777          sir 9s
- 002117                msh,
- 002117        102117          xct .
- 002120                mi1,
- 002120        760400          hlt
- 002121        411747          add i my1
--      swap
-+002122        663777          rcl 9s
-+002123        663777          rcl 9s
- 002124        411737          add i mx1
- 002125        720307          dpy-i 300
--      count ~mxc, mz1
-+002126        463141          isp ZZ1120
-+002127        602100          jmp ZZ2120
--      count i ma1, mxr
-+002130        471772          isp ZZ1121
-+002131        602133          jmp ZZ2121
- 002132        351703          dzm i ml1
- 002133                mxr,
- 002133        602133          jmp .
- 002134                ms2,
- 002134        677001          scr 1s
- 002135        677007          scr 3s
--/ torpedo calc routine
- 002136                tcr,
- 002136        262167          dap trc
--      count i ma1, tc1
-+002137        471772          isp ZZ1122
-+002140        602146          jmp ZZ2122
- 002141        203103          lac (mex 400000
- 002142        251703          dac i ml1
- 002143        710002          law i 2
- 002144        251772          dac i ma1
- 002145        602167          jmp trc
- 002146                tc1,
- 002146        211737          lac i mx1
- 002147        675777          sar 9s
- 002150        100021          xct the
--      diff ~mdy, my1, (sar 3s
-+002151        413122          add i ZZ1123
-+002152        253122          dac i ZZ1123
-+002153        103077          xct ZZ3123
-+002154        411747          add i ZZ2123
-+002155        251747          dac i ZZ2123
- 002156        675777          sar 9s
- 002157        100021          xct the
--      diff ~mdx, mx1, (sar 3s
-+002160        413121          add i ZZ1124
-+002161        253121          dac i ZZ1124
-+002162        103077          xct ZZ3124
-+002163        411737          add i ZZ2124
-+002164        251737          dac i ZZ2124
--      dispt i, i my1, 1
-+002165        000002          ZZ3125=ZZ3125+ZZ3125
-+002165        000004          ZZ3125=ZZ3125+ZZ3125
-+002165        000010          ZZ3125=ZZ3125+ZZ3125
-+002165        000020          ZZ3125=ZZ3125+ZZ3125
-+002165        000040          ZZ3125=ZZ3125+ZZ3125
-+002165        000100          ZZ3125=ZZ3125+ZZ3125
-+002165        231747          lio ZZ2125
-+002166        720107          dpy-ZZ1125+ZZ3125
- 002167                trc,
- 002167        602167          jmp .
--////
--/ hyperspace routines
--/ this routine handles a non-colliding ship invisibly
--/ in hyperspace
- 002170                hp1,
- 002170        262245          dap hp2
--      count i ma1, hp2
-+002171        471772          isp ZZ1126
-+002172        602245          jmp ZZ2126
- 002173        702246          law hp3                         / next step
- 002174        251703          dac i ml1
- 002175        700007          law 7
- 002176        252006          dac i mb1
--      random
-+002177        200031          lac ran
-+002200        671001          rar 1s
-+002201        063041          xor (355760
-+002202        403042          add (355670
-+002203        240031          dac ran
- 002204        677777          scr 9s
- 002205        676777          sir 9s
- 002206        100026          xct hr1
- 002207        411737          add i mx1
- 002210        251737          dac i mx1
--      swap
-+002211        663777          rcl 9s
-+002212        663777          rcl 9s
- 002213        411747          add i my1
- 002214        251747          dac i my1
--      random
-+002215        200031          lac ran
-+002216        671001          rar 1s
-+002217        063041          xor (355760
-+002220        403042          add (355670
-+002221        240031          dac ran
- 002222        677777          scr 9s
- 002223        676777          sir 9s
- 002224        100027          xct hr2
- 002225        253122          dac i ~mdy
- 002226        333121          dio i ~mdx
--      setup ~hpt,3
-+002227        710003          law i ZZ2130
-+002230        243142          dac ZZ1130
- 002231        200031          lac ran
- 002232        252343          dac i mth
- 002233                hp4,
- 002233        212343          lac i mth
- 002234        640400          sma
- 002235        422761          sub (311040
- 002236        640200          spa
- 002237        402761          add (311040
- 002240        252343          dac i mth
--      count ~hpt,hp4
-+002241        463142          isp ZZ1131
-+002242        602233          jmp ZZ2131
- 002243        100024          xct hd2
- 002244        251772          dac i ma1
- 002245                hp2,
- 002245        602245          jmp .
--/ this routine handles a ship breaking out of
--/ hyperspace
- 002246                hp3,
- 002246        262307          dap hp5
--      count i ma1,hp6
-+002247        471772          isp ZZ1132
-+002250        602304          jmp ZZ2132
- 002251        213125          lac i ~mh1
- 002252        251703          dac i ml1
- 002253        702000          law 2000
- 002254        252006          dac i mb1
--      count i ~mh2,hp7
-+002255        473126          isp ZZ1133
-+002256        602260          jmp ZZ2133
- 002257        353126          dzm i ~mh2
--////
- 002260                hp7,
- 002260        100025          xct hd3
- 002261        253127          dac i ~mh3
- 002262        213130          lac i ~mh4
- 002263        400030          add hur
- 002264        253130          dac i ~mh4
--      random
-+002265        200031          lac ran
-+002266        671001          rar 1s
-+002267        063041          xor (355760
-+002270        403042          add (355670
-+002271        240031          dac ran
- 002272        043104          ior (400000
- 002273        413130          add i ~mh4
- 002274        640200          spa
- 002275        602307          jmp hp5
- 002276        203103          lac (mex 400000
- 002277        251703          dac i ml1
- 002300        710010          law i 10
- 002301        251772          dac i ma1
- 002302        702000          law 2000
- 002303        252006          dac i mb1
- 002304                hp6,
- 002304        211737          lac i mx1
--      dispt i, i my1, 2
-+002305        000004          ZZ3135=ZZ3135+ZZ3135
-+002305        000010          ZZ3135=ZZ3135+ZZ3135
-+002305        000020          ZZ3135=ZZ3135+ZZ3135
-+002305        000040          ZZ3135=ZZ3135+ZZ3135
-+002305        000100          ZZ3135=ZZ3135+ZZ3135
-+002305        000200          ZZ3135=ZZ3135+ZZ3135
-+002305        231747          lio ZZ2135
-+002306        720207          dpy-ZZ1135+ZZ3135
- 002307                hp5,
- 002307        602307          jmp .
--////
--/ spaceship calc
- 002310                ss1,
- 002310        262713          dap srt                 / first spaceship
- 002311        633134          jsp i ~cwg
- 002312        323143          dio ~scw
- 002313        602320          jmp sr0
- 002314                ss2,
- 002314        262713          dap srt
- 002315        633134          jsp i ~cwg
- 002316        672017          rir 4s
- 002317        323143          dio ~scw
- 002320                sr0,
- 002320                sc1,
- 002320        223143          lio ~scw                /control word
- 002321        760206          clf 6 cla-opr           /update angle
- 002322        642000          spi
- 002323        400013          add maa
- 002324        662001          ril 1s
- 002325        642000          spi
- 002326        420013          sub maa
- 002327                mom,
- 002327        402327          add .
- 002330        252327          dac i mom
- 002331        640010          szs 10
- 002332        602335          jmp sr8
- 002333        352327          dzm i mom
- 002334        661177          ral 7s
- 002335                sr8,
- 002335        662001          ril 1s
- 002336        642000          spi
- 002337        760016          stf 6
- 002340        233123          lio i ~mfu
- 002341        652000          spi i
- 002342        760006          clf 6
- 002343                mth,
- 002343        402343          add .
- 002344        640400          sma
- 002345        422761          sub (311040
- 002346        640200          spa
- 002347        402761          add (311040
- 002350        252343          dac i mth
- 002351        170074          jda sin
- 002352        243144          dac ~sn
- 002353        343116          dzm ~bx
- 002354        343117          dzm ~by
- 002355        640060          szs 60
- 002356        602430          jmp bsg
- 002357        211737          lac i mx1
- 002360        675777          sar 9s
- 002361        675003          sar 2s
- 002362        243145          dac ~t1
- 002363        170156          jda imp
- 002364        203145          lac ~t1
- 002365        243146          dac ~t2
- 002366        211747          lac i my1
--////
- 002367        675777          sar 9s
- 002370        675003          sar 2s
- 002371        243145          dac ~t1
- 002372        170156          jda imp
- 002373        203145          lac ~t1
- 002374        403146          add ~t2
- 002375        420015          sub str
- 002376        650500          sma i sza-skp
- 002377        602714          jmp poh
- 002400        400015          add str
- 002401        243145          dac ~t1
- 002402        170246          jda sqt
- 002403        675777          sar 9s
- 002404        170171          jda mpy
- 002405        203145          lac ~t1
- 002406        677003          scr 2s
- 002407        650020          szs i 20                / switch 2 for light star
- 002410        677003          scr 2s
- 002411        640100          sza
- 002412        602430          jmp bsg
- 002413        323145          dio ~t1
- 002414        211737          lac i mx1
- 002415        761000          cma
- 002416        170306          jda idv
- 002417        203145          lac ~t1
- 002420        760000          opr
- 002421        243116          dac ~bx
- 002422        211747          lac i my1
- 002423        761000          cma
- 002424        170306          jda idv
- 002425        203145          lac ~t1
- 002426        760000          opr
- 002427        243117          dac ~by
- 002430                bsg,
- 002430        760200          cla
- 002431        513123          sad i ~mfu
- 002432        760006          clf 6
- 002433        212343          lac i mth
- 002434        170066          jda cos
- 002435        243147          dac ~cs
- 002436        675777          sar 9s
- 002437        100014          xct sac
- 002440        650006          szf i 6
- 002441        760200          cla
- 002442        403117          add ~by
--      diff ~mdy, my1, (sar 3s
-+002443        413122          add i ZZ1136
-+002444        253122          dac i ZZ1136
-+002445        103077          xct ZZ3136
-+002446        411747          add i ZZ2136
-+002447        251747          dac i ZZ2136
- 002450        203144          lac ~sn
- 002451        675777          sar 9s
- 002452        100014          xct sac
- 002453        761000          cma
- 002454        650006          szf i 6
- 002455        760200          cla
- 002456        403116          add ~bx
--      diff ~mdx, mx1, (sar 3s
-+002457        413121          add i ZZ1137
-+002460        253121          dac i ZZ1137
-+002461        103077          xct ZZ3137
-+002462        411737          add i ZZ2137
-+002463        251737          dac i ZZ2137
- 002464                sp1,
--      scale ~sn, 5s, ~ssn
-+002464        203144          lac ZZ1138
-+002465        675037          sar ZZ2138
-+002466        243150          dac ZZ3138
- 002467                sp2,
--      scale ~cs, 5s, ~scn
-+002467        203147          lac ZZ1139
-+002470        675037          sar ZZ2139
-+002471        243114          dac ZZ3139
- 002472        211737          lac i mx1
--////
- 002473        423150          sub ~ssn
- 002474        243151          dac ~sx1
- 002475        423150          sub ~ssn
- 002476        243152          dac ~stx
- 002477        211747          lac i my1
- 002500        403114          add ~scn
- 002501        243153          dac ~sy1
- 002502        403114          add ~scn
- 002503        243154          dac ~sty
--/ Modified for Smaller Laptop screens - BDS
--//    scale ~sn, 9s, ~ssn
--//    scale ~cs, 9s, ~scn
--      scale ~sn, 8s, ~ssn
-+002504        203144          lac ZZ1140
-+002505        675377          sar ZZ2140
-+002506        243150          dac ZZ3140
--      scale ~cs, 8s, ~scn
-+002507        203147          lac ZZ1141
-+002510        675377          sar ZZ2141
-+002511        243114          dac ZZ3141
- 002512        203150          lac ~ssn
- 002513        243155          dac ~ssm
- 002514        403114          add ~scn
- 002515        243156          dac ~ssc
- 002516        243157          dac ~ssd
- 002517        203150          lac ~ssn
- 002520        423114          sub ~scn
- 002521        243160          dac ~csn
- 002522        761000          cma
- 002523        243161          dac ~csm
- 002524        203114          lac ~scn
- 002525        243162          dac ~scm
- 002526        764200          cla cli-opr
- 002527        724007          dpy-4000
- 002530                sp5,
- 002530        602530          jmp .
- 002531                sq6,
- 002531        730000          ioh
--      ranct sar 9s, sar 4s, ~src
--      random
-+002532        200031          lac ran
-+002533        671001          rar 1s
-+002534        063041          xor (355760
-+002535        403042          add (355670
-+002536        240031          dac ran
-+002537        675777          ZZ1142
-+002540        675017          ZZ2142
-+002541        640400          sma
-+002542        761000          cma
-+002543        243163          dac ZZ3142
- 002544        223143          lio ~scw
- 002545        662003          ril 2s
- 002546        652000          spi i                           / not blasting
- 002547        602574          jmp sq9                         / no tail
- 002550                sq7,
--      scale ~sn, 8s, ~ssn
-+002550        203144          lac ZZ1144
-+002551        675377          sar ZZ2144
-+002552        243150          dac ZZ3144
--      scale ~cs, 8s, ~scn
-+002553        203147          lac ZZ1145
-+002554        675377          sar ZZ2145
-+002555        243114          dac ZZ3145
--      count i ~mfu, st2
-+002556        473123          isp ZZ1146
-+002557        602562          jmp ZZ2146
- 002560        353123          dzm i ~mfu
- 002561        602574          jmp sq9
- 002562                st2,
--      yincr ~sx1, ~sy1, sub
-+002562        203153          lac ZZ2147
-+002563        423114          ZZ3147 ~scn
-+002564        243153          dac ZZ2147
-+002565        203151          lac ZZ1147
-+002566        403150          -ZZ3147+add+sub ~ssn
-+002567        243151          dac ZZ1147
--      dispt i, ~sy1
-+002570        000000          ZZ3148=ZZ3148+ZZ3148
-+002570        000000          ZZ3148=ZZ3148+ZZ3148
-+002570        000000          ZZ3148=ZZ3148+ZZ3148
-+002570        000000          ZZ3148=ZZ3148+ZZ3148
-+002570        000000          ZZ3148=ZZ3148+ZZ3148
-+002570        000000          ZZ3148=ZZ3148+ZZ3148
-+002570        223153          lio ZZ2148
-+002571        720007          dpy-ZZ1148+ZZ3148
--      count ~src,sq7
-+002572        463163          isp ZZ1149
-+002573        602550          jmp ZZ2149
- 002574                sq9,
--      count i ma1, sr5                / check if torp tube reloaded
-+002574        471772          isp ZZ1150
-+002575        602667          jmp ZZ2150
- 002576        351772          dzm i ma1                       / prevent count around
- 002577                mco,
- 002577        202577          lac .                           / previous control word
- 002600        761000          cma
- 002601        650030          szs i 30
- 002602        761200          clc
- 002603        023143          and ~scw                        / present control word
- 002604        661007          ral 3s                          / torpedo bit to bit 0
- 002605        640400          sma
- 002606        602667          jmp sr5                         / no launch
--      count i ~mtr, st1               / check if torpedos exhausted
-+002607        473124          isp ZZ1151
-+002610        602613          jmp ZZ2151
- 002611        353124          dzm i ~mtr                      / prevent count around
- 002612        602667          jmp sr5
- 002613                st1,
--      init sr1, mtb                   / search for unused object
-+002613        703365          law ZZ2152
-+002614        262615          dap ZZ1152
- 002615                sr1,
- 002615        202615          lac .
- 002616        650100          sza i                           / 0 if unused
- 002617        602625          jmp sr2
--      index sr1, (lac mtb+nob, sr1
-+002620        442615          idx ZZ1153
-+002621        523105          sas ZZ2153
-+002622        602615          jmp ZZ3153
- 002623        760400          hlt                             / no space for new objects
- 002624        602623          jmp .-1
--////
- 002625                sr2,
- 002625        203106          lac (tcr
- 002626        252615          dac i sr1
- 002627        700030          law nob
- 002630        402615          add sr1
- 002631        262633          dap ss3
- 002632        223152          lio ~stx
- 002633                ss3,
- 002633        322633          dio .
- 002634        403066          add (nob
- 002635        262637          dap ss4
- 002636        223154          lio ~sty
- 002637                ss4,
- 002637        322637          dio .
- 002640        403066          add (nob
- 002641        262664          dap sr6
- 002642        403066          add (nob
- 002643        262666          dap sr7
- 002644        403066          add (nob
- 002645        262654          dap sr3
- 002646        403066          add (nob
- 002647        262660          dap sr4
- 002650        203144          lac ~sn
- 002651        100007          xct tvl
- 002652        761000          cma
- 002653        413121          add i ~mdx
- 002654                sr3,
- 002654        242654          dac .
- 002655        203147          lac ~cs
- 002656        100007          xct tvl
- 002657        413122          add i ~mdy
- 002660                sr4,
- 002660        242660          dac .
- 002661        100010          xct rlt
- 002662        251772          dac i ma1                       / permit torp tubes to cool
- 002663                trp,
- 002663        100011          xct tlf                         / life of torpedo
- 002664                sr6,
- 002664        242664          dac .
- 002665        700020          law 20
- 002666                sr7,
- 002666        262666          dap .                           / length of torp calc
- 002667                sr5,
--      count i ~mh3, st3               / hyperbutton active?
-+002667        473127          isp ZZ1154
-+002670        602713          jmp ZZ2154
- 002671        353127          dzm i ~mh3
- 002672        213126          lac i ~mh2
- 002673        650100          sza i
- 002674        602713          jmp st3
- 002675        203143          lac ~scw
- 002676        761000          cma
- 002677        052577          ior i mco
- 002700        023107          and (600000
- 002701        640100          sza
- 002702        602713          jmp st3
- 002703        211703          lac i ml1
- 002704        253125          dac i ~mh1
- 002705        203110          lac (hp1 400000
- 002706        251703          dac i ml1
- 002707        100023          xct hd1
- 002710        251772          dac i ma1
- 002711        700003          law 3
- 002712        252006          dac i mb1
- 002713                st3,
- 002713                srt,
- 002713        602713          jmp .
--////
--/ here to handle spaceships into star
--/ spaceship in star
- 002714                poh,
- 002714        353121          dzm i ~mdx
- 002715        353122          dzm i ~mdy
- 002716        640050          szs 50
- 002717        602730          jmp po1
- 002720        202767          lac (377777
- 002721        251737          dac i mx1
- 002722        251747          dac i my1
- 002723        212006          lac i mb1
- 002724        243150          dac ~ssn
--      count ~ssn, .
-+002725        463150          isp ZZ1155
-+002726        602725          jmp ZZ2155
- 002727        602713          jmp srt
- 002730                po1,
- 002730        203103          lac (mex 400000 / now go bang
- 002731        251703          dac i ml1
- 002732        710010          law i 10
- 002733        251772          dac i ma1
- 002734        602713          jmp srt
--////
--/ outlines of spaceships
- 002735                ot1,
- 002735        111131          111131
- 002736        111111          111111
- 002737        111111          111111
- 002740        111163          111163
- 002741        311111          311111
- 002742        146111          146111
- 002743        111114          111114
- 002744        700000          700000
- 002745        000005  . 5/
- 002746                ot2,
- 002746        013113          013113
- 002747        113111          113111
- 002750        116313          116313
- 002751        131111          131111
- 002752        161151          161151
- 002753        111633          111633
- 002754        365114          365114
- 002755        700000          700000
- 002756        000005  . 5/
- 002757        203164          lac ~ssa        / To fix assembler bug - ~ssa only referenced in lit
- 002760                        constants
-+002760        062210  62210
-+002761        311040  311040
-+002762        242763  242763
-+002763        756103  756103
-+002764        121312  121312
-+002765        532511  532511
-+002766        144417  144417
-+002767        377777  377777
-+002770        000001  1
-+002771        760015  stf 5
-+002772        203151  lac ~sx1
-+002773        223153  lio ~sy1
-+002774        663777  rcl 9s
-+002775        000444  a11
-+002776        640005  szf 5
-+002777        000004  4
-+003000        243151  dac ~sx1
-+003001        323153  dio ~sy1
-+003002        602531  jmp sq6
-+003003        760005  clf 5
-+003004        203162  lac ~scm
-+003005        761000  cma
-+003006        243162  dac ~scm
-+003007        203155  lac ~ssm
-+003010        243155  dac ~ssm
-+003011        203161  lac ~csm
-+003012        223157  lio ~ssd
-+003013        243157  dac ~ssd
-+003014        323161  dio ~csm
-+003015        203156  lac ~ssc
-+003016        223160  lio ~csn
-+003017        243160  dac ~csn
-+003020        323156  dio ~ssc
-+003021        403150  add ~ssn
-+003022        423114  sub ~scn
-+003023        730000  ioh
-+003024        724007  dpy-4000
-+003025        403162  add ~scm
-+003026        403155  add ~ssm
-+003027        403156  add ~ssc
-+003030        423161  sub ~csm
-+003031        423162  sub ~scm
-+003032        423155  sub ~ssm
-+003033        403160  add ~csn
-+003034        423157  sub ~ssd
-+003035        243164  dac ~ssa
-+003036        323115  dio ~ssi
-+003037        203164  lac ~ssa
-+003040        223115  lio ~ssi
-+003041        355760  355760
-+003042        355670  355670
-+003043        400340  add 340
-+003044        000716  bds
-+003045        002000  2000
-+003046        001000  1000
-+003047        226022  lio ZZ298+2
-+003050        761777  2000 -20000
-+003051        006022  ZZ298+2
-+003052        226000  lio ZZ198
-+003053        226044  lio ZZ299+2
-+003054        006044  ZZ299+2
-+003055        226022  lio ZZ199
-+003056        226306  lio ZZ2100+2
-+003057        006306  ZZ2100+2
-+003060        226044  lio ZZ1100
-+003061        227652  lio ZZ2101+2
-+003062        007652  ZZ2101+2
-+003063        226306  lio ZZ1101
-+003064        020000  20000
-+003065        773777  ZZ2102
-+003066        000030  nob
-+003067        000002  2
-+003070        000040  40
-+003071        000037  37
-+003072        343661  dzm ZZ2106+1
-+003073        200000  200000
-+003074        144420  144420
-+003075        203415  lac mtb nob
-+003076        203414  lac mtb nob-1
-+003077        675007  sar 3s
-+003100        000140  140
-+003101        000777  777
-+003102        667000  scl
-+003103        402052  mex 400000
-+003104        400000  400000
-+003105        203415  lac mtb+nob
-+003106        002136  tcr
-+003107        600000  600000
-+003110        402170  hp1 400000
- 003111        000000          0
- 003112                        variables
-+003112        000000  occ
-+003113        000000  oci
-+003114        000000  scn
-+003115        000000  ssi
-+003116        000000  bx
-+003117        000000  by
-+003120        000000  mtc
-+003121        000000  mdx
-+003122        000000  mdy
-+003123        000000  mfu
-+003124        000000  mtr
-+003125        000000  mh1
-+003126        000000  mh2
-+003127        000000  mh3
-+003130        000000  mh4
-+003131        000000  ntd
-+003132        000000  1sc
-+003133        000000  2sc
-+003134        000000  cwg
-+003135        000000  gct
-+003136        000000  moc
-+003137        000000  mt1
-+003140        000000  mas
-+003141        000000  mxc
-+003142        000000  hpt
-+003143        000000  scw
-+003144        000000  sn
-+003145        000000  t1
-+003146        000000  t2
-+003147        000000  cs
-+003150        000000  ssn
-+003151        000000  sx1
-+003152        000000  stx
-+003153        000000  sy1
-+003154        000000  sty
-+003155        000000  ssm
-+003156        000000  ssc
-+003157        000000  ssd
-+003160        000000  csn
-+003161        000000  csm
-+003162        000000  scm
-+003163        000000  src
-+003164        000000  ssa
- 003165                p,
- 003365                        . 200/          / space for patches
- 003365                mtb,
--                              / table of objects and their properties
- 006000                        6000/
--/stars 1 3/13/62 prs.
- 006000                        decimal
--      define mark X, Y
--      repeat 10, Y=Y+Y
--      0 8192 -X
--      0 Y
--      terminate
- 006000                1j,
--       mark 1537, 371         /87 taur, aldebaran
-+006000        001346          ZZ2156=ZZ2156+ZZ2156
-+006000        002714          ZZ2156=ZZ2156+ZZ2156
-+006000        005630          ZZ2156=ZZ2156+ZZ2156
-+006000        013460          ZZ2156=ZZ2156+ZZ2156
-+006000        027140          ZZ2156=ZZ2156+ZZ2156
-+006000        056300          ZZ2156=ZZ2156+ZZ2156
-+006000        134600          ZZ2156=ZZ2156+ZZ2156
-+006000        271400          ZZ2156=ZZ2156+ZZ2156
-+006000        014777          0 8192 -ZZ1156
-+006001        271400          0 ZZ2156
--       mark 1762, -189        /19 orio, rigel
-+006002        777204          ZZ2157=ZZ2157+ZZ2157
-+006002        776410          ZZ2157=ZZ2157+ZZ2157
-+006002        775020          ZZ2157=ZZ2157+ZZ2157
-+006002        772040          ZZ2157=ZZ2157+ZZ2157
-+006002        764100          ZZ2157=ZZ2157+ZZ2157
-+006002        750200          ZZ2157=ZZ2157+ZZ2157
-+006002        720400          ZZ2157=ZZ2157+ZZ2157
-+006002        641000          ZZ2157=ZZ2157+ZZ2157
-+006002        014436          0 8192 -ZZ1157
-+006003        641000          0 ZZ2157
--       mark 1990, 168         /58 orio, betelgeuze
-+006004        000520          ZZ2158=ZZ2158+ZZ2158
-+006004        001240          ZZ2158=ZZ2158+ZZ2158
-+006004        002500          ZZ2158=ZZ2158+ZZ2158
-+006004        005200          ZZ2158=ZZ2158+ZZ2158
-+006004        012400          ZZ2158=ZZ2158+ZZ2158
-+006004        025000          ZZ2158=ZZ2158+ZZ2158
-+006004        052000          ZZ2158=ZZ2158+ZZ2158
-+006004        124000          ZZ2158=ZZ2158+ZZ2158
-+006004        014072          0 8192 -ZZ1158
-+006005        124000          0 ZZ2158
--       mark 2280, -377        /9 cmaj, sirius
-+006006        776414          ZZ2159=ZZ2159+ZZ2159
-+006006        775030          ZZ2159=ZZ2159+ZZ2159
-+006006        772060          ZZ2159=ZZ2159+ZZ2159
-+006006        764140          ZZ2159=ZZ2159+ZZ2159
-+006006        750300          ZZ2159=ZZ2159+ZZ2159
-+006006        720600          ZZ2159=ZZ2159+ZZ2159
-+006006        641400          ZZ2159=ZZ2159+ZZ2159
-+006006        503000          ZZ2159=ZZ2159+ZZ2159
-+006006        013430          0 8192 -ZZ1159
-+006007        503000          0 ZZ2159
--       mark 2583, 125         /25 cmin, procyon
-+006010        000372          ZZ2160=ZZ2160+ZZ2160
-+006010        000764          ZZ2160=ZZ2160+ZZ2160
-+006010        001750          ZZ2160=ZZ2160+ZZ2160
-+006010        003720          ZZ2160=ZZ2160+ZZ2160
-+006010        007640          ZZ2160=ZZ2160+ZZ2160
-+006010        017500          ZZ2160=ZZ2160+ZZ2160
-+006010        037200          ZZ2160=ZZ2160+ZZ2160
-+006010        076400          ZZ2160=ZZ2160+ZZ2160
-+006010        012751          0 8192 -ZZ1160
-+006011        076400          0 ZZ2160
--       mark 3431, 283         /32 leon, regulus
-+006012        001066          ZZ2161=ZZ2161+ZZ2161
-+006012        002154          ZZ2161=ZZ2161+ZZ2161
-+006012        004330          ZZ2161=ZZ2161+ZZ2161
-+006012        010660          ZZ2161=ZZ2161+ZZ2161
-+006012        021540          ZZ2161=ZZ2161+ZZ2161
-+006012        043300          ZZ2161=ZZ2161+ZZ2161
-+006012        106600          ZZ2161=ZZ2161+ZZ2161
-+006012        215400          ZZ2161=ZZ2161+ZZ2161
-+006012        011231          0 8192 -ZZ1161
-+006013        215400          0 ZZ2161
--       mark 4551, -242        /67 virg, spica
-+006014        777032          ZZ2162=ZZ2162+ZZ2162
-+006014        776064          ZZ2162=ZZ2162+ZZ2162
-+006014        774150          ZZ2162=ZZ2162+ZZ2162
-+006014        770320          ZZ2162=ZZ2162+ZZ2162
-+006014        760640          ZZ2162=ZZ2162+ZZ2162
-+006014        741500          ZZ2162=ZZ2162+ZZ2162
-+006014        703200          ZZ2162=ZZ2162+ZZ2162
-+006014        606400          ZZ2162=ZZ2162+ZZ2162
-+006014        007071          0 8192 -ZZ1162
-+006015        606400          0 ZZ2162
--       mark 4842, 448         /16 boot, arcturus
-+006016        001600          ZZ2163=ZZ2163+ZZ2163
-+006016        003400          ZZ2163=ZZ2163+ZZ2163
-+006016        007000          ZZ2163=ZZ2163+ZZ2163
-+006016        016000          ZZ2163=ZZ2163+ZZ2163
-+006016        034000          ZZ2163=ZZ2163+ZZ2163
-+006016        070000          ZZ2163=ZZ2163+ZZ2163
-+006016        160000          ZZ2163=ZZ2163+ZZ2163
-+006016        340000          ZZ2163=ZZ2163+ZZ2163
-+006016        006426          0 8192 -ZZ1163
-+006017        340000          0 ZZ2163
- 006020                1q,
--       mark 6747, 196         /53 aqil, altair
-+006020        000610          ZZ2164=ZZ2164+ZZ2164
-+006020        001420          ZZ2164=ZZ2164+ZZ2164
-+006020        003040          ZZ2164=ZZ2164+ZZ2164
-+006020        006100          ZZ2164=ZZ2164+ZZ2164
-+006020        014200          ZZ2164=ZZ2164+ZZ2164
-+006020        030400          ZZ2164=ZZ2164+ZZ2164
-+006020        061000          ZZ2164=ZZ2164+ZZ2164
-+006020        142000          ZZ2164=ZZ2164+ZZ2164
-+006020        002645          0 8192 -ZZ1164
-+006021        142000          0 ZZ2164
- 006022                2j,
--       mark 1819, 143         /24 orio, bellatrix
-+006022        000436          ZZ2165=ZZ2165+ZZ2165
-+006022        001074          ZZ2165=ZZ2165+ZZ2165
-+006022        002170          ZZ2165=ZZ2165+ZZ2165
-+006022        004360          ZZ2165=ZZ2165+ZZ2165
-+006022        010740          ZZ2165=ZZ2165+ZZ2165
-+006022        021700          ZZ2165=ZZ2165+ZZ2165
-+006022        043600          ZZ2165=ZZ2165+ZZ2165
-+006022        107400          ZZ2165=ZZ2165+ZZ2165
-+006022        014345          0 8192 -ZZ1165
-+006023        107400          0 ZZ2165
--       mark 1884, -29         /46 orio
-+006024        777704          ZZ2166=ZZ2166+ZZ2166
-+006024        777610          ZZ2166=ZZ2166+ZZ2166
-+006024        777420          ZZ2166=ZZ2166+ZZ2166
-+006024        777040          ZZ2166=ZZ2166+ZZ2166
-+006024        776100          ZZ2166=ZZ2166+ZZ2166
-+006024        774200          ZZ2166=ZZ2166+ZZ2166
-+006024        770400          ZZ2166=ZZ2166+ZZ2166
-+006024        761000          ZZ2166=ZZ2166+ZZ2166
-+006024        014244          0 8192 -ZZ1166
-+006025        761000          0 ZZ2166
--       mark 1910, -46         /50 orio
-+006026        777642          ZZ2167=ZZ2167+ZZ2167
-+006026        777504          ZZ2167=ZZ2167+ZZ2167
-+006026        777210          ZZ2167=ZZ2167+ZZ2167
-+006026        776420          ZZ2167=ZZ2167+ZZ2167
-+006026        775040          ZZ2167=ZZ2167+ZZ2167
-+006026        772100          ZZ2167=ZZ2167+ZZ2167
-+006026        764200          ZZ2167=ZZ2167+ZZ2167
-+006026        750400          ZZ2167=ZZ2167+ZZ2167
-+006026        014212          0 8192 -ZZ1167
-+006027        750400          0 ZZ2167
--       mark 1951, -221        /53 orio
-+006030        777104          ZZ2168=ZZ2168+ZZ2168
-+006030        776210          ZZ2168=ZZ2168+ZZ2168
-+006030        774420          ZZ2168=ZZ2168+ZZ2168
-+006030        771040          ZZ2168=ZZ2168+ZZ2168
-+006030        762100          ZZ2168=ZZ2168+ZZ2168
-+006030        744200          ZZ2168=ZZ2168+ZZ2168
-+006030        710400          ZZ2168=ZZ2168+ZZ2168
-+006030        621000          ZZ2168=ZZ2168+ZZ2168
-+006030        014141          0 8192 -ZZ1168
-+006031        621000          0 ZZ2168
--       mark 2152, -407        / 2 cmaj
-+006032        776320          ZZ2169=ZZ2169+ZZ2169
-+006032        774640          ZZ2169=ZZ2169+ZZ2169
-+006032        771500          ZZ2169=ZZ2169+ZZ2169
-+006032        763200          ZZ2169=ZZ2169+ZZ2169
-+006032        746400          ZZ2169=ZZ2169+ZZ2169
-+006032        715000          ZZ2169=ZZ2169+ZZ2169
-+006032        632000          ZZ2169=ZZ2169+ZZ2169
-+006032        464000          ZZ2169=ZZ2169+ZZ2169
-+006032        013630          0 8192 -ZZ1169
-+006033        464000          0 ZZ2169
--       mark 2230, 375         /24 gemi
-+006034        001356          ZZ2170=ZZ2170+ZZ2170
-+006034        002734          ZZ2170=ZZ2170+ZZ2170
-+006034        005670          ZZ2170=ZZ2170+ZZ2170
-+006034        013560          ZZ2170=ZZ2170+ZZ2170
-+006034        027340          ZZ2170=ZZ2170+ZZ2170
-+006034        056700          ZZ2170=ZZ2170+ZZ2170
-+006034        135600          ZZ2170=ZZ2170+ZZ2170
-+006034        273400          ZZ2170=ZZ2170+ZZ2170
-+006034        013512          0 8192 -ZZ1170
-+006035        273400          0 ZZ2170
--       mark 3201, -187        /30 hyda, alphard
-+006036        777210          ZZ2171=ZZ2171+ZZ2171
-+006036        776420          ZZ2171=ZZ2171+ZZ2171
-+006036        775040          ZZ2171=ZZ2171+ZZ2171
-+006036        772100          ZZ2171=ZZ2171+ZZ2171
-+006036        764200          ZZ2171=ZZ2171+ZZ2171
-+006036        750400          ZZ2171=ZZ2171+ZZ2171
-+006036        721000          ZZ2171=ZZ2171+ZZ2171
-+006036        642000          ZZ2171=ZZ2171+ZZ2171
-+006036        011577          0 8192 -ZZ1171
-+006037        642000          0 ZZ2171
--       mark 4005, 344         /94 leon, denebola
-+006040        001260          ZZ2172=ZZ2172+ZZ2172
-+006040        002540          ZZ2172=ZZ2172+ZZ2172
-+006040        005300          ZZ2172=ZZ2172+ZZ2172
-+006040        012600          ZZ2172=ZZ2172+ZZ2172
-+006040        025400          ZZ2172=ZZ2172+ZZ2172
-+006040        053000          ZZ2172=ZZ2172+ZZ2172
-+006040        126000          ZZ2172=ZZ2172+ZZ2172
-+006040        254000          ZZ2172=ZZ2172+ZZ2172
-+006040        010133          0 8192 -ZZ1172
-+006041        254000          0 ZZ2172
- 006042                2q,
--       mark 5975, 288         /55 ophi
-+006042        001100          ZZ2173=ZZ2173+ZZ2173
-+006042        002200          ZZ2173=ZZ2173+ZZ2173
-+006042        004400          ZZ2173=ZZ2173+ZZ2173
-+006042        011000          ZZ2173=ZZ2173+ZZ2173
-+006042        022000          ZZ2173=ZZ2173+ZZ2173
-+006042        044000          ZZ2173=ZZ2173+ZZ2173
-+006042        110000          ZZ2173=ZZ2173+ZZ2173
-+006042        220000          ZZ2173=ZZ2173+ZZ2173
-+006042        004251          0 8192 -ZZ1173
-+006043        220000          0 ZZ2173
- 006044                3j,
--       mark   46, 333         /88 pegs, algenib
-+006044        001232          ZZ2174=ZZ2174+ZZ2174
-+006044        002464          ZZ2174=ZZ2174+ZZ2174
-+006044        005150          ZZ2174=ZZ2174+ZZ2174
-+006044        012320          ZZ2174=ZZ2174+ZZ2174
-+006044        024640          ZZ2174=ZZ2174+ZZ2174
-+006044        051500          ZZ2174=ZZ2174+ZZ2174
-+006044        123200          ZZ2174=ZZ2174+ZZ2174
-+006044        246400          ZZ2174=ZZ2174+ZZ2174
-+006044        017722          0 8192 -ZZ1174
-+006045        246400          0 ZZ2174
--       mark  362, -244        /31 ceti
-+006046        777026          ZZ2175=ZZ2175+ZZ2175
-+006046        776054          ZZ2175=ZZ2175+ZZ2175
-+006046        774130          ZZ2175=ZZ2175+ZZ2175
-+006046        770260          ZZ2175=ZZ2175+ZZ2175
-+006046        760540          ZZ2175=ZZ2175+ZZ2175
-+006046        741300          ZZ2175=ZZ2175+ZZ2175
-+006046        702600          ZZ2175=ZZ2175+ZZ2175
-+006046        605400          ZZ2175=ZZ2175+ZZ2175
-+006046        017226          0 8192 -ZZ1175
-+006047        605400          0 ZZ2175
--       mark  490, 338         /99 pisc
-+006050        001244          ZZ2176=ZZ2176+ZZ2176
-+006050        002510          ZZ2176=ZZ2176+ZZ2176
-+006050        005220          ZZ2176=ZZ2176+ZZ2176
-+006050        012440          ZZ2176=ZZ2176+ZZ2176
-+006050        025100          ZZ2176=ZZ2176+ZZ2176
-+006050        052200          ZZ2176=ZZ2176+ZZ2176
-+006050        124400          ZZ2176=ZZ2176+ZZ2176
-+006050        251000          ZZ2176=ZZ2176+ZZ2176
-+006050        017026          0 8192 -ZZ1176
-+006051        251000          0 ZZ2176
--       mark  566, -375        /52 ceti
-+006052        776420          ZZ2177=ZZ2177+ZZ2177
-+006052        775040          ZZ2177=ZZ2177+ZZ2177
-+006052        772100          ZZ2177=ZZ2177+ZZ2177
-+006052        764200          ZZ2177=ZZ2177+ZZ2177
-+006052        750400          ZZ2177=ZZ2177+ZZ2177
-+006052        721000          ZZ2177=ZZ2177+ZZ2177
-+006052        642000          ZZ2177=ZZ2177+ZZ2177
-+006052        504000          ZZ2177=ZZ2177+ZZ2177
-+006052        016712          0 8192 -ZZ1177
-+006053        504000          0 ZZ2177
--       mark  621, 462         / 6 arie
-+006054        001634          ZZ2178=ZZ2178+ZZ2178
-+006054        003470          ZZ2178=ZZ2178+ZZ2178
-+006054        007160          ZZ2178=ZZ2178+ZZ2178
-+006054        016340          ZZ2178=ZZ2178+ZZ2178
-+006054        034700          ZZ2178=ZZ2178+ZZ2178
-+006054        071600          ZZ2178=ZZ2178+ZZ2178
-+006054        163400          ZZ2178=ZZ2178+ZZ2178
-+006054        347000          ZZ2178=ZZ2178+ZZ2178
-+006054        016623          0 8192 -ZZ1178
-+006055        347000          0 ZZ2178
--       mark 764, -78          /68 ceti, mira
-+006056        777542          ZZ2179=ZZ2179+ZZ2179
-+006056        777304          ZZ2179=ZZ2179+ZZ2179
-+006056        776610          ZZ2179=ZZ2179+ZZ2179
-+006056        775420          ZZ2179=ZZ2179+ZZ2179
-+006056        773040          ZZ2179=ZZ2179+ZZ2179
-+006056        766100          ZZ2179=ZZ2179+ZZ2179
-+006056        754200          ZZ2179=ZZ2179+ZZ2179
-+006056        730400          ZZ2179=ZZ2179+ZZ2179
-+006056        016404          0 8192 -ZZ1179
-+006057        730400          0 ZZ2179
--       mark  900, 64          /86 ceti
-+006060        000200          ZZ2180=ZZ2180+ZZ2180
-+006060        000400          ZZ2180=ZZ2180+ZZ2180
-+006060        001000          ZZ2180=ZZ2180+ZZ2180
-+006060        002000          ZZ2180=ZZ2180+ZZ2180
-+006060        004000          ZZ2180=ZZ2180+ZZ2180
-+006060        010000          ZZ2180=ZZ2180+ZZ2180
-+006060        020000          ZZ2180=ZZ2180+ZZ2180
-+006060        040000          ZZ2180=ZZ2180+ZZ2180
-+006060        016174          0 8192 -ZZ1180
-+006061        040000          0 ZZ2180
--       mark 1007, 84          /92 ceti
-+006062        000250          ZZ2181=ZZ2181+ZZ2181
-+006062        000520          ZZ2181=ZZ2181+ZZ2181
-+006062        001240          ZZ2181=ZZ2181+ZZ2181
-+006062        002500          ZZ2181=ZZ2181+ZZ2181
-+006062        005200          ZZ2181=ZZ2181+ZZ2181
-+006062        012400          ZZ2181=ZZ2181+ZZ2181
-+006062        025000          ZZ2181=ZZ2181+ZZ2181
-+006062        052000          ZZ2181=ZZ2181+ZZ2181
-+006062        016021          0 8192 -ZZ1181
-+006063        052000          0 ZZ2181
--       mark 1243, -230        /23 erid
-+006064        777062          ZZ2182=ZZ2182+ZZ2182
-+006064        776144          ZZ2182=ZZ2182+ZZ2182
-+006064        774310          ZZ2182=ZZ2182+ZZ2182
-+006064        770620          ZZ2182=ZZ2182+ZZ2182
-+006064        761440          ZZ2182=ZZ2182+ZZ2182
-+006064        743100          ZZ2182=ZZ2182+ZZ2182
-+006064        706200          ZZ2182=ZZ2182+ZZ2182
-+006064        614400          ZZ2182=ZZ2182+ZZ2182
-+006064        015445          0 8192 -ZZ1182
-+006065        614400          0 ZZ2182
--       mark 1328, -314        /34 erid
-+006066        776612          ZZ2183=ZZ2183+ZZ2183
-+006066        775424          ZZ2183=ZZ2183+ZZ2183
-+006066        773050          ZZ2183=ZZ2183+ZZ2183
-+006066        766120          ZZ2183=ZZ2183+ZZ2183
-+006066        754240          ZZ2183=ZZ2183+ZZ2183
-+006066        730500          ZZ2183=ZZ2183+ZZ2183
-+006066        661200          ZZ2183=ZZ2183+ZZ2183
-+006066        542400          ZZ2183=ZZ2183+ZZ2183
-+006066        015320          0 8192 -ZZ1183
-+006067        542400          0 ZZ2183
--       mark 1495, 432         /74 taur
-+006070        001540          ZZ2184=ZZ2184+ZZ2184
-+006070        003300          ZZ2184=ZZ2184+ZZ2184
-+006070        006600          ZZ2184=ZZ2184+ZZ2184
-+006070        015400          ZZ2184=ZZ2184+ZZ2184
-+006070        033000          ZZ2184=ZZ2184+ZZ2184
-+006070        066000          ZZ2184=ZZ2184+ZZ2184
-+006070        154000          ZZ2184=ZZ2184+ZZ2184
-+006070        330000          ZZ2184=ZZ2184+ZZ2184
-+006070        015051          0 8192 -ZZ1184
-+006071        330000          0 ZZ2184
--       mark 1496, 356         /78 taur
-+006072        001310          ZZ2185=ZZ2185+ZZ2185
-+006072        002620          ZZ2185=ZZ2185+ZZ2185
-+006072        005440          ZZ2185=ZZ2185+ZZ2185
-+006072        013100          ZZ2185=ZZ2185+ZZ2185
-+006072        026200          ZZ2185=ZZ2185+ZZ2185
-+006072        054400          ZZ2185=ZZ2185+ZZ2185
-+006072        131000          ZZ2185=ZZ2185+ZZ2185
-+006072        262000          ZZ2185=ZZ2185+ZZ2185
-+006072        015050          0 8192 -ZZ1185
-+006073        262000          0 ZZ2185
--       mark 1618, 154         / 1 orio
-+006074        000464          ZZ2186=ZZ2186+ZZ2186
-+006074        001150          ZZ2186=ZZ2186+ZZ2186
-+006074        002320          ZZ2186=ZZ2186+ZZ2186
-+006074        004640          ZZ2186=ZZ2186+ZZ2186
-+006074        011500          ZZ2186=ZZ2186+ZZ2186
-+006074        023200          ZZ2186=ZZ2186+ZZ2186
-+006074        046400          ZZ2186=ZZ2186+ZZ2186
-+006074        115000          ZZ2186=ZZ2186+ZZ2186
-+006074        014656          0 8192 -ZZ1186
-+006075        115000          0 ZZ2186
--       mark 1644, 52          / 8 orio
-+006076        000150          ZZ2187=ZZ2187+ZZ2187
-+006076        000320          ZZ2187=ZZ2187+ZZ2187
-+006076        000640          ZZ2187=ZZ2187+ZZ2187
-+006076        001500          ZZ2187=ZZ2187+ZZ2187
-+006076        003200          ZZ2187=ZZ2187+ZZ2187
-+006076        006400          ZZ2187=ZZ2187+ZZ2187
-+006076        015000          ZZ2187=ZZ2187+ZZ2187
-+006076        032000          ZZ2187=ZZ2187+ZZ2187
-+006076        014624          0 8192 -ZZ1187
-+006077        032000          0 ZZ2187
--       mark 1723, -119        /67 erid
-+006100        777420          ZZ2188=ZZ2188+ZZ2188
-+006100        777040          ZZ2188=ZZ2188+ZZ2188
-+006100        776100          ZZ2188=ZZ2188+ZZ2188
-+006100        774200          ZZ2188=ZZ2188+ZZ2188
-+006100        770400          ZZ2188=ZZ2188+ZZ2188
-+006100        761000          ZZ2188=ZZ2188+ZZ2188
-+006100        742000          ZZ2188=ZZ2188+ZZ2188
-+006100        704000          ZZ2188=ZZ2188+ZZ2188
-+006100        014505          0 8192 -ZZ1188
-+006101        704000          0 ZZ2188
--       mark 1755, -371        / 5 leps
-+006102        776430          ZZ2189=ZZ2189+ZZ2189
-+006102        775060          ZZ2189=ZZ2189+ZZ2189
-+006102        772140          ZZ2189=ZZ2189+ZZ2189
-+006102        764300          ZZ2189=ZZ2189+ZZ2189
-+006102        750600          ZZ2189=ZZ2189+ZZ2189
-+006102        721400          ZZ2189=ZZ2189+ZZ2189
-+006102        643000          ZZ2189=ZZ2189+ZZ2189
-+006102        506000          ZZ2189=ZZ2189+ZZ2189
-+006102        014445          0 8192 -ZZ1189
-+006103        506000          0 ZZ2189
--       mark 1779, -158        /20 orio
-+006104        777302          ZZ2190=ZZ2190+ZZ2190
-+006104        776604          ZZ2190=ZZ2190+ZZ2190
-+006104        775410          ZZ2190=ZZ2190+ZZ2190
-+006104        773020          ZZ2190=ZZ2190+ZZ2190
-+006104        766040          ZZ2190=ZZ2190+ZZ2190
-+006104        754100          ZZ2190=ZZ2190+ZZ2190
-+006104        730200          ZZ2190=ZZ2190+ZZ2190
-+006104        660400          ZZ2190=ZZ2190+ZZ2190
-+006104        014415          0 8192 -ZZ1190
-+006105        660400          0 ZZ2190
--       mark 1817, -57         /28 orio
-+006106        777614          ZZ2191=ZZ2191+ZZ2191
-+006106        777430          ZZ2191=ZZ2191+ZZ2191
-+006106        777060          ZZ2191=ZZ2191+ZZ2191
-+006106        776140          ZZ2191=ZZ2191+ZZ2191
-+006106        774300          ZZ2191=ZZ2191+ZZ2191
-+006106        770600          ZZ2191=ZZ2191+ZZ2191
-+006106        761400          ZZ2191=ZZ2191+ZZ2191
-+006106        743000          ZZ2191=ZZ2191+ZZ2191
-+006106        014347          0 8192 -ZZ1191
-+006107        743000          0 ZZ2191
--       mark 1843, -474        / 9 leps
-+006110        776112          ZZ2192=ZZ2192+ZZ2192
-+006110        774224          ZZ2192=ZZ2192+ZZ2192
-+006110        770450          ZZ2192=ZZ2192+ZZ2192
-+006110        761120          ZZ2192=ZZ2192+ZZ2192
-+006110        742240          ZZ2192=ZZ2192+ZZ2192
-+006110        704500          ZZ2192=ZZ2192+ZZ2192
-+006110        611200          ZZ2192=ZZ2192+ZZ2192
-+006110        422400          ZZ2192=ZZ2192+ZZ2192
-+006110        014315          0 8192 -ZZ1192
-+006111        422400          0 ZZ2192
--       mark 1860, -8          /34 orio
-+006112        777756          ZZ2193=ZZ2193+ZZ2193
-+006112        777734          ZZ2193=ZZ2193+ZZ2193
-+006112        777670          ZZ2193=ZZ2193+ZZ2193
-+006112        777560          ZZ2193=ZZ2193+ZZ2193
-+006112        777340          ZZ2193=ZZ2193+ZZ2193
-+006112        776700          ZZ2193=ZZ2193+ZZ2193
-+006112        775600          ZZ2193=ZZ2193+ZZ2193
-+006112        773400          ZZ2193=ZZ2193+ZZ2193
-+006112        014274          0 8192 -ZZ1193
-+006113        773400          0 ZZ2193
--       mark 1868, -407        /11 leps
-+006114        776320          ZZ2194=ZZ2194+ZZ2194
-+006114        774640          ZZ2194=ZZ2194+ZZ2194
-+006114        771500          ZZ2194=ZZ2194+ZZ2194
-+006114        763200          ZZ2194=ZZ2194+ZZ2194
-+006114        746400          ZZ2194=ZZ2194+ZZ2194
-+006114        715000          ZZ2194=ZZ2194+ZZ2194
-+006114        632000          ZZ2194=ZZ2194+ZZ2194
-+006114        464000          ZZ2194=ZZ2194+ZZ2194
-+006114        014264          0 8192 -ZZ1194
-+006115        464000          0 ZZ2194
--       mark 1875, 225         /39 orio
-+006116        000702          ZZ2195=ZZ2195+ZZ2195
-+006116        001604          ZZ2195=ZZ2195+ZZ2195
-+006116        003410          ZZ2195=ZZ2195+ZZ2195
-+006116        007020          ZZ2195=ZZ2195+ZZ2195
-+006116        016040          ZZ2195=ZZ2195+ZZ2195
-+006116        034100          ZZ2195=ZZ2195+ZZ2195
-+006116        070200          ZZ2195=ZZ2195+ZZ2195
-+006116        160400          ZZ2195=ZZ2195+ZZ2195
-+006116        014255          0 8192 -ZZ1195
-+006117        160400          0 ZZ2195
--       mark 1880, -136        /44 orio
-+006120        777356          ZZ2196=ZZ2196+ZZ2196
-+006120        776734          ZZ2196=ZZ2196+ZZ2196
-+006120        775670          ZZ2196=ZZ2196+ZZ2196
-+006120        773560          ZZ2196=ZZ2196+ZZ2196
-+006120        767340          ZZ2196=ZZ2196+ZZ2196
-+006120        756700          ZZ2196=ZZ2196+ZZ2196
-+006120        735600          ZZ2196=ZZ2196+ZZ2196
-+006120        673400          ZZ2196=ZZ2196+ZZ2196
-+006120        014250          0 8192 -ZZ1196
-+006121        673400          0 ZZ2196
--       mark 1887, 480         /123 taur
-+006122        001700          ZZ2197=ZZ2197+ZZ2197
-+006122        003600          ZZ2197=ZZ2197+ZZ2197
-+006122        007400          ZZ2197=ZZ2197+ZZ2197
-+006122        017000          ZZ2197=ZZ2197+ZZ2197
-+006122        036000          ZZ2197=ZZ2197+ZZ2197
-+006122        074000          ZZ2197=ZZ2197+ZZ2197
-+006122        170000          ZZ2197=ZZ2197+ZZ2197
-+006122        360000          ZZ2197=ZZ2197+ZZ2197
-+006122        014241          0 8192 -ZZ1197
-+006123        360000          0 ZZ2197
--       mark 1948, -338        /14 leps
-+006124        776532          ZZ2198=ZZ2198+ZZ2198
-+006124        775264          ZZ2198=ZZ2198+ZZ2198
-+006124        772550          ZZ2198=ZZ2198+ZZ2198
-+006124        765320          ZZ2198=ZZ2198+ZZ2198
-+006124        752640          ZZ2198=ZZ2198+ZZ2198
-+006124        725500          ZZ2198=ZZ2198+ZZ2198
-+006124        653200          ZZ2198=ZZ2198+ZZ2198
-+006124        526400          ZZ2198=ZZ2198+ZZ2198
-+006124        014144          0 8192 -ZZ1198
-+006125        526400          0 ZZ2198
--       mark 2274, 296         /31 gemi
-+006126        001120          ZZ2199=ZZ2199+ZZ2199
-+006126        002240          ZZ2199=ZZ2199+ZZ2199
-+006126        004500          ZZ2199=ZZ2199+ZZ2199
-+006126        011200          ZZ2199=ZZ2199+ZZ2199
-+006126        022400          ZZ2199=ZZ2199+ZZ2199
-+006126        045000          ZZ2199=ZZ2199+ZZ2199
-+006126        112000          ZZ2199=ZZ2199+ZZ2199
-+006126        224000          ZZ2199=ZZ2199+ZZ2199
-+006126        013436          0 8192 -ZZ1199
-+006127        224000          0 ZZ2199
--       mark 2460, 380         /54 gemi
-+006130        001370          ZZ2200=ZZ2200+ZZ2200
-+006130        002760          ZZ2200=ZZ2200+ZZ2200
-+006130        005740          ZZ2200=ZZ2200+ZZ2200
-+006130        013700          ZZ2200=ZZ2200+ZZ2200
-+006130        027600          ZZ2200=ZZ2200+ZZ2200
-+006130        057400          ZZ2200=ZZ2200+ZZ2200
-+006130        137000          ZZ2200=ZZ2200+ZZ2200
-+006130        276000          ZZ2200=ZZ2200+ZZ2200
-+006130        013144          0 8192 -ZZ1200
-+006131        276000          0 ZZ2200
--       mark 2470, 504         /55 gemi
-+006132        001760          ZZ2201=ZZ2201+ZZ2201
-+006132        003740          ZZ2201=ZZ2201+ZZ2201
-+006132        007700          ZZ2201=ZZ2201+ZZ2201
-+006132        017600          ZZ2201=ZZ2201+ZZ2201
-+006132        037400          ZZ2201=ZZ2201+ZZ2201
-+006132        077000          ZZ2201=ZZ2201+ZZ2201
-+006132        176000          ZZ2201=ZZ2201+ZZ2201
-+006132        374000          ZZ2201=ZZ2201+ZZ2201
-+006132        013132          0 8192 -ZZ1201
-+006133        374000          0 ZZ2201
--       mark 2513, 193         / 3 cmin
-+006134        000602          ZZ2202=ZZ2202+ZZ2202
-+006134        001404          ZZ2202=ZZ2202+ZZ2202
-+006134        003010          ZZ2202=ZZ2202+ZZ2202
-+006134        006020          ZZ2202=ZZ2202+ZZ2202
-+006134        014040          ZZ2202=ZZ2202+ZZ2202
-+006134        030100          ZZ2202=ZZ2202+ZZ2202
-+006134        060200          ZZ2202=ZZ2202+ZZ2202
-+006134        140400          ZZ2202=ZZ2202+ZZ2202
-+006134        013057          0 8192 -ZZ1202
-+006135        140400          0 ZZ2202
--       mark 2967, 154         /11 hyda
-+006136        000464          ZZ2203=ZZ2203+ZZ2203
-+006136        001150          ZZ2203=ZZ2203+ZZ2203
-+006136        002320          ZZ2203=ZZ2203+ZZ2203
-+006136        004640          ZZ2203=ZZ2203+ZZ2203
-+006136        011500          ZZ2203=ZZ2203+ZZ2203
-+006136        023200          ZZ2203=ZZ2203+ZZ2203
-+006136        046400          ZZ2203=ZZ2203+ZZ2203
-+006136        115000          ZZ2203=ZZ2203+ZZ2203
-+006136        012151          0 8192 -ZZ1203
-+006137        115000          0 ZZ2203
--       mark 3016, 144         /16 hyda
-+006140        000440          ZZ2204=ZZ2204+ZZ2204
-+006140        001100          ZZ2204=ZZ2204+ZZ2204
-+006140        002200          ZZ2204=ZZ2204+ZZ2204
-+006140        004400          ZZ2204=ZZ2204+ZZ2204
-+006140        011000          ZZ2204=ZZ2204+ZZ2204
-+006140        022000          ZZ2204=ZZ2204+ZZ2204
-+006140        044000          ZZ2204=ZZ2204+ZZ2204
-+006140        110000          ZZ2204=ZZ2204+ZZ2204
-+006140        012070          0 8192 -ZZ1204
-+006141        110000          0 ZZ2204
--       mark 3424, 393         /30 leon
-+006142        001422          ZZ2205=ZZ2205+ZZ2205
-+006142        003044          ZZ2205=ZZ2205+ZZ2205
-+006142        006110          ZZ2205=ZZ2205+ZZ2205
-+006142        014220          ZZ2205=ZZ2205+ZZ2205
-+006142        030440          ZZ2205=ZZ2205+ZZ2205
-+006142        061100          ZZ2205=ZZ2205+ZZ2205
-+006142        142200          ZZ2205=ZZ2205+ZZ2205
-+006142        304400          ZZ2205=ZZ2205+ZZ2205
-+006142        011240          0 8192 -ZZ1205
-+006143        304400          0 ZZ2205
--       mark 3496, 463         /41 leon, algieba
-+006144        001636          ZZ2206=ZZ2206+ZZ2206
-+006144        003474          ZZ2206=ZZ2206+ZZ2206
-+006144        007170          ZZ2206=ZZ2206+ZZ2206
-+006144        016360          ZZ2206=ZZ2206+ZZ2206
-+006144        034740          ZZ2206=ZZ2206+ZZ2206
-+006144        071700          ZZ2206=ZZ2206+ZZ2206
-+006144        163600          ZZ2206=ZZ2206+ZZ2206
-+006144        347400          ZZ2206=ZZ2206+ZZ2206
-+006144        011130          0 8192 -ZZ1206
-+006145        347400          0 ZZ2206
--       mark 3668, -357        /nu hyda
-+006146        776464          ZZ2207=ZZ2207+ZZ2207
-+006146        775150          ZZ2207=ZZ2207+ZZ2207
-+006146        772320          ZZ2207=ZZ2207+ZZ2207
-+006146        764640          ZZ2207=ZZ2207+ZZ2207
-+006146        751500          ZZ2207=ZZ2207+ZZ2207
-+006146        723200          ZZ2207=ZZ2207+ZZ2207
-+006146        646400          ZZ2207=ZZ2207+ZZ2207
-+006146        515000          ZZ2207=ZZ2207+ZZ2207
-+006146        010654          0 8192 -ZZ1207
-+006147        515000          0 ZZ2207
--       mark 3805, 479         /68 leon
-+006150        001676          ZZ2208=ZZ2208+ZZ2208
-+006150        003574          ZZ2208=ZZ2208+ZZ2208
-+006150        007370          ZZ2208=ZZ2208+ZZ2208
-+006150        016760          ZZ2208=ZZ2208+ZZ2208
-+006150        035740          ZZ2208=ZZ2208+ZZ2208
-+006150        073700          ZZ2208=ZZ2208+ZZ2208
-+006150        167600          ZZ2208=ZZ2208+ZZ2208
-+006150        357400          ZZ2208=ZZ2208+ZZ2208
-+006150        010443          0 8192 -ZZ1208
-+006151        357400          0 ZZ2208
--       mark 3806, 364         /10 leon
-+006152        001330          ZZ2209=ZZ2209+ZZ2209
-+006152        002660          ZZ2209=ZZ2209+ZZ2209
-+006152        005540          ZZ2209=ZZ2209+ZZ2209
-+006152        013300          ZZ2209=ZZ2209+ZZ2209
-+006152        026600          ZZ2209=ZZ2209+ZZ2209
-+006152        055400          ZZ2209=ZZ2209+ZZ2209
-+006152        133000          ZZ2209=ZZ2209+ZZ2209
-+006152        266000          ZZ2209=ZZ2209+ZZ2209
-+006152        010442          0 8192 -ZZ1209
-+006153        266000          0 ZZ2209
--       mark 4124, -502        / 2 corv
-+006154        776022          ZZ2210=ZZ2210+ZZ2210
-+006154        774044          ZZ2210=ZZ2210+ZZ2210
-+006154        770110          ZZ2210=ZZ2210+ZZ2210
-+006154        760220          ZZ2210=ZZ2210+ZZ2210
-+006154        740440          ZZ2210=ZZ2210+ZZ2210
-+006154        701100          ZZ2210=ZZ2210+ZZ2210
-+006154        602200          ZZ2210=ZZ2210+ZZ2210
-+006154        404400          ZZ2210=ZZ2210+ZZ2210
-+006154        007744          0 8192 -ZZ1210
-+006155        404400          0 ZZ2210
--       mark 4157, -387        / 4 corv
-+006156        776370          ZZ2211=ZZ2211+ZZ2211
-+006156        774760          ZZ2211=ZZ2211+ZZ2211
-+006156        771740          ZZ2211=ZZ2211+ZZ2211
-+006156        763700          ZZ2211=ZZ2211+ZZ2211
-+006156        747600          ZZ2211=ZZ2211+ZZ2211
-+006156        717400          ZZ2211=ZZ2211+ZZ2211
-+006156        637000          ZZ2211=ZZ2211+ZZ2211
-+006156        476000          ZZ2211=ZZ2211+ZZ2211
-+006156        007703          0 8192 -ZZ1211
-+006157        476000          0 ZZ2211
--       mark 4236, -363        / 7 corv
-+006160        776450          ZZ2212=ZZ2212+ZZ2212
-+006160        775120          ZZ2212=ZZ2212+ZZ2212
-+006160        772240          ZZ2212=ZZ2212+ZZ2212
-+006160        764500          ZZ2212=ZZ2212+ZZ2212
-+006160        751200          ZZ2212=ZZ2212+ZZ2212
-+006160        722400          ZZ2212=ZZ2212+ZZ2212
-+006160        645000          ZZ2212=ZZ2212+ZZ2212
-+006160        512000          ZZ2212=ZZ2212+ZZ2212
-+006160        007564          0 8192 -ZZ1212
-+006161        512000          0 ZZ2212
--       mark 4304, -21         /29 virg
-+006162        777724          ZZ2213=ZZ2213+ZZ2213
-+006162        777650          ZZ2213=ZZ2213+ZZ2213
-+006162        777520          ZZ2213=ZZ2213+ZZ2213
-+006162        777240          ZZ2213=ZZ2213+ZZ2213
-+006162        776500          ZZ2213=ZZ2213+ZZ2213
-+006162        775200          ZZ2213=ZZ2213+ZZ2213
-+006162        772400          ZZ2213=ZZ2213+ZZ2213
-+006162        765000          ZZ2213=ZZ2213+ZZ2213
-+006162        007460          0 8192 -ZZ1213
-+006163        765000          0 ZZ2213
--       mark 4384, 90          /43 virg
-+006164        000264          ZZ2214=ZZ2214+ZZ2214
-+006164        000550          ZZ2214=ZZ2214+ZZ2214
-+006164        001320          ZZ2214=ZZ2214+ZZ2214
-+006164        002640          ZZ2214=ZZ2214+ZZ2214
-+006164        005500          ZZ2214=ZZ2214+ZZ2214
-+006164        013200          ZZ2214=ZZ2214+ZZ2214
-+006164        026400          ZZ2214=ZZ2214+ZZ2214
-+006164        055000          ZZ2214=ZZ2214+ZZ2214
-+006164        007340          0 8192 -ZZ1214
-+006165        055000          0 ZZ2214
--       mark 4421, 262         /47 virg
-+006166        001014          ZZ2215=ZZ2215+ZZ2215
-+006166        002030          ZZ2215=ZZ2215+ZZ2215
-+006166        004060          ZZ2215=ZZ2215+ZZ2215
-+006166        010140          ZZ2215=ZZ2215+ZZ2215
-+006166        020300          ZZ2215=ZZ2215+ZZ2215
-+006166        040600          ZZ2215=ZZ2215+ZZ2215
-+006166        101400          ZZ2215=ZZ2215+ZZ2215
-+006166        203000          ZZ2215=ZZ2215+ZZ2215
-+006166        007273          0 8192 -ZZ1215
-+006167        203000          0 ZZ2215
--       mark 4606, -2          /79 virg
-+006170        777772          ZZ2216=ZZ2216+ZZ2216
-+006170        777764          ZZ2216=ZZ2216+ZZ2216
-+006170        777750          ZZ2216=ZZ2216+ZZ2216
-+006170        777720          ZZ2216=ZZ2216+ZZ2216
-+006170        777640          ZZ2216=ZZ2216+ZZ2216
-+006170        777500          ZZ2216=ZZ2216+ZZ2216
-+006170        777200          ZZ2216=ZZ2216+ZZ2216
-+006170        776400          ZZ2216=ZZ2216+ZZ2216
-+006170        007002          0 8192 -ZZ1216
-+006171        776400          0 ZZ2216
--       mark 4721, 430         / 8 boot
-+006172        001534          ZZ2217=ZZ2217+ZZ2217
-+006172        003270          ZZ2217=ZZ2217+ZZ2217
-+006172        006560          ZZ2217=ZZ2217+ZZ2217
-+006172        015340          ZZ2217=ZZ2217+ZZ2217
-+006172        032700          ZZ2217=ZZ2217+ZZ2217
-+006172        065600          ZZ2217=ZZ2217+ZZ2217
-+006172        153400          ZZ2217=ZZ2217+ZZ2217
-+006172        327000          ZZ2217=ZZ2217+ZZ2217
-+006172        006617          0 8192 -ZZ1217
-+006173        327000          0 ZZ2217
--       mark 5037, -356        / 9 libr
-+006174        776466          ZZ2218=ZZ2218+ZZ2218
-+006174        775154          ZZ2218=ZZ2218+ZZ2218
-+006174        772330          ZZ2218=ZZ2218+ZZ2218
-+006174        764660          ZZ2218=ZZ2218+ZZ2218
-+006174        751540          ZZ2218=ZZ2218+ZZ2218
-+006174        723300          ZZ2218=ZZ2218+ZZ2218
-+006174        646600          ZZ2218=ZZ2218+ZZ2218
-+006174        515400          ZZ2218=ZZ2218+ZZ2218
-+006174        006123          0 8192 -ZZ1218
-+006175        515400          0 ZZ2218
--       mark 5186, -205        /27 libr
-+006176        777144          ZZ2219=ZZ2219+ZZ2219
-+006176        776310          ZZ2219=ZZ2219+ZZ2219
-+006176        774620          ZZ2219=ZZ2219+ZZ2219
-+006176        771440          ZZ2219=ZZ2219+ZZ2219
-+006176        763100          ZZ2219=ZZ2219+ZZ2219
-+006176        746200          ZZ2219=ZZ2219+ZZ2219
-+006176        714400          ZZ2219=ZZ2219+ZZ2219
-+006176        631000          ZZ2219=ZZ2219+ZZ2219
-+006176        005676          0 8192 -ZZ1219
-+006177        631000          0 ZZ2219
--       mark 5344, 153         /24 serp
-+006200        000462          ZZ2220=ZZ2220+ZZ2220
-+006200        001144          ZZ2220=ZZ2220+ZZ2220
-+006200        002310          ZZ2220=ZZ2220+ZZ2220
-+006200        004620          ZZ2220=ZZ2220+ZZ2220
-+006200        011440          ZZ2220=ZZ2220+ZZ2220
-+006200        023100          ZZ2220=ZZ2220+ZZ2220
-+006200        046200          ZZ2220=ZZ2220+ZZ2220
-+006200        114400          ZZ2220=ZZ2220+ZZ2220
-+006200        005440          0 8192 -ZZ1220
-+006201        114400          0 ZZ2220
--       mark 5357, 358         /28 serp
-+006202        001314          ZZ2221=ZZ2221+ZZ2221
-+006202        002630          ZZ2221=ZZ2221+ZZ2221
-+006202        005460          ZZ2221=ZZ2221+ZZ2221
-+006202        013140          ZZ2221=ZZ2221+ZZ2221
-+006202        026300          ZZ2221=ZZ2221+ZZ2221
-+006202        054600          ZZ2221=ZZ2221+ZZ2221
-+006202        131400          ZZ2221=ZZ2221+ZZ2221
-+006202        263000          ZZ2221=ZZ2221+ZZ2221
-+006202        005423          0 8192 -ZZ1221
-+006203        263000          0 ZZ2221
--       mark 5373, -71         /32 serp
-+006204        777560          ZZ2222=ZZ2222+ZZ2222
-+006204        777340          ZZ2222=ZZ2222+ZZ2222
-+006204        776700          ZZ2222=ZZ2222+ZZ2222
-+006204        775600          ZZ2222=ZZ2222+ZZ2222
-+006204        773400          ZZ2222=ZZ2222+ZZ2222
-+006204        767000          ZZ2222=ZZ2222+ZZ2222
-+006204        756000          ZZ2222=ZZ2222+ZZ2222
-+006204        734000          ZZ2222=ZZ2222+ZZ2222
-+006204        005403          0 8192 -ZZ1222
-+006205        734000          0 ZZ2222
--       mark 5430, -508        / 7 scor
-+006206        776006          ZZ2223=ZZ2223+ZZ2223
-+006206        774014          ZZ2223=ZZ2223+ZZ2223
-+006206        770030          ZZ2223=ZZ2223+ZZ2223
-+006206        760060          ZZ2223=ZZ2223+ZZ2223
-+006206        740140          ZZ2223=ZZ2223+ZZ2223
-+006206        700300          ZZ2223=ZZ2223+ZZ2223
-+006206        600600          ZZ2223=ZZ2223+ZZ2223
-+006206        401400          ZZ2223=ZZ2223+ZZ2223
-+006206        005312          0 8192 -ZZ1223
-+006207        401400          0 ZZ2223
--       mark 5459, -445        / 8 scor
-+006210        776204          ZZ2224=ZZ2224+ZZ2224
-+006210        774410          ZZ2224=ZZ2224+ZZ2224
-+006210        771020          ZZ2224=ZZ2224+ZZ2224
-+006210        762040          ZZ2224=ZZ2224+ZZ2224
-+006210        744100          ZZ2224=ZZ2224+ZZ2224
-+006210        710200          ZZ2224=ZZ2224+ZZ2224
-+006210        620400          ZZ2224=ZZ2224+ZZ2224
-+006210        441000          ZZ2224=ZZ2224+ZZ2224
-+006210        005255          0 8192 -ZZ1224
-+006211        441000          0 ZZ2224
--       mark 5513, -78         / 1 ophi
-+006212        777542          ZZ2225=ZZ2225+ZZ2225
-+006212        777304          ZZ2225=ZZ2225+ZZ2225
-+006212        776610          ZZ2225=ZZ2225+ZZ2225
-+006212        775420          ZZ2225=ZZ2225+ZZ2225
-+006212        773040          ZZ2225=ZZ2225+ZZ2225
-+006212        766100          ZZ2225=ZZ2225+ZZ2225
-+006212        754200          ZZ2225=ZZ2225+ZZ2225
-+006212        730400          ZZ2225=ZZ2225+ZZ2225
-+006212        005167          0 8192 -ZZ1225
-+006213        730400          0 ZZ2225
--       mark 5536, -101        / 2 ophi
-+006214        777464          ZZ2226=ZZ2226+ZZ2226
-+006214        777150          ZZ2226=ZZ2226+ZZ2226
-+006214        776320          ZZ2226=ZZ2226+ZZ2226
-+006214        774640          ZZ2226=ZZ2226+ZZ2226
-+006214        771500          ZZ2226=ZZ2226+ZZ2226
-+006214        763200          ZZ2226=ZZ2226+ZZ2226
-+006214        746400          ZZ2226=ZZ2226+ZZ2226
-+006214        715000          ZZ2226=ZZ2226+ZZ2226
-+006214        005140          0 8192 -ZZ1226
-+006215        715000          0 ZZ2226
--       mark 5609, 494         /27 herc
-+006216        001734          ZZ2227=ZZ2227+ZZ2227
-+006216        003670          ZZ2227=ZZ2227+ZZ2227
-+006216        007560          ZZ2227=ZZ2227+ZZ2227
-+006216        017340          ZZ2227=ZZ2227+ZZ2227
-+006216        036700          ZZ2227=ZZ2227+ZZ2227
-+006216        075600          ZZ2227=ZZ2227+ZZ2227
-+006216        173400          ZZ2227=ZZ2227+ZZ2227
-+006216        367000          ZZ2227=ZZ2227+ZZ2227
-+006216        005027          0 8192 -ZZ1227
-+006217        367000          0 ZZ2227
--       mark 5641, -236        /13 ophi
-+006220        777046          ZZ2228=ZZ2228+ZZ2228
-+006220        776114          ZZ2228=ZZ2228+ZZ2228
-+006220        774230          ZZ2228=ZZ2228+ZZ2228
-+006220        770460          ZZ2228=ZZ2228+ZZ2228
-+006220        761140          ZZ2228=ZZ2228+ZZ2228
-+006220        742300          ZZ2228=ZZ2228+ZZ2228
-+006220        704600          ZZ2228=ZZ2228+ZZ2228
-+006220        611400          ZZ2228=ZZ2228+ZZ2228
-+006220        004767          0 8192 -ZZ1228
-+006221        611400          0 ZZ2228
--       mark 5828, -355        /35 ophi
-+006222        776470          ZZ2229=ZZ2229+ZZ2229
-+006222        775160          ZZ2229=ZZ2229+ZZ2229
-+006222        772340          ZZ2229=ZZ2229+ZZ2229
-+006222        764700          ZZ2229=ZZ2229+ZZ2229
-+006222        751600          ZZ2229=ZZ2229+ZZ2229
-+006222        723400          ZZ2229=ZZ2229+ZZ2229
-+006222        647000          ZZ2229=ZZ2229+ZZ2229
-+006222        516000          ZZ2229=ZZ2229+ZZ2229
-+006222        004474          0 8192 -ZZ1229
-+006223        516000          0 ZZ2229
--       mark 5860, 330         /64 herc
-+006224        001224          ZZ2230=ZZ2230+ZZ2230
-+006224        002450          ZZ2230=ZZ2230+ZZ2230
-+006224        005120          ZZ2230=ZZ2230+ZZ2230
-+006224        012240          ZZ2230=ZZ2230+ZZ2230
-+006224        024500          ZZ2230=ZZ2230+ZZ2230
-+006224        051200          ZZ2230=ZZ2230+ZZ2230
-+006224        122400          ZZ2230=ZZ2230+ZZ2230
-+006224        245000          ZZ2230=ZZ2230+ZZ2230
-+006224        004434          0 8192 -ZZ1230
-+006225        245000          0 ZZ2230
--       mark 5984, -349        /55 serp
-+006226        776504          ZZ2231=ZZ2231+ZZ2231
-+006226        775210          ZZ2231=ZZ2231+ZZ2231
-+006226        772420          ZZ2231=ZZ2231+ZZ2231
-+006226        765040          ZZ2231=ZZ2231+ZZ2231
-+006226        752100          ZZ2231=ZZ2231+ZZ2231
-+006226        724200          ZZ2231=ZZ2231+ZZ2231
-+006226        650400          ZZ2231=ZZ2231+ZZ2231
-+006226        521000          ZZ2231=ZZ2231+ZZ2231
-+006226        004240          0 8192 -ZZ1231
-+006227        521000          0 ZZ2231
--       mark 6047, 63          /62 ophi
-+006230        000176          ZZ2232=ZZ2232+ZZ2232
-+006230        000374          ZZ2232=ZZ2232+ZZ2232
-+006230        000770          ZZ2232=ZZ2232+ZZ2232
-+006230        001760          ZZ2232=ZZ2232+ZZ2232
-+006230        003740          ZZ2232=ZZ2232+ZZ2232
-+006230        007700          ZZ2232=ZZ2232+ZZ2232
-+006230        017600          ZZ2232=ZZ2232+ZZ2232
-+006230        037400          ZZ2232=ZZ2232+ZZ2232
-+006230        004141          0 8192 -ZZ1232
-+006231        037400          0 ZZ2232
--       mark 6107, -222        /64 ophi
-+006232        777102          ZZ2233=ZZ2233+ZZ2233
-+006232        776204          ZZ2233=ZZ2233+ZZ2233
-+006232        774410          ZZ2233=ZZ2233+ZZ2233
-+006232        771020          ZZ2233=ZZ2233+ZZ2233
-+006232        762040          ZZ2233=ZZ2233+ZZ2233
-+006232        744100          ZZ2233=ZZ2233+ZZ2233
-+006232        710200          ZZ2233=ZZ2233+ZZ2233
-+006232        620400          ZZ2233=ZZ2233+ZZ2233
-+006232        004045          0 8192 -ZZ1233
-+006233        620400          0 ZZ2233
--       mark 6159, 217         /72 ophi
-+006234        000662          ZZ2234=ZZ2234+ZZ2234
-+006234        001544          ZZ2234=ZZ2234+ZZ2234
-+006234        003310          ZZ2234=ZZ2234+ZZ2234
-+006234        006620          ZZ2234=ZZ2234+ZZ2234
-+006234        015440          ZZ2234=ZZ2234+ZZ2234
-+006234        033100          ZZ2234=ZZ2234+ZZ2234
-+006234        066200          ZZ2234=ZZ2234+ZZ2234
-+006234        154400          ZZ2234=ZZ2234+ZZ2234
-+006234        003761          0 8192 -ZZ1234
-+006235        154400          0 ZZ2234
--       mark 6236, -66         /58 serp
-+006236        777572          ZZ2235=ZZ2235+ZZ2235
-+006236        777364          ZZ2235=ZZ2235+ZZ2235
-+006236        776750          ZZ2235=ZZ2235+ZZ2235
-+006236        775720          ZZ2235=ZZ2235+ZZ2235
-+006236        773640          ZZ2235=ZZ2235+ZZ2235
-+006236        767500          ZZ2235=ZZ2235+ZZ2235
-+006236        757200          ZZ2235=ZZ2235+ZZ2235
-+006236        736400          ZZ2235=ZZ2235+ZZ2235
-+006236        003644          0 8192 -ZZ1235
-+006237        736400          0 ZZ2235
--       mark 6439, -483        /37 sgtr
-+006240        776070          ZZ2236=ZZ2236+ZZ2236
-+006240        774160          ZZ2236=ZZ2236+ZZ2236
-+006240        770340          ZZ2236=ZZ2236+ZZ2236
-+006240        760700          ZZ2236=ZZ2236+ZZ2236
-+006240        741600          ZZ2236=ZZ2236+ZZ2236
-+006240        703400          ZZ2236=ZZ2236+ZZ2236
-+006240        607000          ZZ2236=ZZ2236+ZZ2236
-+006240        416000          ZZ2236=ZZ2236+ZZ2236
-+006240        003331          0 8192 -ZZ1236
-+006241        416000          0 ZZ2236
--       mark 6490, 312         /17 aqil
-+006242        001160          ZZ2237=ZZ2237+ZZ2237
-+006242        002340          ZZ2237=ZZ2237+ZZ2237
-+006242        004700          ZZ2237=ZZ2237+ZZ2237
-+006242        011600          ZZ2237=ZZ2237+ZZ2237
-+006242        023400          ZZ2237=ZZ2237+ZZ2237
-+006242        047000          ZZ2237=ZZ2237+ZZ2237
-+006242        116000          ZZ2237=ZZ2237+ZZ2237
-+006242        234000          ZZ2237=ZZ2237+ZZ2237
-+006242        003246          0 8192 -ZZ1237
-+006243        234000          0 ZZ2237
--       mark 6491, -115        /16 aqil
-+006244        777430          ZZ2238=ZZ2238+ZZ2238
-+006244        777060          ZZ2238=ZZ2238+ZZ2238
-+006244        776140          ZZ2238=ZZ2238+ZZ2238
-+006244        774300          ZZ2238=ZZ2238+ZZ2238
-+006244        770600          ZZ2238=ZZ2238+ZZ2238
-+006244        761400          ZZ2238=ZZ2238+ZZ2238
-+006244        743000          ZZ2238=ZZ2238+ZZ2238
-+006244        706000          ZZ2238=ZZ2238+ZZ2238
-+006244        003245          0 8192 -ZZ1238
-+006245        706000          0 ZZ2238
--       mark 6507, -482        /41 sgtr
-+006246        776072          ZZ2239=ZZ2239+ZZ2239
-+006246        774164          ZZ2239=ZZ2239+ZZ2239
-+006246        770350          ZZ2239=ZZ2239+ZZ2239
-+006246        760720          ZZ2239=ZZ2239+ZZ2239
-+006246        741640          ZZ2239=ZZ2239+ZZ2239
-+006246        703500          ZZ2239=ZZ2239+ZZ2239
-+006246        607200          ZZ2239=ZZ2239+ZZ2239
-+006246        416400          ZZ2239=ZZ2239+ZZ2239
-+006246        003225          0 8192 -ZZ1239
-+006247        416400          0 ZZ2239
--       mark 6602, 66          /30 aqil
-+006250        000204          ZZ2240=ZZ2240+ZZ2240
-+006250        000410          ZZ2240=ZZ2240+ZZ2240
-+006250        001020          ZZ2240=ZZ2240+ZZ2240
-+006250        002040          ZZ2240=ZZ2240+ZZ2240
-+006250        004100          ZZ2240=ZZ2240+ZZ2240
-+006250        010200          ZZ2240=ZZ2240+ZZ2240
-+006250        020400          ZZ2240=ZZ2240+ZZ2240
-+006250        041000          ZZ2240=ZZ2240+ZZ2240
-+006250        003066          0 8192 -ZZ1240
-+006251        041000          0 ZZ2240
--       mark 6721, 236         /50 aqil
-+006252        000730          ZZ2241=ZZ2241+ZZ2241
-+006252        001660          ZZ2241=ZZ2241+ZZ2241
-+006252        003540          ZZ2241=ZZ2241+ZZ2241
-+006252        007300          ZZ2241=ZZ2241+ZZ2241
-+006252        016600          ZZ2241=ZZ2241+ZZ2241
-+006252        035400          ZZ2241=ZZ2241+ZZ2241
-+006252        073000          ZZ2241=ZZ2241+ZZ2241
-+006252        166000          ZZ2241=ZZ2241+ZZ2241
-+006252        002677          0 8192 -ZZ1241
-+006253        166000          0 ZZ2241
--       mark 6794, 437         /12 sgte
-+006254        001552          ZZ2242=ZZ2242+ZZ2242
-+006254        003324          ZZ2242=ZZ2242+ZZ2242
-+006254        006650          ZZ2242=ZZ2242+ZZ2242
-+006254        015520          ZZ2242=ZZ2242+ZZ2242
-+006254        033240          ZZ2242=ZZ2242+ZZ2242
-+006254        066500          ZZ2242=ZZ2242+ZZ2242
-+006254        155200          ZZ2242=ZZ2242+ZZ2242
-+006254        332400          ZZ2242=ZZ2242+ZZ2242
-+006254        002566          0 8192 -ZZ1242
-+006255        332400          0 ZZ2242
--       mark 6862, -25         /65 aqil
-+006256        777714          ZZ2243=ZZ2243+ZZ2243
-+006256        777630          ZZ2243=ZZ2243+ZZ2243
-+006256        777460          ZZ2243=ZZ2243+ZZ2243
-+006256        777140          ZZ2243=ZZ2243+ZZ2243
-+006256        776300          ZZ2243=ZZ2243+ZZ2243
-+006256        774600          ZZ2243=ZZ2243+ZZ2243
-+006256        771400          ZZ2243=ZZ2243+ZZ2243
-+006256        763000          ZZ2243=ZZ2243+ZZ2243
-+006256        002462          0 8192 -ZZ1243
-+006257        763000          0 ZZ2243
--       mark 6914, -344        / 9 capr
-+006260        776516          ZZ2244=ZZ2244+ZZ2244
-+006260        775234          ZZ2244=ZZ2244+ZZ2244
-+006260        772470          ZZ2244=ZZ2244+ZZ2244
-+006260        765160          ZZ2244=ZZ2244+ZZ2244
-+006260        752340          ZZ2244=ZZ2244+ZZ2244
-+006260        724700          ZZ2244=ZZ2244+ZZ2244
-+006260        651600          ZZ2244=ZZ2244+ZZ2244
-+006260        523400          ZZ2244=ZZ2244+ZZ2244
-+006260        002376          0 8192 -ZZ1244
-+006261        523400          0 ZZ2244
--       mark 7014, 324         / 6 dlph
-+006262        001210          ZZ2245=ZZ2245+ZZ2245
-+006262        002420          ZZ2245=ZZ2245+ZZ2245
-+006262        005040          ZZ2245=ZZ2245+ZZ2245
-+006262        012100          ZZ2245=ZZ2245+ZZ2245
-+006262        024200          ZZ2245=ZZ2245+ZZ2245
-+006262        050400          ZZ2245=ZZ2245+ZZ2245
-+006262        121000          ZZ2245=ZZ2245+ZZ2245
-+006262        242000          ZZ2245=ZZ2245+ZZ2245
-+006262        002232          0 8192 -ZZ1245
-+006263        242000          0 ZZ2245
--       mark 7318, -137        /22 aqar
-+006264        777354          ZZ2246=ZZ2246+ZZ2246
-+006264        776730          ZZ2246=ZZ2246+ZZ2246
-+006264        775660          ZZ2246=ZZ2246+ZZ2246
-+006264        773540          ZZ2246=ZZ2246+ZZ2246
-+006264        767300          ZZ2246=ZZ2246+ZZ2246
-+006264        756600          ZZ2246=ZZ2246+ZZ2246
-+006264        735400          ZZ2246=ZZ2246+ZZ2246
-+006264        673000          ZZ2246=ZZ2246+ZZ2246
-+006264        001552          0 8192 -ZZ1246
-+006265        673000          0 ZZ2246
--       mark 7391, 214         / 8 pegs
-+006266        000654          ZZ2247=ZZ2247+ZZ2247
-+006266        001530          ZZ2247=ZZ2247+ZZ2247
-+006266        003260          ZZ2247=ZZ2247+ZZ2247
-+006266        006540          ZZ2247=ZZ2247+ZZ2247
-+006266        015300          ZZ2247=ZZ2247+ZZ2247
-+006266        032600          ZZ2247=ZZ2247+ZZ2247
-+006266        065400          ZZ2247=ZZ2247+ZZ2247
-+006266        153000          ZZ2247=ZZ2247+ZZ2247
-+006266        001441          0 8192 -ZZ1247
-+006267        153000          0 ZZ2247
--       mark 7404, -377        /49 capr
-+006270        776414          ZZ2248=ZZ2248+ZZ2248
-+006270        775030          ZZ2248=ZZ2248+ZZ2248
-+006270        772060          ZZ2248=ZZ2248+ZZ2248
-+006270        764140          ZZ2248=ZZ2248+ZZ2248
-+006270        750300          ZZ2248=ZZ2248+ZZ2248
-+006270        720600          ZZ2248=ZZ2248+ZZ2248
-+006270        641400          ZZ2248=ZZ2248+ZZ2248
-+006270        503000          ZZ2248=ZZ2248+ZZ2248
-+006270        001424          0 8192 -ZZ1248
-+006271        503000          0 ZZ2248
--       mark 7513, -18         /34 aqar
-+006272        777732          ZZ2249=ZZ2249+ZZ2249
-+006272        777664          ZZ2249=ZZ2249+ZZ2249
-+006272        777550          ZZ2249=ZZ2249+ZZ2249
-+006272        777320          ZZ2249=ZZ2249+ZZ2249
-+006272        776640          ZZ2249=ZZ2249+ZZ2249
-+006272        775500          ZZ2249=ZZ2249+ZZ2249
-+006272        773200          ZZ2249=ZZ2249+ZZ2249
-+006272        766400          ZZ2249=ZZ2249+ZZ2249
-+006272        001247          0 8192 -ZZ1249
-+006273        766400          0 ZZ2249
--       mark 7539, 130         /26 pegs
-+006274        000404          ZZ2250=ZZ2250+ZZ2250
-+006274        001010          ZZ2250=ZZ2250+ZZ2250
-+006274        002020          ZZ2250=ZZ2250+ZZ2250
-+006274        004040          ZZ2250=ZZ2250+ZZ2250
-+006274        010100          ZZ2250=ZZ2250+ZZ2250
-+006274        020200          ZZ2250=ZZ2250+ZZ2250
-+006274        040400          ZZ2250=ZZ2250+ZZ2250
-+006274        101000          ZZ2250=ZZ2250+ZZ2250
-+006274        001215          0 8192 -ZZ1250
-+006275        101000          0 ZZ2250
--       mark 7644, -12         /55 aqar
-+006276        777746          ZZ2251=ZZ2251+ZZ2251
-+006276        777714          ZZ2251=ZZ2251+ZZ2251
-+006276        777630          ZZ2251=ZZ2251+ZZ2251
-+006276        777460          ZZ2251=ZZ2251+ZZ2251
-+006276        777140          ZZ2251=ZZ2251+ZZ2251
-+006276        776300          ZZ2251=ZZ2251+ZZ2251
-+006276        774600          ZZ2251=ZZ2251+ZZ2251
-+006276        771400          ZZ2251=ZZ2251+ZZ2251
-+006276        001044          0 8192 -ZZ1251
-+006277        771400          0 ZZ2251
--       mark 7717, 235         /42 pegs
-+006300        000726          ZZ2252=ZZ2252+ZZ2252
-+006300        001654          ZZ2252=ZZ2252+ZZ2252
-+006300        003530          ZZ2252=ZZ2252+ZZ2252
-+006300        007260          ZZ2252=ZZ2252+ZZ2252
-+006300        016540          ZZ2252=ZZ2252+ZZ2252
-+006300        035300          ZZ2252=ZZ2252+ZZ2252
-+006300        072600          ZZ2252=ZZ2252+ZZ2252
-+006300        165400          ZZ2252=ZZ2252+ZZ2252
-+006300        000733          0 8192 -ZZ1252
-+006301        165400          0 ZZ2252
--       mark 7790, -372        /76 aqar
-+006302        776426          ZZ2253=ZZ2253+ZZ2253
-+006302        775054          ZZ2253=ZZ2253+ZZ2253
-+006302        772130          ZZ2253=ZZ2253+ZZ2253
-+006302        764260          ZZ2253=ZZ2253+ZZ2253
-+006302        750540          ZZ2253=ZZ2253+ZZ2253
-+006302        721300          ZZ2253=ZZ2253+ZZ2253
-+006302        642600          ZZ2253=ZZ2253+ZZ2253
-+006302        505400          ZZ2253=ZZ2253+ZZ2253
-+006302        000622          0 8192 -ZZ1253
-+006303        505400          0 ZZ2253
- 006304                3q,
--       mark 7849, 334         /54 pegs, markab
-+006304        001234          ZZ2254=ZZ2254+ZZ2254
-+006304        002470          ZZ2254=ZZ2254+ZZ2254
-+006304        005160          ZZ2254=ZZ2254+ZZ2254
-+006304        012340          ZZ2254=ZZ2254+ZZ2254
-+006304        024700          ZZ2254=ZZ2254+ZZ2254
-+006304        051600          ZZ2254=ZZ2254+ZZ2254
-+006304        123400          ZZ2254=ZZ2254+ZZ2254
-+006304        247000          ZZ2254=ZZ2254+ZZ2254
-+006304        000527          0 8192 -ZZ1254
-+006305        247000          0 ZZ2254
- 006306                4j,
--       mark 1, -143           /33 pisc
-+006306        777340          ZZ2255=ZZ2255+ZZ2255
-+006306        776700          ZZ2255=ZZ2255+ZZ2255
-+006306        775600          ZZ2255=ZZ2255+ZZ2255
-+006306        773400          ZZ2255=ZZ2255+ZZ2255
-+006306        767000          ZZ2255=ZZ2255+ZZ2255
-+006306        756000          ZZ2255=ZZ2255+ZZ2255
-+006306        734000          ZZ2255=ZZ2255+ZZ2255
-+006306        670000          ZZ2255=ZZ2255+ZZ2255
-+006306        017777          0 8192 -ZZ1255
-+006307        670000          0 ZZ2255
--       mark 54, 447           /89 pegs
-+006310        001576          ZZ2256=ZZ2256+ZZ2256
-+006310        003374          ZZ2256=ZZ2256+ZZ2256
-+006310        006770          ZZ2256=ZZ2256+ZZ2256
-+006310        015760          ZZ2256=ZZ2256+ZZ2256
-+006310        033740          ZZ2256=ZZ2256+ZZ2256
-+006310        067700          ZZ2256=ZZ2256+ZZ2256
-+006310        157600          ZZ2256=ZZ2256+ZZ2256
-+006310        337400          ZZ2256=ZZ2256+ZZ2256
-+006310        017712          0 8192 -ZZ1256
-+006311        337400          0 ZZ2256
--       mark 54, -443          /7 ceti
-+006312        776210          ZZ2257=ZZ2257+ZZ2257
-+006312        774420          ZZ2257=ZZ2257+ZZ2257
-+006312        771040          ZZ2257=ZZ2257+ZZ2257
-+006312        762100          ZZ2257=ZZ2257+ZZ2257
-+006312        744200          ZZ2257=ZZ2257+ZZ2257
-+006312        710400          ZZ2257=ZZ2257+ZZ2257
-+006312        621000          ZZ2257=ZZ2257+ZZ2257
-+006312        442000          ZZ2257=ZZ2257+ZZ2257
-+006312        017712          0 8192 -ZZ1257
-+006313        442000          0 ZZ2257
--       mark 82, -214          /8 ceti
-+006314        777122          ZZ2258=ZZ2258+ZZ2258
-+006314        776244          ZZ2258=ZZ2258+ZZ2258
-+006314        774510          ZZ2258=ZZ2258+ZZ2258
-+006314        771220          ZZ2258=ZZ2258+ZZ2258
-+006314        762440          ZZ2258=ZZ2258+ZZ2258
-+006314        745100          ZZ2258=ZZ2258+ZZ2258
-+006314        712200          ZZ2258=ZZ2258+ZZ2258
-+006314        624400          ZZ2258=ZZ2258+ZZ2258
-+006314        017656          0 8192 -ZZ1258
-+006315        624400          0 ZZ2258
--       mark 223, -254         /17 ceti
-+006316        777002          ZZ2259=ZZ2259+ZZ2259
-+006316        776004          ZZ2259=ZZ2259+ZZ2259
-+006316        774010          ZZ2259=ZZ2259+ZZ2259
-+006316        770020          ZZ2259=ZZ2259+ZZ2259
-+006316        760040          ZZ2259=ZZ2259+ZZ2259
-+006316        740100          ZZ2259=ZZ2259+ZZ2259
-+006316        700200          ZZ2259=ZZ2259+ZZ2259
-+006316        600400          ZZ2259=ZZ2259+ZZ2259
-+006316        017441          0 8192 -ZZ1259
-+006317        600400          0 ZZ2259
--       mark 248, 160          /63 pisc
-+006320        000500          ZZ2260=ZZ2260+ZZ2260
-+006320        001200          ZZ2260=ZZ2260+ZZ2260
-+006320        002400          ZZ2260=ZZ2260+ZZ2260
-+006320        005000          ZZ2260=ZZ2260+ZZ2260
-+006320        012000          ZZ2260=ZZ2260+ZZ2260
-+006320        024000          ZZ2260=ZZ2260+ZZ2260
-+006320        050000          ZZ2260=ZZ2260+ZZ2260
-+006320        120000          ZZ2260=ZZ2260+ZZ2260
-+006320        017410          0 8192 -ZZ1260
-+006321        120000          0 ZZ2260
--       mark 273, -38          /20 ceti
-+006322        777662          ZZ2261=ZZ2261+ZZ2261
-+006322        777544          ZZ2261=ZZ2261+ZZ2261
-+006322        777310          ZZ2261=ZZ2261+ZZ2261
-+006322        776620          ZZ2261=ZZ2261+ZZ2261
-+006322        775440          ZZ2261=ZZ2261+ZZ2261
-+006322        773100          ZZ2261=ZZ2261+ZZ2261
-+006322        766200          ZZ2261=ZZ2261+ZZ2261
-+006322        754400          ZZ2261=ZZ2261+ZZ2261
-+006322        017357          0 8192 -ZZ1261
-+006323        754400          0 ZZ2261
--       mark 329, 167          /71 pisc
-+006324        000516          ZZ2262=ZZ2262+ZZ2262
-+006324        001234          ZZ2262=ZZ2262+ZZ2262
-+006324        002470          ZZ2262=ZZ2262+ZZ2262
-+006324        005160          ZZ2262=ZZ2262+ZZ2262
-+006324        012340          ZZ2262=ZZ2262+ZZ2262
-+006324        024700          ZZ2262=ZZ2262+ZZ2262
-+006324        051600          ZZ2262=ZZ2262+ZZ2262
-+006324        123400          ZZ2262=ZZ2262+ZZ2262
-+006324        017267          0 8192 -ZZ1262
-+006325        123400          0 ZZ2262
--       mark 376, 467          /84 pisc
-+006326        001646          ZZ2263=ZZ2263+ZZ2263
-+006326        003514          ZZ2263=ZZ2263+ZZ2263
-+006326        007230          ZZ2263=ZZ2263+ZZ2263
-+006326        016460          ZZ2263=ZZ2263+ZZ2263
-+006326        035140          ZZ2263=ZZ2263+ZZ2263
-+006326        072300          ZZ2263=ZZ2263+ZZ2263
-+006326        164600          ZZ2263=ZZ2263+ZZ2263
-+006326        351400          ZZ2263=ZZ2263+ZZ2263
-+006326        017210          0 8192 -ZZ1263
-+006327        351400          0 ZZ2263
--       mark 450, -198         /45 ceti
-+006330        777162          ZZ2264=ZZ2264+ZZ2264
-+006330        776344          ZZ2264=ZZ2264+ZZ2264
-+006330        774710          ZZ2264=ZZ2264+ZZ2264
-+006330        771620          ZZ2264=ZZ2264+ZZ2264
-+006330        763440          ZZ2264=ZZ2264+ZZ2264
-+006330        747100          ZZ2264=ZZ2264+ZZ2264
-+006330        716200          ZZ2264=ZZ2264+ZZ2264
-+006330        634400          ZZ2264=ZZ2264+ZZ2264
-+006330        017076          0 8192 -ZZ1264
-+006331        634400          0 ZZ2264
--       mark 548, 113          /106 pisc
-+006332        000342          ZZ2265=ZZ2265+ZZ2265
-+006332        000704          ZZ2265=ZZ2265+ZZ2265
-+006332        001610          ZZ2265=ZZ2265+ZZ2265
-+006332        003420          ZZ2265=ZZ2265+ZZ2265
-+006332        007040          ZZ2265=ZZ2265+ZZ2265
-+006332        016100          ZZ2265=ZZ2265+ZZ2265
-+006332        034200          ZZ2265=ZZ2265+ZZ2265
-+006332        070400          ZZ2265=ZZ2265+ZZ2265
-+006332        016734          0 8192 -ZZ1265
-+006333        070400          0 ZZ2265
--       mark 570, 197          /110 pisc
-+006334        000612          ZZ2266=ZZ2266+ZZ2266
-+006334        001424          ZZ2266=ZZ2266+ZZ2266
-+006334        003050          ZZ2266=ZZ2266+ZZ2266
-+006334        006120          ZZ2266=ZZ2266+ZZ2266
-+006334        014240          ZZ2266=ZZ2266+ZZ2266
-+006334        030500          ZZ2266=ZZ2266+ZZ2266
-+006334        061200          ZZ2266=ZZ2266+ZZ2266
-+006334        142400          ZZ2266=ZZ2266+ZZ2266
-+006334        016706          0 8192 -ZZ1266
-+006335        142400          0 ZZ2266
--       mark 595, -255         /53 ceti
-+006336        777000          ZZ2267=ZZ2267+ZZ2267
-+006336        776000          ZZ2267=ZZ2267+ZZ2267
-+006336        774000          ZZ2267=ZZ2267+ZZ2267
-+006336        770000          ZZ2267=ZZ2267+ZZ2267
-+006336        760000          ZZ2267=ZZ2267+ZZ2267
-+006336        740000          ZZ2267=ZZ2267+ZZ2267
-+006336        700000          ZZ2267=ZZ2267+ZZ2267
-+006336        600000          ZZ2267=ZZ2267+ZZ2267
-+006336        016655          0 8192 -ZZ1267
-+006337        600000          0 ZZ2267
--       mark 606, -247         /55 ceti
-+006340        777020          ZZ2268=ZZ2268+ZZ2268
-+006340        776040          ZZ2268=ZZ2268+ZZ2268
-+006340        774100          ZZ2268=ZZ2268+ZZ2268
-+006340        770200          ZZ2268=ZZ2268+ZZ2268
-+006340        760400          ZZ2268=ZZ2268+ZZ2268
-+006340        741000          ZZ2268=ZZ2268+ZZ2268
-+006340        702000          ZZ2268=ZZ2268+ZZ2268
-+006340        604000          ZZ2268=ZZ2268+ZZ2268
-+006340        016642          0 8192 -ZZ1268
-+006341        604000          0 ZZ2268
--       mark 615, 428          / 5 arie
-+006342        001530          ZZ2269=ZZ2269+ZZ2269
-+006342        003260          ZZ2269=ZZ2269+ZZ2269
-+006342        006540          ZZ2269=ZZ2269+ZZ2269
-+006342        015300          ZZ2269=ZZ2269+ZZ2269
-+006342        032600          ZZ2269=ZZ2269+ZZ2269
-+006342        065400          ZZ2269=ZZ2269+ZZ2269
-+006342        153000          ZZ2269=ZZ2269+ZZ2269
-+006342        326000          ZZ2269=ZZ2269+ZZ2269
-+006342        016631          0 8192 -ZZ1269
-+006343        326000          0 ZZ2269
--       mark 617, 61           /14 pisc
-+006344        000172          ZZ2270=ZZ2270+ZZ2270
-+006344        000364          ZZ2270=ZZ2270+ZZ2270
-+006344        000750          ZZ2270=ZZ2270+ZZ2270
-+006344        001720          ZZ2270=ZZ2270+ZZ2270
-+006344        003640          ZZ2270=ZZ2270+ZZ2270
-+006344        007500          ZZ2270=ZZ2270+ZZ2270
-+006344        017200          ZZ2270=ZZ2270+ZZ2270
-+006344        036400          ZZ2270=ZZ2270+ZZ2270
-+006344        016627          0 8192 -ZZ1270
-+006345        036400          0 ZZ2270
--       mark 656,  -491        /59 ceti
-+006346        776050          ZZ2271=ZZ2271+ZZ2271
-+006346        774120          ZZ2271=ZZ2271+ZZ2271
-+006346        770240          ZZ2271=ZZ2271+ZZ2271
-+006346        760500          ZZ2271=ZZ2271+ZZ2271
-+006346        741200          ZZ2271=ZZ2271+ZZ2271
-+006346        702400          ZZ2271=ZZ2271+ZZ2271
-+006346        605000          ZZ2271=ZZ2271+ZZ2271
-+006346        412000          ZZ2271=ZZ2271+ZZ2271
-+006346        016560          0 8192 -ZZ1271
-+006347        412000          0 ZZ2271
--       mark 665, 52           /113 pisc
-+006350        000150          ZZ2272=ZZ2272+ZZ2272
-+006350        000320          ZZ2272=ZZ2272+ZZ2272
-+006350        000640          ZZ2272=ZZ2272+ZZ2272
-+006350        001500          ZZ2272=ZZ2272+ZZ2272
-+006350        003200          ZZ2272=ZZ2272+ZZ2272
-+006350        006400          ZZ2272=ZZ2272+ZZ2272
-+006350        015000          ZZ2272=ZZ2272+ZZ2272
-+006350        032000          ZZ2272=ZZ2272+ZZ2272
-+006350        016547          0 8192 -ZZ1272
-+006351        032000          0 ZZ2272
--       mark 727, 191          /65 ceti
-+006352        000576          ZZ2273=ZZ2273+ZZ2273
-+006352        001374          ZZ2273=ZZ2273+ZZ2273
-+006352        002770          ZZ2273=ZZ2273+ZZ2273
-+006352        005760          ZZ2273=ZZ2273+ZZ2273
-+006352        013740          ZZ2273=ZZ2273+ZZ2273
-+006352        027700          ZZ2273=ZZ2273+ZZ2273
-+006352        057600          ZZ2273=ZZ2273+ZZ2273
-+006352        137400          ZZ2273=ZZ2273+ZZ2273
-+006352        016451          0 8192 -ZZ1273
-+006353        137400          0 ZZ2273
--       mark 803, -290         /72 ceti
-+006354        776672          ZZ2274=ZZ2274+ZZ2274
-+006354        775564          ZZ2274=ZZ2274+ZZ2274
-+006354        773350          ZZ2274=ZZ2274+ZZ2274
-+006354        766720          ZZ2274=ZZ2274+ZZ2274
-+006354        755640          ZZ2274=ZZ2274+ZZ2274
-+006354        733500          ZZ2274=ZZ2274+ZZ2274
-+006354        667200          ZZ2274=ZZ2274+ZZ2274
-+006354        556400          ZZ2274=ZZ2274+ZZ2274
-+006354        016335          0 8192 -ZZ1274
-+006355        556400          0 ZZ2274
--       mark 813, 182          /73 ceti
-+006356        000554          ZZ2275=ZZ2275+ZZ2275
-+006356        001330          ZZ2275=ZZ2275+ZZ2275
-+006356        002660          ZZ2275=ZZ2275+ZZ2275
-+006356        005540          ZZ2275=ZZ2275+ZZ2275
-+006356        013300          ZZ2275=ZZ2275+ZZ2275
-+006356        026600          ZZ2275=ZZ2275+ZZ2275
-+006356        055400          ZZ2275=ZZ2275+ZZ2275
-+006356        133000          ZZ2275=ZZ2275+ZZ2275
-+006356        016323          0 8192 -ZZ1275
-+006357        133000          0 ZZ2275
--       mark 838, -357         /76 ceti
-+006360        776464          ZZ2276=ZZ2276+ZZ2276
-+006360        775150          ZZ2276=ZZ2276+ZZ2276
-+006360        772320          ZZ2276=ZZ2276+ZZ2276
-+006360        764640          ZZ2276=ZZ2276+ZZ2276
-+006360        751500          ZZ2276=ZZ2276+ZZ2276
-+006360        723200          ZZ2276=ZZ2276+ZZ2276
-+006360        646400          ZZ2276=ZZ2276+ZZ2276
-+006360        515000          ZZ2276=ZZ2276+ZZ2276
-+006360        016272          0 8192 -ZZ1276
-+006361        515000          0 ZZ2276
--       mark 878, -2           /82 ceti
-+006362        777772          ZZ2277=ZZ2277+ZZ2277
-+006362        777764          ZZ2277=ZZ2277+ZZ2277
-+006362        777750          ZZ2277=ZZ2277+ZZ2277
-+006362        777720          ZZ2277=ZZ2277+ZZ2277
-+006362        777640          ZZ2277=ZZ2277+ZZ2277
-+006362        777500          ZZ2277=ZZ2277+ZZ2277
-+006362        777200          ZZ2277=ZZ2277+ZZ2277
-+006362        776400          ZZ2277=ZZ2277+ZZ2277
-+006362        016222          0 8192 -ZZ1277
-+006363        776400          0 ZZ2277
--       mark 907, -340         /89 ceti
-+006364        776526          ZZ2278=ZZ2278+ZZ2278
-+006364        775254          ZZ2278=ZZ2278+ZZ2278
-+006364        772530          ZZ2278=ZZ2278+ZZ2278
-+006364        765260          ZZ2278=ZZ2278+ZZ2278
-+006364        752540          ZZ2278=ZZ2278+ZZ2278
-+006364        725300          ZZ2278=ZZ2278+ZZ2278
-+006364        652600          ZZ2278=ZZ2278+ZZ2278
-+006364        525400          ZZ2278=ZZ2278+ZZ2278
-+006364        016165          0 8192 -ZZ1278
-+006365        525400          0 ZZ2278
--       mark 908, 221          /87 ceti
-+006366        000672          ZZ2279=ZZ2279+ZZ2279
-+006366        001564          ZZ2279=ZZ2279+ZZ2279
-+006366        003350          ZZ2279=ZZ2279+ZZ2279
-+006366        006720          ZZ2279=ZZ2279+ZZ2279
-+006366        015640          ZZ2279=ZZ2279+ZZ2279
-+006366        033500          ZZ2279=ZZ2279+ZZ2279
-+006366        067200          ZZ2279=ZZ2279+ZZ2279
-+006366        156400          ZZ2279=ZZ2279+ZZ2279
-+006366        016164          0 8192 -ZZ1279
-+006367        156400          0 ZZ2279
--       mark 913, -432         / 1 erid
-+006370        776236          ZZ2280=ZZ2280+ZZ2280
-+006370        774474          ZZ2280=ZZ2280+ZZ2280
-+006370        771170          ZZ2280=ZZ2280+ZZ2280
-+006370        762360          ZZ2280=ZZ2280+ZZ2280
-+006370        744740          ZZ2280=ZZ2280+ZZ2280
-+006370        711700          ZZ2280=ZZ2280+ZZ2280
-+006370        623600          ZZ2280=ZZ2280+ZZ2280
-+006370        447400          ZZ2280=ZZ2280+ZZ2280
-+006370        016157          0 8192 -ZZ1280
-+006371        447400          0 ZZ2280
--       mark 947, -487         / 2 erid
-+006372        776060          ZZ2281=ZZ2281+ZZ2281
-+006372        774140          ZZ2281=ZZ2281+ZZ2281
-+006372        770300          ZZ2281=ZZ2281+ZZ2281
-+006372        760600          ZZ2281=ZZ2281+ZZ2281
-+006372        741400          ZZ2281=ZZ2281+ZZ2281
-+006372        703000          ZZ2281=ZZ2281+ZZ2281
-+006372        606000          ZZ2281=ZZ2281+ZZ2281
-+006372        414000          ZZ2281=ZZ2281+ZZ2281
-+006372        016115          0 8192 -ZZ1281
-+006373        414000          0 ZZ2281
--       mark 976, -212         / 3 erid
-+006374        777126          ZZ2282=ZZ2282+ZZ2282
-+006374        776254          ZZ2282=ZZ2282+ZZ2282
-+006374        774530          ZZ2282=ZZ2282+ZZ2282
-+006374        771260          ZZ2282=ZZ2282+ZZ2282
-+006374        762540          ZZ2282=ZZ2282+ZZ2282
-+006374        745300          ZZ2282=ZZ2282+ZZ2282
-+006374        712600          ZZ2282=ZZ2282+ZZ2282
-+006374        625400          ZZ2282=ZZ2282+ZZ2282
-+006374        016060          0 8192 -ZZ1282
-+006375        625400          0 ZZ2282
--       mark 992, 194          /91 ceti
-+006376        000604          ZZ2283=ZZ2283+ZZ2283
-+006376        001410          ZZ2283=ZZ2283+ZZ2283
-+006376        003020          ZZ2283=ZZ2283+ZZ2283
-+006376        006040          ZZ2283=ZZ2283+ZZ2283
-+006376        014100          ZZ2283=ZZ2283+ZZ2283
-+006376        030200          ZZ2283=ZZ2283+ZZ2283
-+006376        060400          ZZ2283=ZZ2283+ZZ2283
-+006376        141000          ZZ2283=ZZ2283+ZZ2283
-+006376        016040          0 8192 -ZZ1283
-+006377        141000          0 ZZ2283
--       mark 1058, 440         /57 arie
-+006400        001560          ZZ2284=ZZ2284+ZZ2284
-+006400        003340          ZZ2284=ZZ2284+ZZ2284
-+006400        006700          ZZ2284=ZZ2284+ZZ2284
-+006400        015600          ZZ2284=ZZ2284+ZZ2284
-+006400        033400          ZZ2284=ZZ2284+ZZ2284
-+006400        067000          ZZ2284=ZZ2284+ZZ2284
-+006400        156000          ZZ2284=ZZ2284+ZZ2284
-+006400        334000          ZZ2284=ZZ2284+ZZ2284
-+006400        015736          0 8192 -ZZ1284
-+006401        334000          0 ZZ2284
--       mark 1076, 470         /58 arie
-+006402        001654          ZZ2285=ZZ2285+ZZ2285
-+006402        003530          ZZ2285=ZZ2285+ZZ2285
-+006402        007260          ZZ2285=ZZ2285+ZZ2285
-+006402        016540          ZZ2285=ZZ2285+ZZ2285
-+006402        035300          ZZ2285=ZZ2285+ZZ2285
-+006402        072600          ZZ2285=ZZ2285+ZZ2285
-+006402        165400          ZZ2285=ZZ2285+ZZ2285
-+006402        353000          ZZ2285=ZZ2285+ZZ2285
-+006402        015714          0 8192 -ZZ1285
-+006403        353000          0 ZZ2285
--       mark 1087,  -209       /13 erid
-+006404        777134          ZZ2286=ZZ2286+ZZ2286
-+006404        776270          ZZ2286=ZZ2286+ZZ2286
-+006404        774560          ZZ2286=ZZ2286+ZZ2286
-+006404        771340          ZZ2286=ZZ2286+ZZ2286
-+006404        762700          ZZ2286=ZZ2286+ZZ2286
-+006404        745600          ZZ2286=ZZ2286+ZZ2286
-+006404        713400          ZZ2286=ZZ2286+ZZ2286
-+006404        627000          ZZ2286=ZZ2286+ZZ2286
-+006404        015701          0 8192 -ZZ1286
-+006405        627000          0 ZZ2286
--       mark 1104, 68          /96 ceti
-+006406        000210          ZZ2287=ZZ2287+ZZ2287
-+006406        000420          ZZ2287=ZZ2287+ZZ2287
-+006406        001040          ZZ2287=ZZ2287+ZZ2287
-+006406        002100          ZZ2287=ZZ2287+ZZ2287
-+006406        004200          ZZ2287=ZZ2287+ZZ2287
-+006406        010400          ZZ2287=ZZ2287+ZZ2287
-+006406        021000          ZZ2287=ZZ2287+ZZ2287
-+006406        042000          ZZ2287=ZZ2287+ZZ2287
-+006406        015660          0 8192 -ZZ1287
-+006407        042000          0 ZZ2287
--       mark 1110, -503        /16 erid
-+006410        776020          ZZ2288=ZZ2288+ZZ2288
-+006410        774040          ZZ2288=ZZ2288+ZZ2288
-+006410        770100          ZZ2288=ZZ2288+ZZ2288
-+006410        760200          ZZ2288=ZZ2288+ZZ2288
-+006410        740400          ZZ2288=ZZ2288+ZZ2288
-+006410        701000          ZZ2288=ZZ2288+ZZ2288
-+006410        602000          ZZ2288=ZZ2288+ZZ2288
-+006410        404000          ZZ2288=ZZ2288+ZZ2288
-+006410        015652          0 8192 -ZZ1288
-+006411        404000          0 ZZ2288
--       mark 1135, 198         / 1 taur
-+006412        000614          ZZ2289=ZZ2289+ZZ2289
-+006412        001430          ZZ2289=ZZ2289+ZZ2289
-+006412        003060          ZZ2289=ZZ2289+ZZ2289
-+006412        006140          ZZ2289=ZZ2289+ZZ2289
-+006412        014300          ZZ2289=ZZ2289+ZZ2289
-+006412        030600          ZZ2289=ZZ2289+ZZ2289
-+006412        061400          ZZ2289=ZZ2289+ZZ2289
-+006412        143000          ZZ2289=ZZ2289+ZZ2289
-+006412        015621          0 8192 -ZZ1289
-+006413        143000          0 ZZ2289
--       mark 1148, 214         / 2 taur
-+006414        000654          ZZ2290=ZZ2290+ZZ2290
-+006414        001530          ZZ2290=ZZ2290+ZZ2290
-+006414        003260          ZZ2290=ZZ2290+ZZ2290
-+006414        006540          ZZ2290=ZZ2290+ZZ2290
-+006414        015300          ZZ2290=ZZ2290+ZZ2290
-+006414        032600          ZZ2290=ZZ2290+ZZ2290
-+006414        065400          ZZ2290=ZZ2290+ZZ2290
-+006414        153000          ZZ2290=ZZ2290+ZZ2290
-+006414        015604          0 8192 -ZZ1290
-+006415        153000          0 ZZ2290
--       mark 1168, 287         / 5 taur
-+006416        001076          ZZ2291=ZZ2291+ZZ2291
-+006416        002174          ZZ2291=ZZ2291+ZZ2291
-+006416        004370          ZZ2291=ZZ2291+ZZ2291
-+006416        010760          ZZ2291=ZZ2291+ZZ2291
-+006416        021740          ZZ2291=ZZ2291+ZZ2291
-+006416        043700          ZZ2291=ZZ2291+ZZ2291
-+006416        107600          ZZ2291=ZZ2291+ZZ2291
-+006416        217400          ZZ2291=ZZ2291+ZZ2291
-+006416        015560          0 8192 -ZZ1291
-+006417        217400          0 ZZ2291
--       mark 1170, -123        /17 erid
-+006420        777410          ZZ2292=ZZ2292+ZZ2292
-+006420        777020          ZZ2292=ZZ2292+ZZ2292
-+006420        776040          ZZ2292=ZZ2292+ZZ2292
-+006420        774100          ZZ2292=ZZ2292+ZZ2292
-+006420        770200          ZZ2292=ZZ2292+ZZ2292
-+006420        760400          ZZ2292=ZZ2292+ZZ2292
-+006420        741000          ZZ2292=ZZ2292+ZZ2292
-+006420        702000          ZZ2292=ZZ2292+ZZ2292
-+006420        015556          0 8192 -ZZ1292
-+006421        702000          0 ZZ2292
--       mark 1185, -223        /18 erid
-+006422        777100          ZZ2293=ZZ2293+ZZ2293
-+006422        776200          ZZ2293=ZZ2293+ZZ2293
-+006422        774400          ZZ2293=ZZ2293+ZZ2293
-+006422        771000          ZZ2293=ZZ2293+ZZ2293
-+006422        762000          ZZ2293=ZZ2293+ZZ2293
-+006422        744000          ZZ2293=ZZ2293+ZZ2293
-+006422        710000          ZZ2293=ZZ2293+ZZ2293
-+006422        620000          ZZ2293=ZZ2293+ZZ2293
-+006422        015537          0 8192 -ZZ1293
-+006423        620000          0 ZZ2293
--       mark 1191, -500        /19 erid
-+006424        776026          ZZ2294=ZZ2294+ZZ2294
-+006424        774054          ZZ2294=ZZ2294+ZZ2294
-+006424        770130          ZZ2294=ZZ2294+ZZ2294
-+006424        760260          ZZ2294=ZZ2294+ZZ2294
-+006424        740540          ZZ2294=ZZ2294+ZZ2294
-+006424        701300          ZZ2294=ZZ2294+ZZ2294
-+006424        602600          ZZ2294=ZZ2294+ZZ2294
-+006424        405400          ZZ2294=ZZ2294+ZZ2294
-+006424        015531          0 8192 -ZZ1294
-+006425        405400          0 ZZ2294
--       mark 1205, 2           /10 taur
-+006426        000004          ZZ2295=ZZ2295+ZZ2295
-+006426        000010          ZZ2295=ZZ2295+ZZ2295
-+006426        000020          ZZ2295=ZZ2295+ZZ2295
-+006426        000040          ZZ2295=ZZ2295+ZZ2295
-+006426        000100          ZZ2295=ZZ2295+ZZ2295
-+006426        000200          ZZ2295=ZZ2295+ZZ2295
-+006426        000400          ZZ2295=ZZ2295+ZZ2295
-+006426        001000          ZZ2295=ZZ2295+ZZ2295
-+006426        015513          0 8192 -ZZ1295
-+006427        001000          0 ZZ2295
--       mark 1260, -283        /26 erid
-+006430        776710          ZZ2296=ZZ2296+ZZ2296
-+006430        775620          ZZ2296=ZZ2296+ZZ2296
-+006430        773440          ZZ2296=ZZ2296+ZZ2296
-+006430        767100          ZZ2296=ZZ2296+ZZ2296
-+006430        756200          ZZ2296=ZZ2296+ZZ2296
-+006430        734400          ZZ2296=ZZ2296+ZZ2296
-+006430        671000          ZZ2296=ZZ2296+ZZ2296
-+006430        562000          ZZ2296=ZZ2296+ZZ2296
-+006430        015424          0 8192 -ZZ1296
-+006431        562000          0 ZZ2296
--       mark 1304, -74         /32 erid
-+006432        777552          ZZ2297=ZZ2297+ZZ2297
-+006432        777324          ZZ2297=ZZ2297+ZZ2297
-+006432        776650          ZZ2297=ZZ2297+ZZ2297
-+006432        775520          ZZ2297=ZZ2297+ZZ2297
-+006432        773240          ZZ2297=ZZ2297+ZZ2297
-+006432        766500          ZZ2297=ZZ2297+ZZ2297
-+006432        755200          ZZ2297=ZZ2297+ZZ2297
-+006432        732400          ZZ2297=ZZ2297+ZZ2297
-+006432        015350          0 8192 -ZZ1297
-+006433        732400          0 ZZ2297
--       mark 1338, 278         /35 taur
-+006434        001054          ZZ2298=ZZ2298+ZZ2298
-+006434        002130          ZZ2298=ZZ2298+ZZ2298
-+006434        004260          ZZ2298=ZZ2298+ZZ2298
-+006434        010540          ZZ2298=ZZ2298+ZZ2298
-+006434        021300          ZZ2298=ZZ2298+ZZ2298
-+006434        042600          ZZ2298=ZZ2298+ZZ2298
-+006434        105400          ZZ2298=ZZ2298+ZZ2298
-+006434        213000          ZZ2298=ZZ2298+ZZ2298
-+006434        015306          0 8192 -ZZ1298
-+006435        213000          0 ZZ2298
--       mark 1353, 130         /38 taur
-+006436        000404          ZZ2299=ZZ2299+ZZ2299
-+006436        001010          ZZ2299=ZZ2299+ZZ2299
-+006436        002020          ZZ2299=ZZ2299+ZZ2299
-+006436        004040          ZZ2299=ZZ2299+ZZ2299
-+006436        010100          ZZ2299=ZZ2299+ZZ2299
-+006436        020200          ZZ2299=ZZ2299+ZZ2299
-+006436        040400          ZZ2299=ZZ2299+ZZ2299
-+006436        101000          ZZ2299=ZZ2299+ZZ2299
-+006436        015267          0 8192 -ZZ1299
-+006437        101000          0 ZZ2299
--       mark 1358, 497         /37 taur
-+006440        001742          ZZ2300=ZZ2300+ZZ2300
-+006440        003704          ZZ2300=ZZ2300+ZZ2300
-+006440        007610          ZZ2300=ZZ2300+ZZ2300
-+006440        017420          ZZ2300=ZZ2300+ZZ2300
-+006440        037040          ZZ2300=ZZ2300+ZZ2300
-+006440        076100          ZZ2300=ZZ2300+ZZ2300
-+006440        174200          ZZ2300=ZZ2300+ZZ2300
-+006440        370400          ZZ2300=ZZ2300+ZZ2300
-+006440        015262          0 8192 -ZZ1300
-+006441        370400          0 ZZ2300
--       mark 1405, -162        /38 erid
-+006442        777272          ZZ2301=ZZ2301+ZZ2301
-+006442        776564          ZZ2301=ZZ2301+ZZ2301
-+006442        775350          ZZ2301=ZZ2301+ZZ2301
-+006442        772720          ZZ2301=ZZ2301+ZZ2301
-+006442        765640          ZZ2301=ZZ2301+ZZ2301
-+006442        753500          ZZ2301=ZZ2301+ZZ2301
-+006442        727200          ZZ2301=ZZ2301+ZZ2301
-+006442        656400          ZZ2301=ZZ2301+ZZ2301
-+006442        015203          0 8192 -ZZ1301
-+006443        656400          0 ZZ2301
--       mark 1414,  205        /47 taur
-+006444        000632          ZZ2302=ZZ2302+ZZ2302
-+006444        001464          ZZ2302=ZZ2302+ZZ2302
-+006444        003150          ZZ2302=ZZ2302+ZZ2302
-+006444        006320          ZZ2302=ZZ2302+ZZ2302
-+006444        014640          ZZ2302=ZZ2302+ZZ2302
-+006444        031500          ZZ2302=ZZ2302+ZZ2302
-+006444        063200          ZZ2302=ZZ2302+ZZ2302
-+006444        146400          ZZ2302=ZZ2302+ZZ2302
-+006444        015172          0 8192 -ZZ1302
-+006445        146400          0 ZZ2302
--       mark 1423, 197         /49 taur
-+006446        000612          ZZ2303=ZZ2303+ZZ2303
-+006446        001424          ZZ2303=ZZ2303+ZZ2303
-+006446        003050          ZZ2303=ZZ2303+ZZ2303
-+006446        006120          ZZ2303=ZZ2303+ZZ2303
-+006446        014240          ZZ2303=ZZ2303+ZZ2303
-+006446        030500          ZZ2303=ZZ2303+ZZ2303
-+006446        061200          ZZ2303=ZZ2303+ZZ2303
-+006446        142400          ZZ2303=ZZ2303+ZZ2303
-+006446        015161          0 8192 -ZZ1303
-+006447        142400          0 ZZ2303
--       mark 1426, -178        /40 erid
-+006450        777232          ZZ2304=ZZ2304+ZZ2304
-+006450        776464          ZZ2304=ZZ2304+ZZ2304
-+006450        775150          ZZ2304=ZZ2304+ZZ2304
-+006450        772320          ZZ2304=ZZ2304+ZZ2304
-+006450        764640          ZZ2304=ZZ2304+ZZ2304
-+006450        751500          ZZ2304=ZZ2304+ZZ2304
-+006450        723200          ZZ2304=ZZ2304+ZZ2304
-+006450        646400          ZZ2304=ZZ2304+ZZ2304
-+006450        015156          0 8192 -ZZ1304
-+006451        646400          0 ZZ2304
--       mark 1430, 463         /50 taur
-+006452        001636          ZZ2305=ZZ2305+ZZ2305
-+006452        003474          ZZ2305=ZZ2305+ZZ2305
-+006452        007170          ZZ2305=ZZ2305+ZZ2305
-+006452        016360          ZZ2305=ZZ2305+ZZ2305
-+006452        034740          ZZ2305=ZZ2305+ZZ2305
-+006452        071700          ZZ2305=ZZ2305+ZZ2305
-+006452        163600          ZZ2305=ZZ2305+ZZ2305
-+006452        347400          ZZ2305=ZZ2305+ZZ2305
-+006452        015152          0 8192 -ZZ1305
-+006453        347400          0 ZZ2305
--       mark 1446, 350         /54 taur
-+006454        001274          ZZ2306=ZZ2306+ZZ2306
-+006454        002570          ZZ2306=ZZ2306+ZZ2306
-+006454        005360          ZZ2306=ZZ2306+ZZ2306
-+006454        012740          ZZ2306=ZZ2306+ZZ2306
-+006454        025700          ZZ2306=ZZ2306+ZZ2306
-+006454        053600          ZZ2306=ZZ2306+ZZ2306
-+006454        127400          ZZ2306=ZZ2306+ZZ2306
-+006454        257000          ZZ2306=ZZ2306+ZZ2306
-+006454        015132          0 8192 -ZZ1306
-+006455        257000          0 ZZ2306
--       mark 1463, 394         /61 taur
-+006456        001424          ZZ2307=ZZ2307+ZZ2307
-+006456        003050          ZZ2307=ZZ2307+ZZ2307
-+006456        006120          ZZ2307=ZZ2307+ZZ2307
-+006456        014240          ZZ2307=ZZ2307+ZZ2307
-+006456        030500          ZZ2307=ZZ2307+ZZ2307
-+006456        061200          ZZ2307=ZZ2307+ZZ2307
-+006456        142400          ZZ2307=ZZ2307+ZZ2307
-+006456        305000          ZZ2307=ZZ2307+ZZ2307
-+006456        015111          0 8192 -ZZ1307
-+006457        305000          0 ZZ2307
--       mark 1470, 392         /64 taur
-+006460        001420          ZZ2308=ZZ2308+ZZ2308
-+006460        003040          ZZ2308=ZZ2308+ZZ2308
-+006460        006100          ZZ2308=ZZ2308+ZZ2308
-+006460        014200          ZZ2308=ZZ2308+ZZ2308
-+006460        030400          ZZ2308=ZZ2308+ZZ2308
-+006460        061000          ZZ2308=ZZ2308+ZZ2308
-+006460        142000          ZZ2308=ZZ2308+ZZ2308
-+006460        304000          ZZ2308=ZZ2308+ZZ2308
-+006460        015102          0 8192 -ZZ1308
-+006461        304000          0 ZZ2308
--       mark 1476, 502         /65 taur
-+006462        001754          ZZ2309=ZZ2309+ZZ2309
-+006462        003730          ZZ2309=ZZ2309+ZZ2309
-+006462        007660          ZZ2309=ZZ2309+ZZ2309
-+006462        017540          ZZ2309=ZZ2309+ZZ2309
-+006462        037300          ZZ2309=ZZ2309+ZZ2309
-+006462        076600          ZZ2309=ZZ2309+ZZ2309
-+006462        175400          ZZ2309=ZZ2309+ZZ2309
-+006462        373000          ZZ2309=ZZ2309+ZZ2309
-+006462        015074          0 8192 -ZZ1309
-+006463        373000          0 ZZ2309
--       mark 1477, 403         /68 taur
-+006464        001446          ZZ2310=ZZ2310+ZZ2310
-+006464        003114          ZZ2310=ZZ2310+ZZ2310
-+006464        006230          ZZ2310=ZZ2310+ZZ2310
-+006464        014460          ZZ2310=ZZ2310+ZZ2310
-+006464        031140          ZZ2310=ZZ2310+ZZ2310
-+006464        062300          ZZ2310=ZZ2310+ZZ2310
-+006464        144600          ZZ2310=ZZ2310+ZZ2310
-+006464        311400          ZZ2310=ZZ2310+ZZ2310
-+006464        015073          0 8192 -ZZ1310
-+006465        311400          0 ZZ2310
--       mark 1483, 350         /71 taur
-+006466        001274          ZZ2311=ZZ2311+ZZ2311
-+006466        002570          ZZ2311=ZZ2311+ZZ2311
-+006466        005360          ZZ2311=ZZ2311+ZZ2311
-+006466        012740          ZZ2311=ZZ2311+ZZ2311
-+006466        025700          ZZ2311=ZZ2311+ZZ2311
-+006466        053600          ZZ2311=ZZ2311+ZZ2311
-+006466        127400          ZZ2311=ZZ2311+ZZ2311
-+006466        257000          ZZ2311=ZZ2311+ZZ2311
-+006466        015065          0 8192 -ZZ1311
-+006467        257000          0 ZZ2311
--       mark 1485, 330         /73 taur
-+006470        001224          ZZ2312=ZZ2312+ZZ2312
-+006470        002450          ZZ2312=ZZ2312+ZZ2312
-+006470        005120          ZZ2312=ZZ2312+ZZ2312
-+006470        012240          ZZ2312=ZZ2312+ZZ2312
-+006470        024500          ZZ2312=ZZ2312+ZZ2312
-+006470        051200          ZZ2312=ZZ2312+ZZ2312
-+006470        122400          ZZ2312=ZZ2312+ZZ2312
-+006470        245000          ZZ2312=ZZ2312+ZZ2312
-+006470        015063          0 8192 -ZZ1312
-+006471        245000          0 ZZ2312
--       mark 1495, 358         /77 taur
-+006472        001314          ZZ2313=ZZ2313+ZZ2313
-+006472        002630          ZZ2313=ZZ2313+ZZ2313
-+006472        005460          ZZ2313=ZZ2313+ZZ2313
-+006472        013140          ZZ2313=ZZ2313+ZZ2313
-+006472        026300          ZZ2313=ZZ2313+ZZ2313
-+006472        054600          ZZ2313=ZZ2313+ZZ2313
-+006472        131400          ZZ2313=ZZ2313+ZZ2313
-+006472        263000          ZZ2313=ZZ2313+ZZ2313
-+006472        015051          0 8192 -ZZ1313
-+006473        263000          0 ZZ2313
--       mark 1507, 364         /
-+006474        001330          ZZ2314=ZZ2314+ZZ2314
-+006474        002660          ZZ2314=ZZ2314+ZZ2314
-+006474        005540          ZZ2314=ZZ2314+ZZ2314
-+006474        013300          ZZ2314=ZZ2314+ZZ2314
-+006474        026600          ZZ2314=ZZ2314+ZZ2314
-+006474        055400          ZZ2314=ZZ2314+ZZ2314
-+006474        133000          ZZ2314=ZZ2314+ZZ2314
-+006474        266000          ZZ2314=ZZ2314+ZZ2314
-+006474        015035          0 8192 -ZZ1314
-+006475        266000          0 ZZ2314
--       mark 1518, -6          /45 erid
-+006476        777762          ZZ2315=ZZ2315+ZZ2315
-+006476        777744          ZZ2315=ZZ2315+ZZ2315
-+006476        777710          ZZ2315=ZZ2315+ZZ2315
-+006476        777620          ZZ2315=ZZ2315+ZZ2315
-+006476        777440          ZZ2315=ZZ2315+ZZ2315
-+006476        777100          ZZ2315=ZZ2315+ZZ2315
-+006476        776200          ZZ2315=ZZ2315+ZZ2315
-+006476        774400          ZZ2315=ZZ2315+ZZ2315
-+006476        015022          0 8192 -ZZ1315
-+006477        774400          0 ZZ2315
--       mark 1526, 333         /86 taur
-+006500        001232          ZZ2316=ZZ2316+ZZ2316
-+006500        002464          ZZ2316=ZZ2316+ZZ2316
-+006500        005150          ZZ2316=ZZ2316+ZZ2316
-+006500        012320          ZZ2316=ZZ2316+ZZ2316
-+006500        024640          ZZ2316=ZZ2316+ZZ2316
-+006500        051500          ZZ2316=ZZ2316+ZZ2316
-+006500        123200          ZZ2316=ZZ2316+ZZ2316
-+006500        246400          ZZ2316=ZZ2316+ZZ2316
-+006500        015012          0 8192 -ZZ1316
-+006501        246400          0 ZZ2316
--       mark 1537, 226         /88 taur
-+006502        000704          ZZ2317=ZZ2317+ZZ2317
-+006502        001610          ZZ2317=ZZ2317+ZZ2317
-+006502        003420          ZZ2317=ZZ2317+ZZ2317
-+006502        007040          ZZ2317=ZZ2317+ZZ2317
-+006502        016100          ZZ2317=ZZ2317+ZZ2317
-+006502        034200          ZZ2317=ZZ2317+ZZ2317
-+006502        070400          ZZ2317=ZZ2317+ZZ2317
-+006502        161000          ZZ2317=ZZ2317+ZZ2317
-+006502        014777          0 8192 -ZZ1317
-+006503        161000          0 ZZ2317
--       mark 1544, -81         /48 erid
-+006504        777534          ZZ2318=ZZ2318+ZZ2318
-+006504        777270          ZZ2318=ZZ2318+ZZ2318
-+006504        776560          ZZ2318=ZZ2318+ZZ2318
-+006504        775340          ZZ2318=ZZ2318+ZZ2318
-+006504        772700          ZZ2318=ZZ2318+ZZ2318
-+006504        765600          ZZ2318=ZZ2318+ZZ2318
-+006504        753400          ZZ2318=ZZ2318+ZZ2318
-+006504        727000          ZZ2318=ZZ2318+ZZ2318
-+006504        014770          0 8192 -ZZ1318
-+006505        727000          0 ZZ2318
--       mark 1551, 280         /90 taur
-+006506        001060          ZZ2319=ZZ2319+ZZ2319
-+006506        002140          ZZ2319=ZZ2319+ZZ2319
-+006506        004300          ZZ2319=ZZ2319+ZZ2319
-+006506        010600          ZZ2319=ZZ2319+ZZ2319
-+006506        021400          ZZ2319=ZZ2319+ZZ2319
-+006506        043000          ZZ2319=ZZ2319+ZZ2319
-+006506        106000          ZZ2319=ZZ2319+ZZ2319
-+006506        214000          ZZ2319=ZZ2319+ZZ2319
-+006506        014761          0 8192 -ZZ1319
-+006507        214000          0 ZZ2319
--       mark 1556, 358         /92 taur
-+006510        001314          ZZ2320=ZZ2320+ZZ2320
-+006510        002630          ZZ2320=ZZ2320+ZZ2320
-+006510        005460          ZZ2320=ZZ2320+ZZ2320
-+006510        013140          ZZ2320=ZZ2320+ZZ2320
-+006510        026300          ZZ2320=ZZ2320+ZZ2320
-+006510        054600          ZZ2320=ZZ2320+ZZ2320
-+006510        131400          ZZ2320=ZZ2320+ZZ2320
-+006510        263000          ZZ2320=ZZ2320+ZZ2320
-+006510        014754          0 8192 -ZZ1320
-+006511        263000          0 ZZ2320
--       mark 1557, -330        /53 erid
-+006512        776552          ZZ2321=ZZ2321+ZZ2321
-+006512        775324          ZZ2321=ZZ2321+ZZ2321
-+006512        772650          ZZ2321=ZZ2321+ZZ2321
-+006512        765520          ZZ2321=ZZ2321+ZZ2321
-+006512        753240          ZZ2321=ZZ2321+ZZ2321
-+006512        726500          ZZ2321=ZZ2321+ZZ2321
-+006512        655200          ZZ2321=ZZ2321+ZZ2321
-+006512        532400          ZZ2321=ZZ2321+ZZ2321
-+006512        014753          0 8192 -ZZ1321
-+006513        532400          0 ZZ2321
--       mark 1571, -452        /54 erid
-+006514        776166          ZZ2322=ZZ2322+ZZ2322
-+006514        774354          ZZ2322=ZZ2322+ZZ2322
-+006514        770730          ZZ2322=ZZ2322+ZZ2322
-+006514        761660          ZZ2322=ZZ2322+ZZ2322
-+006514        743540          ZZ2322=ZZ2322+ZZ2322
-+006514        707300          ZZ2322=ZZ2322+ZZ2322
-+006514        616600          ZZ2322=ZZ2322+ZZ2322
-+006514        435400          ZZ2322=ZZ2322+ZZ2322
-+006514        014735          0 8192 -ZZ1322
-+006515        435400          0 ZZ2322
--       mark 1596, -78         /57 erid
-+006516        777542          ZZ2323=ZZ2323+ZZ2323
-+006516        777304          ZZ2323=ZZ2323+ZZ2323
-+006516        776610          ZZ2323=ZZ2323+ZZ2323
-+006516        775420          ZZ2323=ZZ2323+ZZ2323
-+006516        773040          ZZ2323=ZZ2323+ZZ2323
-+006516        766100          ZZ2323=ZZ2323+ZZ2323
-+006516        754200          ZZ2323=ZZ2323+ZZ2323
-+006516        730400          ZZ2323=ZZ2323+ZZ2323
-+006516        014704          0 8192 -ZZ1323
-+006517        730400          0 ZZ2323
--       mark 1622, 199         / 2 orio
-+006520        000616          ZZ2324=ZZ2324+ZZ2324
-+006520        001434          ZZ2324=ZZ2324+ZZ2324
-+006520        003070          ZZ2324=ZZ2324+ZZ2324
-+006520        006160          ZZ2324=ZZ2324+ZZ2324
-+006520        014340          ZZ2324=ZZ2324+ZZ2324
-+006520        030700          ZZ2324=ZZ2324+ZZ2324
-+006520        061600          ZZ2324=ZZ2324+ZZ2324
-+006520        143400          ZZ2324=ZZ2324+ZZ2324
-+006520        014652          0 8192 -ZZ1324
-+006521        143400          0 ZZ2324
--       mark 1626, 124         / 3 orio
-+006522        000370          ZZ2325=ZZ2325+ZZ2325
-+006522        000760          ZZ2325=ZZ2325+ZZ2325
-+006522        001740          ZZ2325=ZZ2325+ZZ2325
-+006522        003700          ZZ2325=ZZ2325+ZZ2325
-+006522        007600          ZZ2325=ZZ2325+ZZ2325
-+006522        017400          ZZ2325=ZZ2325+ZZ2325
-+006522        037000          ZZ2325=ZZ2325+ZZ2325
-+006522        076000          ZZ2325=ZZ2325+ZZ2325
-+006522        014646          0 8192 -ZZ1325
-+006523        076000          0 ZZ2325
--       mark 1638, -128        /61 erid
-+006524        777376          ZZ2326=ZZ2326+ZZ2326
-+006524        776774          ZZ2326=ZZ2326+ZZ2326
-+006524        775770          ZZ2326=ZZ2326+ZZ2326
-+006524        773760          ZZ2326=ZZ2326+ZZ2326
-+006524        767740          ZZ2326=ZZ2326+ZZ2326
-+006524        757700          ZZ2326=ZZ2326+ZZ2326
-+006524        737600          ZZ2326=ZZ2326+ZZ2326
-+006524        677400          ZZ2326=ZZ2326+ZZ2326
-+006524        014632          0 8192 -ZZ1326
-+006525        677400          0 ZZ2326
--       mark 1646, 228         / 7 orio
-+006526        000710          ZZ2327=ZZ2327+ZZ2327
-+006526        001620          ZZ2327=ZZ2327+ZZ2327
-+006526        003440          ZZ2327=ZZ2327+ZZ2327
-+006526        007100          ZZ2327=ZZ2327+ZZ2327
-+006526        016200          ZZ2327=ZZ2327+ZZ2327
-+006526        034400          ZZ2327=ZZ2327+ZZ2327
-+006526        071000          ZZ2327=ZZ2327+ZZ2327
-+006526        162000          ZZ2327=ZZ2327+ZZ2327
-+006526        014622          0 8192 -ZZ1327
-+006527        162000          0 ZZ2327
--       mark 1654, 304         / 9 orio
-+006530        001140          ZZ2328=ZZ2328+ZZ2328
-+006530        002300          ZZ2328=ZZ2328+ZZ2328
-+006530        004600          ZZ2328=ZZ2328+ZZ2328
-+006530        011400          ZZ2328=ZZ2328+ZZ2328
-+006530        023000          ZZ2328=ZZ2328+ZZ2328
-+006530        046000          ZZ2328=ZZ2328+ZZ2328
-+006530        114000          ZZ2328=ZZ2328+ZZ2328
-+006530        230000          ZZ2328=ZZ2328+ZZ2328
-+006530        014612          0 8192 -ZZ1328
-+006531        230000          0 ZZ2328
--       mark 1669, 36          /10 orio
-+006532        000110          ZZ2329=ZZ2329+ZZ2329
-+006532        000220          ZZ2329=ZZ2329+ZZ2329
-+006532        000440          ZZ2329=ZZ2329+ZZ2329
-+006532        001100          ZZ2329=ZZ2329+ZZ2329
-+006532        002200          ZZ2329=ZZ2329+ZZ2329
-+006532        004400          ZZ2329=ZZ2329+ZZ2329
-+006532        011000          ZZ2329=ZZ2329+ZZ2329
-+006532        022000          ZZ2329=ZZ2329+ZZ2329
-+006532        014573          0 8192 -ZZ1329
-+006533        022000          0 ZZ2329
--       mark 1680, -289        /64 erid
-+006534        776674          ZZ2330=ZZ2330+ZZ2330
-+006534        775570          ZZ2330=ZZ2330+ZZ2330
-+006534        773360          ZZ2330=ZZ2330+ZZ2330
-+006534        766740          ZZ2330=ZZ2330+ZZ2330
-+006534        755700          ZZ2330=ZZ2330+ZZ2330
-+006534        733600          ZZ2330=ZZ2330+ZZ2330
-+006534        667400          ZZ2330=ZZ2330+ZZ2330
-+006534        557000          ZZ2330=ZZ2330+ZZ2330
-+006534        014560          0 8192 -ZZ1330
-+006535        557000          0 ZZ2330
--       mark 1687, -167        /65 erid
-+006536        777260          ZZ2331=ZZ2331+ZZ2331
-+006536        776540          ZZ2331=ZZ2331+ZZ2331
-+006536        775300          ZZ2331=ZZ2331+ZZ2331
-+006536        772600          ZZ2331=ZZ2331+ZZ2331
-+006536        765400          ZZ2331=ZZ2331+ZZ2331
-+006536        753000          ZZ2331=ZZ2331+ZZ2331
-+006536        726000          ZZ2331=ZZ2331+ZZ2331
-+006536        654000          ZZ2331=ZZ2331+ZZ2331
-+006536        014551          0 8192 -ZZ1331
-+006537        654000          0 ZZ2331
--       mark 1690, -460        /
-+006540        776146          ZZ2332=ZZ2332+ZZ2332
-+006540        774314          ZZ2332=ZZ2332+ZZ2332
-+006540        770630          ZZ2332=ZZ2332+ZZ2332
-+006540        761460          ZZ2332=ZZ2332+ZZ2332
-+006540        743140          ZZ2332=ZZ2332+ZZ2332
-+006540        706300          ZZ2332=ZZ2332+ZZ2332
-+006540        614600          ZZ2332=ZZ2332+ZZ2332
-+006540        431400          ZZ2332=ZZ2332+ZZ2332
-+006540        014546          0 8192 -ZZ1332
-+006541        431400          0 ZZ2332
--       mark 1690, 488         /102 taur
-+006542        001720          ZZ2333=ZZ2333+ZZ2333
-+006542        003640          ZZ2333=ZZ2333+ZZ2333
-+006542        007500          ZZ2333=ZZ2333+ZZ2333
-+006542        017200          ZZ2333=ZZ2333+ZZ2333
-+006542        036400          ZZ2333=ZZ2333+ZZ2333
-+006542        075000          ZZ2333=ZZ2333+ZZ2333
-+006542        172000          ZZ2333=ZZ2333+ZZ2333
-+006542        364000          ZZ2333=ZZ2333+ZZ2333
-+006542        014546          0 8192 -ZZ1333
-+006543        364000          0 ZZ2333
--       mark 1700, 347         /11 orio
-+006544        001266          ZZ2334=ZZ2334+ZZ2334
-+006544        002554          ZZ2334=ZZ2334+ZZ2334
-+006544        005330          ZZ2334=ZZ2334+ZZ2334
-+006544        012660          ZZ2334=ZZ2334+ZZ2334
-+006544        025540          ZZ2334=ZZ2334+ZZ2334
-+006544        053300          ZZ2334=ZZ2334+ZZ2334
-+006544        126600          ZZ2334=ZZ2334+ZZ2334
-+006544        255400          ZZ2334=ZZ2334+ZZ2334
-+006544        014534          0 8192 -ZZ1334
-+006545        255400          0 ZZ2334
--       mark 1729, 352         /15 orio
-+006546        001300          ZZ2335=ZZ2335+ZZ2335
-+006546        002600          ZZ2335=ZZ2335+ZZ2335
-+006546        005400          ZZ2335=ZZ2335+ZZ2335
-+006546        013000          ZZ2335=ZZ2335+ZZ2335
-+006546        026000          ZZ2335=ZZ2335+ZZ2335
-+006546        054000          ZZ2335=ZZ2335+ZZ2335
-+006546        130000          ZZ2335=ZZ2335+ZZ2335
-+006546        260000          ZZ2335=ZZ2335+ZZ2335
-+006546        014477          0 8192 -ZZ1335
-+006547        260000          0 ZZ2335
--       mark 1732, -202        /69 erid
-+006550        777152          ZZ2336=ZZ2336+ZZ2336
-+006550        776324          ZZ2336=ZZ2336+ZZ2336
-+006550        774650          ZZ2336=ZZ2336+ZZ2336
-+006550        771520          ZZ2336=ZZ2336+ZZ2336
-+006550        763240          ZZ2336=ZZ2336+ZZ2336
-+006550        746500          ZZ2336=ZZ2336+ZZ2336
-+006550        715200          ZZ2336=ZZ2336+ZZ2336
-+006550        632400          ZZ2336=ZZ2336+ZZ2336
-+006550        014474          0 8192 -ZZ1336
-+006551        632400          0 ZZ2336
--       mark 1750, -273        / 3 leps
-+006552        776734          ZZ2337=ZZ2337+ZZ2337
-+006552        775670          ZZ2337=ZZ2337+ZZ2337
-+006552        773560          ZZ2337=ZZ2337+ZZ2337
-+006552        767340          ZZ2337=ZZ2337+ZZ2337
-+006552        756700          ZZ2337=ZZ2337+ZZ2337
-+006552        735600          ZZ2337=ZZ2337+ZZ2337
-+006552        673400          ZZ2337=ZZ2337+ZZ2337
-+006552        567000          ZZ2337=ZZ2337+ZZ2337
-+006552        014452          0 8192 -ZZ1337
-+006553        567000          0 ZZ2337
--       mark 1753, 63          /17 orio
-+006554        000176          ZZ2338=ZZ2338+ZZ2338
-+006554        000374          ZZ2338=ZZ2338+ZZ2338
-+006554        000770          ZZ2338=ZZ2338+ZZ2338
-+006554        001760          ZZ2338=ZZ2338+ZZ2338
-+006554        003740          ZZ2338=ZZ2338+ZZ2338
-+006554        007700          ZZ2338=ZZ2338+ZZ2338
-+006554        017600          ZZ2338=ZZ2338+ZZ2338
-+006554        037400          ZZ2338=ZZ2338+ZZ2338
-+006554        014447          0 8192 -ZZ1338
-+006555        037400          0 ZZ2338
--       mark 1756, -297        / 4 leps
-+006556        776654          ZZ2339=ZZ2339+ZZ2339
-+006556        775530          ZZ2339=ZZ2339+ZZ2339
-+006556        773260          ZZ2339=ZZ2339+ZZ2339
-+006556        766540          ZZ2339=ZZ2339+ZZ2339
-+006556        755300          ZZ2339=ZZ2339+ZZ2339
-+006556        732600          ZZ2339=ZZ2339+ZZ2339
-+006556        665400          ZZ2339=ZZ2339+ZZ2339
-+006556        553000          ZZ2339=ZZ2339+ZZ2339
-+006556        014444          0 8192 -ZZ1339
-+006557        553000          0 ZZ2339
--       mark 1792, -302        / 6 leps
-+006560        776642          ZZ2340=ZZ2340+ZZ2340
-+006560        775504          ZZ2340=ZZ2340+ZZ2340
-+006560        773210          ZZ2340=ZZ2340+ZZ2340
-+006560        766420          ZZ2340=ZZ2340+ZZ2340
-+006560        755040          ZZ2340=ZZ2340+ZZ2340
-+006560        732100          ZZ2340=ZZ2340+ZZ2340
-+006560        664200          ZZ2340=ZZ2340+ZZ2340
-+006560        550400          ZZ2340=ZZ2340+ZZ2340
-+006560        014400          0 8192 -ZZ1340
-+006561        550400          0 ZZ2340
--       mark 1799, -486        /
-+006562        776062          ZZ2341=ZZ2341+ZZ2341
-+006562        774144          ZZ2341=ZZ2341+ZZ2341
-+006562        770310          ZZ2341=ZZ2341+ZZ2341
-+006562        760620          ZZ2341=ZZ2341+ZZ2341
-+006562        741440          ZZ2341=ZZ2341+ZZ2341
-+006562        703100          ZZ2341=ZZ2341+ZZ2341
-+006562        606200          ZZ2341=ZZ2341+ZZ2341
-+006562        414400          ZZ2341=ZZ2341+ZZ2341
-+006562        014371          0 8192 -ZZ1341
-+006563        414400          0 ZZ2341
--       mark 1801, -11         /22 orio
-+006564        777750          ZZ2342=ZZ2342+ZZ2342
-+006564        777720          ZZ2342=ZZ2342+ZZ2342
-+006564        777640          ZZ2342=ZZ2342+ZZ2342
-+006564        777500          ZZ2342=ZZ2342+ZZ2342
-+006564        777200          ZZ2342=ZZ2342+ZZ2342
-+006564        776400          ZZ2342=ZZ2342+ZZ2342
-+006564        775000          ZZ2342=ZZ2342+ZZ2342
-+006564        772000          ZZ2342=ZZ2342+ZZ2342
-+006564        014367          0 8192 -ZZ1342
-+006565        772000          0 ZZ2342
--       mark 1807, 79          /23 orio
-+006566        000236          ZZ2343=ZZ2343+ZZ2343
-+006566        000474          ZZ2343=ZZ2343+ZZ2343
-+006566        001170          ZZ2343=ZZ2343+ZZ2343
-+006566        002360          ZZ2343=ZZ2343+ZZ2343
-+006566        004740          ZZ2343=ZZ2343+ZZ2343
-+006566        011700          ZZ2343=ZZ2343+ZZ2343
-+006566        023600          ZZ2343=ZZ2343+ZZ2343
-+006566        047400          ZZ2343=ZZ2343+ZZ2343
-+006566        014361          0 8192 -ZZ1343
-+006567        047400          0 ZZ2343
--       mark 1816, -180        /29 orio
-+006570        777226          ZZ2344=ZZ2344+ZZ2344
-+006570        776454          ZZ2344=ZZ2344+ZZ2344
-+006570        775130          ZZ2344=ZZ2344+ZZ2344
-+006570        772260          ZZ2344=ZZ2344+ZZ2344
-+006570        764540          ZZ2344=ZZ2344+ZZ2344
-+006570        751300          ZZ2344=ZZ2344+ZZ2344
-+006570        722600          ZZ2344=ZZ2344+ZZ2344
-+006570        645400          ZZ2344=ZZ2344+ZZ2344
-+006570        014350          0 8192 -ZZ1344
-+006571        645400          0 ZZ2344
--       mark 1818, 40          /25 orio
-+006572        000120          ZZ2345=ZZ2345+ZZ2345
-+006572        000240          ZZ2345=ZZ2345+ZZ2345
-+006572        000500          ZZ2345=ZZ2345+ZZ2345
-+006572        001200          ZZ2345=ZZ2345+ZZ2345
-+006572        002400          ZZ2345=ZZ2345+ZZ2345
-+006572        005000          ZZ2345=ZZ2345+ZZ2345
-+006572        012000          ZZ2345=ZZ2345+ZZ2345
-+006572        024000          ZZ2345=ZZ2345+ZZ2345
-+006572        014346          0 8192 -ZZ1345
-+006573        024000          0 ZZ2345
--       mark 1830, 497         /114 taur
-+006574        001742          ZZ2346=ZZ2346+ZZ2346
-+006574        003704          ZZ2346=ZZ2346+ZZ2346
-+006574        007610          ZZ2346=ZZ2346+ZZ2346
-+006574        017420          ZZ2346=ZZ2346+ZZ2346
-+006574        037040          ZZ2346=ZZ2346+ZZ2346
-+006574        076100          ZZ2346=ZZ2346+ZZ2346
-+006574        174200          ZZ2346=ZZ2346+ZZ2346
-+006574        370400          ZZ2346=ZZ2346+ZZ2346
-+006574        014332          0 8192 -ZZ1346
-+006575        370400          0 ZZ2346
--       mark 1830, 69          /30 orio
-+006576        000212          ZZ2347=ZZ2347+ZZ2347
-+006576        000424          ZZ2347=ZZ2347+ZZ2347
-+006576        001050          ZZ2347=ZZ2347+ZZ2347
-+006576        002120          ZZ2347=ZZ2347+ZZ2347
-+006576        004240          ZZ2347=ZZ2347+ZZ2347
-+006576        010500          ZZ2347=ZZ2347+ZZ2347
-+006576        021200          ZZ2347=ZZ2347+ZZ2347
-+006576        042400          ZZ2347=ZZ2347+ZZ2347
-+006576        014332          0 8192 -ZZ1347
-+006577        042400          0 ZZ2347
--       mark 1851, 134         /32 orio
-+006600        000414          ZZ2348=ZZ2348+ZZ2348
-+006600        001030          ZZ2348=ZZ2348+ZZ2348
-+006600        002060          ZZ2348=ZZ2348+ZZ2348
-+006600        004140          ZZ2348=ZZ2348+ZZ2348
-+006600        010300          ZZ2348=ZZ2348+ZZ2348
-+006600        020600          ZZ2348=ZZ2348+ZZ2348
-+006600        041400          ZZ2348=ZZ2348+ZZ2348
-+006600        103000          ZZ2348=ZZ2348+ZZ2348
-+006600        014305          0 8192 -ZZ1348
-+006601        103000          0 ZZ2348
--       mark 1857, 421         /119 taur
-+006602        001512          ZZ2349=ZZ2349+ZZ2349
-+006602        003224          ZZ2349=ZZ2349+ZZ2349
-+006602        006450          ZZ2349=ZZ2349+ZZ2349
-+006602        015120          ZZ2349=ZZ2349+ZZ2349
-+006602        032240          ZZ2349=ZZ2349+ZZ2349
-+006602        064500          ZZ2349=ZZ2349+ZZ2349
-+006602        151200          ZZ2349=ZZ2349+ZZ2349
-+006602        322400          ZZ2349=ZZ2349+ZZ2349
-+006602        014277          0 8192 -ZZ1349
-+006603        322400          0 ZZ2349
--       mark 1861, -168        /36 orio
-+006604        777256          ZZ2350=ZZ2350+ZZ2350
-+006604        776534          ZZ2350=ZZ2350+ZZ2350
-+006604        775270          ZZ2350=ZZ2350+ZZ2350
-+006604        772560          ZZ2350=ZZ2350+ZZ2350
-+006604        765340          ZZ2350=ZZ2350+ZZ2350
-+006604        752700          ZZ2350=ZZ2350+ZZ2350
-+006604        725600          ZZ2350=ZZ2350+ZZ2350
-+006604        653400          ZZ2350=ZZ2350+ZZ2350
-+006604        014273          0 8192 -ZZ1350
-+006605        653400          0 ZZ2350
--       mark 1874, 214         /37 orio
-+006606        000654          ZZ2351=ZZ2351+ZZ2351
-+006606        001530          ZZ2351=ZZ2351+ZZ2351
-+006606        003260          ZZ2351=ZZ2351+ZZ2351
-+006606        006540          ZZ2351=ZZ2351+ZZ2351
-+006606        015300          ZZ2351=ZZ2351+ZZ2351
-+006606        032600          ZZ2351=ZZ2351+ZZ2351
-+006606        065400          ZZ2351=ZZ2351+ZZ2351
-+006606        153000          ZZ2351=ZZ2351+ZZ2351
-+006606        014256          0 8192 -ZZ1351
-+006607        153000          0 ZZ2351
--       mark 1878, -132        /
-+006610        777366          ZZ2352=ZZ2352+ZZ2352
-+006610        776754          ZZ2352=ZZ2352+ZZ2352
-+006610        775730          ZZ2352=ZZ2352+ZZ2352
-+006610        773660          ZZ2352=ZZ2352+ZZ2352
-+006610        767540          ZZ2352=ZZ2352+ZZ2352
-+006610        757300          ZZ2352=ZZ2352+ZZ2352
-+006610        736600          ZZ2352=ZZ2352+ZZ2352
-+006610        675400          ZZ2352=ZZ2352+ZZ2352
-+006610        014252          0 8192 -ZZ1352
-+006611        675400          0 ZZ2352
--       mark 1880, -112        /42 orio
-+006612        777436          ZZ2353=ZZ2353+ZZ2353
-+006612        777074          ZZ2353=ZZ2353+ZZ2353
-+006612        776170          ZZ2353=ZZ2353+ZZ2353
-+006612        774360          ZZ2353=ZZ2353+ZZ2353
-+006612        770740          ZZ2353=ZZ2353+ZZ2353
-+006612        761700          ZZ2353=ZZ2353+ZZ2353
-+006612        743600          ZZ2353=ZZ2353+ZZ2353
-+006612        707400          ZZ2353=ZZ2353+ZZ2353
-+006612        014250          0 8192 -ZZ1353
-+006613        707400          0 ZZ2353
--       mark 1885, 210         /40 orio
-+006614        000644          ZZ2354=ZZ2354+ZZ2354
-+006614        001510          ZZ2354=ZZ2354+ZZ2354
-+006614        003220          ZZ2354=ZZ2354+ZZ2354
-+006614        006440          ZZ2354=ZZ2354+ZZ2354
-+006614        015100          ZZ2354=ZZ2354+ZZ2354
-+006614        032200          ZZ2354=ZZ2354+ZZ2354
-+006614        064400          ZZ2354=ZZ2354+ZZ2354
-+006614        151000          ZZ2354=ZZ2354+ZZ2354
-+006614        014243          0 8192 -ZZ1354
-+006615        151000          0 ZZ2354
--       mark 1899,-60          /48 orio
-+006616        777606          ZZ2355=ZZ2355+ZZ2355
-+006616        777414          ZZ2355=ZZ2355+ZZ2355
-+006616        777030          ZZ2355=ZZ2355+ZZ2355
-+006616        776060          ZZ2355=ZZ2355+ZZ2355
-+006616        774140          ZZ2355=ZZ2355+ZZ2355
-+006616        770300          ZZ2355=ZZ2355+ZZ2355
-+006616        760600          ZZ2355=ZZ2355+ZZ2355
-+006616        741400          ZZ2355=ZZ2355+ZZ2355
-+006616        014225          0 8192 -ZZ1355
-+006617        741400          0 ZZ2355
--       mark 1900, 93          /47 orio
-+006620        000272          ZZ2356=ZZ2356+ZZ2356
-+006620        000564          ZZ2356=ZZ2356+ZZ2356
-+006620        001350          ZZ2356=ZZ2356+ZZ2356
-+006620        002720          ZZ2356=ZZ2356+ZZ2356
-+006620        005640          ZZ2356=ZZ2356+ZZ2356
-+006620        013500          ZZ2356=ZZ2356+ZZ2356
-+006620        027200          ZZ2356=ZZ2356+ZZ2356
-+006620        056400          ZZ2356=ZZ2356+ZZ2356
-+006620        014224          0 8192 -ZZ1356
-+006621        056400          0 ZZ2356
--       mark 1900, -165        /49 orio
-+006622        777264          ZZ2357=ZZ2357+ZZ2357
-+006622        776550          ZZ2357=ZZ2357+ZZ2357
-+006622        775320          ZZ2357=ZZ2357+ZZ2357
-+006622        772640          ZZ2357=ZZ2357+ZZ2357
-+006622        765500          ZZ2357=ZZ2357+ZZ2357
-+006622        753200          ZZ2357=ZZ2357+ZZ2357
-+006622        726400          ZZ2357=ZZ2357+ZZ2357
-+006622        655000          ZZ2357=ZZ2357+ZZ2357
-+006622        014224          0 8192 -ZZ1357
-+006623        655000          0 ZZ2357
--       mark 1909, 375         /126 taur
-+006624        001356          ZZ2358=ZZ2358+ZZ2358
-+006624        002734          ZZ2358=ZZ2358+ZZ2358
-+006624        005670          ZZ2358=ZZ2358+ZZ2358
-+006624        013560          ZZ2358=ZZ2358+ZZ2358
-+006624        027340          ZZ2358=ZZ2358+ZZ2358
-+006624        056700          ZZ2358=ZZ2358+ZZ2358
-+006624        135600          ZZ2358=ZZ2358+ZZ2358
-+006624        273400          ZZ2358=ZZ2358+ZZ2358
-+006624        014213          0 8192 -ZZ1358
-+006625        273400          0 ZZ2358
--       mark 1936, -511        /13 leps
-+006626        776000          ZZ2359=ZZ2359+ZZ2359
-+006626        774000          ZZ2359=ZZ2359+ZZ2359
-+006626        770000          ZZ2359=ZZ2359+ZZ2359
-+006626        760000          ZZ2359=ZZ2359+ZZ2359
-+006626        740000          ZZ2359=ZZ2359+ZZ2359
-+006626        700000          ZZ2359=ZZ2359+ZZ2359
-+006626        600000          ZZ2359=ZZ2359+ZZ2359
-+006626        400000          ZZ2359=ZZ2359+ZZ2359
-+006626        014160          0 8192 -ZZ1359
-+006627        400000          0 ZZ2359
--       mark 1957, 287         /134 taur
-+006630        001076          ZZ2360=ZZ2360+ZZ2360
-+006630        002174          ZZ2360=ZZ2360+ZZ2360
-+006630        004370          ZZ2360=ZZ2360+ZZ2360
-+006630        010760          ZZ2360=ZZ2360+ZZ2360
-+006630        021740          ZZ2360=ZZ2360+ZZ2360
-+006630        043700          ZZ2360=ZZ2360+ZZ2360
-+006630        107600          ZZ2360=ZZ2360+ZZ2360
-+006630        217400          ZZ2360=ZZ2360+ZZ2360
-+006630        014133          0 8192 -ZZ1360
-+006631        217400          0 ZZ2360
--       mark 1974, -475        /15 leps
-+006632        776110          ZZ2361=ZZ2361+ZZ2361
-+006632        774220          ZZ2361=ZZ2361+ZZ2361
-+006632        770440          ZZ2361=ZZ2361+ZZ2361
-+006632        761100          ZZ2361=ZZ2361+ZZ2361
-+006632        742200          ZZ2361=ZZ2361+ZZ2361
-+006632        704400          ZZ2361=ZZ2361+ZZ2361
-+006632        611000          ZZ2361=ZZ2361+ZZ2361
-+006632        422000          ZZ2361=ZZ2361+ZZ2361
-+006632        014112          0 8192 -ZZ1361
-+006633        422000          0 ZZ2361
--       mark 1982, 461         /54 orio
-+006634        001632          ZZ2362=ZZ2362+ZZ2362
-+006634        003464          ZZ2362=ZZ2362+ZZ2362
-+006634        007150          ZZ2362=ZZ2362+ZZ2362
-+006634        016320          ZZ2362=ZZ2362+ZZ2362
-+006634        034640          ZZ2362=ZZ2362+ZZ2362
-+006634        071500          ZZ2362=ZZ2362+ZZ2362
-+006634        163200          ZZ2362=ZZ2362+ZZ2362
-+006634        346400          ZZ2362=ZZ2362+ZZ2362
-+006634        014102          0 8192 -ZZ1362
-+006635        346400          0 ZZ2362
--       mark 2002, -323        /16 leps
-+006636        776570          ZZ2363=ZZ2363+ZZ2363
-+006636        775360          ZZ2363=ZZ2363+ZZ2363
-+006636        772740          ZZ2363=ZZ2363+ZZ2363
-+006636        765700          ZZ2363=ZZ2363+ZZ2363
-+006636        753600          ZZ2363=ZZ2363+ZZ2363
-+006636        727400          ZZ2363=ZZ2363+ZZ2363
-+006636        657000          ZZ2363=ZZ2363+ZZ2363
-+006636        536000          ZZ2363=ZZ2363+ZZ2363
-+006636        014056          0 8192 -ZZ1363
-+006637        536000          0 ZZ2363
--       mark 2020, -70         /
-+006640        777562          ZZ2364=ZZ2364+ZZ2364
-+006640        777344          ZZ2364=ZZ2364+ZZ2364
-+006640        776710          ZZ2364=ZZ2364+ZZ2364
-+006640        775620          ZZ2364=ZZ2364+ZZ2364
-+006640        773440          ZZ2364=ZZ2364+ZZ2364
-+006640        767100          ZZ2364=ZZ2364+ZZ2364
-+006640        756200          ZZ2364=ZZ2364+ZZ2364
-+006640        734400          ZZ2364=ZZ2364+ZZ2364
-+006640        014034          0 8192 -ZZ1364
-+006641        734400          0 ZZ2364
--       mark 2030, 220         /61 orio
-+006642        000670          ZZ2365=ZZ2365+ZZ2365
-+006642        001560          ZZ2365=ZZ2365+ZZ2365
-+006642        003340          ZZ2365=ZZ2365+ZZ2365
-+006642        006700          ZZ2365=ZZ2365+ZZ2365
-+006642        015600          ZZ2365=ZZ2365+ZZ2365
-+006642        033400          ZZ2365=ZZ2365+ZZ2365
-+006642        067000          ZZ2365=ZZ2365+ZZ2365
-+006642        156000          ZZ2365=ZZ2365+ZZ2365
-+006642        014022          0 8192 -ZZ1365
-+006643        156000          0 ZZ2365
--       mark 2032, -241        / 3 mono
-+006644        777034          ZZ2366=ZZ2366+ZZ2366
-+006644        776070          ZZ2366=ZZ2366+ZZ2366
-+006644        774160          ZZ2366=ZZ2366+ZZ2366
-+006644        770340          ZZ2366=ZZ2366+ZZ2366
-+006644        760700          ZZ2366=ZZ2366+ZZ2366
-+006644        741600          ZZ2366=ZZ2366+ZZ2366
-+006644        703400          ZZ2366=ZZ2366+ZZ2366
-+006644        607000          ZZ2366=ZZ2366+ZZ2366
-+006644        014020          0 8192 -ZZ1366
-+006645        607000          0 ZZ2366
--       mark 2037, 458         /62 orio
-+006646        001624          ZZ2367=ZZ2367+ZZ2367
-+006646        003450          ZZ2367=ZZ2367+ZZ2367
-+006646        007120          ZZ2367=ZZ2367+ZZ2367
-+006646        016240          ZZ2367=ZZ2367+ZZ2367
-+006646        034500          ZZ2367=ZZ2367+ZZ2367
-+006646        071200          ZZ2367=ZZ2367+ZZ2367
-+006646        162400          ZZ2367=ZZ2367+ZZ2367
-+006646        345000          ZZ2367=ZZ2367+ZZ2367
-+006646        014013          0 8192 -ZZ1367
-+006647        345000          0 ZZ2367
--       mark 2057, -340        /18 leps
-+006650        776526          ZZ2368=ZZ2368+ZZ2368
-+006650        775254          ZZ2368=ZZ2368+ZZ2368
-+006650        772530          ZZ2368=ZZ2368+ZZ2368
-+006650        765260          ZZ2368=ZZ2368+ZZ2368
-+006650        752540          ZZ2368=ZZ2368+ZZ2368
-+006650        725300          ZZ2368=ZZ2368+ZZ2368
-+006650        652600          ZZ2368=ZZ2368+ZZ2368
-+006650        525400          ZZ2368=ZZ2368+ZZ2368
-+006650        013767          0 8192 -ZZ1368
-+006651        525400          0 ZZ2368
--       mark 2059, 336         /67 orio
-+006652        001240          ZZ2369=ZZ2369+ZZ2369
-+006652        002500          ZZ2369=ZZ2369+ZZ2369
-+006652        005200          ZZ2369=ZZ2369+ZZ2369
-+006652        012400          ZZ2369=ZZ2369+ZZ2369
-+006652        025000          ZZ2369=ZZ2369+ZZ2369
-+006652        052000          ZZ2369=ZZ2369+ZZ2369
-+006652        124000          ZZ2369=ZZ2369+ZZ2369
-+006652        250000          ZZ2369=ZZ2369+ZZ2369
-+006652        013765          0 8192 -ZZ1369
-+006653        250000          0 ZZ2369
--       mark 2084, 368         /69 orio
-+006654        001340          ZZ2370=ZZ2370+ZZ2370
-+006654        002700          ZZ2370=ZZ2370+ZZ2370
-+006654        005600          ZZ2370=ZZ2370+ZZ2370
-+006654        013400          ZZ2370=ZZ2370+ZZ2370
-+006654        027000          ZZ2370=ZZ2370+ZZ2370
-+006654        056000          ZZ2370=ZZ2370+ZZ2370
-+006654        134000          ZZ2370=ZZ2370+ZZ2370
-+006654        270000          ZZ2370=ZZ2370+ZZ2370
-+006654        013734          0 8192 -ZZ1370
-+006655        270000          0 ZZ2370
--       mark 2084, 324         /70 orio
-+006656        001210          ZZ2371=ZZ2371+ZZ2371
-+006656        002420          ZZ2371=ZZ2371+ZZ2371
-+006656        005040          ZZ2371=ZZ2371+ZZ2371
-+006656        012100          ZZ2371=ZZ2371+ZZ2371
-+006656        024200          ZZ2371=ZZ2371+ZZ2371
-+006656        050400          ZZ2371=ZZ2371+ZZ2371
-+006656        121000          ZZ2371=ZZ2371+ZZ2371
-+006656        242000          ZZ2371=ZZ2371+ZZ2371
-+006656        013734          0 8192 -ZZ1371
-+006657        242000          0 ZZ2371
--       mark 2105, -142        / 5 mono
-+006660        777342          ZZ2372=ZZ2372+ZZ2372
-+006660        776704          ZZ2372=ZZ2372+ZZ2372
-+006660        775610          ZZ2372=ZZ2372+ZZ2372
-+006660        773420          ZZ2372=ZZ2372+ZZ2372
-+006660        767040          ZZ2372=ZZ2372+ZZ2372
-+006660        756100          ZZ2372=ZZ2372+ZZ2372
-+006660        734200          ZZ2372=ZZ2372+ZZ2372
-+006660        670400          ZZ2372=ZZ2372+ZZ2372
-+006660        013707          0 8192 -ZZ1372
-+006661        670400          0 ZZ2372
--       mark 2112, -311        /
-+006662        776620          ZZ2373=ZZ2373+ZZ2373
-+006662        775440          ZZ2373=ZZ2373+ZZ2373
-+006662        773100          ZZ2373=ZZ2373+ZZ2373
-+006662        766200          ZZ2373=ZZ2373+ZZ2373
-+006662        754400          ZZ2373=ZZ2373+ZZ2373
-+006662        731000          ZZ2373=ZZ2373+ZZ2373
-+006662        662000          ZZ2373=ZZ2373+ZZ2373
-+006662        544000          ZZ2373=ZZ2373+ZZ2373
-+006662        013700          0 8192 -ZZ1373
-+006663        544000          0 ZZ2373
--       mark 2153, 106         / 8 mono
-+006664        000324          ZZ2374=ZZ2374+ZZ2374
-+006664        000650          ZZ2374=ZZ2374+ZZ2374
-+006664        001520          ZZ2374=ZZ2374+ZZ2374
-+006664        003240          ZZ2374=ZZ2374+ZZ2374
-+006664        006500          ZZ2374=ZZ2374+ZZ2374
-+006664        015200          ZZ2374=ZZ2374+ZZ2374
-+006664        032400          ZZ2374=ZZ2374+ZZ2374
-+006664        065000          ZZ2374=ZZ2374+ZZ2374
-+006664        013627          0 8192 -ZZ1374
-+006665        065000          0 ZZ2374
--       mark 2179, 462         /18 gemi
-+006666        001634          ZZ2375=ZZ2375+ZZ2375
-+006666        003470          ZZ2375=ZZ2375+ZZ2375
-+006666        007160          ZZ2375=ZZ2375+ZZ2375
-+006666        016340          ZZ2375=ZZ2375+ZZ2375
-+006666        034700          ZZ2375=ZZ2375+ZZ2375
-+006666        071600          ZZ2375=ZZ2375+ZZ2375
-+006666        163400          ZZ2375=ZZ2375+ZZ2375
-+006666        347000          ZZ2375=ZZ2375+ZZ2375
-+006666        013575          0 8192 -ZZ1375
-+006667        347000          0 ZZ2375
--       mark 2179, -107        /10 mono
-+006670        777450          ZZ2376=ZZ2376+ZZ2376
-+006670        777120          ZZ2376=ZZ2376+ZZ2376
-+006670        776240          ZZ2376=ZZ2376+ZZ2376
-+006670        774500          ZZ2376=ZZ2376+ZZ2376
-+006670        771200          ZZ2376=ZZ2376+ZZ2376
-+006670        762400          ZZ2376=ZZ2376+ZZ2376
-+006670        745000          ZZ2376=ZZ2376+ZZ2376
-+006670        712000          ZZ2376=ZZ2376+ZZ2376
-+006670        013575          0 8192 -ZZ1376
-+006671        712000          0 ZZ2376
--       mark 2184, -159        /11 mono
-+006672        777300          ZZ2377=ZZ2377+ZZ2377
-+006672        776600          ZZ2377=ZZ2377+ZZ2377
-+006672        775400          ZZ2377=ZZ2377+ZZ2377
-+006672        773000          ZZ2377=ZZ2377+ZZ2377
-+006672        766000          ZZ2377=ZZ2377+ZZ2377
-+006672        754000          ZZ2377=ZZ2377+ZZ2377
-+006672        730000          ZZ2377=ZZ2377+ZZ2377
-+006672        660000          ZZ2377=ZZ2377+ZZ2377
-+006672        013570          0 8192 -ZZ1377
-+006673        660000          0 ZZ2377
--       mark 2204, 168         /13 mono
-+006674        000520          ZZ2378=ZZ2378+ZZ2378
-+006674        001240          ZZ2378=ZZ2378+ZZ2378
-+006674        002500          ZZ2378=ZZ2378+ZZ2378
-+006674        005200          ZZ2378=ZZ2378+ZZ2378
-+006674        012400          ZZ2378=ZZ2378+ZZ2378
-+006674        025000          ZZ2378=ZZ2378+ZZ2378
-+006674        052000          ZZ2378=ZZ2378+ZZ2378
-+006674        124000          ZZ2378=ZZ2378+ZZ2378
-+006674        013544          0 8192 -ZZ1378
-+006675        124000          0 ZZ2378
--       mark 2232, -436        / 7 cmaj
-+006676        776226          ZZ2379=ZZ2379+ZZ2379
-+006676        774454          ZZ2379=ZZ2379+ZZ2379
-+006676        771130          ZZ2379=ZZ2379+ZZ2379
-+006676        762260          ZZ2379=ZZ2379+ZZ2379
-+006676        744540          ZZ2379=ZZ2379+ZZ2379
-+006676        711300          ZZ2379=ZZ2379+ZZ2379
-+006676        622600          ZZ2379=ZZ2379+ZZ2379
-+006676        445400          ZZ2379=ZZ2379+ZZ2379
-+006676        013510          0 8192 -ZZ1379
-+006677        445400          0 ZZ2379
--       mark 2239, -413        / 8 cmaj
-+006700        776304          ZZ2380=ZZ2380+ZZ2380
-+006700        774610          ZZ2380=ZZ2380+ZZ2380
-+006700        771420          ZZ2380=ZZ2380+ZZ2380
-+006700        763040          ZZ2380=ZZ2380+ZZ2380
-+006700        746100          ZZ2380=ZZ2380+ZZ2380
-+006700        714200          ZZ2380=ZZ2380+ZZ2380
-+006700        630400          ZZ2380=ZZ2380+ZZ2380
-+006700        461000          ZZ2380=ZZ2380+ZZ2380
-+006700        013501          0 8192 -ZZ1380
-+006701        461000          0 ZZ2380
--       mark 2245, -320        /
-+006702        776576          ZZ2381=ZZ2381+ZZ2381
-+006702        775374          ZZ2381=ZZ2381+ZZ2381
-+006702        772770          ZZ2381=ZZ2381+ZZ2381
-+006702        765760          ZZ2381=ZZ2381+ZZ2381
-+006702        753740          ZZ2381=ZZ2381+ZZ2381
-+006702        727700          ZZ2381=ZZ2381+ZZ2381
-+006702        657600          ZZ2381=ZZ2381+ZZ2381
-+006702        537400          ZZ2381=ZZ2381+ZZ2381
-+006702        013473          0 8192 -ZZ1381
-+006703        537400          0 ZZ2381
--       mark 2250, 227         /15 mono
-+006704        000706          ZZ2382=ZZ2382+ZZ2382
-+006704        001614          ZZ2382=ZZ2382+ZZ2382
-+006704        003430          ZZ2382=ZZ2382+ZZ2382
-+006704        007060          ZZ2382=ZZ2382+ZZ2382
-+006704        016140          ZZ2382=ZZ2382+ZZ2382
-+006704        034300          ZZ2382=ZZ2382+ZZ2382
-+006704        070600          ZZ2382=ZZ2382+ZZ2382
-+006704        161400          ZZ2382=ZZ2382+ZZ2382
-+006704        013466          0 8192 -ZZ1382
-+006705        161400          0 ZZ2382
--       mark 2266, 303         /30 gemi
-+006706        001136          ZZ2383=ZZ2383+ZZ2383
-+006706        002274          ZZ2383=ZZ2383+ZZ2383
-+006706        004570          ZZ2383=ZZ2383+ZZ2383
-+006706        011360          ZZ2383=ZZ2383+ZZ2383
-+006706        022740          ZZ2383=ZZ2383+ZZ2383
-+006706        045700          ZZ2383=ZZ2383+ZZ2383
-+006706        113600          ZZ2383=ZZ2383+ZZ2383
-+006706        227400          ZZ2383=ZZ2383+ZZ2383
-+006706        013446          0 8192 -ZZ1383
-+006707        227400          0 ZZ2383
--       mark 2291, 57          /18 mono
-+006710        000162          ZZ2384=ZZ2384+ZZ2384
-+006710        000344          ZZ2384=ZZ2384+ZZ2384
-+006710        000710          ZZ2384=ZZ2384+ZZ2384
-+006710        001620          ZZ2384=ZZ2384+ZZ2384
-+006710        003440          ZZ2384=ZZ2384+ZZ2384
-+006710        007100          ZZ2384=ZZ2384+ZZ2384
-+006710        016200          ZZ2384=ZZ2384+ZZ2384
-+006710        034400          ZZ2384=ZZ2384+ZZ2384
-+006710        013415          0 8192 -ZZ1384
-+006711        034400          0 ZZ2384
--       mark 2327, 303         /38 gemi
-+006712        001136          ZZ2385=ZZ2385+ZZ2385
-+006712        002274          ZZ2385=ZZ2385+ZZ2385
-+006712        004570          ZZ2385=ZZ2385+ZZ2385
-+006712        011360          ZZ2385=ZZ2385+ZZ2385
-+006712        022740          ZZ2385=ZZ2385+ZZ2385
-+006712        045700          ZZ2385=ZZ2385+ZZ2385
-+006712        113600          ZZ2385=ZZ2385+ZZ2385
-+006712        227400          ZZ2385=ZZ2385+ZZ2385
-+006712        013351          0 8192 -ZZ1385
-+006713        227400          0 ZZ2385
--       mark 2328, -457        /15 cmaj
-+006714        776154          ZZ2386=ZZ2386+ZZ2386
-+006714        774330          ZZ2386=ZZ2386+ZZ2386
-+006714        770660          ZZ2386=ZZ2386+ZZ2386
-+006714        761540          ZZ2386=ZZ2386+ZZ2386
-+006714        743300          ZZ2386=ZZ2386+ZZ2386
-+006714        706600          ZZ2386=ZZ2386+ZZ2386
-+006714        615400          ZZ2386=ZZ2386+ZZ2386
-+006714        433000          ZZ2386=ZZ2386+ZZ2386
-+006714        013350          0 8192 -ZZ1386
-+006715        433000          0 ZZ2386
--       mark 2330, -271        /14 cmaj
-+006716        776740          ZZ2387=ZZ2387+ZZ2387
-+006716        775700          ZZ2387=ZZ2387+ZZ2387
-+006716        773600          ZZ2387=ZZ2387+ZZ2387
-+006716        767400          ZZ2387=ZZ2387+ZZ2387
-+006716        757000          ZZ2387=ZZ2387+ZZ2387
-+006716        736000          ZZ2387=ZZ2387+ZZ2387
-+006716        674000          ZZ2387=ZZ2387+ZZ2387
-+006716        570000          ZZ2387=ZZ2387+ZZ2387
-+006716        013346          0 8192 -ZZ1387
-+006717        570000          0 ZZ2387
--       mark 2340, -456        /19 cmaj
-+006720        776156          ZZ2388=ZZ2388+ZZ2388
-+006720        774334          ZZ2388=ZZ2388+ZZ2388
-+006720        770670          ZZ2388=ZZ2388+ZZ2388
-+006720        761560          ZZ2388=ZZ2388+ZZ2388
-+006720        743340          ZZ2388=ZZ2388+ZZ2388
-+006720        706700          ZZ2388=ZZ2388+ZZ2388
-+006720        615600          ZZ2388=ZZ2388+ZZ2388
-+006720        433400          ZZ2388=ZZ2388+ZZ2388
-+006720        013334          0 8192 -ZZ1388
-+006721        433400          0 ZZ2388
--       mark 2342, -385        /20 cmaj
-+006722        776374          ZZ2389=ZZ2389+ZZ2389
-+006722        774770          ZZ2389=ZZ2389+ZZ2389
-+006722        771760          ZZ2389=ZZ2389+ZZ2389
-+006722        763740          ZZ2389=ZZ2389+ZZ2389
-+006722        747700          ZZ2389=ZZ2389+ZZ2389
-+006722        717600          ZZ2389=ZZ2389+ZZ2389
-+006722        637400          ZZ2389=ZZ2389+ZZ2389
-+006722        477000          ZZ2389=ZZ2389+ZZ2389
-+006722        013332          0 8192 -ZZ1389
-+006723        477000          0 ZZ2389
--       mark 2378, -93         /19 mono
-+006724        777504          ZZ2390=ZZ2390+ZZ2390
-+006724        777210          ZZ2390=ZZ2390+ZZ2390
-+006724        776420          ZZ2390=ZZ2390+ZZ2390
-+006724        775040          ZZ2390=ZZ2390+ZZ2390
-+006724        772100          ZZ2390=ZZ2390+ZZ2390
-+006724        764200          ZZ2390=ZZ2390+ZZ2390
-+006724        750400          ZZ2390=ZZ2390+ZZ2390
-+006724        721000          ZZ2390=ZZ2390+ZZ2390
-+006724        013266          0 8192 -ZZ1390
-+006725        721000          0 ZZ2390
--       mark 2379, 471         /43 gemi
-+006726        001656          ZZ2391=ZZ2391+ZZ2391
-+006726        003534          ZZ2391=ZZ2391+ZZ2391
-+006726        007270          ZZ2391=ZZ2391+ZZ2391
-+006726        016560          ZZ2391=ZZ2391+ZZ2391
-+006726        035340          ZZ2391=ZZ2391+ZZ2391
-+006726        072700          ZZ2391=ZZ2391+ZZ2391
-+006726        165600          ZZ2391=ZZ2391+ZZ2391
-+006726        353400          ZZ2391=ZZ2391+ZZ2391
-+006726        013265          0 8192 -ZZ1391
-+006727        353400          0 ZZ2391
--       mark 2385, -352        /23 cmaj
-+006730        776476          ZZ2392=ZZ2392+ZZ2392
-+006730        775174          ZZ2392=ZZ2392+ZZ2392
-+006730        772370          ZZ2392=ZZ2392+ZZ2392
-+006730        764760          ZZ2392=ZZ2392+ZZ2392
-+006730        751740          ZZ2392=ZZ2392+ZZ2392
-+006730        723700          ZZ2392=ZZ2392+ZZ2392
-+006730        647600          ZZ2392=ZZ2392+ZZ2392
-+006730        517400          ZZ2392=ZZ2392+ZZ2392
-+006730        013257          0 8192 -ZZ1392
-+006731        517400          0 ZZ2392
--       mark 2428, -8          /22 mono
-+006732        777756          ZZ2393=ZZ2393+ZZ2393
-+006732        777734          ZZ2393=ZZ2393+ZZ2393
-+006732        777670          ZZ2393=ZZ2393+ZZ2393
-+006732        777560          ZZ2393=ZZ2393+ZZ2393
-+006732        777340          ZZ2393=ZZ2393+ZZ2393
-+006732        776700          ZZ2393=ZZ2393+ZZ2393
-+006732        775600          ZZ2393=ZZ2393+ZZ2393
-+006732        773400          ZZ2393=ZZ2393+ZZ2393
-+006732        013204          0 8192 -ZZ1393
-+006733        773400          0 ZZ2393
--       mark 2491, -429        /
-+006734        776244          ZZ2394=ZZ2394+ZZ2394
-+006734        774510          ZZ2394=ZZ2394+ZZ2394
-+006734        771220          ZZ2394=ZZ2394+ZZ2394
-+006734        762440          ZZ2394=ZZ2394+ZZ2394
-+006734        745100          ZZ2394=ZZ2394+ZZ2394
-+006734        712200          ZZ2394=ZZ2394+ZZ2394
-+006734        624400          ZZ2394=ZZ2394+ZZ2394
-+006734        451000          ZZ2394=ZZ2394+ZZ2394
-+006734        013105          0 8192 -ZZ1394
-+006735        451000          0 ZZ2394
--       mark 2519, 208         / 4 cmin
-+006736        000640          ZZ2395=ZZ2395+ZZ2395
-+006736        001500          ZZ2395=ZZ2395+ZZ2395
-+006736        003200          ZZ2395=ZZ2395+ZZ2395
-+006736        006400          ZZ2395=ZZ2395+ZZ2395
-+006736        015000          ZZ2395=ZZ2395+ZZ2395
-+006736        032000          ZZ2395=ZZ2395+ZZ2395
-+006736        064000          ZZ2395=ZZ2395+ZZ2395
-+006736        150000          ZZ2395=ZZ2395+ZZ2395
-+006736        013051          0 8192 -ZZ1395
-+006737        150000          0 ZZ2395
--       mark 2527, 278         / 6 cmin
-+006740        001054          ZZ2396=ZZ2396+ZZ2396
-+006740        002130          ZZ2396=ZZ2396+ZZ2396
-+006740        004260          ZZ2396=ZZ2396+ZZ2396
-+006740        010540          ZZ2396=ZZ2396+ZZ2396
-+006740        021300          ZZ2396=ZZ2396+ZZ2396
-+006740        042600          ZZ2396=ZZ2396+ZZ2396
-+006740        105400          ZZ2396=ZZ2396+ZZ2396
-+006740        213000          ZZ2396=ZZ2396+ZZ2396
-+006740        013041          0 8192 -ZZ1396
-+006741        213000          0 ZZ2396
--       mark 2559, -503        /
-+006742        776020          ZZ2397=ZZ2397+ZZ2397
-+006742        774040          ZZ2397=ZZ2397+ZZ2397
-+006742        770100          ZZ2397=ZZ2397+ZZ2397
-+006742        760200          ZZ2397=ZZ2397+ZZ2397
-+006742        740400          ZZ2397=ZZ2397+ZZ2397
-+006742        701000          ZZ2397=ZZ2397+ZZ2397
-+006742        602000          ZZ2397=ZZ2397+ZZ2397
-+006742        404000          ZZ2397=ZZ2397+ZZ2397
-+006742        013001          0 8192 -ZZ1397
-+006743        404000          0 ZZ2397
--       mark 2597, -212        /26 mono
-+006744        777126          ZZ2398=ZZ2398+ZZ2398
-+006744        776254          ZZ2398=ZZ2398+ZZ2398
-+006744        774530          ZZ2398=ZZ2398+ZZ2398
-+006744        771260          ZZ2398=ZZ2398+ZZ2398
-+006744        762540          ZZ2398=ZZ2398+ZZ2398
-+006744        745300          ZZ2398=ZZ2398+ZZ2398
-+006744        712600          ZZ2398=ZZ2398+ZZ2398
-+006744        625400          ZZ2398=ZZ2398+ZZ2398
-+006744        012733          0 8192 -ZZ1398
-+006745        625400          0 ZZ2398
--       mark 2704, -412        /
-+006746        776306          ZZ2399=ZZ2399+ZZ2399
-+006746        774614          ZZ2399=ZZ2399+ZZ2399
-+006746        771430          ZZ2399=ZZ2399+ZZ2399
-+006746        763060          ZZ2399=ZZ2399+ZZ2399
-+006746        746140          ZZ2399=ZZ2399+ZZ2399
-+006746        714300          ZZ2399=ZZ2399+ZZ2399
-+006746        630600          ZZ2399=ZZ2399+ZZ2399
-+006746        461400          ZZ2399=ZZ2399+ZZ2399
-+006746        012560          0 8192 -ZZ1399
-+006747        461400          0 ZZ2399
--       mark 2709, -25         /28 mono
-+006750        777714          ZZ2400=ZZ2400+ZZ2400
-+006750        777630          ZZ2400=ZZ2400+ZZ2400
-+006750        777460          ZZ2400=ZZ2400+ZZ2400
-+006750        777140          ZZ2400=ZZ2400+ZZ2400
-+006750        776300          ZZ2400=ZZ2400+ZZ2400
-+006750        774600          ZZ2400=ZZ2400+ZZ2400
-+006750        771400          ZZ2400=ZZ2400+ZZ2400
-+006750        763000          ZZ2400=ZZ2400+ZZ2400
-+006750        012553          0 8192 -ZZ1400
-+006751        763000          0 ZZ2400
--       mark 2714, 60          /
-+006752        000170          ZZ2401=ZZ2401+ZZ2401
-+006752        000360          ZZ2401=ZZ2401+ZZ2401
-+006752        000740          ZZ2401=ZZ2401+ZZ2401
-+006752        001700          ZZ2401=ZZ2401+ZZ2401
-+006752        003600          ZZ2401=ZZ2401+ZZ2401
-+006752        007400          ZZ2401=ZZ2401+ZZ2401
-+006752        017000          ZZ2401=ZZ2401+ZZ2401
-+006752        036000          ZZ2401=ZZ2401+ZZ2401
-+006752        012546          0 8192 -ZZ1401
-+006753        036000          0 ZZ2401
--       mark 2751, -61         /29 mono
-+006754        777604          ZZ2402=ZZ2402+ZZ2402
-+006754        777410          ZZ2402=ZZ2402+ZZ2402
-+006754        777020          ZZ2402=ZZ2402+ZZ2402
-+006754        776040          ZZ2402=ZZ2402+ZZ2402
-+006754        774100          ZZ2402=ZZ2402+ZZ2402
-+006754        770200          ZZ2402=ZZ2402+ZZ2402
-+006754        760400          ZZ2402=ZZ2402+ZZ2402
-+006754        741000          ZZ2402=ZZ2402+ZZ2402
-+006754        012501          0 8192 -ZZ1402
-+006755        741000          0 ZZ2402
--       mark 2757, -431        /16 pupp
-+006756        776240          ZZ2403=ZZ2403+ZZ2403
-+006756        774500          ZZ2403=ZZ2403+ZZ2403
-+006756        771200          ZZ2403=ZZ2403+ZZ2403
-+006756        762400          ZZ2403=ZZ2403+ZZ2403
-+006756        745000          ZZ2403=ZZ2403+ZZ2403
-+006756        712000          ZZ2403=ZZ2403+ZZ2403
-+006756        624000          ZZ2403=ZZ2403+ZZ2403
-+006756        450000          ZZ2403=ZZ2403+ZZ2403
-+006756        012473          0 8192 -ZZ1403
-+006757        450000          0 ZZ2403
--       mark 2768, -288        /19 pupp
-+006760        776676          ZZ2404=ZZ2404+ZZ2404
-+006760        775574          ZZ2404=ZZ2404+ZZ2404
-+006760        773370          ZZ2404=ZZ2404+ZZ2404
-+006760        766760          ZZ2404=ZZ2404+ZZ2404
-+006760        755740          ZZ2404=ZZ2404+ZZ2404
-+006760        733700          ZZ2404=ZZ2404+ZZ2404
-+006760        667600          ZZ2404=ZZ2404+ZZ2404
-+006760        557400          ZZ2404=ZZ2404+ZZ2404
-+006760        012460          0 8192 -ZZ1404
-+006761        557400          0 ZZ2404
--       mark 2794, 216         /17 canc
-+006762        000660          ZZ2405=ZZ2405+ZZ2405
-+006762        001540          ZZ2405=ZZ2405+ZZ2405
-+006762        003300          ZZ2405=ZZ2405+ZZ2405
-+006762        006600          ZZ2405=ZZ2405+ZZ2405
-+006762        015400          ZZ2405=ZZ2405+ZZ2405
-+006762        033000          ZZ2405=ZZ2405+ZZ2405
-+006762        066000          ZZ2405=ZZ2405+ZZ2405
-+006762        154000          ZZ2405=ZZ2405+ZZ2405
-+006762        012426          0 8192 -ZZ1405
-+006763        154000          0 ZZ2405
--       mark 2848, -82         /
-+006764        777532          ZZ2406=ZZ2406+ZZ2406
-+006764        777264          ZZ2406=ZZ2406+ZZ2406
-+006764        776550          ZZ2406=ZZ2406+ZZ2406
-+006764        775320          ZZ2406=ZZ2406+ZZ2406
-+006764        772640          ZZ2406=ZZ2406+ZZ2406
-+006764        765500          ZZ2406=ZZ2406+ZZ2406
-+006764        753200          ZZ2406=ZZ2406+ZZ2406
-+006764        726400          ZZ2406=ZZ2406+ZZ2406
-+006764        012340          0 8192 -ZZ1406
-+006765        726400          0 ZZ2406
--       mark 2915, 138         / 4 hyda
-+006766        000424          ZZ2407=ZZ2407+ZZ2407
-+006766        001050          ZZ2407=ZZ2407+ZZ2407
-+006766        002120          ZZ2407=ZZ2407+ZZ2407
-+006766        004240          ZZ2407=ZZ2407+ZZ2407
-+006766        010500          ZZ2407=ZZ2407+ZZ2407
-+006766        021200          ZZ2407=ZZ2407+ZZ2407
-+006766        042400          ZZ2407=ZZ2407+ZZ2407
-+006766        105000          ZZ2407=ZZ2407+ZZ2407
-+006766        012235          0 8192 -ZZ1407
-+006767        105000          0 ZZ2407
--       mark 2921, 84          / 5 hyda
-+006770        000250          ZZ2408=ZZ2408+ZZ2408
-+006770        000520          ZZ2408=ZZ2408+ZZ2408
-+006770        001240          ZZ2408=ZZ2408+ZZ2408
-+006770        002500          ZZ2408=ZZ2408+ZZ2408
-+006770        005200          ZZ2408=ZZ2408+ZZ2408
-+006770        012400          ZZ2408=ZZ2408+ZZ2408
-+006770        025000          ZZ2408=ZZ2408+ZZ2408
-+006770        052000          ZZ2408=ZZ2408+ZZ2408
-+006770        012227          0 8192 -ZZ1408
-+006771        052000          0 ZZ2408
--       mark 2942, -355        / 9 hyda
-+006772        776470          ZZ2409=ZZ2409+ZZ2409
-+006772        775160          ZZ2409=ZZ2409+ZZ2409
-+006772        772340          ZZ2409=ZZ2409+ZZ2409
-+006772        764700          ZZ2409=ZZ2409+ZZ2409
-+006772        751600          ZZ2409=ZZ2409+ZZ2409
-+006772        723400          ZZ2409=ZZ2409+ZZ2409
-+006772        647000          ZZ2409=ZZ2409+ZZ2409
-+006772        516000          ZZ2409=ZZ2409+ZZ2409
-+006772        012202          0 8192 -ZZ1409
-+006773        516000          0 ZZ2409
--       mark 2944, 497         /43 canc
-+006774        001742          ZZ2410=ZZ2410+ZZ2410
-+006774        003704          ZZ2410=ZZ2410+ZZ2410
-+006774        007610          ZZ2410=ZZ2410+ZZ2410
-+006774        017420          ZZ2410=ZZ2410+ZZ2410
-+006774        037040          ZZ2410=ZZ2410+ZZ2410
-+006774        076100          ZZ2410=ZZ2410+ZZ2410
-+006774        174200          ZZ2410=ZZ2410+ZZ2410
-+006774        370400          ZZ2410=ZZ2410+ZZ2410
-+006774        012200          0 8192 -ZZ1410
-+006775        370400          0 ZZ2410
--       mark 2947, 85          / 7 hyda
-+006776        000252          ZZ2411=ZZ2411+ZZ2411
-+006776        000524          ZZ2411=ZZ2411+ZZ2411
-+006776        001250          ZZ2411=ZZ2411+ZZ2411
-+006776        002520          ZZ2411=ZZ2411+ZZ2411
-+006776        005240          ZZ2411=ZZ2411+ZZ2411
-+006776        012500          ZZ2411=ZZ2411+ZZ2411
-+006776        025200          ZZ2411=ZZ2411+ZZ2411
-+006776        052400          ZZ2411=ZZ2411+ZZ2411
-+006776        012175          0 8192 -ZZ1411
-+006777        052400          0 ZZ2411
--       mark 2951, -156        /
-+007000        777306          ZZ2412=ZZ2412+ZZ2412
-+007000        776614          ZZ2412=ZZ2412+ZZ2412
-+007000        775430          ZZ2412=ZZ2412+ZZ2412
-+007000        773060          ZZ2412=ZZ2412+ZZ2412
-+007000        766140          ZZ2412=ZZ2412+ZZ2412
-+007000        754300          ZZ2412=ZZ2412+ZZ2412
-+007000        730600          ZZ2412=ZZ2412+ZZ2412
-+007000        661400          ZZ2412=ZZ2412+ZZ2412
-+007000        012171          0 8192 -ZZ1412
-+007001        661400          0 ZZ2412
--       mark 2953, 421         /47 canc
-+007002        001512          ZZ2413=ZZ2413+ZZ2413
-+007002        003224          ZZ2413=ZZ2413+ZZ2413
-+007002        006450          ZZ2413=ZZ2413+ZZ2413
-+007002        015120          ZZ2413=ZZ2413+ZZ2413
-+007002        032240          ZZ2413=ZZ2413+ZZ2413
-+007002        064500          ZZ2413=ZZ2413+ZZ2413
-+007002        151200          ZZ2413=ZZ2413+ZZ2413
-+007002        322400          ZZ2413=ZZ2413+ZZ2413
-+007002        012167          0 8192 -ZZ1413
-+007003        322400          0 ZZ2413
--       mark 2968, -300        /12 hyda
-+007004        776646          ZZ2414=ZZ2414+ZZ2414
-+007004        775514          ZZ2414=ZZ2414+ZZ2414
-+007004        773230          ZZ2414=ZZ2414+ZZ2414
-+007004        766460          ZZ2414=ZZ2414+ZZ2414
-+007004        755140          ZZ2414=ZZ2414+ZZ2414
-+007004        732300          ZZ2414=ZZ2414+ZZ2414
-+007004        664600          ZZ2414=ZZ2414+ZZ2414
-+007004        551400          ZZ2414=ZZ2414+ZZ2414
-+007004        012150          0 8192 -ZZ1414
-+007005        551400          0 ZZ2414
--       mark 2976, 141         /13 hyda
-+007006        000432          ZZ2415=ZZ2415+ZZ2415
-+007006        001064          ZZ2415=ZZ2415+ZZ2415
-+007006        002150          ZZ2415=ZZ2415+ZZ2415
-+007006        004320          ZZ2415=ZZ2415+ZZ2415
-+007006        010640          ZZ2415=ZZ2415+ZZ2415
-+007006        021500          ZZ2415=ZZ2415+ZZ2415
-+007006        043200          ZZ2415=ZZ2415+ZZ2415
-+007006        106400          ZZ2415=ZZ2415+ZZ2415
-+007006        012140          0 8192 -ZZ1415
-+007007        106400          0 ZZ2415
--       mark 3032, 279         /65 canc
-+007010        001056          ZZ2416=ZZ2416+ZZ2416
-+007010        002134          ZZ2416=ZZ2416+ZZ2416
-+007010        004270          ZZ2416=ZZ2416+ZZ2416
-+007010        010560          ZZ2416=ZZ2416+ZZ2416
-+007010        021340          ZZ2416=ZZ2416+ZZ2416
-+007010        042700          ZZ2416=ZZ2416+ZZ2416
-+007010        105600          ZZ2416=ZZ2416+ZZ2416
-+007010        213400          ZZ2416=ZZ2416+ZZ2416
-+007010        012050          0 8192 -ZZ1416
-+007011        213400          0 ZZ2416
--       mark 3124, 62          /22 hyda
-+007012        000174          ZZ2417=ZZ2417+ZZ2417
-+007012        000370          ZZ2417=ZZ2417+ZZ2417
-+007012        000760          ZZ2417=ZZ2417+ZZ2417
-+007012        001740          ZZ2417=ZZ2417+ZZ2417
-+007012        003700          ZZ2417=ZZ2417+ZZ2417
-+007012        007600          ZZ2417=ZZ2417+ZZ2417
-+007012        017400          ZZ2417=ZZ2417+ZZ2417
-+007012        037000          ZZ2417=ZZ2417+ZZ2417
-+007012        011714          0 8192 -ZZ1417
-+007013        037000          0 ZZ2417
--       mark 3157, -263        /26 hyda
-+007014        776760          ZZ2418=ZZ2418+ZZ2418
-+007014        775740          ZZ2418=ZZ2418+ZZ2418
-+007014        773700          ZZ2418=ZZ2418+ZZ2418
-+007014        767600          ZZ2418=ZZ2418+ZZ2418
-+007014        757400          ZZ2418=ZZ2418+ZZ2418
-+007014        737000          ZZ2418=ZZ2418+ZZ2418
-+007014        676000          ZZ2418=ZZ2418+ZZ2418
-+007014        574000          ZZ2418=ZZ2418+ZZ2418
-+007014        011653          0 8192 -ZZ1418
-+007015        574000          0 ZZ2418
--       mark 3161, -208        /27 hyda
-+007016        777136          ZZ2419=ZZ2419+ZZ2419
-+007016        776274          ZZ2419=ZZ2419+ZZ2419
-+007016        774570          ZZ2419=ZZ2419+ZZ2419
-+007016        771360          ZZ2419=ZZ2419+ZZ2419
-+007016        762740          ZZ2419=ZZ2419+ZZ2419
-+007016        745700          ZZ2419=ZZ2419+ZZ2419
-+007016        713600          ZZ2419=ZZ2419+ZZ2419
-+007016        627400          ZZ2419=ZZ2419+ZZ2419
-+007016        011647          0 8192 -ZZ1419
-+007017        627400          0 ZZ2419
--       mark 3209, -53         /31 hyda
-+007020        777624          ZZ2420=ZZ2420+ZZ2420
-+007020        777450          ZZ2420=ZZ2420+ZZ2420
-+007020        777120          ZZ2420=ZZ2420+ZZ2420
-+007020        776240          ZZ2420=ZZ2420+ZZ2420
-+007020        774500          ZZ2420=ZZ2420+ZZ2420
-+007020        771200          ZZ2420=ZZ2420+ZZ2420
-+007020        762400          ZZ2420=ZZ2420+ZZ2420
-+007020        745000          ZZ2420=ZZ2420+ZZ2420
-+007020        011567          0 8192 -ZZ1420
-+007021        745000          0 ZZ2420
--       mark 3225, -17         /32 hyda
-+007022        777734          ZZ2421=ZZ2421+ZZ2421
-+007022        777670          ZZ2421=ZZ2421+ZZ2421
-+007022        777560          ZZ2421=ZZ2421+ZZ2421
-+007022        777340          ZZ2421=ZZ2421+ZZ2421
-+007022        776700          ZZ2421=ZZ2421+ZZ2421
-+007022        775600          ZZ2421=ZZ2421+ZZ2421
-+007022        773400          ZZ2421=ZZ2421+ZZ2421
-+007022        767000          ZZ2421=ZZ2421+ZZ2421
-+007022        011547          0 8192 -ZZ1421
-+007023        767000          0 ZZ2421
--       mark 3261, 116         /
-+007024        000350          ZZ2422=ZZ2422+ZZ2422
-+007024        000720          ZZ2422=ZZ2422+ZZ2422
-+007024        001640          ZZ2422=ZZ2422+ZZ2422
-+007024        003500          ZZ2422=ZZ2422+ZZ2422
-+007024        007200          ZZ2422=ZZ2422+ZZ2422
-+007024        016400          ZZ2422=ZZ2422+ZZ2422
-+007024        035000          ZZ2422=ZZ2422+ZZ2422
-+007024        072000          ZZ2422=ZZ2422+ZZ2422
-+007024        011503          0 8192 -ZZ1422
-+007025        072000          0 ZZ2422
--       mark 3270, -16         /35 hyda
-+007026        777736          ZZ2423=ZZ2423+ZZ2423
-+007026        777674          ZZ2423=ZZ2423+ZZ2423
-+007026        777570          ZZ2423=ZZ2423+ZZ2423
-+007026        777360          ZZ2423=ZZ2423+ZZ2423
-+007026        776740          ZZ2423=ZZ2423+ZZ2423
-+007026        775700          ZZ2423=ZZ2423+ZZ2423
-+007026        773600          ZZ2423=ZZ2423+ZZ2423
-+007026        767400          ZZ2423=ZZ2423+ZZ2423
-+007026        011472          0 8192 -ZZ1423
-+007027        767400          0 ZZ2423
--       mark 3274, -316        /38 hyda
-+007030        776606          ZZ2424=ZZ2424+ZZ2424
-+007030        775414          ZZ2424=ZZ2424+ZZ2424
-+007030        773030          ZZ2424=ZZ2424+ZZ2424
-+007030        766060          ZZ2424=ZZ2424+ZZ2424
-+007030        754140          ZZ2424=ZZ2424+ZZ2424
-+007030        730300          ZZ2424=ZZ2424+ZZ2424
-+007030        660600          ZZ2424=ZZ2424+ZZ2424
-+007030        541400          ZZ2424=ZZ2424+ZZ2424
-+007030        011466          0 8192 -ZZ1424
-+007031        541400          0 ZZ2424
--       mark 3276, 236         /14 leon
-+007032        000730          ZZ2425=ZZ2425+ZZ2425
-+007032        001660          ZZ2425=ZZ2425+ZZ2425
-+007032        003540          ZZ2425=ZZ2425+ZZ2425
-+007032        007300          ZZ2425=ZZ2425+ZZ2425
-+007032        016600          ZZ2425=ZZ2425+ZZ2425
-+007032        035400          ZZ2425=ZZ2425+ZZ2425
-+007032        073000          ZZ2425=ZZ2425+ZZ2425
-+007032        166000          ZZ2425=ZZ2425+ZZ2425
-+007032        011464          0 8192 -ZZ1425
-+007033        166000          0 ZZ2425
--       mark 3338, -327        /39 hyda
-+007034        776560          ZZ2426=ZZ2426+ZZ2426
-+007034        775340          ZZ2426=ZZ2426+ZZ2426
-+007034        772700          ZZ2426=ZZ2426+ZZ2426
-+007034        765600          ZZ2426=ZZ2426+ZZ2426
-+007034        753400          ZZ2426=ZZ2426+ZZ2426
-+007034        727000          ZZ2426=ZZ2426+ZZ2426
-+007034        656000          ZZ2426=ZZ2426+ZZ2426
-+007034        534000          ZZ2426=ZZ2426+ZZ2426
-+007034        011366          0 8192 -ZZ1426
-+007035        534000          0 ZZ2426
--       mark 3385, 194         /29 leon
-+007036        000604          ZZ2427=ZZ2427+ZZ2427
-+007036        001410          ZZ2427=ZZ2427+ZZ2427
-+007036        003020          ZZ2427=ZZ2427+ZZ2427
-+007036        006040          ZZ2427=ZZ2427+ZZ2427
-+007036        014100          ZZ2427=ZZ2427+ZZ2427
-+007036        030200          ZZ2427=ZZ2427+ZZ2427
-+007036        060400          ZZ2427=ZZ2427+ZZ2427
-+007036        141000          ZZ2427=ZZ2427+ZZ2427
-+007036        011307          0 8192 -ZZ1427
-+007037        141000          0 ZZ2427
--       mark 3415, -286        /40 hyda
-+007040        776702          ZZ2428=ZZ2428+ZZ2428
-+007040        775604          ZZ2428=ZZ2428+ZZ2428
-+007040        773410          ZZ2428=ZZ2428+ZZ2428
-+007040        767020          ZZ2428=ZZ2428+ZZ2428
-+007040        756040          ZZ2428=ZZ2428+ZZ2428
-+007040        734100          ZZ2428=ZZ2428+ZZ2428
-+007040        670200          ZZ2428=ZZ2428+ZZ2428
-+007040        560400          ZZ2428=ZZ2428+ZZ2428
-+007040        011251          0 8192 -ZZ1428
-+007041        560400          0 ZZ2428
--       mark 3428, 239         /31 leon
-+007042        000736          ZZ2429=ZZ2429+ZZ2429
-+007042        001674          ZZ2429=ZZ2429+ZZ2429
-+007042        003570          ZZ2429=ZZ2429+ZZ2429
-+007042        007360          ZZ2429=ZZ2429+ZZ2429
-+007042        016740          ZZ2429=ZZ2429+ZZ2429
-+007042        035700          ZZ2429=ZZ2429+ZZ2429
-+007042        073600          ZZ2429=ZZ2429+ZZ2429
-+007042        167400          ZZ2429=ZZ2429+ZZ2429
-+007042        011234          0 8192 -ZZ1429
-+007043        167400          0 ZZ2429
--       mark 3429, 3           /15 sext
-+007044        000006          ZZ2430=ZZ2430+ZZ2430
-+007044        000014          ZZ2430=ZZ2430+ZZ2430
-+007044        000030          ZZ2430=ZZ2430+ZZ2430
-+007044        000060          ZZ2430=ZZ2430+ZZ2430
-+007044        000140          ZZ2430=ZZ2430+ZZ2430
-+007044        000300          ZZ2430=ZZ2430+ZZ2430
-+007044        000600          ZZ2430=ZZ2430+ZZ2430
-+007044        001400          ZZ2430=ZZ2430+ZZ2430
-+007044        011233          0 8192 -ZZ1430
-+007045        001400          0 ZZ2430
--       mark 3446, -270        /41 hyda
-+007046        776742          ZZ2431=ZZ2431+ZZ2431
-+007046        775704          ZZ2431=ZZ2431+ZZ2431
-+007046        773610          ZZ2431=ZZ2431+ZZ2431
-+007046        767420          ZZ2431=ZZ2431+ZZ2431
-+007046        757040          ZZ2431=ZZ2431+ZZ2431
-+007046        736100          ZZ2431=ZZ2431+ZZ2431
-+007046        674200          ZZ2431=ZZ2431+ZZ2431
-+007046        570400          ZZ2431=ZZ2431+ZZ2431
-+007046        011212          0 8192 -ZZ1431
-+007047        570400          0 ZZ2431
--       mark 3495, 455         /40 leon
-+007050        001616          ZZ2432=ZZ2432+ZZ2432
-+007050        003434          ZZ2432=ZZ2432+ZZ2432
-+007050        007070          ZZ2432=ZZ2432+ZZ2432
-+007050        016160          ZZ2432=ZZ2432+ZZ2432
-+007050        034340          ZZ2432=ZZ2432+ZZ2432
-+007050        070700          ZZ2432=ZZ2432+ZZ2432
-+007050        161600          ZZ2432=ZZ2432+ZZ2432
-+007050        343400          ZZ2432=ZZ2432+ZZ2432
-+007050        011131          0 8192 -ZZ1432
-+007051        343400          0 ZZ2432
--       mark 3534, -372        /42 hyda
-+007052        776426          ZZ2433=ZZ2433+ZZ2433
-+007052        775054          ZZ2433=ZZ2433+ZZ2433
-+007052        772130          ZZ2433=ZZ2433+ZZ2433
-+007052        764260          ZZ2433=ZZ2433+ZZ2433
-+007052        750540          ZZ2433=ZZ2433+ZZ2433
-+007052        721300          ZZ2433=ZZ2433+ZZ2433
-+007052        642600          ZZ2433=ZZ2433+ZZ2433
-+007052        505400          ZZ2433=ZZ2433+ZZ2433
-+007052        011062          0 8192 -ZZ1433
-+007053        505400          0 ZZ2433
--       mark 3557, -3          /30 sext
-+007054        777770          ZZ2434=ZZ2434+ZZ2434
-+007054        777760          ZZ2434=ZZ2434+ZZ2434
-+007054        777740          ZZ2434=ZZ2434+ZZ2434
-+007054        777700          ZZ2434=ZZ2434+ZZ2434
-+007054        777600          ZZ2434=ZZ2434+ZZ2434
-+007054        777400          ZZ2434=ZZ2434+ZZ2434
-+007054        777000          ZZ2434=ZZ2434+ZZ2434
-+007054        776000          ZZ2434=ZZ2434+ZZ2434
-+007054        011033          0 8192 -ZZ1434
-+007055        776000          0 ZZ2434
--       mark 3570, 223         /47 leon
-+007056        000676          ZZ2435=ZZ2435+ZZ2435
-+007056        001574          ZZ2435=ZZ2435+ZZ2435
-+007056        003370          ZZ2435=ZZ2435+ZZ2435
-+007056        006760          ZZ2435=ZZ2435+ZZ2435
-+007056        015740          ZZ2435=ZZ2435+ZZ2435
-+007056        033700          ZZ2435=ZZ2435+ZZ2435
-+007056        067600          ZZ2435=ZZ2435+ZZ2435
-+007056        157400          ZZ2435=ZZ2435+ZZ2435
-+007056        011016          0 8192 -ZZ1435
-+007057        157400          0 ZZ2435
--       mark 3726, -404        /al crat
-+007060        776326          ZZ2436=ZZ2436+ZZ2436
-+007060        774654          ZZ2436=ZZ2436+ZZ2436
-+007060        771530          ZZ2436=ZZ2436+ZZ2436
-+007060        763260          ZZ2436=ZZ2436+ZZ2436
-+007060        746540          ZZ2436=ZZ2436+ZZ2436
-+007060        715300          ZZ2436=ZZ2436+ZZ2436
-+007060        632600          ZZ2436=ZZ2436+ZZ2436
-+007060        465400          ZZ2436=ZZ2436+ZZ2436
-+007060        010562          0 8192 -ZZ1436
-+007061        465400          0 ZZ2436
--       mark 3736, -44         /61 leon
-+007062        777646          ZZ2437=ZZ2437+ZZ2437
-+007062        777514          ZZ2437=ZZ2437+ZZ2437
-+007062        777230          ZZ2437=ZZ2437+ZZ2437
-+007062        776460          ZZ2437=ZZ2437+ZZ2437
-+007062        775140          ZZ2437=ZZ2437+ZZ2437
-+007062        772300          ZZ2437=ZZ2437+ZZ2437
-+007062        764600          ZZ2437=ZZ2437+ZZ2437
-+007062        751400          ZZ2437=ZZ2437+ZZ2437
-+007062        010550          0 8192 -ZZ1437
-+007063        751400          0 ZZ2437
--       mark 3738, 471         /60 leon
-+007064        001656          ZZ2438=ZZ2438+ZZ2438
-+007064        003534          ZZ2438=ZZ2438+ZZ2438
-+007064        007270          ZZ2438=ZZ2438+ZZ2438
-+007064        016560          ZZ2438=ZZ2438+ZZ2438
-+007064        035340          ZZ2438=ZZ2438+ZZ2438
-+007064        072700          ZZ2438=ZZ2438+ZZ2438
-+007064        165600          ZZ2438=ZZ2438+ZZ2438
-+007064        353400          ZZ2438=ZZ2438+ZZ2438
-+007064        010546          0 8192 -ZZ1438
-+007065        353400          0 ZZ2438
--       mark 3754, 179         /63 leon
-+007066        000546          ZZ2439=ZZ2439+ZZ2439
-+007066        001314          ZZ2439=ZZ2439+ZZ2439
-+007066        002630          ZZ2439=ZZ2439+ZZ2439
-+007066        005460          ZZ2439=ZZ2439+ZZ2439
-+007066        013140          ZZ2439=ZZ2439+ZZ2439
-+007066        026300          ZZ2439=ZZ2439+ZZ2439
-+007066        054600          ZZ2439=ZZ2439+ZZ2439
-+007066        131400          ZZ2439=ZZ2439+ZZ2439
-+007066        010526          0 8192 -ZZ1439
-+007067        131400          0 ZZ2439
--       mark 3793, -507        /11 crat
-+007070        776010          ZZ2440=ZZ2440+ZZ2440
-+007070        774020          ZZ2440=ZZ2440+ZZ2440
-+007070        770040          ZZ2440=ZZ2440+ZZ2440
-+007070        760100          ZZ2440=ZZ2440+ZZ2440
-+007070        740200          ZZ2440=ZZ2440+ZZ2440
-+007070        700400          ZZ2440=ZZ2440+ZZ2440
-+007070        601000          ZZ2440=ZZ2440+ZZ2440
-+007070        402000          ZZ2440=ZZ2440+ZZ2440
-+007070        010457          0 8192 -ZZ1440
-+007071        402000          0 ZZ2440
--       mark 3821, -71         /74 leon
-+007072        777560          ZZ2441=ZZ2441+ZZ2441
-+007072        777340          ZZ2441=ZZ2441+ZZ2441
-+007072        776700          ZZ2441=ZZ2441+ZZ2441
-+007072        775600          ZZ2441=ZZ2441+ZZ2441
-+007072        773400          ZZ2441=ZZ2441+ZZ2441
-+007072        767000          ZZ2441=ZZ2441+ZZ2441
-+007072        756000          ZZ2441=ZZ2441+ZZ2441
-+007072        734000          ZZ2441=ZZ2441+ZZ2441
-+007072        010423          0 8192 -ZZ1441
-+007073        734000          0 ZZ2441
--       mark 3836, -324        /12 crat
-+007074        776566          ZZ2442=ZZ2442+ZZ2442
-+007074        775354          ZZ2442=ZZ2442+ZZ2442
-+007074        772730          ZZ2442=ZZ2442+ZZ2442
-+007074        765660          ZZ2442=ZZ2442+ZZ2442
-+007074        753540          ZZ2442=ZZ2442+ZZ2442
-+007074        727300          ZZ2442=ZZ2442+ZZ2442
-+007074        656600          ZZ2442=ZZ2442+ZZ2442
-+007074        535400          ZZ2442=ZZ2442+ZZ2442
-+007074        010404          0 8192 -ZZ1442
-+007075        535400          0 ZZ2442
--       mark 3846, 150         /77 leon
-+007076        000454          ZZ2443=ZZ2443+ZZ2443
-+007076        001130          ZZ2443=ZZ2443+ZZ2443
-+007076        002260          ZZ2443=ZZ2443+ZZ2443
-+007076        004540          ZZ2443=ZZ2443+ZZ2443
-+007076        011300          ZZ2443=ZZ2443+ZZ2443
-+007076        022600          ZZ2443=ZZ2443+ZZ2443
-+007076        045400          ZZ2443=ZZ2443+ZZ2443
-+007076        113000          ZZ2443=ZZ2443+ZZ2443
-+007076        010372          0 8192 -ZZ1443
-+007077        113000          0 ZZ2443
--       mark 3861, 252         /78 leon
-+007100        000770          ZZ2444=ZZ2444+ZZ2444
-+007100        001760          ZZ2444=ZZ2444+ZZ2444
-+007100        003740          ZZ2444=ZZ2444+ZZ2444
-+007100        007700          ZZ2444=ZZ2444+ZZ2444
-+007100        017600          ZZ2444=ZZ2444+ZZ2444
-+007100        037400          ZZ2444=ZZ2444+ZZ2444
-+007100        077000          ZZ2444=ZZ2444+ZZ2444
-+007100        176000          ZZ2444=ZZ2444+ZZ2444
-+007100        010353          0 8192 -ZZ1444
-+007101        176000          0 ZZ2444
--       mark 3868, -390        /15 crat
-+007102        776362          ZZ2445=ZZ2445+ZZ2445
-+007102        774744          ZZ2445=ZZ2445+ZZ2445
-+007102        771710          ZZ2445=ZZ2445+ZZ2445
-+007102        763620          ZZ2445=ZZ2445+ZZ2445
-+007102        747440          ZZ2445=ZZ2445+ZZ2445
-+007102        717100          ZZ2445=ZZ2445+ZZ2445
-+007102        636200          ZZ2445=ZZ2445+ZZ2445
-+007102        474400          ZZ2445=ZZ2445+ZZ2445
-+007102        010344          0 8192 -ZZ1445
-+007103        474400          0 ZZ2445
--       mark 3935, -211        /21 crat
-+007104        777130          ZZ2446=ZZ2446+ZZ2446
-+007104        776260          ZZ2446=ZZ2446+ZZ2446
-+007104        774540          ZZ2446=ZZ2446+ZZ2446
-+007104        771300          ZZ2446=ZZ2446+ZZ2446
-+007104        762600          ZZ2446=ZZ2446+ZZ2446
-+007104        745400          ZZ2446=ZZ2446+ZZ2446
-+007104        713000          ZZ2446=ZZ2446+ZZ2446
-+007104        626000          ZZ2446=ZZ2446+ZZ2446
-+007104        010241          0 8192 -ZZ1446
-+007105        626000          0 ZZ2446
--       mark 3936, -6          /91 leon
-+007106        777762          ZZ2447=ZZ2447+ZZ2447
-+007106        777744          ZZ2447=ZZ2447+ZZ2447
-+007106        777710          ZZ2447=ZZ2447+ZZ2447
-+007106        777620          ZZ2447=ZZ2447+ZZ2447
-+007106        777440          ZZ2447=ZZ2447+ZZ2447
-+007106        777100          ZZ2447=ZZ2447+ZZ2447
-+007106        776200          ZZ2447=ZZ2447+ZZ2447
-+007106        774400          ZZ2447=ZZ2447+ZZ2447
-+007106        010240          0 8192 -ZZ1447
-+007107        774400          0 ZZ2447
--       mark 3981, -405        /27 crat
-+007110        776324          ZZ2448=ZZ2448+ZZ2448
-+007110        774650          ZZ2448=ZZ2448+ZZ2448
-+007110        771520          ZZ2448=ZZ2448+ZZ2448
-+007110        763240          ZZ2448=ZZ2448+ZZ2448
-+007110        746500          ZZ2448=ZZ2448+ZZ2448
-+007110        715200          ZZ2448=ZZ2448+ZZ2448
-+007110        632400          ZZ2448=ZZ2448+ZZ2448
-+007110        465000          ZZ2448=ZZ2448+ZZ2448
-+007110        010163          0 8192 -ZZ1448
-+007111        465000          0 ZZ2448
--       mark 3986, 161         / 3 virg
-+007112        000502          ZZ2449=ZZ2449+ZZ2449
-+007112        001204          ZZ2449=ZZ2449+ZZ2449
-+007112        002410          ZZ2449=ZZ2449+ZZ2449
-+007112        005020          ZZ2449=ZZ2449+ZZ2449
-+007112        012040          ZZ2449=ZZ2449+ZZ2449
-+007112        024100          ZZ2449=ZZ2449+ZZ2449
-+007112        050200          ZZ2449=ZZ2449+ZZ2449
-+007112        120400          ZZ2449=ZZ2449+ZZ2449
-+007112        010156          0 8192 -ZZ1449
-+007113        120400          0 ZZ2449
--       mark 3998, 473         /93 leon
-+007114        001662          ZZ2450=ZZ2450+ZZ2450
-+007114        003544          ZZ2450=ZZ2450+ZZ2450
-+007114        007310          ZZ2450=ZZ2450+ZZ2450
-+007114        016620          ZZ2450=ZZ2450+ZZ2450
-+007114        035440          ZZ2450=ZZ2450+ZZ2450
-+007114        073100          ZZ2450=ZZ2450+ZZ2450
-+007114        166200          ZZ2450=ZZ2450+ZZ2450
-+007114        354400          ZZ2450=ZZ2450+ZZ2450
-+007114        010142          0 8192 -ZZ1450
-+007115        354400          0 ZZ2450
--       mark 4013, 53          / 5 virg
-+007116        000152          ZZ2451=ZZ2451+ZZ2451
-+007116        000324          ZZ2451=ZZ2451+ZZ2451
-+007116        000650          ZZ2451=ZZ2451+ZZ2451
-+007116        001520          ZZ2451=ZZ2451+ZZ2451
-+007116        003240          ZZ2451=ZZ2451+ZZ2451
-+007116        006500          ZZ2451=ZZ2451+ZZ2451
-+007116        015200          ZZ2451=ZZ2451+ZZ2451
-+007116        032400          ZZ2451=ZZ2451+ZZ2451
-+007116        010123          0 8192 -ZZ1451
-+007117        032400          0 ZZ2451
--       mark 4072, 163         / 8 virg
-+007120        000506          ZZ2452=ZZ2452+ZZ2452
-+007120        001214          ZZ2452=ZZ2452+ZZ2452
-+007120        002430          ZZ2452=ZZ2452+ZZ2452
-+007120        005060          ZZ2452=ZZ2452+ZZ2452
-+007120        012140          ZZ2452=ZZ2452+ZZ2452
-+007120        024300          ZZ2452=ZZ2452+ZZ2452
-+007120        050600          ZZ2452=ZZ2452+ZZ2452
-+007120        121400          ZZ2452=ZZ2452+ZZ2452
-+007120        010030          0 8192 -ZZ1452
-+007121        121400          0 ZZ2452
--       mark 4097, 211         / 9 virg
-+007122        000646          ZZ2453=ZZ2453+ZZ2453
-+007122        001514          ZZ2453=ZZ2453+ZZ2453
-+007122        003230          ZZ2453=ZZ2453+ZZ2453
-+007122        006460          ZZ2453=ZZ2453+ZZ2453
-+007122        015140          ZZ2453=ZZ2453+ZZ2453
-+007122        032300          ZZ2453=ZZ2453+ZZ2453
-+007122        064600          ZZ2453=ZZ2453+ZZ2453
-+007122        151400          ZZ2453=ZZ2453+ZZ2453
-+007122        007777          0 8192 -ZZ1453
-+007123        151400          0 ZZ2453
--       mark 4180, -3          /15 virg
-+007124        777770          ZZ2454=ZZ2454+ZZ2454
-+007124        777760          ZZ2454=ZZ2454+ZZ2454
-+007124        777740          ZZ2454=ZZ2454+ZZ2454
-+007124        777700          ZZ2454=ZZ2454+ZZ2454
-+007124        777600          ZZ2454=ZZ2454+ZZ2454
-+007124        777400          ZZ2454=ZZ2454+ZZ2454
-+007124        777000          ZZ2454=ZZ2454+ZZ2454
-+007124        776000          ZZ2454=ZZ2454+ZZ2454
-+007124        007654          0 8192 -ZZ1454
-+007125        776000          0 ZZ2454
--       mark 4185, 418         /11 coma
-+007126        001504          ZZ2455=ZZ2455+ZZ2455
-+007126        003210          ZZ2455=ZZ2455+ZZ2455
-+007126        006420          ZZ2455=ZZ2455+ZZ2455
-+007126        015040          ZZ2455=ZZ2455+ZZ2455
-+007126        032100          ZZ2455=ZZ2455+ZZ2455
-+007126        064200          ZZ2455=ZZ2455+ZZ2455
-+007126        150400          ZZ2455=ZZ2455+ZZ2455
-+007126        321000          ZZ2455=ZZ2455+ZZ2455
-+007126        007647          0 8192 -ZZ1455
-+007127        321000          0 ZZ2455
--       mark 4249, -356        / 8 corv
-+007130        776466          ZZ2456=ZZ2456+ZZ2456
-+007130        775154          ZZ2456=ZZ2456+ZZ2456
-+007130        772330          ZZ2456=ZZ2456+ZZ2456
-+007130        764660          ZZ2456=ZZ2456+ZZ2456
-+007130        751540          ZZ2456=ZZ2456+ZZ2456
-+007130        723300          ZZ2456=ZZ2456+ZZ2456
-+007130        646600          ZZ2456=ZZ2456+ZZ2456
-+007130        515400          ZZ2456=ZZ2456+ZZ2456
-+007130        007547          0 8192 -ZZ1456
-+007131        515400          0 ZZ2456
--       mark 4290, -170        /26 virg
-+007132        777252          ZZ2457=ZZ2457+ZZ2457
-+007132        776524          ZZ2457=ZZ2457+ZZ2457
-+007132        775250          ZZ2457=ZZ2457+ZZ2457
-+007132        772520          ZZ2457=ZZ2457+ZZ2457
-+007132        765240          ZZ2457=ZZ2457+ZZ2457
-+007132        752500          ZZ2457=ZZ2457+ZZ2457
-+007132        725200          ZZ2457=ZZ2457+ZZ2457
-+007132        652400          ZZ2457=ZZ2457+ZZ2457
-+007132        007476          0 8192 -ZZ1457
-+007133        652400          0 ZZ2457
--       mark 4305, 245         /30 virg
-+007134        000752          ZZ2458=ZZ2458+ZZ2458
-+007134        001724          ZZ2458=ZZ2458+ZZ2458
-+007134        003650          ZZ2458=ZZ2458+ZZ2458
-+007134        007520          ZZ2458=ZZ2458+ZZ2458
-+007134        017240          ZZ2458=ZZ2458+ZZ2458
-+007134        036500          ZZ2458=ZZ2458+ZZ2458
-+007134        075200          ZZ2458=ZZ2458+ZZ2458
-+007134        172400          ZZ2458=ZZ2458+ZZ2458
-+007134        007457          0 8192 -ZZ1458
-+007135        172400          0 ZZ2458
--       mark 4376, -205        /40 virg
-+007136        777144          ZZ2459=ZZ2459+ZZ2459
-+007136        776310          ZZ2459=ZZ2459+ZZ2459
-+007136        774620          ZZ2459=ZZ2459+ZZ2459
-+007136        771440          ZZ2459=ZZ2459+ZZ2459
-+007136        763100          ZZ2459=ZZ2459+ZZ2459
-+007136        746200          ZZ2459=ZZ2459+ZZ2459
-+007136        714400          ZZ2459=ZZ2459+ZZ2459
-+007136        631000          ZZ2459=ZZ2459+ZZ2459
-+007136        007350          0 8192 -ZZ1459
-+007137        631000          0 ZZ2459
--       mark 4403, 409         /36 coma
-+007140        001462          ZZ2460=ZZ2460+ZZ2460
-+007140        003144          ZZ2460=ZZ2460+ZZ2460
-+007140        006310          ZZ2460=ZZ2460+ZZ2460
-+007140        014620          ZZ2460=ZZ2460+ZZ2460
-+007140        031440          ZZ2460=ZZ2460+ZZ2460
-+007140        063100          ZZ2460=ZZ2460+ZZ2460
-+007140        146200          ZZ2460=ZZ2460+ZZ2460
-+007140        314400          ZZ2460=ZZ2460+ZZ2460
-+007140        007315          0 8192 -ZZ1460
-+007141        314400          0 ZZ2460
--       mark 4465, -114        /51 virg
-+007142        777432          ZZ2461=ZZ2461+ZZ2461
-+007142        777064          ZZ2461=ZZ2461+ZZ2461
-+007142        776150          ZZ2461=ZZ2461+ZZ2461
-+007142        774320          ZZ2461=ZZ2461+ZZ2461
-+007142        770640          ZZ2461=ZZ2461+ZZ2461
-+007142        761500          ZZ2461=ZZ2461+ZZ2461
-+007142        743200          ZZ2461=ZZ2461+ZZ2461
-+007142        706400          ZZ2461=ZZ2461+ZZ2461
-+007142        007217          0 8192 -ZZ1461
-+007143        706400          0 ZZ2461
--       mark 4466, 411         /42 coma
-+007144        001466          ZZ2462=ZZ2462+ZZ2462
-+007144        003154          ZZ2462=ZZ2462+ZZ2462
-+007144        006330          ZZ2462=ZZ2462+ZZ2462
-+007144        014660          ZZ2462=ZZ2462+ZZ2462
-+007144        031540          ZZ2462=ZZ2462+ZZ2462
-+007144        063300          ZZ2462=ZZ2462+ZZ2462
-+007144        146600          ZZ2462=ZZ2462+ZZ2462
-+007144        315400          ZZ2462=ZZ2462+ZZ2462
-+007144        007216          0 8192 -ZZ1462
-+007145        315400          0 ZZ2462
--       mark 4512, -404        /61 virg
-+007146        776326          ZZ2463=ZZ2463+ZZ2463
-+007146        774654          ZZ2463=ZZ2463+ZZ2463
-+007146        771530          ZZ2463=ZZ2463+ZZ2463
-+007146        763260          ZZ2463=ZZ2463+ZZ2463
-+007146        746540          ZZ2463=ZZ2463+ZZ2463
-+007146        715300          ZZ2463=ZZ2463+ZZ2463
-+007146        632600          ZZ2463=ZZ2463+ZZ2463
-+007146        465400          ZZ2463=ZZ2463+ZZ2463
-+007146        007140          0 8192 -ZZ1463
-+007147        465400          0 ZZ2463
--       mark 4563, -352        /69 virg
-+007150        776476          ZZ2464=ZZ2464+ZZ2464
-+007150        775174          ZZ2464=ZZ2464+ZZ2464
-+007150        772370          ZZ2464=ZZ2464+ZZ2464
-+007150        764760          ZZ2464=ZZ2464+ZZ2464
-+007150        751740          ZZ2464=ZZ2464+ZZ2464
-+007150        723700          ZZ2464=ZZ2464+ZZ2464
-+007150        647600          ZZ2464=ZZ2464+ZZ2464
-+007150        517400          ZZ2464=ZZ2464+ZZ2464
-+007150        007055          0 8192 -ZZ1464
-+007151        517400          0 ZZ2464
--       mark 4590, -131        /74 virg
-+007152        777370          ZZ2465=ZZ2465+ZZ2465
-+007152        776760          ZZ2465=ZZ2465+ZZ2465
-+007152        775740          ZZ2465=ZZ2465+ZZ2465
-+007152        773700          ZZ2465=ZZ2465+ZZ2465
-+007152        767600          ZZ2465=ZZ2465+ZZ2465
-+007152        757400          ZZ2465=ZZ2465+ZZ2465
-+007152        737000          ZZ2465=ZZ2465+ZZ2465
-+007152        676000          ZZ2465=ZZ2465+ZZ2465
-+007152        007022          0 8192 -ZZ1465
-+007153        676000          0 ZZ2465
--       mark 4603, 95          /78 virg
-+007154        000276          ZZ2466=ZZ2466+ZZ2466
-+007154        000574          ZZ2466=ZZ2466+ZZ2466
-+007154        001370          ZZ2466=ZZ2466+ZZ2466
-+007154        002760          ZZ2466=ZZ2466+ZZ2466
-+007154        005740          ZZ2466=ZZ2466+ZZ2466
-+007154        013700          ZZ2466=ZZ2466+ZZ2466
-+007154        027600          ZZ2466=ZZ2466+ZZ2466
-+007154        057400          ZZ2466=ZZ2466+ZZ2466
-+007154        007005          0 8192 -ZZ1466
-+007155        057400          0 ZZ2466
--       mark 4679, 409         / 4 boot
-+007156        001462          ZZ2467=ZZ2467+ZZ2467
-+007156        003144          ZZ2467=ZZ2467+ZZ2467
-+007156        006310          ZZ2467=ZZ2467+ZZ2467
-+007156        014620          ZZ2467=ZZ2467+ZZ2467
-+007156        031440          ZZ2467=ZZ2467+ZZ2467
-+007156        063100          ZZ2467=ZZ2467+ZZ2467
-+007156        146200          ZZ2467=ZZ2467+ZZ2467
-+007156        314400          ZZ2467=ZZ2467+ZZ2467
-+007156        006671          0 8192 -ZZ1467
-+007157        314400          0 ZZ2467
--       mark 4691, 371         / 5 boot
-+007160        001346          ZZ2468=ZZ2468+ZZ2468
-+007160        002714          ZZ2468=ZZ2468+ZZ2468
-+007160        005630          ZZ2468=ZZ2468+ZZ2468
-+007160        013460          ZZ2468=ZZ2468+ZZ2468
-+007160        027140          ZZ2468=ZZ2468+ZZ2468
-+007160        056300          ZZ2468=ZZ2468+ZZ2468
-+007160        134600          ZZ2468=ZZ2468+ZZ2468
-+007160        271400          ZZ2468=ZZ2468+ZZ2468
-+007160        006655          0 8192 -ZZ1468
-+007161        271400          0 ZZ2468
--       mark 4759, 46          /93 virg
-+007162        000134          ZZ2469=ZZ2469+ZZ2469
-+007162        000270          ZZ2469=ZZ2469+ZZ2469
-+007162        000560          ZZ2469=ZZ2469+ZZ2469
-+007162        001340          ZZ2469=ZZ2469+ZZ2469
-+007162        002700          ZZ2469=ZZ2469+ZZ2469
-+007162        005600          ZZ2469=ZZ2469+ZZ2469
-+007162        013400          ZZ2469=ZZ2469+ZZ2469
-+007162        027000          ZZ2469=ZZ2469+ZZ2469
-+007162        006551          0 8192 -ZZ1469
-+007163        027000          0 ZZ2469
--       mark 4820, 66          /
-+007164        000204          ZZ2470=ZZ2470+ZZ2470
-+007164        000410          ZZ2470=ZZ2470+ZZ2470
-+007164        001020          ZZ2470=ZZ2470+ZZ2470
-+007164        002040          ZZ2470=ZZ2470+ZZ2470
-+007164        004100          ZZ2470=ZZ2470+ZZ2470
-+007164        010200          ZZ2470=ZZ2470+ZZ2470
-+007164        020400          ZZ2470=ZZ2470+ZZ2470
-+007164        041000          ZZ2470=ZZ2470+ZZ2470
-+007164        006454          0 8192 -ZZ1470
-+007165        041000          0 ZZ2470
--       mark 4822, -223        /98 virg
-+007166        777100          ZZ2471=ZZ2471+ZZ2471
-+007166        776200          ZZ2471=ZZ2471+ZZ2471
-+007166        774400          ZZ2471=ZZ2471+ZZ2471
-+007166        771000          ZZ2471=ZZ2471+ZZ2471
-+007166        762000          ZZ2471=ZZ2471+ZZ2471
-+007166        744000          ZZ2471=ZZ2471+ZZ2471
-+007166        710000          ZZ2471=ZZ2471+ZZ2471
-+007166        620000          ZZ2471=ZZ2471+ZZ2471
-+007166        006452          0 8192 -ZZ1471
-+007167        620000          0 ZZ2471
--       mark 4840, -126        /99 virg
-+007170        777402          ZZ2472=ZZ2472+ZZ2472
-+007170        777004          ZZ2472=ZZ2472+ZZ2472
-+007170        776010          ZZ2472=ZZ2472+ZZ2472
-+007170        774020          ZZ2472=ZZ2472+ZZ2472
-+007170        770040          ZZ2472=ZZ2472+ZZ2472
-+007170        760100          ZZ2472=ZZ2472+ZZ2472
-+007170        740200          ZZ2472=ZZ2472+ZZ2472
-+007170        700400          ZZ2472=ZZ2472+ZZ2472
-+007170        006430          0 8192 -ZZ1472
-+007171        700400          0 ZZ2472
--       mark 4857, -294        /100 virg
-+007172        776662          ZZ2473=ZZ2473+ZZ2473
-+007172        775544          ZZ2473=ZZ2473+ZZ2473
-+007172        773310          ZZ2473=ZZ2473+ZZ2473
-+007172        766620          ZZ2473=ZZ2473+ZZ2473
-+007172        755440          ZZ2473=ZZ2473+ZZ2473
-+007172        733100          ZZ2473=ZZ2473+ZZ2473
-+007172        666200          ZZ2473=ZZ2473+ZZ2473
-+007172        554400          ZZ2473=ZZ2473+ZZ2473
-+007172        006407          0 8192 -ZZ1473
-+007173        554400          0 ZZ2473
--       mark 4864, 382         /20 boot
-+007174        001374          ZZ2474=ZZ2474+ZZ2474
-+007174        002770          ZZ2474=ZZ2474+ZZ2474
-+007174        005760          ZZ2474=ZZ2474+ZZ2474
-+007174        013740          ZZ2474=ZZ2474+ZZ2474
-+007174        027700          ZZ2474=ZZ2474+ZZ2474
-+007174        057600          ZZ2474=ZZ2474+ZZ2474
-+007174        137400          ZZ2474=ZZ2474+ZZ2474
-+007174        277000          ZZ2474=ZZ2474+ZZ2474
-+007174        006400          0 8192 -ZZ1474
-+007175        277000          0 ZZ2474
--       mark 4910, -41         /105 virg
-+007176        777654          ZZ2475=ZZ2475+ZZ2475
-+007176        777530          ZZ2475=ZZ2475+ZZ2475
-+007176        777260          ZZ2475=ZZ2475+ZZ2475
-+007176        776540          ZZ2475=ZZ2475+ZZ2475
-+007176        775300          ZZ2475=ZZ2475+ZZ2475
-+007176        772600          ZZ2475=ZZ2475+ZZ2475
-+007176        765400          ZZ2475=ZZ2475+ZZ2475
-+007176        753000          ZZ2475=ZZ2475+ZZ2475
-+007176        006322          0 8192 -ZZ1475
-+007177        753000          0 ZZ2475
--       mark 4984, 383         /29 boot
-+007200        001376          ZZ2476=ZZ2476+ZZ2476
-+007200        002774          ZZ2476=ZZ2476+ZZ2476
-+007200        005770          ZZ2476=ZZ2476+ZZ2476
-+007200        013760          ZZ2476=ZZ2476+ZZ2476
-+007200        027740          ZZ2476=ZZ2476+ZZ2476
-+007200        057700          ZZ2476=ZZ2476+ZZ2476
-+007200        137600          ZZ2476=ZZ2476+ZZ2476
-+007200        277400          ZZ2476=ZZ2476+ZZ2476
-+007200        006210          0 8192 -ZZ1476
-+007201        277400          0 ZZ2476
--       mark 4986, 322         /30 boot
-+007202        001204          ZZ2477=ZZ2477+ZZ2477
-+007202        002410          ZZ2477=ZZ2477+ZZ2477
-+007202        005020          ZZ2477=ZZ2477+ZZ2477
-+007202        012040          ZZ2477=ZZ2477+ZZ2477
-+007202        024100          ZZ2477=ZZ2477+ZZ2477
-+007202        050200          ZZ2477=ZZ2477+ZZ2477
-+007202        120400          ZZ2477=ZZ2477+ZZ2477
-+007202        241000          ZZ2477=ZZ2477+ZZ2477
-+007202        006206          0 8192 -ZZ1477
-+007203        241000          0 ZZ2477
--       mark 4994, -119        /107 virg
-+007204        777420          ZZ2478=ZZ2478+ZZ2478
-+007204        777040          ZZ2478=ZZ2478+ZZ2478
-+007204        776100          ZZ2478=ZZ2478+ZZ2478
-+007204        774200          ZZ2478=ZZ2478+ZZ2478
-+007204        770400          ZZ2478=ZZ2478+ZZ2478
-+007204        761000          ZZ2478=ZZ2478+ZZ2478
-+007204        742000          ZZ2478=ZZ2478+ZZ2478
-+007204        704000          ZZ2478=ZZ2478+ZZ2478
-+007204        006176          0 8192 -ZZ1478
-+007205        704000          0 ZZ2478
--       mark 5009, 396         /35 boot
-+007206        001430          ZZ2479=ZZ2479+ZZ2479
-+007206        003060          ZZ2479=ZZ2479+ZZ2479
-+007206        006140          ZZ2479=ZZ2479+ZZ2479
-+007206        014300          ZZ2479=ZZ2479+ZZ2479
-+007206        030600          ZZ2479=ZZ2479+ZZ2479
-+007206        061400          ZZ2479=ZZ2479+ZZ2479
-+007206        143000          ZZ2479=ZZ2479+ZZ2479
-+007206        306000          ZZ2479=ZZ2479+ZZ2479
-+007206        006157          0 8192 -ZZ1479
-+007207        306000          0 ZZ2479
--       mark 5013, 53          /109 virg
-+007210        000152          ZZ2480=ZZ2480+ZZ2480
-+007210        000324          ZZ2480=ZZ2480+ZZ2480
-+007210        000650          ZZ2480=ZZ2480+ZZ2480
-+007210        001520          ZZ2480=ZZ2480+ZZ2480
-+007210        003240          ZZ2480=ZZ2480+ZZ2480
-+007210        006500          ZZ2480=ZZ2480+ZZ2480
-+007210        015200          ZZ2480=ZZ2480+ZZ2480
-+007210        032400          ZZ2480=ZZ2480+ZZ2480
-+007210        006153          0 8192 -ZZ1480
-+007211        032400          0 ZZ2480
--       mark 5045, 444         /37 boot
-+007212        001570          ZZ2481=ZZ2481+ZZ2481
-+007212        003360          ZZ2481=ZZ2481+ZZ2481
-+007212        006740          ZZ2481=ZZ2481+ZZ2481
-+007212        015700          ZZ2481=ZZ2481+ZZ2481
-+007212        033600          ZZ2481=ZZ2481+ZZ2481
-+007212        067400          ZZ2481=ZZ2481+ZZ2481
-+007212        157000          ZZ2481=ZZ2481+ZZ2481
-+007212        336000          ZZ2481=ZZ2481+ZZ2481
-+007212        006113          0 8192 -ZZ1481
-+007213        336000          0 ZZ2481
--       mark 5074, -90         /16 libr
-+007214        777512          ZZ2482=ZZ2482+ZZ2482
-+007214        777224          ZZ2482=ZZ2482+ZZ2482
-+007214        776450          ZZ2482=ZZ2482+ZZ2482
-+007214        775120          ZZ2482=ZZ2482+ZZ2482
-+007214        772240          ZZ2482=ZZ2482+ZZ2482
-+007214        764500          ZZ2482=ZZ2482+ZZ2482
-+007214        751200          ZZ2482=ZZ2482+ZZ2482
-+007214        722400          ZZ2482=ZZ2482+ZZ2482
-+007214        006056          0 8192 -ZZ1482
-+007215        722400          0 ZZ2482
--       mark 5108, 57          /110 virg
-+007216        000162          ZZ2483=ZZ2483+ZZ2483
-+007216        000344          ZZ2483=ZZ2483+ZZ2483
-+007216        000710          ZZ2483=ZZ2483+ZZ2483
-+007216        001620          ZZ2483=ZZ2483+ZZ2483
-+007216        003440          ZZ2483=ZZ2483+ZZ2483
-+007216        007100          ZZ2483=ZZ2483+ZZ2483
-+007216        016200          ZZ2483=ZZ2483+ZZ2483
-+007216        034400          ZZ2483=ZZ2483+ZZ2483
-+007216        006014          0 8192 -ZZ1483
-+007217        034400          0 ZZ2483
--       mark 5157, -442        /24 libr
-+007220        776212          ZZ2484=ZZ2484+ZZ2484
-+007220        774424          ZZ2484=ZZ2484+ZZ2484
-+007220        771050          ZZ2484=ZZ2484+ZZ2484
-+007220        762120          ZZ2484=ZZ2484+ZZ2484
-+007220        744240          ZZ2484=ZZ2484+ZZ2484
-+007220        710500          ZZ2484=ZZ2484+ZZ2484
-+007220        621200          ZZ2484=ZZ2484+ZZ2484
-+007220        442400          ZZ2484=ZZ2484+ZZ2484
-+007220        005733          0 8192 -ZZ1484
-+007221        442400          0 ZZ2484
--       mark 5283, -221        /37 libr
-+007222        777104          ZZ2485=ZZ2485+ZZ2485
-+007222        776210          ZZ2485=ZZ2485+ZZ2485
-+007222        774420          ZZ2485=ZZ2485+ZZ2485
-+007222        771040          ZZ2485=ZZ2485+ZZ2485
-+007222        762100          ZZ2485=ZZ2485+ZZ2485
-+007222        744200          ZZ2485=ZZ2485+ZZ2485
-+007222        710400          ZZ2485=ZZ2485+ZZ2485
-+007222        621000          ZZ2485=ZZ2485+ZZ2485
-+007222        005535          0 8192 -ZZ1485
-+007223        621000          0 ZZ2485
--       mark 5290, -329        /38 libr
-+007224        776554          ZZ2486=ZZ2486+ZZ2486
-+007224        775330          ZZ2486=ZZ2486+ZZ2486
-+007224        772660          ZZ2486=ZZ2486+ZZ2486
-+007224        765540          ZZ2486=ZZ2486+ZZ2486
-+007224        753300          ZZ2486=ZZ2486+ZZ2486
-+007224        726600          ZZ2486=ZZ2486+ZZ2486
-+007224        655400          ZZ2486=ZZ2486+ZZ2486
-+007224        533000          ZZ2486=ZZ2486+ZZ2486
-+007224        005526          0 8192 -ZZ1486
-+007225        533000          0 ZZ2486
--       mark 5291, 247         /13 serp
-+007226        000756          ZZ2487=ZZ2487+ZZ2487
-+007226        001734          ZZ2487=ZZ2487+ZZ2487
-+007226        003670          ZZ2487=ZZ2487+ZZ2487
-+007226        007560          ZZ2487=ZZ2487+ZZ2487
-+007226        017340          ZZ2487=ZZ2487+ZZ2487
-+007226        036700          ZZ2487=ZZ2487+ZZ2487
-+007226        075600          ZZ2487=ZZ2487+ZZ2487
-+007226        173400          ZZ2487=ZZ2487+ZZ2487
-+007226        005525          0 8192 -ZZ1487
-+007227        173400          0 ZZ2487
--       mark 5326, -440        /43 libr
-+007230        776216          ZZ2488=ZZ2488+ZZ2488
-+007230        774434          ZZ2488=ZZ2488+ZZ2488
-+007230        771070          ZZ2488=ZZ2488+ZZ2488
-+007230        762160          ZZ2488=ZZ2488+ZZ2488
-+007230        744340          ZZ2488=ZZ2488+ZZ2488
-+007230        710700          ZZ2488=ZZ2488+ZZ2488
-+007230        621600          ZZ2488=ZZ2488+ZZ2488
-+007230        443400          ZZ2488=ZZ2488+ZZ2488
-+007230        005462          0 8192 -ZZ1488
-+007231        443400          0 ZZ2488
--       mark 5331, 455         /21 serp
-+007232        001616          ZZ2489=ZZ2489+ZZ2489
-+007232        003434          ZZ2489=ZZ2489+ZZ2489
-+007232        007070          ZZ2489=ZZ2489+ZZ2489
-+007232        016160          ZZ2489=ZZ2489+ZZ2489
-+007232        034340          ZZ2489=ZZ2489+ZZ2489
-+007232        070700          ZZ2489=ZZ2489+ZZ2489
-+007232        161600          ZZ2489=ZZ2489+ZZ2489
-+007232        343400          ZZ2489=ZZ2489+ZZ2489
-+007232        005455          0 8192 -ZZ1489
-+007233        343400          0 ZZ2489
--       mark 5357, 175         /27 serp
-+007234        000536          ZZ2490=ZZ2490+ZZ2490
-+007234        001274          ZZ2490=ZZ2490+ZZ2490
-+007234        002570          ZZ2490=ZZ2490+ZZ2490
-+007234        005360          ZZ2490=ZZ2490+ZZ2490
-+007234        012740          ZZ2490=ZZ2490+ZZ2490
-+007234        025700          ZZ2490=ZZ2490+ZZ2490
-+007234        053600          ZZ2490=ZZ2490+ZZ2490
-+007234        127400          ZZ2490=ZZ2490+ZZ2490
-+007234        005423          0 8192 -ZZ1490
-+007235        127400          0 ZZ2490
--       mark 5372, 420         /35 serp
-+007236        001510          ZZ2491=ZZ2491+ZZ2491
-+007236        003220          ZZ2491=ZZ2491+ZZ2491
-+007236        006440          ZZ2491=ZZ2491+ZZ2491
-+007236        015100          ZZ2491=ZZ2491+ZZ2491
-+007236        032200          ZZ2491=ZZ2491+ZZ2491
-+007236        064400          ZZ2491=ZZ2491+ZZ2491
-+007236        151000          ZZ2491=ZZ2491+ZZ2491
-+007236        322000          ZZ2491=ZZ2491+ZZ2491
-+007236        005404          0 8192 -ZZ1491
-+007237        322000          0 ZZ2491
--       mark 5381, 109         /37 serp
-+007240        000332          ZZ2492=ZZ2492+ZZ2492
-+007240        000664          ZZ2492=ZZ2492+ZZ2492
-+007240        001550          ZZ2492=ZZ2492+ZZ2492
-+007240        003320          ZZ2492=ZZ2492+ZZ2492
-+007240        006640          ZZ2492=ZZ2492+ZZ2492
-+007240        015500          ZZ2492=ZZ2492+ZZ2492
-+007240        033200          ZZ2492=ZZ2492+ZZ2492
-+007240        066400          ZZ2492=ZZ2492+ZZ2492
-+007240        005373          0 8192 -ZZ1492
-+007241        066400          0 ZZ2492
--       mark 5387, 484         /38 serp
-+007242        001710          ZZ2493=ZZ2493+ZZ2493
-+007242        003620          ZZ2493=ZZ2493+ZZ2493
-+007242        007440          ZZ2493=ZZ2493+ZZ2493
-+007242        017100          ZZ2493=ZZ2493+ZZ2493
-+007242        036200          ZZ2493=ZZ2493+ZZ2493
-+007242        074400          ZZ2493=ZZ2493+ZZ2493
-+007242        171000          ZZ2493=ZZ2493+ZZ2493
-+007242        362000          ZZ2493=ZZ2493+ZZ2493
-+007242        005365          0 8192 -ZZ1493
-+007243        362000          0 ZZ2493
--       mark 5394, -374        /46 libr
-+007244        776422          ZZ2494=ZZ2494+ZZ2494
-+007244        775044          ZZ2494=ZZ2494+ZZ2494
-+007244        772110          ZZ2494=ZZ2494+ZZ2494
-+007244        764220          ZZ2494=ZZ2494+ZZ2494
-+007244        750440          ZZ2494=ZZ2494+ZZ2494
-+007244        721100          ZZ2494=ZZ2494+ZZ2494
-+007244        642200          ZZ2494=ZZ2494+ZZ2494
-+007244        504400          ZZ2494=ZZ2494+ZZ2494
-+007244        005356          0 8192 -ZZ1494
-+007245        504400          0 ZZ2494
--       mark 5415, 364         /41 serp
-+007246        001330          ZZ2495=ZZ2495+ZZ2495
-+007246        002660          ZZ2495=ZZ2495+ZZ2495
-+007246        005540          ZZ2495=ZZ2495+ZZ2495
-+007246        013300          ZZ2495=ZZ2495+ZZ2495
-+007246        026600          ZZ2495=ZZ2495+ZZ2495
-+007246        055400          ZZ2495=ZZ2495+ZZ2495
-+007246        133000          ZZ2495=ZZ2495+ZZ2495
-+007246        266000          ZZ2495=ZZ2495+ZZ2495
-+007246        005331          0 8192 -ZZ1495
-+007247        266000          0 ZZ2495
--       mark 5419, -318        /48 libr
-+007250        776602          ZZ2496=ZZ2496+ZZ2496
-+007250        775404          ZZ2496=ZZ2496+ZZ2496
-+007250        773010          ZZ2496=ZZ2496+ZZ2496
-+007250        766020          ZZ2496=ZZ2496+ZZ2496
-+007250        754040          ZZ2496=ZZ2496+ZZ2496
-+007250        730100          ZZ2496=ZZ2496+ZZ2496
-+007250        660200          ZZ2496=ZZ2496+ZZ2496
-+007250        540400          ZZ2496=ZZ2496+ZZ2496
-+007250        005325          0 8192 -ZZ1496
-+007251        540400          0 ZZ2496
--       mark 5455, -253        /xi scor
-+007252        777004          ZZ2497=ZZ2497+ZZ2497
-+007252        776010          ZZ2497=ZZ2497+ZZ2497
-+007252        774020          ZZ2497=ZZ2497+ZZ2497
-+007252        770040          ZZ2497=ZZ2497+ZZ2497
-+007252        760100          ZZ2497=ZZ2497+ZZ2497
-+007252        740200          ZZ2497=ZZ2497+ZZ2497
-+007252        700400          ZZ2497=ZZ2497+ZZ2497
-+007252        601000          ZZ2497=ZZ2497+ZZ2497
-+007252        005261          0 8192 -ZZ1497
-+007253        601000          0 ZZ2497
--       mark 5467, -464        / 9 scor
-+007254        776136          ZZ2498=ZZ2498+ZZ2498
-+007254        774274          ZZ2498=ZZ2498+ZZ2498
-+007254        770570          ZZ2498=ZZ2498+ZZ2498
-+007254        761360          ZZ2498=ZZ2498+ZZ2498
-+007254        742740          ZZ2498=ZZ2498+ZZ2498
-+007254        705700          ZZ2498=ZZ2498+ZZ2498
-+007254        613600          ZZ2498=ZZ2498+ZZ2498
-+007254        427400          ZZ2498=ZZ2498+ZZ2498
-+007254        005245          0 8192 -ZZ1498
-+007255        427400          0 ZZ2498
--       mark 5470, -469        /10 scor
-+007256        776124          ZZ2499=ZZ2499+ZZ2499
-+007256        774250          ZZ2499=ZZ2499+ZZ2499
-+007256        770520          ZZ2499=ZZ2499+ZZ2499
-+007256        761240          ZZ2499=ZZ2499+ZZ2499
-+007256        742500          ZZ2499=ZZ2499+ZZ2499
-+007256        705200          ZZ2499=ZZ2499+ZZ2499
-+007256        612400          ZZ2499=ZZ2499+ZZ2499
-+007256        425000          ZZ2499=ZZ2499+ZZ2499
-+007256        005242          0 8192 -ZZ1499
-+007257        425000          0 ZZ2499
--       mark 5497, -437        /14 scor
-+007260        776224          ZZ2500=ZZ2500+ZZ2500
-+007260        774450          ZZ2500=ZZ2500+ZZ2500
-+007260        771120          ZZ2500=ZZ2500+ZZ2500
-+007260        762240          ZZ2500=ZZ2500+ZZ2500
-+007260        744500          ZZ2500=ZZ2500+ZZ2500
-+007260        711200          ZZ2500=ZZ2500+ZZ2500
-+007260        622400          ZZ2500=ZZ2500+ZZ2500
-+007260        445000          ZZ2500=ZZ2500+ZZ2500
-+007260        005207          0 8192 -ZZ1500
-+007261        445000          0 ZZ2500
--       mark 5499, -223        /15 scor
-+007262        777100          ZZ2501=ZZ2501+ZZ2501
-+007262        776200          ZZ2501=ZZ2501+ZZ2501
-+007262        774400          ZZ2501=ZZ2501+ZZ2501
-+007262        771000          ZZ2501=ZZ2501+ZZ2501
-+007262        762000          ZZ2501=ZZ2501+ZZ2501
-+007262        744000          ZZ2501=ZZ2501+ZZ2501
-+007262        710000          ZZ2501=ZZ2501+ZZ2501
-+007262        620000          ZZ2501=ZZ2501+ZZ2501
-+007262        005205          0 8192 -ZZ1501
-+007263        620000          0 ZZ2501
--       mark 5558, 29          /50 serp
-+007264        000072          ZZ2502=ZZ2502+ZZ2502
-+007264        000164          ZZ2502=ZZ2502+ZZ2502
-+007264        000350          ZZ2502=ZZ2502+ZZ2502
-+007264        000720          ZZ2502=ZZ2502+ZZ2502
-+007264        001640          ZZ2502=ZZ2502+ZZ2502
-+007264        003500          ZZ2502=ZZ2502+ZZ2502
-+007264        007200          ZZ2502=ZZ2502+ZZ2502
-+007264        016400          ZZ2502=ZZ2502+ZZ2502
-+007264        005112          0 8192 -ZZ1502
-+007265        016400          0 ZZ2502
--       mark 5561, 441         /20 herc
-+007266        001562          ZZ2503=ZZ2503+ZZ2503
-+007266        003344          ZZ2503=ZZ2503+ZZ2503
-+007266        006710          ZZ2503=ZZ2503+ZZ2503
-+007266        015620          ZZ2503=ZZ2503+ZZ2503
-+007266        033440          ZZ2503=ZZ2503+ZZ2503
-+007266        067100          ZZ2503=ZZ2503+ZZ2503
-+007266        156200          ZZ2503=ZZ2503+ZZ2503
-+007266        334400          ZZ2503=ZZ2503+ZZ2503
-+007266        005107          0 8192 -ZZ1503
-+007267        334400          0 ZZ2503
--       mark 5565, -451        / 4 ophi
-+007270        776170          ZZ2504=ZZ2504+ZZ2504
-+007270        774360          ZZ2504=ZZ2504+ZZ2504
-+007270        770740          ZZ2504=ZZ2504+ZZ2504
-+007270        761700          ZZ2504=ZZ2504+ZZ2504
-+007270        743600          ZZ2504=ZZ2504+ZZ2504
-+007270        707400          ZZ2504=ZZ2504+ZZ2504
-+007270        617000          ZZ2504=ZZ2504+ZZ2504
-+007270        436000          ZZ2504=ZZ2504+ZZ2504
-+007270        005103          0 8192 -ZZ1504
-+007271        436000          0 ZZ2504
--       mark 5580, 325         /24 herc
-+007272        001212          ZZ2505=ZZ2505+ZZ2505
-+007272        002424          ZZ2505=ZZ2505+ZZ2505
-+007272        005050          ZZ2505=ZZ2505+ZZ2505
-+007272        012120          ZZ2505=ZZ2505+ZZ2505
-+007272        024240          ZZ2505=ZZ2505+ZZ2505
-+007272        050500          ZZ2505=ZZ2505+ZZ2505
-+007272        121200          ZZ2505=ZZ2505+ZZ2505
-+007272        242400          ZZ2505=ZZ2505+ZZ2505
-+007272        005064          0 8192 -ZZ1505
-+007273        242400          0 ZZ2505
--       mark 5582, -415        / 7 ophi
-+007274        776300          ZZ2506=ZZ2506+ZZ2506
-+007274        774600          ZZ2506=ZZ2506+ZZ2506
-+007274        771400          ZZ2506=ZZ2506+ZZ2506
-+007274        763000          ZZ2506=ZZ2506+ZZ2506
-+007274        746000          ZZ2506=ZZ2506+ZZ2506
-+007274        714000          ZZ2506=ZZ2506+ZZ2506
-+007274        630000          ZZ2506=ZZ2506+ZZ2506
-+007274        460000          ZZ2506=ZZ2506+ZZ2506
-+007274        005062          0 8192 -ZZ1506
-+007275        460000          0 ZZ2506
--       mark 5589, -186        / 3 ophi
-+007276        777212          ZZ2507=ZZ2507+ZZ2507
-+007276        776424          ZZ2507=ZZ2507+ZZ2507
-+007276        775050          ZZ2507=ZZ2507+ZZ2507
-+007276        772120          ZZ2507=ZZ2507+ZZ2507
-+007276        764240          ZZ2507=ZZ2507+ZZ2507
-+007276        750500          ZZ2507=ZZ2507+ZZ2507
-+007276        721200          ZZ2507=ZZ2507+ZZ2507
-+007276        642400          ZZ2507=ZZ2507+ZZ2507
-+007276        005053          0 8192 -ZZ1507
-+007277        642400          0 ZZ2507
--       mark 5606, -373        / 8 ophi
-+007300        776424          ZZ2508=ZZ2508+ZZ2508
-+007300        775050          ZZ2508=ZZ2508+ZZ2508
-+007300        772120          ZZ2508=ZZ2508+ZZ2508
-+007300        764240          ZZ2508=ZZ2508+ZZ2508
-+007300        750500          ZZ2508=ZZ2508+ZZ2508
-+007300        721200          ZZ2508=ZZ2508+ZZ2508
-+007300        642400          ZZ2508=ZZ2508+ZZ2508
-+007300        505000          ZZ2508=ZZ2508+ZZ2508
-+007300        005032          0 8192 -ZZ1508
-+007301        505000          0 ZZ2508
--       mark 5609, 50          /10 ophi
-+007302        000144          ZZ2509=ZZ2509+ZZ2509
-+007302        000310          ZZ2509=ZZ2509+ZZ2509
-+007302        000620          ZZ2509=ZZ2509+ZZ2509
-+007302        001440          ZZ2509=ZZ2509+ZZ2509
-+007302        003100          ZZ2509=ZZ2509+ZZ2509
-+007302        006200          ZZ2509=ZZ2509+ZZ2509
-+007302        014400          ZZ2509=ZZ2509+ZZ2509
-+007302        031000          ZZ2509=ZZ2509+ZZ2509
-+007302        005027          0 8192 -ZZ1509
-+007303        031000          0 ZZ2509
--       mark 5610, -484        / 9 ophi
-+007304        776066          ZZ2510=ZZ2510+ZZ2510
-+007304        774154          ZZ2510=ZZ2510+ZZ2510
-+007304        770330          ZZ2510=ZZ2510+ZZ2510
-+007304        760660          ZZ2510=ZZ2510+ZZ2510
-+007304        741540          ZZ2510=ZZ2510+ZZ2510
-+007304        703300          ZZ2510=ZZ2510+ZZ2510
-+007304        606600          ZZ2510=ZZ2510+ZZ2510
-+007304        415400          ZZ2510=ZZ2510+ZZ2510
-+007304        005026          0 8192 -ZZ1510
-+007305        415400          0 ZZ2510
--       mark 5620, 266         /29 herc
-+007306        001024          ZZ2511=ZZ2511+ZZ2511
-+007306        002050          ZZ2511=ZZ2511+ZZ2511
-+007306        004120          ZZ2511=ZZ2511+ZZ2511
-+007306        010240          ZZ2511=ZZ2511+ZZ2511
-+007306        020500          ZZ2511=ZZ2511+ZZ2511
-+007306        041200          ZZ2511=ZZ2511+ZZ2511
-+007306        102400          ZZ2511=ZZ2511+ZZ2511
-+007306        205000          ZZ2511=ZZ2511+ZZ2511
-+007306        005014          0 8192 -ZZ1511
-+007307        205000          0 ZZ2511
--       mark 5713, -241        /20 ophi
-+007310        777034          ZZ2512=ZZ2512+ZZ2512
-+007310        776070          ZZ2512=ZZ2512+ZZ2512
-+007310        774160          ZZ2512=ZZ2512+ZZ2512
-+007310        770340          ZZ2512=ZZ2512+ZZ2512
-+007310        760700          ZZ2512=ZZ2512+ZZ2512
-+007310        741600          ZZ2512=ZZ2512+ZZ2512
-+007310        703400          ZZ2512=ZZ2512+ZZ2512
-+007310        607000          ZZ2512=ZZ2512+ZZ2512
-+007310        004657          0 8192 -ZZ1512
-+007311        607000          0 ZZ2512
--       mark 5742, 235         /25 ophi
-+007312        000726          ZZ2513=ZZ2513+ZZ2513
-+007312        001654          ZZ2513=ZZ2513+ZZ2513
-+007312        003530          ZZ2513=ZZ2513+ZZ2513
-+007312        007260          ZZ2513=ZZ2513+ZZ2513
-+007312        016540          ZZ2513=ZZ2513+ZZ2513
-+007312        035300          ZZ2513=ZZ2513+ZZ2513
-+007312        072600          ZZ2513=ZZ2513+ZZ2513
-+007312        165400          ZZ2513=ZZ2513+ZZ2513
-+007312        004622          0 8192 -ZZ1513
-+007313        165400          0 ZZ2513
--       mark 5763, 217         /27 ophi
-+007314        000662          ZZ2514=ZZ2514+ZZ2514
-+007314        001544          ZZ2514=ZZ2514+ZZ2514
-+007314        003310          ZZ2514=ZZ2514+ZZ2514
-+007314        006620          ZZ2514=ZZ2514+ZZ2514
-+007314        015440          ZZ2514=ZZ2514+ZZ2514
-+007314        033100          ZZ2514=ZZ2514+ZZ2514
-+007314        066200          ZZ2514=ZZ2514+ZZ2514
-+007314        154400          ZZ2514=ZZ2514+ZZ2514
-+007314        004575          0 8192 -ZZ1514
-+007315        154400          0 ZZ2514
--       mark 5807, 293         /60 herc
-+007316        001112          ZZ2515=ZZ2515+ZZ2515
-+007316        002224          ZZ2515=ZZ2515+ZZ2515
-+007316        004450          ZZ2515=ZZ2515+ZZ2515
-+007316        011120          ZZ2515=ZZ2515+ZZ2515
-+007316        022240          ZZ2515=ZZ2515+ZZ2515
-+007316        044500          ZZ2515=ZZ2515+ZZ2515
-+007316        111200          ZZ2515=ZZ2515+ZZ2515
-+007316        222400          ZZ2515=ZZ2515+ZZ2515
-+007316        004521          0 8192 -ZZ1515
-+007317        222400          0 ZZ2515
--       mark 5868, -8          /41 ophi
-+007320        777756          ZZ2516=ZZ2516+ZZ2516
-+007320        777734          ZZ2516=ZZ2516+ZZ2516
-+007320        777670          ZZ2516=ZZ2516+ZZ2516
-+007320        777560          ZZ2516=ZZ2516+ZZ2516
-+007320        777340          ZZ2516=ZZ2516+ZZ2516
-+007320        776700          ZZ2516=ZZ2516+ZZ2516
-+007320        775600          ZZ2516=ZZ2516+ZZ2516
-+007320        773400          ZZ2516=ZZ2516+ZZ2516
-+007320        004424          0 8192 -ZZ1516
-+007321        773400          0 ZZ2516
--       mark 5888, -478        /40 ophi
-+007322        776102          ZZ2517=ZZ2517+ZZ2517
-+007322        774204          ZZ2517=ZZ2517+ZZ2517
-+007322        770410          ZZ2517=ZZ2517+ZZ2517
-+007322        761020          ZZ2517=ZZ2517+ZZ2517
-+007322        742040          ZZ2517=ZZ2517+ZZ2517
-+007322        704100          ZZ2517=ZZ2517+ZZ2517
-+007322        610200          ZZ2517=ZZ2517+ZZ2517
-+007322        420400          ZZ2517=ZZ2517+ZZ2517
-+007322        004400          0 8192 -ZZ1517
-+007323        420400          0 ZZ2517
--       mark 5889, -290        /53 serp
-+007324        776672          ZZ2518=ZZ2518+ZZ2518
-+007324        775564          ZZ2518=ZZ2518+ZZ2518
-+007324        773350          ZZ2518=ZZ2518+ZZ2518
-+007324        766720          ZZ2518=ZZ2518+ZZ2518
-+007324        755640          ZZ2518=ZZ2518+ZZ2518
-+007324        733500          ZZ2518=ZZ2518+ZZ2518
-+007324        667200          ZZ2518=ZZ2518+ZZ2518
-+007324        556400          ZZ2518=ZZ2518+ZZ2518
-+007324        004377          0 8192 -ZZ1518
-+007325        556400          0 ZZ2518
--       mark 5924, -114        /
-+007326        777432          ZZ2519=ZZ2519+ZZ2519
-+007326        777064          ZZ2519=ZZ2519+ZZ2519
-+007326        776150          ZZ2519=ZZ2519+ZZ2519
-+007326        774320          ZZ2519=ZZ2519+ZZ2519
-+007326        770640          ZZ2519=ZZ2519+ZZ2519
-+007326        761500          ZZ2519=ZZ2519+ZZ2519
-+007326        743200          ZZ2519=ZZ2519+ZZ2519
-+007326        706400          ZZ2519=ZZ2519+ZZ2519
-+007326        004334          0 8192 -ZZ1519
-+007327        706400          0 ZZ2519
--       mark 5925, 96          /49 ophi
-+007330        000300          ZZ2520=ZZ2520+ZZ2520
-+007330        000600          ZZ2520=ZZ2520+ZZ2520
-+007330        001400          ZZ2520=ZZ2520+ZZ2520
-+007330        003000          ZZ2520=ZZ2520+ZZ2520
-+007330        006000          ZZ2520=ZZ2520+ZZ2520
-+007330        014000          ZZ2520=ZZ2520+ZZ2520
-+007330        030000          ZZ2520=ZZ2520+ZZ2520
-+007330        060000          ZZ2520=ZZ2520+ZZ2520
-+007330        004333          0 8192 -ZZ1520
-+007331        060000          0 ZZ2520
--       mark 5987, -183        /57 ophi
-+007332        777220          ZZ2521=ZZ2521+ZZ2521
-+007332        776440          ZZ2521=ZZ2521+ZZ2521
-+007332        775100          ZZ2521=ZZ2521+ZZ2521
-+007332        772200          ZZ2521=ZZ2521+ZZ2521
-+007332        764400          ZZ2521=ZZ2521+ZZ2521
-+007332        751000          ZZ2521=ZZ2521+ZZ2521
-+007332        722000          ZZ2521=ZZ2521+ZZ2521
-+007332        644000          ZZ2521=ZZ2521+ZZ2521
-+007332        004235          0 8192 -ZZ1521
-+007333        644000          0 ZZ2521
--       mark 6006, -292        /56 serp
-+007334        776666          ZZ2522=ZZ2522+ZZ2522
-+007334        775554          ZZ2522=ZZ2522+ZZ2522
-+007334        773330          ZZ2522=ZZ2522+ZZ2522
-+007334        766660          ZZ2522=ZZ2522+ZZ2522
-+007334        755540          ZZ2522=ZZ2522+ZZ2522
-+007334        733300          ZZ2522=ZZ2522+ZZ2522
-+007334        666600          ZZ2522=ZZ2522+ZZ2522
-+007334        555400          ZZ2522=ZZ2522+ZZ2522
-+007334        004212          0 8192 -ZZ1522
-+007335        555400          0 ZZ2522
--       mark 6016, -492        /58 ophi
-+007336        776046          ZZ2523=ZZ2523+ZZ2523
-+007336        774114          ZZ2523=ZZ2523+ZZ2523
-+007336        770230          ZZ2523=ZZ2523+ZZ2523
-+007336        760460          ZZ2523=ZZ2523+ZZ2523
-+007336        741140          ZZ2523=ZZ2523+ZZ2523
-+007336        702300          ZZ2523=ZZ2523+ZZ2523
-+007336        604600          ZZ2523=ZZ2523+ZZ2523
-+007336        411400          ZZ2523=ZZ2523+ZZ2523
-+007336        004200          0 8192 -ZZ1523
-+007337        411400          0 ZZ2523
--       mark 6117, -84         /57 serp
-+007340        777526          ZZ2524=ZZ2524+ZZ2524
-+007340        777254          ZZ2524=ZZ2524+ZZ2524
-+007340        776530          ZZ2524=ZZ2524+ZZ2524
-+007340        775260          ZZ2524=ZZ2524+ZZ2524
-+007340        772540          ZZ2524=ZZ2524+ZZ2524
-+007340        765300          ZZ2524=ZZ2524+ZZ2524
-+007340        752600          ZZ2524=ZZ2524+ZZ2524
-+007340        725400          ZZ2524=ZZ2524+ZZ2524
-+007340        004033          0 8192 -ZZ1524
-+007341        725400          0 ZZ2524
--       mark 6117, 99          /66 ophi
-+007342        000306          ZZ2525=ZZ2525+ZZ2525
-+007342        000614          ZZ2525=ZZ2525+ZZ2525
-+007342        001430          ZZ2525=ZZ2525+ZZ2525
-+007342        003060          ZZ2525=ZZ2525+ZZ2525
-+007342        006140          ZZ2525=ZZ2525+ZZ2525
-+007342        014300          ZZ2525=ZZ2525+ZZ2525
-+007342        030600          ZZ2525=ZZ2525+ZZ2525
-+007342        061400          ZZ2525=ZZ2525+ZZ2525
-+007342        004033          0 8192 -ZZ1525
-+007343        061400          0 ZZ2525
--       mark 6119, 381         /93 herc
-+007344        001372          ZZ2526=ZZ2526+ZZ2526
-+007344        002764          ZZ2526=ZZ2526+ZZ2526
-+007344        005750          ZZ2526=ZZ2526+ZZ2526
-+007344        013720          ZZ2526=ZZ2526+ZZ2526
-+007344        027640          ZZ2526=ZZ2526+ZZ2526
-+007344        057500          ZZ2526=ZZ2526+ZZ2526
-+007344        137200          ZZ2526=ZZ2526+ZZ2526
-+007344        276400          ZZ2526=ZZ2526+ZZ2526
-+007344        004031          0 8192 -ZZ1526
-+007345        276400          0 ZZ2526
--       mark 6119, 67          /67 ophi
-+007346        000206          ZZ2527=ZZ2527+ZZ2527
-+007346        000414          ZZ2527=ZZ2527+ZZ2527
-+007346        001030          ZZ2527=ZZ2527+ZZ2527
-+007346        002060          ZZ2527=ZZ2527+ZZ2527
-+007346        004140          ZZ2527=ZZ2527+ZZ2527
-+007346        010300          ZZ2527=ZZ2527+ZZ2527
-+007346        020600          ZZ2527=ZZ2527+ZZ2527
-+007346        041400          ZZ2527=ZZ2527+ZZ2527
-+007346        004031          0 8192 -ZZ1527
-+007347        041400          0 ZZ2527
--       mark 6125, 30          /68 ophi
-+007350        000074          ZZ2528=ZZ2528+ZZ2528
-+007350        000170          ZZ2528=ZZ2528+ZZ2528
-+007350        000360          ZZ2528=ZZ2528+ZZ2528
-+007350        000740          ZZ2528=ZZ2528+ZZ2528
-+007350        001700          ZZ2528=ZZ2528+ZZ2528
-+007350        003600          ZZ2528=ZZ2528+ZZ2528
-+007350        007400          ZZ2528=ZZ2528+ZZ2528
-+007350        017000          ZZ2528=ZZ2528+ZZ2528
-+007350        004023          0 8192 -ZZ1528
-+007351        017000          0 ZZ2528
--       mark 6146, 57          /70 ophi
-+007352        000162          ZZ2529=ZZ2529+ZZ2529
-+007352        000344          ZZ2529=ZZ2529+ZZ2529
-+007352        000710          ZZ2529=ZZ2529+ZZ2529
-+007352        001620          ZZ2529=ZZ2529+ZZ2529
-+007352        003440          ZZ2529=ZZ2529+ZZ2529
-+007352        007100          ZZ2529=ZZ2529+ZZ2529
-+007352        016200          ZZ2529=ZZ2529+ZZ2529
-+007352        034400          ZZ2529=ZZ2529+ZZ2529
-+007352        003776          0 8192 -ZZ1529
-+007353        034400          0 ZZ2529
--       mark 6158, 198         /71 ophi
-+007354        000614          ZZ2530=ZZ2530+ZZ2530
-+007354        001430          ZZ2530=ZZ2530+ZZ2530
-+007354        003060          ZZ2530=ZZ2530+ZZ2530
-+007354        006140          ZZ2530=ZZ2530+ZZ2530
-+007354        014300          ZZ2530=ZZ2530+ZZ2530
-+007354        030600          ZZ2530=ZZ2530+ZZ2530
-+007354        061400          ZZ2530=ZZ2530+ZZ2530
-+007354        143000          ZZ2530=ZZ2530+ZZ2530
-+007354        003762          0 8192 -ZZ1530
-+007355        143000          0 ZZ2530
--       mark 6170, 473         /102 herc
-+007356        001662          ZZ2531=ZZ2531+ZZ2531
-+007356        003544          ZZ2531=ZZ2531+ZZ2531
-+007356        007310          ZZ2531=ZZ2531+ZZ2531
-+007356        016620          ZZ2531=ZZ2531+ZZ2531
-+007356        035440          ZZ2531=ZZ2531+ZZ2531
-+007356        073100          ZZ2531=ZZ2531+ZZ2531
-+007356        166200          ZZ2531=ZZ2531+ZZ2531
-+007356        354400          ZZ2531=ZZ2531+ZZ2531
-+007356        003746          0 8192 -ZZ1531
-+007357        354400          0 ZZ2531
--       mark 6188, -480        /13 sgtr
-+007360        776076          ZZ2532=ZZ2532+ZZ2532
-+007360        774174          ZZ2532=ZZ2532+ZZ2532
-+007360        770370          ZZ2532=ZZ2532+ZZ2532
-+007360        760760          ZZ2532=ZZ2532+ZZ2532
-+007360        741740          ZZ2532=ZZ2532+ZZ2532
-+007360        703700          ZZ2532=ZZ2532+ZZ2532
-+007360        607600          ZZ2532=ZZ2532+ZZ2532
-+007360        417400          ZZ2532=ZZ2532+ZZ2532
-+007360        003724          0 8192 -ZZ1532
-+007361        417400          0 ZZ2532
--       mark 6234, 76          /74 ophi
-+007362        000230          ZZ2533=ZZ2533+ZZ2533
-+007362        000460          ZZ2533=ZZ2533+ZZ2533
-+007362        001140          ZZ2533=ZZ2533+ZZ2533
-+007362        002300          ZZ2533=ZZ2533+ZZ2533
-+007362        004600          ZZ2533=ZZ2533+ZZ2533
-+007362        011400          ZZ2533=ZZ2533+ZZ2533
-+007362        023000          ZZ2533=ZZ2533+ZZ2533
-+007362        046000          ZZ2533=ZZ2533+ZZ2533
-+007362        003646          0 8192 -ZZ1533
-+007363        046000          0 ZZ2533
--       mark 6235, 499         /106 herc
-+007364        001746          ZZ2534=ZZ2534+ZZ2534
-+007364        003714          ZZ2534=ZZ2534+ZZ2534
-+007364        007630          ZZ2534=ZZ2534+ZZ2534
-+007364        017460          ZZ2534=ZZ2534+ZZ2534
-+007364        037140          ZZ2534=ZZ2534+ZZ2534
-+007364        076300          ZZ2534=ZZ2534+ZZ2534
-+007364        174600          ZZ2534=ZZ2534+ZZ2534
-+007364        371400          ZZ2534=ZZ2534+ZZ2534
-+007364        003645          0 8192 -ZZ1534
-+007365        371400          0 ZZ2534
--       mark 6247, -204        /xi scut
-+007366        777146          ZZ2535=ZZ2535+ZZ2535
-+007366        776314          ZZ2535=ZZ2535+ZZ2535
-+007366        774630          ZZ2535=ZZ2535+ZZ2535
-+007366        771460          ZZ2535=ZZ2535+ZZ2535
-+007366        763140          ZZ2535=ZZ2535+ZZ2535
-+007366        746300          ZZ2535=ZZ2535+ZZ2535
-+007366        714600          ZZ2535=ZZ2535+ZZ2535
-+007366        631400          ZZ2535=ZZ2535+ZZ2535
-+007366        003631          0 8192 -ZZ1535
-+007367        631400          0 ZZ2535
--       mark 6254, -469        /21 sgtr
-+007370        776124          ZZ2536=ZZ2536+ZZ2536
-+007370        774250          ZZ2536=ZZ2536+ZZ2536
-+007370        770520          ZZ2536=ZZ2536+ZZ2536
-+007370        761240          ZZ2536=ZZ2536+ZZ2536
-+007370        742500          ZZ2536=ZZ2536+ZZ2536
-+007370        705200          ZZ2536=ZZ2536+ZZ2536
-+007370        612400          ZZ2536=ZZ2536+ZZ2536
-+007370        425000          ZZ2536=ZZ2536+ZZ2536
-+007370        003622          0 8192 -ZZ1536
-+007371        425000          0 ZZ2536
--       mark 6255, 494         /109 herc
-+007372        001734          ZZ2537=ZZ2537+ZZ2537
-+007372        003670          ZZ2537=ZZ2537+ZZ2537
-+007372        007560          ZZ2537=ZZ2537+ZZ2537
-+007372        017340          ZZ2537=ZZ2537+ZZ2537
-+007372        036700          ZZ2537=ZZ2537+ZZ2537
-+007372        075600          ZZ2537=ZZ2537+ZZ2537
-+007372        173400          ZZ2537=ZZ2537+ZZ2537
-+007372        367000          ZZ2537=ZZ2537+ZZ2537
-+007372        003621          0 8192 -ZZ1537
-+007373        367000          0 ZZ2537
--       mark 6278, -333        /ga scut
-+007374        776544          ZZ2538=ZZ2538+ZZ2538
-+007374        775310          ZZ2538=ZZ2538+ZZ2538
-+007374        772620          ZZ2538=ZZ2538+ZZ2538
-+007374        765440          ZZ2538=ZZ2538+ZZ2538
-+007374        753100          ZZ2538=ZZ2538+ZZ2538
-+007374        726200          ZZ2538=ZZ2538+ZZ2538
-+007374        654400          ZZ2538=ZZ2538+ZZ2538
-+007374        531000          ZZ2538=ZZ2538+ZZ2538
-+007374        003572          0 8192 -ZZ1538
-+007375        531000          0 ZZ2538
--       mark 6313, -189        /al scut
-+007376        777204          ZZ2539=ZZ2539+ZZ2539
-+007376        776410          ZZ2539=ZZ2539+ZZ2539
-+007376        775020          ZZ2539=ZZ2539+ZZ2539
-+007376        772040          ZZ2539=ZZ2539+ZZ2539
-+007376        764100          ZZ2539=ZZ2539+ZZ2539
-+007376        750200          ZZ2539=ZZ2539+ZZ2539
-+007376        720400          ZZ2539=ZZ2539+ZZ2539
-+007376        641000          ZZ2539=ZZ2539+ZZ2539
-+007376        003527          0 8192 -ZZ1539
-+007377        641000          0 ZZ2539
--       mark 6379, 465         /110 herc
-+007400        001642          ZZ2540=ZZ2540+ZZ2540
-+007400        003504          ZZ2540=ZZ2540+ZZ2540
-+007400        007210          ZZ2540=ZZ2540+ZZ2540
-+007400        016420          ZZ2540=ZZ2540+ZZ2540
-+007400        035040          ZZ2540=ZZ2540+ZZ2540
-+007400        072100          ZZ2540=ZZ2540+ZZ2540
-+007400        164200          ZZ2540=ZZ2540+ZZ2540
-+007400        350400          ZZ2540=ZZ2540+ZZ2540
-+007400        003425          0 8192 -ZZ1540
-+007401        350400          0 ZZ2540
--       mark 6382, -110        /be scut
-+007402        777442          ZZ2541=ZZ2541+ZZ2541
-+007402        777104          ZZ2541=ZZ2541+ZZ2541
-+007402        776210          ZZ2541=ZZ2541+ZZ2541
-+007402        774420          ZZ2541=ZZ2541+ZZ2541
-+007402        771040          ZZ2541=ZZ2541+ZZ2541
-+007402        762100          ZZ2541=ZZ2541+ZZ2541
-+007402        744200          ZZ2541=ZZ2541+ZZ2541
-+007402        710400          ZZ2541=ZZ2541+ZZ2541
-+007402        003422          0 8192 -ZZ1541
-+007403        710400          0 ZZ2541
--       mark 6386, 411         /111 herc
-+007404        001466          ZZ2542=ZZ2542+ZZ2542
-+007404        003154          ZZ2542=ZZ2542+ZZ2542
-+007404        006330          ZZ2542=ZZ2542+ZZ2542
-+007404        014660          ZZ2542=ZZ2542+ZZ2542
-+007404        031540          ZZ2542=ZZ2542+ZZ2542
-+007404        063300          ZZ2542=ZZ2542+ZZ2542
-+007404        146600          ZZ2542=ZZ2542+ZZ2542
-+007404        315400          ZZ2542=ZZ2542+ZZ2542
-+007404        003416          0 8192 -ZZ1542
-+007405        315400          0 ZZ2542
--       mark 6436, 93          /63 serp
-+007406        000272          ZZ2543=ZZ2543+ZZ2543
-+007406        000564          ZZ2543=ZZ2543+ZZ2543
-+007406        001350          ZZ2543=ZZ2543+ZZ2543
-+007406        002720          ZZ2543=ZZ2543+ZZ2543
-+007406        005640          ZZ2543=ZZ2543+ZZ2543
-+007406        013500          ZZ2543=ZZ2543+ZZ2543
-+007406        027200          ZZ2543=ZZ2543+ZZ2543
-+007406        056400          ZZ2543=ZZ2543+ZZ2543
-+007406        003334          0 8192 -ZZ1543
-+007407        056400          0 ZZ2543
--       mark 6457, 340         /13 aqil
-+007410        001250          ZZ2544=ZZ2544+ZZ2544
-+007410        002520          ZZ2544=ZZ2544+ZZ2544
-+007410        005240          ZZ2544=ZZ2544+ZZ2544
-+007410        012500          ZZ2544=ZZ2544+ZZ2544
-+007410        025200          ZZ2544=ZZ2544+ZZ2544
-+007410        052400          ZZ2544=ZZ2544+ZZ2544
-+007410        125000          ZZ2544=ZZ2544+ZZ2544
-+007410        252000          ZZ2544=ZZ2544+ZZ2544
-+007410        003307          0 8192 -ZZ1544
-+007411        252000          0 ZZ2544
--       mark 6465, -134        /12 aqil
-+007412        777362          ZZ2545=ZZ2545+ZZ2545
-+007412        776744          ZZ2545=ZZ2545+ZZ2545
-+007412        775710          ZZ2545=ZZ2545+ZZ2545
-+007412        773620          ZZ2545=ZZ2545+ZZ2545
-+007412        767440          ZZ2545=ZZ2545+ZZ2545
-+007412        757100          ZZ2545=ZZ2545+ZZ2545
-+007412        736200          ZZ2545=ZZ2545+ZZ2545
-+007412        674400          ZZ2545=ZZ2545+ZZ2545
-+007412        003277          0 8192 -ZZ1545
-+007413        674400          0 ZZ2545
--       mark 6478, -498        /39 sgtr
-+007414        776032          ZZ2546=ZZ2546+ZZ2546
-+007414        774064          ZZ2546=ZZ2546+ZZ2546
-+007414        770150          ZZ2546=ZZ2546+ZZ2546
-+007414        760320          ZZ2546=ZZ2546+ZZ2546
-+007414        740640          ZZ2546=ZZ2546+ZZ2546
-+007414        701500          ZZ2546=ZZ2546+ZZ2546
-+007414        603200          ZZ2546=ZZ2546+ZZ2546
-+007414        406400          ZZ2546=ZZ2546+ZZ2546
-+007414        003262          0 8192 -ZZ1546
-+007415        406400          0 ZZ2546
--       mark 6553, 483         / 1 vulp
-+007416        001706          ZZ2547=ZZ2547+ZZ2547
-+007416        003614          ZZ2547=ZZ2547+ZZ2547
-+007416        007430          ZZ2547=ZZ2547+ZZ2547
-+007416        017060          ZZ2547=ZZ2547+ZZ2547
-+007416        036140          ZZ2547=ZZ2547+ZZ2547
-+007416        074300          ZZ2547=ZZ2547+ZZ2547
-+007416        170600          ZZ2547=ZZ2547+ZZ2547
-+007416        361400          ZZ2547=ZZ2547+ZZ2547
-+007416        003147          0 8192 -ZZ1547
-+007417        361400          0 ZZ2547
--       mark 6576, -410        /44 sgtr
-+007420        776312          ZZ2548=ZZ2548+ZZ2548
-+007420        774624          ZZ2548=ZZ2548+ZZ2548
-+007420        771450          ZZ2548=ZZ2548+ZZ2548
-+007420        763120          ZZ2548=ZZ2548+ZZ2548
-+007420        746240          ZZ2548=ZZ2548+ZZ2548
-+007420        714500          ZZ2548=ZZ2548+ZZ2548
-+007420        631200          ZZ2548=ZZ2548+ZZ2548
-+007420        462400          ZZ2548=ZZ2548+ZZ2548
-+007420        003120          0 8192 -ZZ1548
-+007421        462400          0 ZZ2548
--       mark 6576, -368        /46 sgtr
-+007422        776436          ZZ2549=ZZ2549+ZZ2549
-+007422        775074          ZZ2549=ZZ2549+ZZ2549
-+007422        772170          ZZ2549=ZZ2549+ZZ2549
-+007422        764360          ZZ2549=ZZ2549+ZZ2549
-+007422        750740          ZZ2549=ZZ2549+ZZ2549
-+007422        721700          ZZ2549=ZZ2549+ZZ2549
-+007422        643600          ZZ2549=ZZ2549+ZZ2549
-+007422        507400          ZZ2549=ZZ2549+ZZ2549
-+007422        003120          0 8192 -ZZ1549
-+007423        507400          0 ZZ2549
--       mark 6607, 3           /32 aqil
-+007424        000006          ZZ2550=ZZ2550+ZZ2550
-+007424        000014          ZZ2550=ZZ2550+ZZ2550
-+007424        000030          ZZ2550=ZZ2550+ZZ2550
-+007424        000060          ZZ2550=ZZ2550+ZZ2550
-+007424        000140          ZZ2550=ZZ2550+ZZ2550
-+007424        000300          ZZ2550=ZZ2550+ZZ2550
-+007424        000600          ZZ2550=ZZ2550+ZZ2550
-+007424        001400          ZZ2550=ZZ2550+ZZ2550
-+007424        003061          0 8192 -ZZ1550
-+007425        001400          0 ZZ2550
--       mark 6651, 163         /38 aqil
-+007426        000506          ZZ2551=ZZ2551+ZZ2551
-+007426        001214          ZZ2551=ZZ2551+ZZ2551
-+007426        002430          ZZ2551=ZZ2551+ZZ2551
-+007426        005060          ZZ2551=ZZ2551+ZZ2551
-+007426        012140          ZZ2551=ZZ2551+ZZ2551
-+007426        024300          ZZ2551=ZZ2551+ZZ2551
-+007426        050600          ZZ2551=ZZ2551+ZZ2551
-+007426        121400          ZZ2551=ZZ2551+ZZ2551
-+007426        003005          0 8192 -ZZ1551
-+007427        121400          0 ZZ2551
--       mark 6657, 445         / 9 vulp
-+007430        001572          ZZ2552=ZZ2552+ZZ2552
-+007430        003364          ZZ2552=ZZ2552+ZZ2552
-+007430        006750          ZZ2552=ZZ2552+ZZ2552
-+007430        015720          ZZ2552=ZZ2552+ZZ2552
-+007430        033640          ZZ2552=ZZ2552+ZZ2552
-+007430        067500          ZZ2552=ZZ2552+ZZ2552
-+007430        157200          ZZ2552=ZZ2552+ZZ2552
-+007430        336400          ZZ2552=ZZ2552+ZZ2552
-+007430        002777          0 8192 -ZZ1552
-+007431        336400          0 ZZ2552
--       mark 6665, -35         /41 aqil
-+007432        777670          ZZ2553=ZZ2553+ZZ2553
-+007432        777560          ZZ2553=ZZ2553+ZZ2553
-+007432        777340          ZZ2553=ZZ2553+ZZ2553
-+007432        776700          ZZ2553=ZZ2553+ZZ2553
-+007432        775600          ZZ2553=ZZ2553+ZZ2553
-+007432        773400          ZZ2553=ZZ2553+ZZ2553
-+007432        767000          ZZ2553=ZZ2553+ZZ2553
-+007432        756000          ZZ2553=ZZ2553+ZZ2553
-+007432        002767          0 8192 -ZZ1553
-+007433        756000          0 ZZ2553
--       mark 6688, 405         / 5 sgte
-+007434        001452          ZZ2554=ZZ2554+ZZ2554
-+007434        003124          ZZ2554=ZZ2554+ZZ2554
-+007434        006250          ZZ2554=ZZ2554+ZZ2554
-+007434        014520          ZZ2554=ZZ2554+ZZ2554
-+007434        031240          ZZ2554=ZZ2554+ZZ2554
-+007434        062500          ZZ2554=ZZ2554+ZZ2554
-+007434        145200          ZZ2554=ZZ2554+ZZ2554
-+007434        312400          ZZ2554=ZZ2554+ZZ2554
-+007434        002740          0 8192 -ZZ1554
-+007435        312400          0 ZZ2554
--       mark 6693, 393         / 6 sgte
-+007436        001422          ZZ2555=ZZ2555+ZZ2555
-+007436        003044          ZZ2555=ZZ2555+ZZ2555
-+007436        006110          ZZ2555=ZZ2555+ZZ2555
-+007436        014220          ZZ2555=ZZ2555+ZZ2555
-+007436        030440          ZZ2555=ZZ2555+ZZ2555
-+007436        061100          ZZ2555=ZZ2555+ZZ2555
-+007436        142200          ZZ2555=ZZ2555+ZZ2555
-+007436        304400          ZZ2555=ZZ2555+ZZ2555
-+007436        002733          0 8192 -ZZ1555
-+007437        304400          0 ZZ2555
--       mark 6730, 416         / 7 sgte
-+007440        001500          ZZ2556=ZZ2556+ZZ2556
-+007440        003200          ZZ2556=ZZ2556+ZZ2556
-+007440        006400          ZZ2556=ZZ2556+ZZ2556
-+007440        015000          ZZ2556=ZZ2556+ZZ2556
-+007440        032000          ZZ2556=ZZ2556+ZZ2556
-+007440        064000          ZZ2556=ZZ2556+ZZ2556
-+007440        150000          ZZ2556=ZZ2556+ZZ2556
-+007440        320000          ZZ2556=ZZ2556+ZZ2556
-+007440        002666          0 8192 -ZZ1556
-+007441        320000          0 ZZ2556
--       mark 6739, 430         / 8 sgte
-+007442        001534          ZZ2557=ZZ2557+ZZ2557
-+007442        003270          ZZ2557=ZZ2557+ZZ2557
-+007442        006560          ZZ2557=ZZ2557+ZZ2557
-+007442        015340          ZZ2557=ZZ2557+ZZ2557
-+007442        032700          ZZ2557=ZZ2557+ZZ2557
-+007442        065600          ZZ2557=ZZ2557+ZZ2557
-+007442        153400          ZZ2557=ZZ2557+ZZ2557
-+007442        327000          ZZ2557=ZZ2557+ZZ2557
-+007442        002655          0 8192 -ZZ1557
-+007443        327000          0 ZZ2557
--       mark 6755, 17          /55 aqil
-+007444        000042          ZZ2558=ZZ2558+ZZ2558
-+007444        000104          ZZ2558=ZZ2558+ZZ2558
-+007444        000210          ZZ2558=ZZ2558+ZZ2558
-+007444        000420          ZZ2558=ZZ2558+ZZ2558
-+007444        001040          ZZ2558=ZZ2558+ZZ2558
-+007444        002100          ZZ2558=ZZ2558+ZZ2558
-+007444        004200          ZZ2558=ZZ2558+ZZ2558
-+007444        010400          ZZ2558=ZZ2558+ZZ2558
-+007444        002635          0 8192 -ZZ1558
-+007445        010400          0 ZZ2558
--       mark 6766, 187         /59 aqil
-+007446        000566          ZZ2559=ZZ2559+ZZ2559
-+007446        001354          ZZ2559=ZZ2559+ZZ2559
-+007446        002730          ZZ2559=ZZ2559+ZZ2559
-+007446        005660          ZZ2559=ZZ2559+ZZ2559
-+007446        013540          ZZ2559=ZZ2559+ZZ2559
-+007446        027300          ZZ2559=ZZ2559+ZZ2559
-+007446        056600          ZZ2559=ZZ2559+ZZ2559
-+007446        135400          ZZ2559=ZZ2559+ZZ2559
-+007446        002622          0 8192 -ZZ1559
-+007447        135400          0 ZZ2559
--       mark 6772, 140         /60 aqil
-+007450        000430          ZZ2560=ZZ2560+ZZ2560
-+007450        001060          ZZ2560=ZZ2560+ZZ2560
-+007450        002140          ZZ2560=ZZ2560+ZZ2560
-+007450        004300          ZZ2560=ZZ2560+ZZ2560
-+007450        010600          ZZ2560=ZZ2560+ZZ2560
-+007450        021400          ZZ2560=ZZ2560+ZZ2560
-+007450        043000          ZZ2560=ZZ2560+ZZ2560
-+007450        106000          ZZ2560=ZZ2560+ZZ2560
-+007450        002614          0 8192 -ZZ1560
-+007451        106000          0 ZZ2560
--       mark 6882, 339         /67 aqil
-+007452        001246          ZZ2561=ZZ2561+ZZ2561
-+007452        002514          ZZ2561=ZZ2561+ZZ2561
-+007452        005230          ZZ2561=ZZ2561+ZZ2561
-+007452        012460          ZZ2561=ZZ2561+ZZ2561
-+007452        025140          ZZ2561=ZZ2561+ZZ2561
-+007452        052300          ZZ2561=ZZ2561+ZZ2561
-+007452        124600          ZZ2561=ZZ2561+ZZ2561
-+007452        251400          ZZ2561=ZZ2561+ZZ2561
-+007452        002436          0 8192 -ZZ1561
-+007453        251400          0 ZZ2561
--       mark 6896, -292        / 5 capr
-+007454        776666          ZZ2562=ZZ2562+ZZ2562
-+007454        775554          ZZ2562=ZZ2562+ZZ2562
-+007454        773330          ZZ2562=ZZ2562+ZZ2562
-+007454        766660          ZZ2562=ZZ2562+ZZ2562
-+007454        755540          ZZ2562=ZZ2562+ZZ2562
-+007454        733300          ZZ2562=ZZ2562+ZZ2562
-+007454        666600          ZZ2562=ZZ2562+ZZ2562
-+007454        555400          ZZ2562=ZZ2562+ZZ2562
-+007454        002420          0 8192 -ZZ1562
-+007455        555400          0 ZZ2562
--       mark 6898, -292        / 6 capr
-+007456        776666          ZZ2563=ZZ2563+ZZ2563
-+007456        775554          ZZ2563=ZZ2563+ZZ2563
-+007456        773330          ZZ2563=ZZ2563+ZZ2563
-+007456        766660          ZZ2563=ZZ2563+ZZ2563
-+007456        755540          ZZ2563=ZZ2563+ZZ2563
-+007456        733300          ZZ2563=ZZ2563+ZZ2563
-+007456        666600          ZZ2563=ZZ2563+ZZ2563
-+007456        555400          ZZ2563=ZZ2563+ZZ2563
-+007456        002416          0 8192 -ZZ1563
-+007457        555400          0 ZZ2563
--       mark 6913, -297        / 8 capr
-+007460        776654          ZZ2564=ZZ2564+ZZ2564
-+007460        775530          ZZ2564=ZZ2564+ZZ2564
-+007460        773260          ZZ2564=ZZ2564+ZZ2564
-+007460        766540          ZZ2564=ZZ2564+ZZ2564
-+007460        755300          ZZ2564=ZZ2564+ZZ2564
-+007460        732600          ZZ2564=ZZ2564+ZZ2564
-+007460        665400          ZZ2564=ZZ2564+ZZ2564
-+007460        553000          ZZ2564=ZZ2564+ZZ2564
-+007460        002377          0 8192 -ZZ1564
-+007461        553000          0 ZZ2564
--       mark 6958, -413        /11 capr
-+007462        776304          ZZ2565=ZZ2565+ZZ2565
-+007462        774610          ZZ2565=ZZ2565+ZZ2565
-+007462        771420          ZZ2565=ZZ2565+ZZ2565
-+007462        763040          ZZ2565=ZZ2565+ZZ2565
-+007462        746100          ZZ2565=ZZ2565+ZZ2565
-+007462        714200          ZZ2565=ZZ2565+ZZ2565
-+007462        630400          ZZ2565=ZZ2565+ZZ2565
-+007462        461000          ZZ2565=ZZ2565+ZZ2565
-+007462        002322          0 8192 -ZZ1565
-+007463        461000          0 ZZ2565
--       mark 6988, 250         / 2 dlph
-+007464        000764          ZZ2566=ZZ2566+ZZ2566
-+007464        001750          ZZ2566=ZZ2566+ZZ2566
-+007464        003720          ZZ2566=ZZ2566+ZZ2566
-+007464        007640          ZZ2566=ZZ2566+ZZ2566
-+007464        017500          ZZ2566=ZZ2566+ZZ2566
-+007464        037200          ZZ2566=ZZ2566+ZZ2566
-+007464        076400          ZZ2566=ZZ2566+ZZ2566
-+007464        175000          ZZ2566=ZZ2566+ZZ2566
-+007464        002264          0 8192 -ZZ1566
-+007465        175000          0 ZZ2566
--       mark 7001, 326         / 4 dlph
-+007466        001214          ZZ2567=ZZ2567+ZZ2567
-+007466        002430          ZZ2567=ZZ2567+ZZ2567
-+007466        005060          ZZ2567=ZZ2567+ZZ2567
-+007466        012140          ZZ2567=ZZ2567+ZZ2567
-+007466        024300          ZZ2567=ZZ2567+ZZ2567
-+007466        050600          ZZ2567=ZZ2567+ZZ2567
-+007466        121400          ZZ2567=ZZ2567+ZZ2567
-+007466        243000          ZZ2567=ZZ2567+ZZ2567
-+007466        002247          0 8192 -ZZ1567
-+007467        243000          0 ZZ2567
--       mark 7015, -33         /71 aqil
-+007470        777674          ZZ2568=ZZ2568+ZZ2568
-+007470        777570          ZZ2568=ZZ2568+ZZ2568
-+007470        777360          ZZ2568=ZZ2568+ZZ2568
-+007470        776740          ZZ2568=ZZ2568+ZZ2568
-+007470        775700          ZZ2568=ZZ2568+ZZ2568
-+007470        773600          ZZ2568=ZZ2568+ZZ2568
-+007470        767400          ZZ2568=ZZ2568+ZZ2568
-+007470        757000          ZZ2568=ZZ2568+ZZ2568
-+007470        002231          0 8192 -ZZ1568
-+007471        757000          0 ZZ2568
--       mark 7020, 475         /29 vulp
-+007472        001666          ZZ2569=ZZ2569+ZZ2569
-+007472        003554          ZZ2569=ZZ2569+ZZ2569
-+007472        007330          ZZ2569=ZZ2569+ZZ2569
-+007472        016660          ZZ2569=ZZ2569+ZZ2569
-+007472        035540          ZZ2569=ZZ2569+ZZ2569
-+007472        073300          ZZ2569=ZZ2569+ZZ2569
-+007472        166600          ZZ2569=ZZ2569+ZZ2569
-+007472        355400          ZZ2569=ZZ2569+ZZ2569
-+007472        002224          0 8192 -ZZ1569
-+007473        355400          0 ZZ2569
--       mark 7026, 354         / 9 dlph
-+007474        001304          ZZ2570=ZZ2570+ZZ2570
-+007474        002610          ZZ2570=ZZ2570+ZZ2570
-+007474        005420          ZZ2570=ZZ2570+ZZ2570
-+007474        013040          ZZ2570=ZZ2570+ZZ2570
-+007474        026100          ZZ2570=ZZ2570+ZZ2570
-+007474        054200          ZZ2570=ZZ2570+ZZ2570
-+007474        130400          ZZ2570=ZZ2570+ZZ2570
-+007474        261000          ZZ2570=ZZ2570+ZZ2570
-+007474        002216          0 8192 -ZZ1570
-+007475        261000          0 ZZ2570
--       mark 7047, 335         /11 dlph
-+007476        001236          ZZ2571=ZZ2571+ZZ2571
-+007476        002474          ZZ2571=ZZ2571+ZZ2571
-+007476        005170          ZZ2571=ZZ2571+ZZ2571
-+007476        012360          ZZ2571=ZZ2571+ZZ2571
-+007476        024740          ZZ2571=ZZ2571+ZZ2571
-+007476        051700          ZZ2571=ZZ2571+ZZ2571
-+007476        123600          ZZ2571=ZZ2571+ZZ2571
-+007476        247400          ZZ2571=ZZ2571+ZZ2571
-+007476        002171          0 8192 -ZZ1571
-+007477        247400          0 ZZ2571
--       mark 7066, 359         /12 dlph
-+007500        001316          ZZ2572=ZZ2572+ZZ2572
-+007500        002634          ZZ2572=ZZ2572+ZZ2572
-+007500        005470          ZZ2572=ZZ2572+ZZ2572
-+007500        013160          ZZ2572=ZZ2572+ZZ2572
-+007500        026340          ZZ2572=ZZ2572+ZZ2572
-+007500        054700          ZZ2572=ZZ2572+ZZ2572
-+007500        131600          ZZ2572=ZZ2572+ZZ2572
-+007500        263400          ZZ2572=ZZ2572+ZZ2572
-+007500        002146          0 8192 -ZZ1572
-+007501        263400          0 ZZ2572
--       mark 7067, -225        / 2 aqar
-+007502        777074          ZZ2573=ZZ2573+ZZ2573
-+007502        776170          ZZ2573=ZZ2573+ZZ2573
-+007502        774360          ZZ2573=ZZ2573+ZZ2573
-+007502        770740          ZZ2573=ZZ2573+ZZ2573
-+007502        761700          ZZ2573=ZZ2573+ZZ2573
-+007502        743600          ZZ2573=ZZ2573+ZZ2573
-+007502        707400          ZZ2573=ZZ2573+ZZ2573
-+007502        617000          ZZ2573=ZZ2573+ZZ2573
-+007502        002145          0 8192 -ZZ1573
-+007503        617000          0 ZZ2573
--       mark 7068, -123        / 3 aqar
-+007504        777410          ZZ2574=ZZ2574+ZZ2574
-+007504        777020          ZZ2574=ZZ2574+ZZ2574
-+007504        776040          ZZ2574=ZZ2574+ZZ2574
-+007504        774100          ZZ2574=ZZ2574+ZZ2574
-+007504        770200          ZZ2574=ZZ2574+ZZ2574
-+007504        760400          ZZ2574=ZZ2574+ZZ2574
-+007504        741000          ZZ2574=ZZ2574+ZZ2574
-+007504        702000          ZZ2574=ZZ2574+ZZ2574
-+007504        002144          0 8192 -ZZ1574
-+007505        702000          0 ZZ2574
--       mark 7096, -213        / 6 aqar
-+007506        777124          ZZ2575=ZZ2575+ZZ2575
-+007506        776250          ZZ2575=ZZ2575+ZZ2575
-+007506        774520          ZZ2575=ZZ2575+ZZ2575
-+007506        771240          ZZ2575=ZZ2575+ZZ2575
-+007506        762500          ZZ2575=ZZ2575+ZZ2575
-+007506        745200          ZZ2575=ZZ2575+ZZ2575
-+007506        712400          ZZ2575=ZZ2575+ZZ2575
-+007506        625000          ZZ2575=ZZ2575+ZZ2575
-+007506        002110          0 8192 -ZZ1575
-+007507        625000          0 ZZ2575
--       mark 7161, -461        /22 capr
-+007510        776144          ZZ2576=ZZ2576+ZZ2576
-+007510        774310          ZZ2576=ZZ2576+ZZ2576
-+007510        770620          ZZ2576=ZZ2576+ZZ2576
-+007510        761440          ZZ2576=ZZ2576+ZZ2576
-+007510        743100          ZZ2576=ZZ2576+ZZ2576
-+007510        706200          ZZ2576=ZZ2576+ZZ2576
-+007510        614400          ZZ2576=ZZ2576+ZZ2576
-+007510        431000          ZZ2576=ZZ2576+ZZ2576
-+007510        002007          0 8192 -ZZ1576
-+007511        431000          0 ZZ2576
--       mark 7170, -401        /23 capr
-+007512        776334          ZZ2577=ZZ2577+ZZ2577
-+007512        774670          ZZ2577=ZZ2577+ZZ2577
-+007512        771560          ZZ2577=ZZ2577+ZZ2577
-+007512        763340          ZZ2577=ZZ2577+ZZ2577
-+007512        746700          ZZ2577=ZZ2577+ZZ2577
-+007512        715600          ZZ2577=ZZ2577+ZZ2577
-+007512        633400          ZZ2577=ZZ2577+ZZ2577
-+007512        467000          ZZ2577=ZZ2577+ZZ2577
-+007512        001776          0 8192 -ZZ1577
-+007513        467000          0 ZZ2577
--       mark 7192, -268        /13 capr
-+007514        776746          ZZ2578=ZZ2578+ZZ2578
-+007514        775714          ZZ2578=ZZ2578+ZZ2578
-+007514        773630          ZZ2578=ZZ2578+ZZ2578
-+007514        767460          ZZ2578=ZZ2578+ZZ2578
-+007514        757140          ZZ2578=ZZ2578+ZZ2578
-+007514        736300          ZZ2578=ZZ2578+ZZ2578
-+007514        674600          ZZ2578=ZZ2578+ZZ2578
-+007514        571400          ZZ2578=ZZ2578+ZZ2578
-+007514        001750          0 8192 -ZZ1578
-+007515        571400          0 ZZ2578
--       mark 7199, 222         / 5 equl
-+007516        000674          ZZ2579=ZZ2579+ZZ2579
-+007516        001570          ZZ2579=ZZ2579+ZZ2579
-+007516        003360          ZZ2579=ZZ2579+ZZ2579
-+007516        006740          ZZ2579=ZZ2579+ZZ2579
-+007516        015700          ZZ2579=ZZ2579+ZZ2579
-+007516        033600          ZZ2579=ZZ2579+ZZ2579
-+007516        067400          ZZ2579=ZZ2579+ZZ2579
-+007516        157000          ZZ2579=ZZ2579+ZZ2579
-+007516        001741          0 8192 -ZZ1579
-+007517        157000          0 ZZ2579
--       mark 7223, 219         / 7 equl
-+007520        000666          ZZ2580=ZZ2580+ZZ2580
-+007520        001554          ZZ2580=ZZ2580+ZZ2580
-+007520        003330          ZZ2580=ZZ2580+ZZ2580
-+007520        006660          ZZ2580=ZZ2580+ZZ2580
-+007520        015540          ZZ2580=ZZ2580+ZZ2580
-+007520        033300          ZZ2580=ZZ2580+ZZ2580
-+007520        066600          ZZ2580=ZZ2580+ZZ2580
-+007520        155400          ZZ2580=ZZ2580+ZZ2580
-+007520        001711          0 8192 -ZZ1580
-+007521        155400          0 ZZ2580
--       mark 7230, 110         / 8 equl
-+007522        000334          ZZ2581=ZZ2581+ZZ2581
-+007522        000670          ZZ2581=ZZ2581+ZZ2581
-+007522        001560          ZZ2581=ZZ2581+ZZ2581
-+007522        003340          ZZ2581=ZZ2581+ZZ2581
-+007522        006700          ZZ2581=ZZ2581+ZZ2581
-+007522        015600          ZZ2581=ZZ2581+ZZ2581
-+007522        033400          ZZ2581=ZZ2581+ZZ2581
-+007522        067000          ZZ2581=ZZ2581+ZZ2581
-+007522        001702          0 8192 -ZZ1581
-+007523        067000          0 ZZ2581
--       mark 7263, -393        /32 capr
-+007524        776354          ZZ2582=ZZ2582+ZZ2582
-+007524        774730          ZZ2582=ZZ2582+ZZ2582
-+007524        771660          ZZ2582=ZZ2582+ZZ2582
-+007524        763540          ZZ2582=ZZ2582+ZZ2582
-+007524        747300          ZZ2582=ZZ2582+ZZ2582
-+007524        716600          ZZ2582=ZZ2582+ZZ2582
-+007524        635400          ZZ2582=ZZ2582+ZZ2582
-+007524        473000          ZZ2582=ZZ2582+ZZ2582
-+007524        001641          0 8192 -ZZ1582
-+007525        473000          0 ZZ2582
--       mark 7267, 441         / 1 pegs
-+007526        001562          ZZ2583=ZZ2583+ZZ2583
-+007526        003344          ZZ2583=ZZ2583+ZZ2583
-+007526        006710          ZZ2583=ZZ2583+ZZ2583
-+007526        015620          ZZ2583=ZZ2583+ZZ2583
-+007526        033440          ZZ2583=ZZ2583+ZZ2583
-+007526        067100          ZZ2583=ZZ2583+ZZ2583
-+007526        156200          ZZ2583=ZZ2583+ZZ2583
-+007526        334400          ZZ2583=ZZ2583+ZZ2583
-+007526        001635          0 8192 -ZZ1583
-+007527        334400          0 ZZ2583
--       mark 7299, -506        /36 capr
-+007530        776012          ZZ2584=ZZ2584+ZZ2584
-+007530        774024          ZZ2584=ZZ2584+ZZ2584
-+007530        770050          ZZ2584=ZZ2584+ZZ2584
-+007530        760120          ZZ2584=ZZ2584+ZZ2584
-+007530        740240          ZZ2584=ZZ2584+ZZ2584
-+007530        700500          ZZ2584=ZZ2584+ZZ2584
-+007530        601200          ZZ2584=ZZ2584+ZZ2584
-+007530        402400          ZZ2584=ZZ2584+ZZ2584
-+007530        001575          0 8192 -ZZ1584
-+007531        402400          0 ZZ2584
--       mark 7347, -453        /39 capr
-+007532        776164          ZZ2585=ZZ2585+ZZ2585
-+007532        774350          ZZ2585=ZZ2585+ZZ2585
-+007532        770720          ZZ2585=ZZ2585+ZZ2585
-+007532        761640          ZZ2585=ZZ2585+ZZ2585
-+007532        743500          ZZ2585=ZZ2585+ZZ2585
-+007532        707200          ZZ2585=ZZ2585+ZZ2585
-+007532        616400          ZZ2585=ZZ2585+ZZ2585
-+007532        435000          ZZ2585=ZZ2585+ZZ2585
-+007532        001515          0 8192 -ZZ1585
-+007533        435000          0 ZZ2585
--       mark 7353, -189        /23 aqar
-+007534        777204          ZZ2586=ZZ2586+ZZ2586
-+007534        776410          ZZ2586=ZZ2586+ZZ2586
-+007534        775020          ZZ2586=ZZ2586+ZZ2586
-+007534        772040          ZZ2586=ZZ2586+ZZ2586
-+007534        764100          ZZ2586=ZZ2586+ZZ2586
-+007534        750200          ZZ2586=ZZ2586+ZZ2586
-+007534        720400          ZZ2586=ZZ2586+ZZ2586
-+007534        641000          ZZ2586=ZZ2586+ZZ2586
-+007534        001507          0 8192 -ZZ1586
-+007535        641000          0 ZZ2586
--       mark 7365, -390        /40 capr
-+007536        776362          ZZ2587=ZZ2587+ZZ2587
-+007536        774744          ZZ2587=ZZ2587+ZZ2587
-+007536        771710          ZZ2587=ZZ2587+ZZ2587
-+007536        763620          ZZ2587=ZZ2587+ZZ2587
-+007536        747440          ZZ2587=ZZ2587+ZZ2587
-+007536        717100          ZZ2587=ZZ2587+ZZ2587
-+007536        636200          ZZ2587=ZZ2587+ZZ2587
-+007536        474400          ZZ2587=ZZ2587+ZZ2587
-+007536        001473          0 8192 -ZZ1587
-+007537        474400          0 ZZ2587
--       mark 7379, -440        /43 capr
-+007540        776216          ZZ2588=ZZ2588+ZZ2588
-+007540        774434          ZZ2588=ZZ2588+ZZ2588
-+007540        771070          ZZ2588=ZZ2588+ZZ2588
-+007540        762160          ZZ2588=ZZ2588+ZZ2588
-+007540        744340          ZZ2588=ZZ2588+ZZ2588
-+007540        710700          ZZ2588=ZZ2588+ZZ2588
-+007540        621600          ZZ2588=ZZ2588+ZZ2588
-+007540        443400          ZZ2588=ZZ2588+ZZ2588
-+007540        001455          0 8192 -ZZ1588
-+007541        443400          0 ZZ2588
--       mark 7394, 384         / 9 pegs
-+007542        001400          ZZ2589=ZZ2589+ZZ2589
-+007542        003000          ZZ2589=ZZ2589+ZZ2589
-+007542        006000          ZZ2589=ZZ2589+ZZ2589
-+007542        014000          ZZ2589=ZZ2589+ZZ2589
-+007542        030000          ZZ2589=ZZ2589+ZZ2589
-+007542        060000          ZZ2589=ZZ2589+ZZ2589
-+007542        140000          ZZ2589=ZZ2589+ZZ2589
-+007542        300000          ZZ2589=ZZ2589+ZZ2589
-+007542        001436          0 8192 -ZZ1589
-+007543        300000          0 ZZ2589
--       mark 7499, -60         /31 aquar
-+007544        777606          ZZ2590=ZZ2590+ZZ2590
-+007544        777414          ZZ2590=ZZ2590+ZZ2590
-+007544        777030          ZZ2590=ZZ2590+ZZ2590
-+007544        776060          ZZ2590=ZZ2590+ZZ2590
-+007544        774140          ZZ2590=ZZ2590+ZZ2590
-+007544        770300          ZZ2590=ZZ2590+ZZ2590
-+007544        760600          ZZ2590=ZZ2590+ZZ2590
-+007544        741400          ZZ2590=ZZ2590+ZZ2590
-+007544        001265          0 8192 -ZZ1590
-+007545        741400          0 ZZ2590
--       mark 7513, 104         /22 pegs
-+007546        000320          ZZ2591=ZZ2591+ZZ2591
-+007546        000640          ZZ2591=ZZ2591+ZZ2591
-+007546        001500          ZZ2591=ZZ2591+ZZ2591
-+007546        003200          ZZ2591=ZZ2591+ZZ2591
-+007546        006400          ZZ2591=ZZ2591+ZZ2591
-+007546        015000          ZZ2591=ZZ2591+ZZ2591
-+007546        032000          ZZ2591=ZZ2591+ZZ2591
-+007546        064000          ZZ2591=ZZ2591+ZZ2591
-+007546        001247          0 8192 -ZZ1591
-+007547        064000          0 ZZ2591
--       mark 7515, -327        /33 aqar
-+007550        776560          ZZ2592=ZZ2592+ZZ2592
-+007550        775340          ZZ2592=ZZ2592+ZZ2592
-+007550        772700          ZZ2592=ZZ2592+ZZ2592
-+007550        765600          ZZ2592=ZZ2592+ZZ2592
-+007550        753400          ZZ2592=ZZ2592+ZZ2592
-+007550        727000          ZZ2592=ZZ2592+ZZ2592
-+007550        656000          ZZ2592=ZZ2592+ZZ2592
-+007550        534000          ZZ2592=ZZ2592+ZZ2592
-+007550        001245          0 8192 -ZZ1592
-+007551        534000          0 ZZ2592
--       mark 7575, -189        /43 aqar
-+007552        777204          ZZ2593=ZZ2593+ZZ2593
-+007552        776410          ZZ2593=ZZ2593+ZZ2593
-+007552        775020          ZZ2593=ZZ2593+ZZ2593
-+007552        772040          ZZ2593=ZZ2593+ZZ2593
-+007552        764100          ZZ2593=ZZ2593+ZZ2593
-+007552        750200          ZZ2593=ZZ2593+ZZ2593
-+007552        720400          ZZ2593=ZZ2593+ZZ2593
-+007552        641000          ZZ2593=ZZ2593+ZZ2593
-+007552        001151          0 8192 -ZZ1593
-+007553        641000          0 ZZ2593
--       mark 7603, -43         /48 aqar
-+007554        777650          ZZ2594=ZZ2594+ZZ2594
-+007554        777520          ZZ2594=ZZ2594+ZZ2594
-+007554        777240          ZZ2594=ZZ2594+ZZ2594
-+007554        776500          ZZ2594=ZZ2594+ZZ2594
-+007554        775200          ZZ2594=ZZ2594+ZZ2594
-+007554        772400          ZZ2594=ZZ2594+ZZ2594
-+007554        765000          ZZ2594=ZZ2594+ZZ2594
-+007554        752000          ZZ2594=ZZ2594+ZZ2594
-+007554        001115          0 8192 -ZZ1594
-+007555        752000          0 ZZ2594
--       mark 7604, 266         /31 pegs
-+007556        001024          ZZ2595=ZZ2595+ZZ2595
-+007556        002050          ZZ2595=ZZ2595+ZZ2595
-+007556        004120          ZZ2595=ZZ2595+ZZ2595
-+007556        010240          ZZ2595=ZZ2595+ZZ2595
-+007556        020500          ZZ2595=ZZ2595+ZZ2595
-+007556        041200          ZZ2595=ZZ2595+ZZ2595
-+007556        102400          ZZ2595=ZZ2595+ZZ2595
-+007556        205000          ZZ2595=ZZ2595+ZZ2595
-+007556        001114          0 8192 -ZZ1595
-+007557        205000          0 ZZ2595
--       mark 7624, 20          /52 aquar
-+007560        000050          ZZ2596=ZZ2596+ZZ2596
-+007560        000120          ZZ2596=ZZ2596+ZZ2596
-+007560        000240          ZZ2596=ZZ2596+ZZ2596
-+007560        000500          ZZ2596=ZZ2596+ZZ2596
-+007560        001200          ZZ2596=ZZ2596+ZZ2596
-+007560        002400          ZZ2596=ZZ2596+ZZ2596
-+007560        005000          ZZ2596=ZZ2596+ZZ2596
-+007560        012000          ZZ2596=ZZ2596+ZZ2596
-+007560        001070          0 8192 -ZZ1596
-+007561        012000          0 ZZ2596
--       mark 7639, 96          /35 pegs
-+007562        000300          ZZ2597=ZZ2597+ZZ2597
-+007562        000600          ZZ2597=ZZ2597+ZZ2597
-+007562        001400          ZZ2597=ZZ2597+ZZ2597
-+007562        003000          ZZ2597=ZZ2597+ZZ2597
-+007562        006000          ZZ2597=ZZ2597+ZZ2597
-+007562        014000          ZZ2597=ZZ2597+ZZ2597
-+007562        030000          ZZ2597=ZZ2597+ZZ2597
-+007562        060000          ZZ2597=ZZ2597+ZZ2597
-+007562        001051          0 8192 -ZZ1597
-+007563        060000          0 ZZ2597
--       mark 7654, -255        /57 aqar
-+007564        777000          ZZ2598=ZZ2598+ZZ2598
-+007564        776000          ZZ2598=ZZ2598+ZZ2598
-+007564        774000          ZZ2598=ZZ2598+ZZ2598
-+007564        770000          ZZ2598=ZZ2598+ZZ2598
-+007564        760000          ZZ2598=ZZ2598+ZZ2598
-+007564        740000          ZZ2598=ZZ2598+ZZ2598
-+007564        700000          ZZ2598=ZZ2598+ZZ2598
-+007564        600000          ZZ2598=ZZ2598+ZZ2598
-+007564        001032          0 8192 -ZZ1598
-+007565        600000          0 ZZ2598
--       mark 7681, -14         /62 aqar
-+007566        777742          ZZ2599=ZZ2599+ZZ2599
-+007566        777704          ZZ2599=ZZ2599+ZZ2599
-+007566        777610          ZZ2599=ZZ2599+ZZ2599
-+007566        777420          ZZ2599=ZZ2599+ZZ2599
-+007566        777040          ZZ2599=ZZ2599+ZZ2599
-+007566        776100          ZZ2599=ZZ2599+ZZ2599
-+007566        774200          ZZ2599=ZZ2599+ZZ2599
-+007566        770400          ZZ2599=ZZ2599+ZZ2599
-+007566        000777          0 8192 -ZZ1599
-+007567        770400          0 ZZ2599
--       mark 7727, -440        /66 aqar
-+007570        776216          ZZ2600=ZZ2600+ZZ2600
-+007570        774434          ZZ2600=ZZ2600+ZZ2600
-+007570        771070          ZZ2600=ZZ2600+ZZ2600
-+007570        762160          ZZ2600=ZZ2600+ZZ2600
-+007570        744340          ZZ2600=ZZ2600+ZZ2600
-+007570        710700          ZZ2600=ZZ2600+ZZ2600
-+007570        621600          ZZ2600=ZZ2600+ZZ2600
-+007570        443400          ZZ2600=ZZ2600+ZZ2600
-+007570        000721          0 8192 -ZZ1600
-+007571        443400          0 ZZ2600
--       mark 7747, 266         /46 pegs
-+007572        001024          ZZ2601=ZZ2601+ZZ2601
-+007572        002050          ZZ2601=ZZ2601+ZZ2601
-+007572        004120          ZZ2601=ZZ2601+ZZ2601
-+007572        010240          ZZ2601=ZZ2601+ZZ2601
-+007572        020500          ZZ2601=ZZ2601+ZZ2601
-+007572        041200          ZZ2601=ZZ2601+ZZ2601
-+007572        102400          ZZ2601=ZZ2601+ZZ2601
-+007572        205000          ZZ2601=ZZ2601+ZZ2601
-+007572        000675          0 8192 -ZZ1601
-+007573        205000          0 ZZ2601
--       mark 7761, -321        /71 aqar
-+007574        776574          ZZ2602=ZZ2602+ZZ2602
-+007574        775370          ZZ2602=ZZ2602+ZZ2602
-+007574        772760          ZZ2602=ZZ2602+ZZ2602
-+007574        765740          ZZ2602=ZZ2602+ZZ2602
-+007574        753700          ZZ2602=ZZ2602+ZZ2602
-+007574        727600          ZZ2602=ZZ2602+ZZ2602
-+007574        657400          ZZ2602=ZZ2602+ZZ2602
-+007574        537000          ZZ2602=ZZ2602+ZZ2602
-+007574        000657          0 8192 -ZZ1602
-+007575        537000          0 ZZ2602
--       mark 7779, -185        /73 aqar
-+007576        777214          ZZ2603=ZZ2603+ZZ2603
-+007576        776430          ZZ2603=ZZ2603+ZZ2603
-+007576        775060          ZZ2603=ZZ2603+ZZ2603
-+007576        772140          ZZ2603=ZZ2603+ZZ2603
-+007576        764300          ZZ2603=ZZ2603+ZZ2603
-+007576        750600          ZZ2603=ZZ2603+ZZ2603
-+007576        721400          ZZ2603=ZZ2603+ZZ2603
-+007576        643000          ZZ2603=ZZ2603+ZZ2603
-+007576        000635          0 8192 -ZZ1603
-+007577        643000          0 ZZ2603
--       mark 7795, 189         /50 pegs
-+007600        000572          ZZ2604=ZZ2604+ZZ2604
-+007600        001364          ZZ2604=ZZ2604+ZZ2604
-+007600        002750          ZZ2604=ZZ2604+ZZ2604
-+007600        005720          ZZ2604=ZZ2604+ZZ2604
-+007600        013640          ZZ2604=ZZ2604+ZZ2604
-+007600        027500          ZZ2604=ZZ2604+ZZ2604
-+007600        057200          ZZ2604=ZZ2604+ZZ2604
-+007600        136400          ZZ2604=ZZ2604+ZZ2604
-+007600        000615          0 8192 -ZZ1604
-+007601        136400          0 ZZ2604
--       mark 7844, 75          / 4 pisc
-+007602        000226          ZZ2605=ZZ2605+ZZ2605
-+007602        000454          ZZ2605=ZZ2605+ZZ2605
-+007602        001130          ZZ2605=ZZ2605+ZZ2605
-+007602        002260          ZZ2605=ZZ2605+ZZ2605
-+007602        004540          ZZ2605=ZZ2605+ZZ2605
-+007602        011300          ZZ2605=ZZ2605+ZZ2605
-+007602        022600          ZZ2605=ZZ2605+ZZ2605
-+007602        045400          ZZ2605=ZZ2605+ZZ2605
-+007602        000534          0 8192 -ZZ1605
-+007603        045400          0 ZZ2605
--       mark 7862, 202         /55 pegs
-+007604        000624          ZZ2606=ZZ2606+ZZ2606
-+007604        001450          ZZ2606=ZZ2606+ZZ2606
-+007604        003120          ZZ2606=ZZ2606+ZZ2606
-+007604        006240          ZZ2606=ZZ2606+ZZ2606
-+007604        014500          ZZ2606=ZZ2606+ZZ2606
-+007604        031200          ZZ2606=ZZ2606+ZZ2606
-+007604        062400          ZZ2606=ZZ2606+ZZ2606
-+007604        145000          ZZ2606=ZZ2606+ZZ2606
-+007604        000512          0 8192 -ZZ1606
-+007605        145000          0 ZZ2606
--       mark 7874, -494        /88 aqar
-+007606        776042          ZZ2607=ZZ2607+ZZ2607
-+007606        774104          ZZ2607=ZZ2607+ZZ2607
-+007606        770210          ZZ2607=ZZ2607+ZZ2607
-+007606        760420          ZZ2607=ZZ2607+ZZ2607
-+007606        741040          ZZ2607=ZZ2607+ZZ2607
-+007606        702100          ZZ2607=ZZ2607+ZZ2607
-+007606        604200          ZZ2607=ZZ2607+ZZ2607
-+007606        410400          ZZ2607=ZZ2607+ZZ2607
-+007606        000476          0 8192 -ZZ1607
-+007607        410400          0 ZZ2607
--       mark 7903, -150        /90 aqar
-+007610        777322          ZZ2608=ZZ2608+ZZ2608
-+007610        776644          ZZ2608=ZZ2608+ZZ2608
-+007610        775510          ZZ2608=ZZ2608+ZZ2608
-+007610        773220          ZZ2608=ZZ2608+ZZ2608
-+007610        766440          ZZ2608=ZZ2608+ZZ2608
-+007610        755100          ZZ2608=ZZ2608+ZZ2608
-+007610        732200          ZZ2608=ZZ2608+ZZ2608
-+007610        664400          ZZ2608=ZZ2608+ZZ2608
-+007610        000441          0 8192 -ZZ1608
-+007611        664400          0 ZZ2608
--       mark 7911, -219        /91 aqar
-+007612        777110          ZZ2609=ZZ2609+ZZ2609
-+007612        776220          ZZ2609=ZZ2609+ZZ2609
-+007612        774440          ZZ2609=ZZ2609+ZZ2609
-+007612        771100          ZZ2609=ZZ2609+ZZ2609
-+007612        762200          ZZ2609=ZZ2609+ZZ2609
-+007612        744400          ZZ2609=ZZ2609+ZZ2609
-+007612        711000          ZZ2609=ZZ2609+ZZ2609
-+007612        622000          ZZ2609=ZZ2609+ZZ2609
-+007612        000431          0 8192 -ZZ1609
-+007613        622000          0 ZZ2609
--       mark 7919, 62          / 6 pisc
-+007614        000174          ZZ2610=ZZ2610+ZZ2610
-+007614        000370          ZZ2610=ZZ2610+ZZ2610
-+007614        000760          ZZ2610=ZZ2610+ZZ2610
-+007614        001740          ZZ2610=ZZ2610+ZZ2610
-+007614        003700          ZZ2610=ZZ2610+ZZ2610
-+007614        007600          ZZ2610=ZZ2610+ZZ2610
-+007614        017400          ZZ2610=ZZ2610+ZZ2610
-+007614        037000          ZZ2610=ZZ2610+ZZ2610
-+007614        000421          0 8192 -ZZ1610
-+007615        037000          0 ZZ2610
--       mark 7923, -222        /93 aqar
-+007616        777102          ZZ2611=ZZ2611+ZZ2611
-+007616        776204          ZZ2611=ZZ2611+ZZ2611
-+007616        774410          ZZ2611=ZZ2611+ZZ2611
-+007616        771020          ZZ2611=ZZ2611+ZZ2611
-+007616        762040          ZZ2611=ZZ2611+ZZ2611
-+007616        744100          ZZ2611=ZZ2611+ZZ2611
-+007616        710200          ZZ2611=ZZ2611+ZZ2611
-+007616        620400          ZZ2611=ZZ2611+ZZ2611
-+007616        000415          0 8192 -ZZ1611
-+007617        620400          0 ZZ2611
--       mark 7952, -470        /98 aqar
-+007620        776122          ZZ2612=ZZ2612+ZZ2612
-+007620        774244          ZZ2612=ZZ2612+ZZ2612
-+007620        770510          ZZ2612=ZZ2612+ZZ2612
-+007620        761220          ZZ2612=ZZ2612+ZZ2612
-+007620        742440          ZZ2612=ZZ2612+ZZ2612
-+007620        705100          ZZ2612=ZZ2612+ZZ2612
-+007620        612200          ZZ2612=ZZ2612+ZZ2612
-+007620        424400          ZZ2612=ZZ2612+ZZ2612
-+007620        000360          0 8192 -ZZ1612
-+007621        424400          0 ZZ2612
--       mark 7969, -482        /99 aqar
-+007622        776072          ZZ2613=ZZ2613+ZZ2613
-+007622        774164          ZZ2613=ZZ2613+ZZ2613
-+007622        770350          ZZ2613=ZZ2613+ZZ2613
-+007622        760720          ZZ2613=ZZ2613+ZZ2613
-+007622        741640          ZZ2613=ZZ2613+ZZ2613
-+007622        703500          ZZ2613=ZZ2613+ZZ2613
-+007622        607200          ZZ2613=ZZ2613+ZZ2613
-+007622        416400          ZZ2613=ZZ2613+ZZ2613
-+007622        000337          0 8192 -ZZ1613
-+007623        416400          0 ZZ2613
--       mark 7975, 16          / 8 pisc
-+007624        000040          ZZ2614=ZZ2614+ZZ2614
-+007624        000100          ZZ2614=ZZ2614+ZZ2614
-+007624        000200          ZZ2614=ZZ2614+ZZ2614
-+007624        000400          ZZ2614=ZZ2614+ZZ2614
-+007624        001000          ZZ2614=ZZ2614+ZZ2614
-+007624        002000          ZZ2614=ZZ2614+ZZ2614
-+007624        004000          ZZ2614=ZZ2614+ZZ2614
-+007624        010000          ZZ2614=ZZ2614+ZZ2614
-+007624        000331          0 8192 -ZZ1614
-+007625        010000          0 ZZ2614
--       mark 7981, 133         /10 pisc
-+007626        000412          ZZ2615=ZZ2615+ZZ2615
-+007626        001024          ZZ2615=ZZ2615+ZZ2615
-+007626        002050          ZZ2615=ZZ2615+ZZ2615
-+007626        004120          ZZ2615=ZZ2615+ZZ2615
-+007626        010240          ZZ2615=ZZ2615+ZZ2615
-+007626        020500          ZZ2615=ZZ2615+ZZ2615
-+007626        041200          ZZ2615=ZZ2615+ZZ2615
-+007626        102400          ZZ2615=ZZ2615+ZZ2615
-+007626        000323          0 8192 -ZZ1615
-+007627        102400          0 ZZ2615
--       mark 7988, 278         /70 pegs
-+007630        001054          ZZ2616=ZZ2616+ZZ2616
-+007630        002130          ZZ2616=ZZ2616+ZZ2616
-+007630        004260          ZZ2616=ZZ2616+ZZ2616
-+007630        010540          ZZ2616=ZZ2616+ZZ2616
-+007630        021300          ZZ2616=ZZ2616+ZZ2616
-+007630        042600          ZZ2616=ZZ2616+ZZ2616
-+007630        105400          ZZ2616=ZZ2616+ZZ2616
-+007630        213000          ZZ2616=ZZ2616+ZZ2616
-+007630        000314          0 8192 -ZZ1616
-+007631        213000          0 ZZ2616
--       mark 8010, -489        /101 aqar
-+007632        776054          ZZ2617=ZZ2617+ZZ2617
-+007632        774130          ZZ2617=ZZ2617+ZZ2617
-+007632        770260          ZZ2617=ZZ2617+ZZ2617
-+007632        760540          ZZ2617=ZZ2617+ZZ2617
-+007632        741300          ZZ2617=ZZ2617+ZZ2617
-+007632        702600          ZZ2617=ZZ2617+ZZ2617
-+007632        605400          ZZ2617=ZZ2617+ZZ2617
-+007632        413000          ZZ2617=ZZ2617+ZZ2617
-+007632        000266          0 8192 -ZZ1617
-+007633        413000          0 ZZ2617
--       mark 8049, 116         /17 pisc
-+007634        000350          ZZ2618=ZZ2618+ZZ2618
-+007634        000720          ZZ2618=ZZ2618+ZZ2618
-+007634        001640          ZZ2618=ZZ2618+ZZ2618
-+007634        003500          ZZ2618=ZZ2618+ZZ2618
-+007634        007200          ZZ2618=ZZ2618+ZZ2618
-+007634        016400          ZZ2618=ZZ2618+ZZ2618
-+007634        035000          ZZ2618=ZZ2618+ZZ2618
-+007634        072000          ZZ2618=ZZ2618+ZZ2618
-+007634        000217          0 8192 -ZZ1618
-+007635        072000          0 ZZ2618
--       mark 8059, -418        /104 aqar
-+007636        776272          ZZ2619=ZZ2619+ZZ2619
-+007636        774564          ZZ2619=ZZ2619+ZZ2619
-+007636        771350          ZZ2619=ZZ2619+ZZ2619
-+007636        762720          ZZ2619=ZZ2619+ZZ2619
-+007636        745640          ZZ2619=ZZ2619+ZZ2619
-+007636        713500          ZZ2619=ZZ2619+ZZ2619
-+007636        627200          ZZ2619=ZZ2619+ZZ2619
-+007636        456400          ZZ2619=ZZ2619+ZZ2619
-+007636        000205          0 8192 -ZZ1619
-+007637        456400          0 ZZ2619
--       mark 8061, 28          /18 pisc
-+007640        000070          ZZ2620=ZZ2620+ZZ2620
-+007640        000160          ZZ2620=ZZ2620+ZZ2620
-+007640        000340          ZZ2620=ZZ2620+ZZ2620
-+007640        000700          ZZ2620=ZZ2620+ZZ2620
-+007640        001600          ZZ2620=ZZ2620+ZZ2620
-+007640        003400          ZZ2620=ZZ2620+ZZ2620
-+007640        007000          ZZ2620=ZZ2620+ZZ2620
-+007640        016000          ZZ2620=ZZ2620+ZZ2620
-+007640        000203          0 8192 -ZZ1620
-+007641        016000          0 ZZ2620
--       mark 8064, -344        /105 aqar
-+007642        776516          ZZ2621=ZZ2621+ZZ2621
-+007642        775234          ZZ2621=ZZ2621+ZZ2621
-+007642        772470          ZZ2621=ZZ2621+ZZ2621
-+007642        765160          ZZ2621=ZZ2621+ZZ2621
-+007642        752340          ZZ2621=ZZ2621+ZZ2621
-+007642        724700          ZZ2621=ZZ2621+ZZ2621
-+007642        651600          ZZ2621=ZZ2621+ZZ2621
-+007642        523400          ZZ2621=ZZ2621+ZZ2621
-+007642        000200          0 8192 -ZZ1621
-+007643        523400          0 ZZ2621
--       mark 8159, 144         /28 pisc
-+007644        000440          ZZ2622=ZZ2622+ZZ2622
-+007644        001100          ZZ2622=ZZ2622+ZZ2622
-+007644        002200          ZZ2622=ZZ2622+ZZ2622
-+007644        004400          ZZ2622=ZZ2622+ZZ2622
-+007644        011000          ZZ2622=ZZ2622+ZZ2622
-+007644        022000          ZZ2622=ZZ2622+ZZ2622
-+007644        044000          ZZ2622=ZZ2622+ZZ2622
-+007644        110000          ZZ2622=ZZ2622+ZZ2622
-+007644        000041          0 8192 -ZZ1622
-+007645        110000          0 ZZ2622
--       mark 8174, -149        /30 pisc
-+007646        777324          ZZ2623=ZZ2623+ZZ2623
-+007646        776650          ZZ2623=ZZ2623+ZZ2623
-+007646        775520          ZZ2623=ZZ2623+ZZ2623
-+007646        773240          ZZ2623=ZZ2623+ZZ2623
-+007646        766500          ZZ2623=ZZ2623+ZZ2623
-+007646        755200          ZZ2623=ZZ2623+ZZ2623
-+007646        732400          ZZ2623=ZZ2623+ZZ2623
-+007646        665000          ZZ2623=ZZ2623+ZZ2623
-+007646        000022          0 8192 -ZZ1623
-+007647        665000          0 ZZ2623
- 007650                4q,
--       mark 8188, -407        / 2 ceti
-+007650        776320          ZZ2624=ZZ2624+ZZ2624
-+007650        774640          ZZ2624=ZZ2624+ZZ2624
-+007650        771500          ZZ2624=ZZ2624+ZZ2624
-+007650        763200          ZZ2624=ZZ2624+ZZ2624
-+007650        746400          ZZ2624=ZZ2624+ZZ2624
-+007650        715000          ZZ2624=ZZ2624+ZZ2624
-+007650        632000          ZZ2624=ZZ2624+ZZ2624
-+007650        464000          ZZ2624=ZZ2624+ZZ2624
-+007650        000004          0 8192 -ZZ1624
-+007651        464000          0 ZZ2624
- 007652                         start 4
-`
diff --git a/src/pkg/exp/spacewar/pdp1.go b/src/pkg/exp/spacewar/pdp1.go
deleted file mode 100644 (file)
index e3abd68..0000000
+++ /dev/null
@@ -1,389 +0,0 @@
-// Copyright (c) 1996 Barry Silverman, Brian Silverman, Vadim Gerasimov.
-// Portions Copyright (c) 2009 The Go Authors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-// This package and spacewar.go implement a simple PDP-1 emulator
-// complete enough to run the original PDP-1 video game Spacewar!
-// See ../../nacl/README for details on running them.
-//
-// They are a translation of the Java emulator pdp1.java in
-// http://spacewar.oversigma.com/sources/sources.zip.
-//
-// See also the PDP-1 handbook at http://www.dbit.com/~greeng3/pdp1/pdp1.html
-//
-// http://spacewar.oversigma.com/readme.html reads:
-//
-//     Spacewar! was conceived in 1961 by Martin Graetz, Stephen Russell,
-//     and Wayne Wiitanen. It was first realized on the PDP-1 in 1962 by
-//     Stephen Russell, Peter Samson, Dan Edwards, and Martin Graetz,
-//     together with Alan Kotok, Steve Piner, and Robert A Saunders.
-//     Spacewar! is in the public domain, but this credit paragraph must
-//     accompany all distributed versions of the program.
-//
-//     This is the original version! Martin Graetz provided us with a
-//     printed version of the source. We typed in in again - it was about
-//     40 pages long - and re-assembled it with a PDP-1 assembler written
-//     in PERL. The resulting binary runs on a PDP-1 emulator written as
-//     a Java applet. The code is extremely faithful to the original. There
-//     are only two changes. 1)The spaceships have been made bigger and
-//     2) The overall timing has been special cased to deal with varying
-//     machine speeds.
-//
-//     The "a", "s", "d", "f" keys control one of the spaceships. The "k",
-//     "l", ";", "'" keys control the other. The controls are spin one
-//     way, spin the other, thrust, and fire.
-//
-//     Barry Silverman
-//     Brian Silverman
-//     Vadim Gerasimov
-//
-package pdp1
-
-import (
-       "bufio"
-       "fmt"
-       "os"
-       "io"
-)
-
-type Word uint32
-
-const mask = 0777777
-const sign = 0400000
-
-const (
-       _ = iota // 00
-       opAND
-       opIOR
-       opXOR
-       opXCT
-       _
-       _
-       opCALJDA
-
-       opLAC // 10
-       opLIO
-       opDAC
-       opDAP
-       _
-       opDIO
-       opDZM
-       _
-
-       opADD // 20
-       opSUB
-       opIDX
-       opISP
-       opSAD
-       opSAS
-       opMUS
-       opDIS
-
-       opJMP // 30
-       opJSP
-       opSKP
-       opSFT
-       opLAW
-       opIOT
-       _
-       opOPR
-)
-
-// A Trapper represents an object with a Trap method.
-// The machine calls the Trap method to implement the
-// PDP-1 IOT instruction.
-type Trapper interface {
-       Trap(y Word)
-}
-
-// An M represents the machine state of a PDP-1.
-// Clients can set Display to install an output device.
-type M struct {
-       AC, IO, PC, OV Word
-       Mem            [010000]Word
-       Flag           [7]bool
-       Sense          [7]bool
-       Halt           bool
-}
-
-
-// Step runs a single machine instruction.
-func (m *M) Step(t Trapper) os.Error {
-       inst := m.Mem[m.PC]
-       m.PC++
-       return m.run(inst, t)
-}
-
-// Normalize actual 32-bit integer i to 18-bit ones-complement integer.
-// Interpret mod 0777777, because 0777777 == -0 == +0 == 0000000.
-func norm(i Word) Word {
-       i += i >> 18
-       i &= mask
-       if i == mask {
-               i = 0
-       }
-       return i
-}
-
-type UnknownInstrError struct {
-       Inst Word
-       PC   Word
-}
-
-func (e UnknownInstrError) String() string {
-       return fmt.Sprintf("unknown instruction %06o at %06o", e.Inst, e.PC)
-}
-
-type HaltError Word
-
-func (e HaltError) String() string {
-       return fmt.Sprintf("executed HLT instruction at %06o", e)
-}
-
-type LoopError Word
-
-func (e LoopError) String() string { return fmt.Sprintf("indirect load looping at %06o", e) }
-
-func (m *M) run(inst Word, t Trapper) os.Error {
-       ib, y := (inst>>12)&1, inst&07777
-       op := inst >> 13
-       if op < opSKP && op != opCALJDA {
-               for n := 0; ib != 0; n++ {
-                       if n > 07777 {
-                               return LoopError(m.PC - 1)
-                       }
-                       ib = (m.Mem[y] >> 12) & 1
-                       y = m.Mem[y] & 07777
-               }
-       }
-
-       switch op {
-       case opAND:
-               m.AC &= m.Mem[y]
-       case opIOR:
-               m.AC |= m.Mem[y]
-       case opXOR:
-               m.AC ^= m.Mem[y]
-       case opXCT:
-               m.run(m.Mem[y], t)
-       case opCALJDA:
-               a := y
-               if ib == 0 {
-                       a = 64
-               }
-               m.Mem[a] = m.AC
-               m.AC = (m.OV << 17) + m.PC
-               m.PC = a + 1
-       case opLAC:
-               m.AC = m.Mem[y]
-       case opLIO:
-               m.IO = m.Mem[y]
-       case opDAC:
-               m.Mem[y] = m.AC
-       case opDAP:
-               m.Mem[y] = m.Mem[y]&0770000 | m.AC&07777
-       case opDIO:
-               m.Mem[y] = m.IO
-       case opDZM:
-               m.Mem[y] = 0
-       case opADD:
-               m.AC += m.Mem[y]
-               m.OV = m.AC >> 18
-               m.AC = norm(m.AC)
-       case opSUB:
-               diffSigns := (m.AC^m.Mem[y])>>17 == 1
-               m.AC += m.Mem[y] ^ mask
-               m.AC = norm(m.AC)
-               if diffSigns && m.Mem[y]>>17 == m.AC>>17 {
-                       m.OV = 1
-               }
-       case opIDX:
-               m.AC = norm(m.Mem[y] + 1)
-               m.Mem[y] = m.AC
-       case opISP:
-               m.AC = norm(m.Mem[y] + 1)
-               m.Mem[y] = m.AC
-               if m.AC&sign == 0 {
-                       m.PC++
-               }
-       case opSAD:
-               if m.AC != m.Mem[y] {
-                       m.PC++
-               }
-       case opSAS:
-               if m.AC == m.Mem[y] {
-                       m.PC++
-               }
-       case opMUS:
-               if m.IO&1 == 1 {
-                       m.AC += m.Mem[y]
-                       m.AC = norm(m.AC)
-               }
-               m.IO = (m.IO>>1 | m.AC<<17) & mask
-               m.AC >>= 1
-       case opDIS:
-               m.AC, m.IO = (m.AC<<1|m.IO>>17)&mask,
-                       ((m.IO<<1|m.AC>>17)&mask)^1
-               if m.IO&1 == 1 {
-                       m.AC = m.AC + (m.Mem[y] ^ mask)
-               } else {
-                       m.AC = m.AC + 1 + m.Mem[y]
-               }
-               m.AC = norm(m.AC)
-       case opJMP:
-               m.PC = y
-       case opJSP:
-               m.AC = (m.OV << 17) + m.PC
-               m.PC = y
-       case opSKP:
-               cond := y&0100 == 0100 && m.AC == 0 ||
-                       y&0200 == 0200 && m.AC>>17 == 0 ||
-                       y&0400 == 0400 && m.AC>>17 == 1 ||
-                       y&01000 == 01000 && m.OV == 0 ||
-                       y&02000 == 02000 && m.IO>>17 == 0 ||
-                       y&7 != 0 && !m.Flag[y&7] ||
-                       y&070 != 0 && !m.Sense[(y&070)>>3] ||
-                       y&070 == 010
-               if (ib == 0) == cond {
-                       m.PC++
-               }
-               if y&01000 == 01000 {
-                       m.OV = 0
-               }
-       case opSFT:
-               for count := inst & 0777; count != 0; count >>= 1 {
-                       if count&1 == 0 {
-                               continue
-                       }
-                       switch (inst >> 9) & 017 {
-                       case 001: // rotate AC left
-                               m.AC = (m.AC<<1 | m.AC>>17) & mask
-                       case 002: // rotate IO left
-                               m.IO = (m.IO<<1 | m.IO>>17) & mask
-                       case 003: // rotate AC and IO left.
-                               w := uint64(m.AC)<<18 | uint64(m.IO)
-                               w = w<<1 | w>>35
-                               m.AC = Word(w>>18) & mask
-                               m.IO = Word(w) & mask
-                       case 005: // shift AC left (excluding sign bit)
-                               m.AC = (m.AC<<1|m.AC>>17)&mask&^sign | m.AC&sign
-                       case 006: // shift IO left (excluding sign bit)
-                               m.IO = (m.IO<<1|m.IO>>17)&mask&^sign | m.IO&sign
-                       case 007: // shift AC and IO left (excluding AC's sign bit)
-                               w := uint64(m.AC)<<18 | uint64(m.IO)
-                               w = w<<1 | w>>35
-                               m.AC = Word(w>>18)&mask&^sign | m.AC&sign
-                               m.IO = Word(w)&mask&^sign | m.AC&sign
-                       case 011: // rotate AC right
-                               m.AC = (m.AC>>1 | m.AC<<17) & mask
-                       case 012: // rotate IO right
-                               m.IO = (m.IO>>1 | m.IO<<17) & mask
-                       case 013: // rotate AC and IO right
-                               w := uint64(m.AC)<<18 | uint64(m.IO)
-                               w = w>>1 | w<<35
-                               m.AC = Word(w>>18) & mask
-                               m.IO = Word(w) & mask
-                       case 015: // shift AC right (excluding sign bit)
-                               m.AC = m.AC>>1 | m.AC&sign
-                       case 016: // shift IO right (excluding sign bit)
-                               m.IO = m.IO>>1 | m.IO&sign
-                       case 017: // shift AC and IO right (excluding AC's sign bit)
-                               w := uint64(m.AC)<<18 | uint64(m.IO)
-                               w = w >> 1
-                               m.AC = Word(w>>18) | m.AC&sign
-                               m.IO = Word(w) & mask
-                       default:
-                               goto Unknown
-                       }
-               }
-       case opLAW:
-               if ib == 0 {
-                       m.AC = y
-               } else {
-                       m.AC = y ^ mask
-               }
-       case opIOT:
-               t.Trap(y)
-       case opOPR:
-               if y&0200 == 0200 {
-                       m.AC = 0
-               }
-               if y&04000 == 04000 {
-                       m.IO = 0
-               }
-               if y&01000 == 01000 {
-                       m.AC ^= mask
-               }
-               if y&0400 == 0400 {
-                       m.PC--
-                       return HaltError(m.PC)
-               }
-               switch i, f := y&7, y&010 == 010; {
-               case i == 7:
-                       for i := 2; i < 7; i++ {
-                               m.Flag[i] = f
-                       }
-               case i >= 2:
-                       m.Flag[i] = f
-               }
-       default:
-       Unknown:
-               return UnknownInstrError{inst, m.PC - 1}
-       }
-       return nil
-}
-
-// Load loads the machine's memory from a text input file
-// listing octal address-value pairs, one per line, matching the
-// regular expression ^[ +]([0-7]+)\t([0-7]+).
-func (m *M) Load(r io.Reader) os.Error {
-       b := bufio.NewReader(r)
-       for {
-               line, err := b.ReadString('\n')
-               if err != nil {
-                       if err != os.EOF {
-                               return err
-                       }
-                       break
-               }
-               // look for ^[ +]([0-9]+)\t([0-9]+)
-               if line[0] != ' ' && line[0] != '+' {
-                       continue
-               }
-               i := 1
-               a := Word(0)
-               for ; i < len(line) && '0' <= line[i] && line[i] <= '7'; i++ {
-                       a = a*8 + Word(line[i]-'0')
-               }
-               if i >= len(line) || line[i] != '\t' || i == 1 {
-                       continue
-               }
-               v := Word(0)
-               j := i
-               for i++; i < len(line) && '0' <= line[i] && line[i] <= '7'; i++ {
-                       v = v*8 + Word(line[i]-'0')
-               }
-               if i == j {
-                       continue
-               }
-               m.Mem[a] = v
-       }
-       return nil
-}
diff --git a/src/pkg/exp/spacewar/spacewar.go b/src/pkg/exp/spacewar/spacewar.go
deleted file mode 100644 (file)
index 4eb6249..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-// Copyright (c) 1996 Barry Silverman, Brian Silverman, Vadim Gerasimov.
-// Portions Copyright (c) 2009 The Go Authors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-// See ../../nacl/README.
-
-package main
-
-import (
-       "bytes"
-       "exp/draw"
-       "exp/nacl/av"
-       "exp/nacl/srpc"
-       "image"
-       "log"
-       "os"
-       "runtime"
-       "time"
-       "./pdp1"
-)
-
-func main() {
-       runtime.LockOSThread()
-       if srpc.Enabled() {
-               go srpc.ServeRuntime()
-       }
-
-       w, err := av.Init(av.SubsystemVideo, 512, 512)
-       if err != nil {
-               log.Exitf("av.Init: %s", err)
-       }
-
-       kc := make(chan int)
-       go demuxEvents(w, kc)
-
-       var m SpacewarPDP1
-       m.Init(w, kc)
-       m.PC = 4
-       f := bytes.NewBuffer([]byte(spacewarCode))
-       if err = m.Load(f); err != nil {
-               log.Exitf("loading %s: %s", "spacewar.lst", err)
-       }
-       for err == nil {
-               //fmt.Printf("step PC=%06o ", m.PC);
-               //fmt.Printf("inst=%06o AC=%06o IO=%06o OV=%o\n",
-               //      m.Mem[m.PC], m.AC, m.IO, m.OV);
-               err = m.Step()
-       }
-       log.Exitf("step: %s", err)
-}
-
-func demuxEvents(w draw.Window, kc chan int) {
-       for event := range w.EventChan() {
-               switch e := event.(type) {
-               case draw.KeyEvent:
-                       kc <- e.Key
-               }
-       }
-       os.Exit(0)
-}
-
-// A SpacewarPDP1 is a PDP-1 machine configured to run Spacewar!
-// It responds to traps by drawing on the display, and it flushes the
-// display and pauses every second time the program counter reaches
-// instruction 02051.
-type SpacewarPDP1 struct {
-       pdp1.M
-       nframe     int
-       frameTime  int64
-       ctxt       draw.Window
-       dx, dy     int
-       screen     draw.Image
-       ctl        pdp1.Word
-       kc         <-chan int
-       colorModel image.ColorModel
-       cmap       []image.Color
-       pix        [][]uint8
-}
-
-func min(a, b int) int {
-       if a < b {
-               return a
-       }
-       return b
-}
-
-func (m *SpacewarPDP1) Init(ctxt draw.Window, kc chan int) {
-       m.ctxt = ctxt
-       m.kc = kc
-       m.screen = ctxt.Screen()
-       m.dx = m.screen.Bounds().Dx()
-       m.dy = m.screen.Bounds().Dy()
-       m.colorModel = m.screen.ColorModel()
-       m.pix = make([][]uint8, m.dy)
-       for i := range m.pix {
-               m.pix[i] = make([]uint8, m.dx)
-       }
-       m.cmap = make([]image.Color, 256)
-       for i := range m.cmap {
-               var r, g, b uint8
-               r = uint8(min(0, 255))
-               g = uint8(min(i*2, 255))
-               b = uint8(min(0, 255))
-               m.cmap[i] = m.colorModel.Convert(image.RGBAColor{r, g, b, 0xff})
-       }
-}
-
-const (
-       frameDelay = 56 * 1e6 // 56 ms
-)
-
-var ctlBits = [...]pdp1.Word{
-       'f':  0000001,
-       'd':  0000002,
-       'a':  0000004,
-       's':  0000010,
-       '\'': 0040000,
-       ';':  0100000,
-       'k':  0200000,
-       'l':  0400000,
-}
-
-func (m *SpacewarPDP1) Step() os.Error {
-       if m.PC == 02051 {
-               m.pollInput()
-               m.nframe++
-               if m.nframe&1 == 0 {
-                       m.flush()
-                       t := time.Nanoseconds()
-                       if t >= m.frameTime+3*frameDelay {
-                               m.frameTime = t
-                       } else {
-                               m.frameTime += frameDelay
-                               for t < m.frameTime {
-                                       time.Sleep(m.frameTime - t)
-                                       t = time.Nanoseconds()
-                               }
-                       }
-               }
-       }
-       return m.M.Step(m)
-}
-
-func (m *SpacewarPDP1) Trap(y pdp1.Word) {
-       switch y & 077 {
-       case 7:
-               x := int(m.AC+0400000) & 0777777
-               y := int(m.IO+0400000) & 0777777
-               x = x * m.dx / 0777777
-               y = y * m.dy / 0777777
-               if 0 <= x && x < m.dx && 0 <= y && y < m.dy {
-                       n := uint8(min(int(m.pix[y][x])+128, 255))
-                       m.pix[y][x] = n
-               }
-       case 011:
-               m.IO = m.ctl
-       }
-}
-
-func (m *SpacewarPDP1) flush() {
-       // Update screen image; simulate phosphor decay.
-       for y := 0; y < m.dy; y++ {
-               for x := 0; x < m.dx; x++ {
-                       m.screen.Set(x, y, m.cmap[m.pix[y][x]])
-                       m.pix[y][x] >>= 1
-               }
-       }
-       m.ctxt.FlushImage()
-}
-
-func (m *SpacewarPDP1) pollInput() {
-       for {
-               select {
-               case ch := <-m.kc:
-                       if 0 <= ch && ch < len(ctlBits) {
-                               m.ctl |= ctlBits[ch]
-                       }
-                       if 0 <= -ch && -ch < len(ctlBits) {
-                               m.ctl &^= ctlBits[-ch]
-                       }
-               default:
-                       return
-               }
-       }
-}
diff --git a/src/pkg/exp/spacewar/spacewar.html b/src/pkg/exp/spacewar/spacewar.html
deleted file mode 100644 (file)
index 8f49b1c..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-
-<h1>Spacewar</h1>
-<table>
-<tr><td valign=top>
-<embed name="nacl_module" id="pluginobj" src="8.out" type="application/x-nacl-srpc" width=512 height=512>
-<td valign=top>
-This is a Go translation of the Java emulator pdp1.java in
-<a href="http://spacewar.oversigma.com/sources/sources.zip">http://spacewar.oversigma.com/sources/sources.zip</a>.
-See <a href="pdp1.go">pdp1.go</a>, <a href="spacewar.go">spacewar.go</a>,
-and
-<a href="http://spacewar.oversigma.com/readme.html">http://spacewar.oversigma.com/readme.html</a>.
-<br><br>
-The <i>a</i>, <i>s</i>, <i>d</i>, <i>f</i> keys control one of the spaceships. The <i>k</i>,
-<i>l</i>, <i>;</i>, <i>'</i> keys control the other. The controls are spin one
-way, spin the other, thrust, and fire.
-<br>
-<br>
-<b>You may need to click on the game window to 
-focus the keyboard on it.</b>
-
-</table>
index 658bc89c750fe6f5e21fff30303558e8a4378ccd..6b6d7c0e3cb388e8f85cb5178ac9f7357cec4b5b 100644 (file)
@@ -41,13 +41,6 @@ GOFILES_linux=\
        dnsconfig.go\
        dnsclient.go\
        port.go\
-       
-GOFILES_nacl=\
-       newpollserver.go\
-       fd.go\
-       dnsconfig.go\
-       dnsclient.go\
-       port.go\
 
 GOFILES_windows=\
        resolv_windows.go\
diff --git a/src/pkg/net/fd_nacl.go b/src/pkg/net/fd_nacl.go
deleted file mode 100644 (file)
index d21db8b..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package net
-
-import (
-       "os"
-       "syscall"
-)
-
-type pollster struct{}
-
-func newpollster() (p *pollster, err os.Error) {
-       return nil, os.NewSyscallError("networking", syscall.ENACL)
-}
-
-func (p *pollster) AddFD(fd int, mode int, repeat bool) os.Error {
-       _, err := newpollster()
-       return err
-}
-
-func (p *pollster) StopWaiting(fd int, bits uint) {
-}
-
-func (p *pollster) DelFD(fd int, mode int) {}
-
-func (p *pollster) WaitFD(nsec int64) (fd int, mode int, err os.Error) {
-       _, err = newpollster()
-       return
-}
-
-func (p *pollster) Close() os.Error { return nil }
index e4b6fb98dde1af8f873e6a967cb0773b254a2ae5..f6caf084ccaa591dada88ab599d1fcebbf2123dd 100644 (file)
@@ -33,11 +33,6 @@ GOFILES_linux=\
        file_unix.go\
        sys_linux.go\
 
-GOFILES_nacl=\
-       env_unix.go\
-       file_unix.go\
-       sys_nacl.go\
-
 GOFILES_windows=\
        env_windows.go\
        file_windows.go\
diff --git a/src/pkg/os/dir_nacl.go b/src/pkg/os/dir_nacl.go
deleted file mode 100644 (file)
index 09aad63..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package os
-
-import (
-       "syscall"
-       "unsafe"
-)
-
-const (
-       blockSize = 4096 // TODO(r): use statfs
-)
-
-func clen(n []byte) int {
-       for i := 0; i < len(n); i++ {
-               if n[i] == 0 {
-                       return i
-               }
-       }
-       return len(n)
-}
-
-func (file *File) Readdirnames(count int) (names []string, err Error) {
-       // If this file has no dirinfo, create one.
-       if file.dirinfo == nil {
-               file.dirinfo = new(dirInfo)
-               // The buffer must be at least a block long.
-               // TODO(r): use fstatfs to find fs block size.
-               file.dirinfo.buf = make([]byte, blockSize)
-       }
-       d := file.dirinfo
-       size := count
-       if size < 0 {
-               size = 100
-       }
-       names = make([]string, 0, size) // Empty with room to grow.
-       for count != 0 {
-               // Refill the buffer if necessary
-               if d.bufp >= d.nbuf {
-                       var errno int
-                       d.nbuf, errno = syscall.Getdents(file.fd, d.buf)
-                       if errno != 0 {
-                               return names, NewSyscallError("getdents", errno)
-                       }
-                       if d.nbuf <= 0 {
-                               break // EOF
-                       }
-                       d.bufp = 0
-               }
-               // Drain the buffer
-               for count != 0 && d.bufp < d.nbuf {
-                       dirent := (*syscall.Dirent)(unsafe.Pointer(&d.buf[d.bufp]))
-                       d.bufp += int(dirent.Reclen)
-                       if dirent.Ino == 0 { // File absent in directory.
-                               continue
-                       }
-                       bytes := (*[10000]byte)(unsafe.Pointer(&dirent.Name[0]))
-                       var name = string(bytes[0:clen(bytes[0:])])
-                       if name == "." || name == ".." { // Useless names
-                               continue
-                       }
-                       count--
-                       names = append(names, name)
-               }
-       }
-       return names, nil
-}
diff --git a/src/pkg/os/stat_nacl.go b/src/pkg/os/stat_nacl.go
deleted file mode 100644 (file)
index a44d0b0..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package os
-
-import "syscall"
-
-func isSymlink(stat *syscall.Stat_t) bool {
-       return stat.Mode&syscall.S_IFMT == syscall.S_IFLNK
-}
-
-func fileInfoFromStat(name string, fi *FileInfo, lstat, stat *syscall.Stat_t) *FileInfo {
-       fi.Dev = uint64(stat.Dev)
-       fi.Ino = uint64(stat.Ino)
-       fi.Nlink = uint64(stat.Nlink)
-       fi.Mode = stat.Mode
-       fi.Uid = int(stat.Uid)
-       fi.Gid = int(stat.Gid)
-       fi.Rdev = uint64(stat.Rdev)
-       fi.Size = int64(stat.Size)
-       fi.Blksize = int64(stat.Blksize)
-       fi.Blocks = int64(stat.Blocks)
-       fi.Atime_ns = int64(stat.Atime) * 1e9
-       fi.Mtime_ns = int64(stat.Mtime) * 1e9
-       fi.Ctime_ns = int64(stat.Ctime) * 1e9
-       for i := len(name) - 1; i >= 0; i-- {
-               if name[i] == '/' {
-                       name = name[i+1:]
-                       break
-               }
-       }
-       fi.Name = name
-       if isSymlink(lstat) && !isSymlink(stat) {
-               fi.FollowedSymlink = true
-       }
-       return fi
-}
diff --git a/src/pkg/os/sys_nacl.go b/src/pkg/os/sys_nacl.go
deleted file mode 100644 (file)
index dfcccb3..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2009 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package os
-
-func Hostname() (name string, err Error) { return "nacl", nil }
index a36d86eb57c6cef49d0f6fbeb5ae1d97e4e264e8..4371913e85064f1cea2715eba267b6f2a4a5ab5e 100644 (file)
@@ -18,9 +18,6 @@ GOFILES_darwin=\
 GOFILES_linux=\
        path_unix.go
 
-GOFILES_nacl=\
-       path_unix.go
-
 GOFILES_windows=\
        path_windows.go
 
index 8ecb0219b3a2df23e43fe943dbe90837e688413c..b0d4cc41a983b58104d6bf23d987205e81588ea9 100644 (file)
@@ -15,9 +15,6 @@ runtime·closure(int32 siz, byte *fn, byte *arg0)
        int32 i, n;
        int32 pcrel;
 
-       if(runtime·goos != nil && runtime·strcmp((uint8*)runtime·goos, (uint8*)"nacl") == 0)
-               runtime·throw("no closures in native client yet");
-
        if(siz < 0 || siz%4 != 0)
                runtime·throw("bad closure size");
 
index 5fe756ac89834935ff2b1dfe0ec5b229cd0127cd..e62dbe3933b5135a263d88f999f5e9cdbb131824 100644 (file)
@@ -165,9 +165,3 @@ ifeq ($(GOARCH),386)
 traceback.$O:  amd64/traceback.c
        $(CC) $(CFLAGS) $<
 endif
-
-# NaCl closure is special.
-ifeq ($(GOOS),nacl)
-closure.$O: nacl/$(GOARCH)/closure.c
-       $(CC) $(CFLAGS) $<
-endif
index f66baef8985e30810584c2838b912ed840e636a6..0cee6c0ddb8bc42baccef5225adec12b4493761a 100644 (file)
@@ -327,10 +327,6 @@ struct MHeap
        byte *min;
        byte *max;
        
-       // range of addresses we might see in a Native Client closure
-       byte *closure_min;
-       byte *closure_max;
-
        // central free lists for small size classes.
        // the union makes sure that the MCentrals are
        // spaced 64 bytes apart, so that each MCentral.Lock
index 69cc6f5d6a9010fffc2b7d966bfbe99e02d758f7..6dcb61091dab240a22f19415761f4f8dd5db279b 100644 (file)
@@ -76,22 +76,6 @@ scanblock(byte *b, int64 n)
                        obj = vp[i];
                        if(obj == nil)
                                continue;
-                       if(runtime·mheap.closure_min != nil && runtime·mheap.closure_min <= (byte*)obj && (byte*)obj < runtime·mheap.closure_max) {
-                               if((((uintptr)obj) & 63) != 0)
-                                       continue;
-       
-                               // Looks like a Native Client closure.
-                               // Actual pointer is pointed at by address in first instruction.
-                               // Embedded pointer starts at byte 2.
-                               // If it is f4f4f4f4 then that space hasn't been
-                               // used for a closure yet (f4 is the HLT instruction).
-                               // See nacl/386/closure.c for more.
-                               void **pp;
-                               pp = *(void***)((byte*)obj+2);
-                               if(pp == (void**)0xf4f4f4f4)    // HLT... - not a closure after all
-                                       continue;
-                               obj = *pp;
-                       }
                        if(runtime·mheap.min <= (byte*)obj && (byte*)obj < runtime·mheap.max) {
                                if(runtime·mlookup(obj, &obj, &size, nil, &refp)) {
                                        ref = *refp;
index b6e330727107decd8c9bb6abbe5d50a782be7114..4bb7f14e3a8c022881a01dd0e23c5df60a3bc346 100644 (file)
@@ -165,7 +165,7 @@ MHeap_Grow(MHeap *h, uintptr npage)
        // Ask for a big chunk, to reduce the number of mappings
        // the operating system needs to track; also amortizes
        // the overhead of an operating system mapping.
-       // For Native Client, allocate a multiple of 64kB (16 pages).
+       // Allocate a multiple of 64kB (16 pages).
        npage = (npage+15)&~15;
        ask = npage<<PageShift;
        if(ask < HeapAllocChunk)
diff --git a/src/pkg/runtime/nacl/386/closure.c b/src/pkg/runtime/nacl/386/closure.c
deleted file mode 100644 (file)
index c56b35d..0000000
+++ /dev/null
@@ -1,249 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-/*
- * Closure implementation for Native Client.
- * Native Client imposes some interesting restrictions.
- *
- * First, we can only add new code to the code segment
- * through a special system call, and we have to pick the
- * maximum amount of code we're going to add that way
- * at link time (8l reserves 512 kB for us).
- *
- * Second, once we've added the code we can't ever
- * change it or delete it.  If we want to garbage collect
- * the memory and then reuse it for another closure,
- * we have to do so without editing the code.
- *
- * To address both of these, we fill the code segment pieces
- * with very stylized closures.  Each has the form given below
- * in the comments on the closasm array, with ** replaced by
- * a pointer to a single word of memory.  The garbage collector
- * treats a pointer to such a closure as equivalent to the value
- * held in **.  This tiled run of closures is called the closure array.
- *
- * The ptr points at a ClosureData structure, defined below,
- * which gives the function, arguments, and size for the
- * closuretramp function.  The ClosureData structure has
- * in it a pointer to a ClosureFreeList structure holding the index
- * of the closure in the closure array (but not a pointer to it). 
- * That structure has a finalizer: when the garbage collector
- * notices that the ClosureFreeList structure is not referenced
- * anymore, that means the closure is not referenced, so it
- * can be reused.  To do that, the ClosureFreeList entry is put
- * onto an actual free list.
- */
-#include "runtime.h"
-#include "malloc.h"
-
-// NaCl system call to copy data into text segment.
-extern int32 runtime·dyncode_copy(void*, void*, int32);
-
-enum{
-       // Allocate chunks of 4096 bytes worth of closures:
-       // at 64 bytes each, that's 64 closures.
-       ClosureChunk = 4096,
-       ClosureSize = 64,
-};
-
-typedef struct ClosureFreeList ClosureFreeList;
-struct ClosureFreeList
-{
-       ClosureFreeList *next;
-       int32 index;    // into closure array
-};
-
-// Known to closasm
-typedef struct ClosureData ClosureData;
-struct ClosureData
-{
-       ClosureFreeList *free;
-       byte *fn;
-       int32 siz;
-       // then args
-};
-
-// List of the closure data pointer blocks we've allocated
-// and hard-coded in the closure text segments.
-// The list keeps the pointer blocks from getting collected.
-typedef struct ClosureDataList ClosureDataList;
-struct ClosureDataList
-{
-       ClosureData **block;
-       ClosureDataList *next;
-};
-
-static struct {
-       Lock;
-       byte *code;
-       byte *ecode;
-       ClosureFreeList *free;
-       ClosureDataList *datalist;
-       byte buf[ClosureChunk];
-} clos;
-
-static byte closasm[64] = {
-       0x8b, 0x1d, 0, 0, 0, 0, // MOVL **, BX
-       0x8b, 0x4b, 8,          // MOVL 8(BX), CX
-       0x8d, 0x73, 12,         // LEAL 12(BX), SI
-       0x29, 0xcc,             // SUBL CX, SP
-       0x89, 0xe7,             // MOVL SP, DI
-       0xc1, 0xe9, 2,          // SHRL $2, CX
-       0xf3, 0xa5,             // REP MOVSL
-       0x8b, 0x5b, 4,          // MOVL 4(BX), BX
-       0x90, 0x90, 0x90,       // NOP...
-       0x83, 0xe3, ~31,        // ANDL $~31, BX
-       0xff, 0xd3,             // CALL *BX
-       // --- 32-byte boundary
-       0x8b, 0x1d, 0, 0, 0, 0, // MOVL **, BX
-       0x03, 0x63, 8,          // ADDL 8(BX), SP
-       0x5b,                   // POPL BX
-       0x83, 0xe3, ~31,        // ANDL $~31, BX
-       0xff, 0xe3,             // JMP *BX
-       0xf4,                   // HLT...
-       0xf4, 0xf4, 0xf4, 0xf4,
-       0xf4, 0xf4, 0xf4, 0xf4,
-       0xf4, 0xf4, 0xf4, 0xf4,
-       0xf4, 0xf4, 0xf4, 0xf4,
-       // --- 32-byte boundary
-};
-
-// Returns immediate pointer from closure code block.
-// Triple pointer:
-//     p is the instruction stream
-//     p+2 is the location of the immediate value
-//     *(p+2) is the immediate value, a word in the pointer block
-//             permanently associated with this closure.
-//     **(p+2) is the ClosureData* pointer temporarily associated
-//             with this closure.
-//
-#define codeptr(p) *(ClosureData***)((byte*)(p)+2)
-
-void
-runtime·finclosure(void *v)
-{
-       byte *p;
-       ClosureFreeList *f;
-
-       f = v;
-       p = clos.code + f->index*ClosureSize;
-       *codeptr(p) = nil;
-
-       runtime·lock(&clos);
-       f->next = clos.free;
-       clos.free = f;
-       runtime·unlock(&clos);
-}
-
-#pragma textflag 7
-// func closure(siz int32,
-//     fn func(arg0, arg1, arg2 *ptr, callerpc uintptr, xxx) yyy,
-//     arg0, arg1, arg2 *ptr) (func(xxx) yyy)
-void
-runtime·closure(int32 siz, byte *fn, byte *arg0)
-{
-       byte *p, **ret;
-       int32 e, i, n, off;
-       extern byte rodata[], etext[];
-       ClosureData *d, **block;
-       ClosureDataList *l;
-       ClosureFreeList *f;
-
-       if(siz < 0 || siz%4 != 0)
-               runtime·throw("bad closure size");
-
-       ret = (byte**)((byte*)&arg0 + siz);
-
-       if(siz > 100) {
-               // TODO(rsc): implement stack growth preamble?
-               runtime·throw("closure too big");
-       }
-
-       runtime·lock(&clos);
-       if(clos.free == nil) {
-               // Allocate more closures.
-               if(clos.code == nil) {
-                       // First time: find closure space, between end of text
-                       // segment and beginning of data.
-                       clos.code = (byte*)(((uintptr)etext + 65535) & ~65535);
-                       clos.ecode = clos.code;
-                       runtime·mheap.closure_min = clos.code;
-                       runtime·mheap.closure_max = rodata;
-               }
-               if(clos.ecode+ClosureChunk > rodata) {
-                       // Last ditch effort: garbage collect and hope.
-                       runtime·unlock(&clos);
-                       runtime·gc(1);
-                       runtime·lock(&clos);
-                       if(clos.free != nil)
-                               goto alloc;
-                       runtime·throw("ran out of room for closures in text segment");
-               }
-
-               n = ClosureChunk/ClosureSize;
-               
-               // Allocate the pointer block as opaque to the
-               // garbage collector.  Finalizers will clean up.
-               block = runtime·mallocgc(n*sizeof block[0], RefNoPointers, 1, 1);
-
-               // Pointers into the pointer block are getting added
-               // to the text segment; keep a pointer here in the data
-               // segment so that the garbage collector doesn't free
-               // the block itself.
-               l = runtime·mal(sizeof *l);
-               l->block = block;
-               l->next = clos.datalist;
-               clos.datalist = l;
-
-               p = clos.buf;
-               off = (clos.ecode - clos.code)/ClosureSize;
-               for(i=0; i<n; i++) {
-                       f = runtime·mal(sizeof *f);
-                       f->index = off++;
-                       f->next = clos.free;
-                       clos.free = f;
-
-                       // There are two hard-coded immediate values in
-                       // the assembly that need to be pp+i, one 2 bytes in
-                       // and one 2 bytes after the 32-byte boundary.
-                       runtime·mcpy(p, closasm, ClosureSize);
-                       *(ClosureData***)(p+2) = block+i;
-                       *(ClosureData***)(p+32+2) = block+i;
-                       p += ClosureSize;
-               }
-
-               if(p != clos.buf+sizeof clos.buf)
-                       runtime·throw("bad buf math in closure");
-
-               e = runtime·dyncode_copy(clos.ecode, clos.buf, ClosureChunk);
-               if(e != 0) {
-                       runtime·fd = 2;
-                       if(e == -22)
-                               runtime·throw("NaCl running with dyncode_copy disabled; export NACLDYNCODE=1 in your environment");
-                       runtime·printf("dyncode_copy: error %d\n", e);
-                       runtime·throw("dyncode_copy");
-               }
-               clos.ecode += ClosureChunk;
-       }
-
-alloc:
-       // Grab a free closure and save the data pointer in its indirect pointer.
-       f = clos.free;
-       clos.free = f->next;
-       f->next = nil;
-       p = clos.code + f->index*ClosureSize;
-
-       d = runtime·mal(sizeof(*d)+siz);
-       d->free = f;
-       d->fn = fn;
-       d->siz = siz;
-       runtime·mcpy((byte*)(d+1), (byte*)&arg0, siz);
-       *codeptr(p) = d;
-       runtime·addfinalizer(f, runtime·finclosure, 0);
-       runtime·unlock(&clos);
-
-       *ret = p;
-}
-
-
diff --git a/src/pkg/runtime/nacl/386/defs.h b/src/pkg/runtime/nacl/386/defs.h
deleted file mode 100644 (file)
index 420b691..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// godefs -f-m32 -f-I/home/rsc/pub/nacl/native_client/src/third_party/nacl_sdk/linux/sdk/nacl-sdk/nacl/include -f-I/home/rsc/pub/nacl/native_client defs.c
-
-// MACHINE GENERATED - DO NOT EDIT.
-
-// Constants
-enum {
-       PROT_NONE = 0,
-       PROT_READ = 0x1,
-       PROT_WRITE = 0x2,
-       PROT_EXEC = 0x4,
-       MAP_ANON = 0x20,
-       MAP_PRIVATE = 0x2,
-};
-
-// Types
-#pragma pack on
-#pragma pack off
diff --git a/src/pkg/runtime/nacl/386/rt0.s b/src/pkg/runtime/nacl/386/rt0.s
deleted file mode 100644 (file)
index 838d139..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Native Client and Linux use the same linkage to main
-
-TEXT _rt0_386_nacl(SB),7,$0
-       JMP     _rt0_386(SB)
diff --git a/src/pkg/runtime/nacl/386/signal.c b/src/pkg/runtime/nacl/386/signal.c
deleted file mode 100644 (file)
index 50df77c..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-#include "runtime.h"
-#include "defs.h"
-#include "signals.h"
-#include "os.h"
-
-void
-runtime·initsig(int32 queue)
-{
-}
-
diff --git a/src/pkg/runtime/nacl/386/sys.s b/src/pkg/runtime/nacl/386/sys.s
deleted file mode 100644 (file)
index f758f8e..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//
-// System calls and other sys.stuff for 386, Linux
-//
-
-#include "386/asm.h"
-
-// http://code.google.com/p/nativeclient/source/browse/trunk/src/native_client/src/trusted/service_runtime/include/bits/nacl_syscalls.h
-#define SYS_exit 30
-#define SYS_mmap 21
-#define SYS_munmap 22
-#define SYS_thread_create 80
-#define SYS_thread_exit 81
-#define SYS_tls_init 82
-#define SYS_write 13
-#define SYS_close 11
-#define SYS_mutex_create 70
-#define SYS_mutex_lock  71
-#define SYS_mutex_unlock 73
-#define SYS_gettimeofday 40
-#define SYS_dyncode_copy 104
-
-
-#define SYSCALL(x)     $(0x10000+SYS_/**/x * 32)
-
-TEXT runtime·exit(SB),7,$4
-       MOVL    code+0(FP), AX
-       MOVL    AX, 0(SP)
-       CALL    SYSCALL(exit)
-       INT $3  // not reached
-       RET
-
-TEXT runtime·exit1(SB),7,$4
-       MOVL    code+0(FP), AX
-       MOVL    AX, 0(SP)
-       CALL    SYSCALL(thread_exit)
-       INT $3  // not reached
-       RET
-
-TEXT runtime·write(SB),7,$0
-       JMP     SYSCALL(write)
-
-TEXT runtime·close(SB),7,$0
-       JMP     SYSCALL(close)
-
-TEXT runtime·mutex_create(SB),7,$0
-       JMP     SYSCALL(mutex_create)
-
-TEXT runtime·mutex_lock(SB),7,$0
-       JMP     SYSCALL(mutex_lock)
-
-TEXT runtime·mutex_unlock(SB),7,$0
-       JMP     SYSCALL(mutex_unlock)
-
-TEXT runtime·thread_create(SB),7,$0
-       JMP     SYSCALL(thread_create)
-
-TEXT runtime·dyncode_copy(SB),7,$0
-       JMP     SYSCALL(dyncode_copy)
-
-// For Native Client: a simple no-op function.
-// Inserting a call to this no-op is a simple way
-// to trigger an alignment.
-TEXT runtime·naclnop(SB),7,$0
-       RET
-
-TEXT runtime·mmap(SB),7,$24
-       MOVL    a1+0(FP), BX
-       MOVL    a2+4(FP), CX    // round up to 64 kB boundary; silences nacl warning
-       ADDL    $(64*1024-1), CX
-       ANDL    $~(64*1024-1), CX
-       MOVL    a3+8(FP), DX
-       MOVL    a4+12(FP), SI
-       MOVL    a5+16(FP), DI
-       MOVL    a6+20(FP), BP
-       MOVL    BX, 0(SP)
-       MOVL    CX, 4(SP)
-       MOVL    DX, 8(SP)
-       MOVL    SI, 12(SP)
-       MOVL    DI, 16(SP)
-       MOVL    BP, 20(SP)
-       CALL    SYSCALL(mmap)
-       CMPL    AX, $0xfffff001
-       JLS     6(PC)
-       MOVL    $1, 0(SP)
-       MOVL    $runtime·mmap_failed(SB), 4(SP)
-       MOVL    $12, 8(SP)      // "mmap failed\n"
-       CALL    SYSCALL(write)
-       INT $3
-       RET
-
-TEXT runtime·munmap(SB),7,$0
-       JMP     SYSCALL(munmap)
-
-TEXT runtime·gettime(SB),7,$32
-       LEAL    8(SP), BX
-       MOVL    BX, 0(SP)
-       MOVL    $0, 4(SP)
-       CALL    SYSCALL(gettimeofday)
-       
-       MOVL    8(SP), BX       // sec
-       MOVL    sec+0(FP), DI
-       MOVL    BX, (DI)
-       MOVL    $0, 4(DI)       // zero extend 32 -> 64 bits
-
-       MOVL    12(SP), BX      // usec
-       MOVL    usec+4(FP), DI
-       MOVL    BX, (DI)
-       RET
-
-// setldt(int entry, int address, int limit)
-TEXT runtime·setldt(SB),7,$32
-       // entry is ignored - nacl tells us the
-       // segment selector to use and stores it in GS.
-       MOVL    address+4(FP), BX
-       MOVL    limit+8(FP), CX
-       MOVL    BX, 0(SP)
-       MOVL    CX, 4(SP)
-       CALL    SYSCALL(tls_init)
-       CMPL    AX, $0xfffff001
-       JLS     6(PC)
-       MOVL    $1, 0(SP)
-       MOVL    $runtime·tls_init_failed(SB), 4(SP)
-       MOVL    $16, 8(SP)      // "tls_init failed\n"
-       CALL    SYSCALL(write)
-       INT $3
-       RET
-
-// There's no good way (yet?) to get stack traces out of a
-// broken NaCl process, so if something goes wrong,
-// print an error string before dying.
-
-DATA runtime·mmap_failed(SB)/8, $"mmap fai"
-DATA mmap_failed+8(SB)/4, $"led\n"
-GLOBL runtime·mmap_failed(SB), $12
-
-DATA runtime·tls_init_failed(SB)/8, $"tls_init"
-DATA tls_init_failed+8(SB)/8, $" failed\n"
-GLOBL runtime·tls_init_failed(SB), $16
diff --git a/src/pkg/runtime/nacl/defs.c b/src/pkg/runtime/nacl/defs.c
deleted file mode 100644 (file)
index bcaddd7..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2009 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-/*
-Input to godefs.
-
-godefs -f-m32 -f-I/home/rsc/pub/nacl/native_client/src/third_party/nacl_sdk/linux/sdk/nacl-sdk/nacl/include -f-I/home/rsc/pub/nacl/native_client defs.c >386/defs.h
-*/
-
-#define __native_client__ 1
-
-#define suseconds_t nacl_suseconds_t_1
-#include <sys/types.h>
-#undef suseconds_t
-
-#include <sys/mman.h>
-
-enum {
-       $PROT_NONE = PROT_NONE,
-       $PROT_READ = PROT_READ,
-       $PROT_WRITE = PROT_WRITE,
-       $PROT_EXEC = PROT_EXEC,
-
-       $MAP_ANON = MAP_ANONYMOUS,
-       $MAP_PRIVATE = MAP_PRIVATE,
-};
diff --git a/src/pkg/runtime/nacl/mem.c b/src/pkg/runtime/nacl/mem.c
deleted file mode 100644 (file)
index ebe2e9c..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#include "runtime.h"
-#include "defs.h"
-#include "os.h"
-#include "malloc.h"
-
-enum {
-       NaclPage = 0x10000
-};
-
-void*
-runtime·SysAlloc(uintptr n)
-{
-       mstats.sys += n;
-       return runtime·mmap(nil, n, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_ANON|MAP_PRIVATE, -1, 0);
-}
-
-void
-runtime·SysUnused(void *v, uintptr n)
-{
-       USED(v);
-       USED(n);
-       // TODO(rsc): call madvise MADV_DONTNEED
-}
-
-void
-runtime·SysFree(void *v, uintptr n)
-{
-       // round to page size or else nacl prints annoying log messages
-       mstats.sys -= n;
-       n = (n+NaclPage-1) & ~(NaclPage-1);
-       runtime·munmap(v, n);
-}
-
-void
-runtime·SysMemInit(void)
-{
-}
diff --git a/src/pkg/runtime/nacl/os.h b/src/pkg/runtime/nacl/os.h
deleted file mode 100644 (file)
index ce58183..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright 2009 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-int32 runtime·thread_create(void(*fn)(void), void *stk, void *tls, int32 tlssize);
-void runtime·close(int32);
-int32 runtime·mutex_create(void);
-int32 runtime·mutex_lock(int32);
-int32 runtime·mutex_unlock(int32);
diff --git a/src/pkg/runtime/nacl/runtime_defs.go b/src/pkg/runtime/nacl/runtime_defs.go
deleted file mode 100644 (file)
index 86de133..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2010 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// OS-Specific Go definitions of internal structures. Master is runtime.h
-
-package runtime
-
-type lock struct {
-       key  uint32
-       sema uint32
-}
-
-type note lock
diff --git a/src/pkg/runtime/nacl/signals.h b/src/pkg/runtime/nacl/signals.h
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/src/pkg/runtime/nacl/thread.c b/src/pkg/runtime/nacl/thread.c
deleted file mode 100644 (file)
index a0b6fa0..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-#include "runtime.h"
-#include "defs.h"
-#include "os.h"
-
-int8 *goos = "nacl";
-
-// Thread-safe allocation of a mutex.
-// (The name sema is left over from the Darwin implementation.
-// Native Client implements semaphores too, but it is just a shim
-// over the host implementation, which on some hosts imposes a very
-// low limit on how many semaphores can be created.)
-//
-// Psema points at a mutex descriptor.
-// It starts out zero, meaning no mutex.
-// Fill it in, being careful of others calling initsema
-// simultaneously.
-static void
-initsema(uint32 *psema)
-{
-       uint32 sema;
-
-       if(*psema != 0) // already have one
-               return;
-
-       sema = runtime·mutex_create();
-       if((int32)sema < 0) {
-               runtime·printf("mutex_create failed\n");
-               runtime·breakpoint();
-       }
-       // mutex_create returns a file descriptor;
-       // shift it up and add the 1 bit so that can
-       // distinguish unintialized from fd 0.
-       sema = (sema<<1) | 1;
-       if(!cas(psema, 0, sema)){
-               // Someone else filled it in.  Use theirs.
-               runtime·close(sema);
-               return;
-       }
-}
-
-// Lock and unlock.
-// Defer entirely to Native Client.
-// The expense of a call into Native Client is more like
-// a function call than a system call, so as long as the
-// Native Client lock implementation is good, we can't
-// do better ourselves.
-
-static void
-xlock(int32 fd)
-{
-       if(mutex_lock(fd) < 0) {
-               runtime·printf("mutex_lock failed\n");
-               runtime·breakpoint();
-       }
-}
-
-static void
-xunlock(int32 fd)
-{
-       if(mutex_unlock(fd) < 0) {
-               runtime·printf("mutex_lock failed\n");
-               runtime·breakpoint();
-       }
-}
-
-void
-runtime·lock(Lock *l)
-{
-       if(m->locks < 0)
-               runtime·throw("lock count");
-       m->locks++;
-       if(l->sema == 0)
-               runtime·initsema(&l->sema);
-       runtime·xlock(l->sema>>1);
-}
-
-void
-runtime·unlock(Lock *l)
-{
-       m->locks--;
-       if(m->locks < 0)
-               runtime·throw("lock count");
-       runtime·xunlock(l->sema>>1);
-}
-
-void
-runtime·destroylock(Lock*)
-{
-}
-
-// One-time notifications.
-//
-// Since the lock/unlock implementation already
-// takes care of sleeping in the kernel, we just reuse it.
-// (But it's a weird use, so it gets its own interface.)
-//
-// We use a lock to represent the event:
-// unlocked == event has happened.
-// Thus the lock starts out locked, and to wait for the
-// event you try to lock the lock.  To signal the event,
-// you unlock the lock.
-//
-// Native Client does not require that the thread acquiring
-// a lock be the thread that releases the lock, so this is safe.
-
-void
-runtime·noteclear(Note *n)
-{
-       if(n->lock.sema == 0)
-               runtime·initsema(&n->lock.sema);
-       runtime·xlock(n->lock.sema>>1);
-}
-
-void
-runtime·notewakeup(Note *n)
-{
-       if(n->lock.sema == 0) {
-               runtime·printf("notewakeup without noteclear");
-               runtime·breakpoint();
-       }
-       runtime·xunlock(n->lock.sema>>1);
-}
-
-void
-runtime·notesleep(Note *n)
-{
-       if(n->lock.sema == 0) {
-               runtime·printf("notesleep without noteclear");
-               runtime·breakpoint();
-       }
-       runtime·xlock(n->lock.sema>>1);
-       runtime·xunlock(n->lock.sema>>1);      // Let other sleepers find out too.
-}
-
-void
-runtime·newosproc(M *m, G *g, void *stk, void (*fn)(void))
-{
-       void **vstk;
-
-       // I wish every OS made thread creation this easy.
-       m->tls[0] = (uint32)g;
-       m->tls[1] = (uint32)m;
-       vstk = stk;
-       *--vstk = nil;
-       if(thread_create(fn, vstk, m->tls, sizeof m->tls) < 0) {
-               runtime·printf("thread_create failed\n");
-               runtime·breakpoint();
-       }
-}
-
-void
-runtime·osinit(void)
-{
-}
-
-// Called to initialize a new m (including the bootstrap m).
-void
-runtime·minit(void)
-{
-}
index bf9ed1309e3b17082fc37de60faf2241c1fb2084..061b0056c6b5586f2b8579b2448116af866798c9 100644 (file)
@@ -30,10 +30,6 @@ GOFILES_linux=\
        syscall_unix.go\
        exec_unix.go\
 
-GOFILES_nacl=\
-       syscall_unix.go\
-       exec_unix.go\
-
 GOFILES_windows=\
        exec_windows.go
 
diff --git a/src/pkg/syscall/asm_nacl_386.s b/src/pkg/syscall/asm_nacl_386.s
deleted file mode 100644 (file)
index 166d2ac..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//
-// System calls for 386, Native Client
-//
-
-#define SYSCALL(x)     $(0x10000+x * 32)
-
-// func Syscall(trap uintptr, a1, a2, a3 uintptr) (r1, r2, err uintptr);
-// Trap # in AX, args in BX CX DX SI DI, return in AX
-
-TEXT   Â·Syscall(SB),7,$20
-       CALL    runtime·entersyscall(SB)
-       MOVL    trap+0(FP), AX  // syscall entry
-       MOVL    a1+4(FP), BX
-       MOVL    a2+8(FP), CX
-       MOVL    a3+12(FP), DX
-       MOVL    $0, SI
-       MOVL    $0,  DI
-
-       MOVL    BX, 0(SP)
-       MOVL    CX, 4(SP)
-       MOVL    DX, 8(SP)
-       MOVL    SI, 12(SP)
-       MOVL    DI, 16(SP)
-
-       // Call $(0x10000+32*AX)
-       SHLL    $5, AX
-       ADDL    $0x10000, AX
-       CALL    AX
-
-       CMPL    AX, $0xfffff001
-       JLS     ok
-       MOVL    $-1, r1+16(FP)
-       MOVL    $0, r2+20(FP)
-       NEGL    AX
-       MOVL    AX, errno+24(FP)
-       CALL    runtime·exitsyscall(SB)
-       RET
-ok:
-       MOVL    AX, r1+16(FP)
-       MOVL    DX, r2+20(FP)
-       MOVL    $0, errno+24(FP)
-       CALL    runtime·exitsyscall(SB)
-       RET
-
-// func Syscall6(trap uintptr, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err uintptr);
-TEXT   Â·Syscall6(SB),7,$24
-       CALL    runtime·entersyscall(SB)
-       MOVL    a1+4(FP), BX
-       MOVL    a2+8(FP), CX
-       MOVL    a3+12(FP), DX
-       MOVL    a4+16(FP), SI
-       MOVL    a5+20(FP), DI
-       MOVL    a6+24(FP), AX
-
-       MOVL    BX, 0(SP)
-       MOVL    CX, 4(SP)
-       MOVL    DX, 8(SP)
-       MOVL    SI, 12(SP)
-       MOVL    DI, 16(SP)
-       MOVL    AX, 20(SP)
-
-       // Call $(0x10000+32*trap)
-       MOVL    trap+0(FP), AX  // syscall entry
-       SHLL    $5, AX
-       ADDL    $0x10000, AX
-       CALL    AX
-
-       CMPL    AX, $0xfffff001
-       JLS     ok6
-       MOVL    $-1, r1+28(FP)
-       MOVL    $0, r2+32(FP)
-       NEGL    AX
-       MOVL    AX, errno+36(FP)
-       CALL    runtime·exitsyscall(SB)
-       RET
-ok6:
-       MOVL    AX, r1+28(FP)
-       MOVL    DX, r2+32(FP)
-       MOVL    $0, errno+36(FP)
-       CALL    runtime·exitsyscall(SB)
-       RET
-
-// func RawSyscall(trap uintptr, a1, a2, a3 uintptr) (r1, r2, err uintptr);
-TEXT Â·RawSyscall(SB),7,$20
-       MOVL    trap+0(FP), AX  // syscall entry
-       MOVL    a1+4(FP), BX
-       MOVL    a2+8(FP), CX
-       MOVL    a3+12(FP), DX
-       MOVL    $0, SI
-       MOVL    $0,  DI
-
-       MOVL    BX, 0(SP)
-       MOVL    CX, 4(SP)
-       MOVL    DX, 8(SP)
-       MOVL    SI, 12(SP)
-       MOVL    DI, 16(SP)
-
-       // Call $(0x10000+32*AX)
-       SHLL    $5, AX
-       ADDL    $0x10000, AX
-       CALL    AX
-
-       CMPL    AX, $0xfffff001
-       JLS     ok1
-       MOVL    $-1, r1+16(FP)
-       MOVL    $0, r2+20(FP)
-       NEGL    AX
-       MOVL    AX, errno+24(FP)
-       RET
-ok1:
-       MOVL    AX, r1+16(FP)
-       MOVL    DX, r2+20(FP)
-       MOVL    $0, errno+24(FP)
-       RET
-
diff --git a/src/pkg/syscall/mkerrors_nacl.sh b/src/pkg/syscall/mkerrors_nacl.sh
deleted file mode 100755 (executable)
index f8abff9..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/sh
-# Copyright 2009 The Go Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style
-# license that can be found in the LICENSE file.
-
-# Generate Go code listing error values (ENAMETOOLONG etc)
-# for Native Client.
-
-echo '// mkerrors_nacl.sh' "$@"
-echo '// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT'
-echo
-echo 'package syscall'
-echo
-echo 'const ('
-perl -n -e '
-       if(/#define\s+NACL_ABI_(\S*)\s+([0-9]+)/) {
-               print "\t$1 = $2;\n"
-       }
-' $1
-echo ' ENACL = 99;     /* otherwise unused */'
-echo ')'
-echo
-echo
-echo '// Error table'
-echo 'var errors = [...]string {'
-perl -n -e '
-       if(/#define\s+NACL_ABI_(\S*)\s+([0-9]+)\s+\/\* (.*) \*\//) {
-               $err = $1;
-               $text = $3;
-               if($text =~ /^[A-Z][a-z]/) {
-                       # lowercase first letter: Bad -> bad, but STREAM -> STREAM.
-                       $l = substr($text, 0, 1);
-                       $rest = substr($text, 1);
-                       $l =~ y/A-Z/a-z/;
-                       $text = $l . $rest;
-               }
-               print "\t$err: \"$text\",\n";
-       }
-' $1
-echo ' ENACL: "not supported by native client",'
-echo '}'
diff --git a/src/pkg/syscall/mksysnum_nacl.sh b/src/pkg/syscall/mksysnum_nacl.sh
deleted file mode 100755 (executable)
index f42f450..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/usr/bin/perl
-# Copyright 2009 The Go Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style
-# license that can be found in the LICENSE file.
-
-my $command = "mksysnum_nacl.sh ". join(' ', @ARGV);
-
-print <<EOF;
-// $command
-// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
-
-package syscall
-
-const(
-EOF
-
-while(<>){
-       if(/^#define NACL_sys_(\w+)\s+([0-9]+)/){
-               my $name = "SYS_$1";
-               my $num = $2;
-               $name =~ y/a-z/A-Z/;
-               print " $name = $num;\n";
-       }
-}
-
-print <<EOF;
-)
-
-EOF
diff --git a/src/pkg/syscall/syscall_nacl.go b/src/pkg/syscall/syscall_nacl.go
deleted file mode 100644 (file)
index a9f6787..0000000
+++ /dev/null
@@ -1,357 +0,0 @@
-// Copyright 2009 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Native Client system calls.
-
-package syscall
-
-const OS = "nacl"
-
-var _zero [1]byte // pointer used for zero-length writes
-
-// Auto-generated
-
-//sys  Chmod(path string, mode uint32) (errno int)
-//sys  Clock() (clock int)
-//sys  Close(fd int) (errno int)
-//sys  Exit(code int)
-//sys  Fstat(fd int, stat *Stat_t) (errno int)
-//sys  Getdents(fd int, buf []byte) (n int, errno int)
-//sys  Getpid() (pid int)
-//sys  Gettimeofday(tv *Timeval) (errno int)
-//sys  Open(path string, mode int, perm uint32) (fd int, errno int)
-//sys  Read(fd int, p []byte) (n int, errno int)
-//sys  read(fd int, buf *byte, nbuf int) (n int, errno int)
-//sys  Stat(path string, stat *Stat_t) (errno int)
-//sys  Write(fd int, p []byte) (n int, errno int)
-
-//sys  MultimediaInit(subsys int) (errno int)
-//sys  MultimediaShutdown() (errno int)
-
-//sys  CondCreate() (cv int, errno int)
-//sys  CondWait(cv int, mutex int) (errno int)
-//sys  CondSignal(cv int) (errno int)
-//sys  CondBroadcast(cv int) (errno int)
-//sys  CondTimedWaitAbs(cv int, mutex int, abstime *Timespec) (errno int)
-//sys  MutexCreate() (mutex int, errno int)
-//sys  MutexLock(mutex int) (errno int)
-//sys  MutexUnlock(mutex int) (errno int)
-//sys  MutexTryLock(mutex int) (errno int) = SYS_MUTEX_TRYLOCK
-//sys  SemCreate() (sema int, errno int)
-//sys  SemWait(sema int) (errno int)
-//sys  SemPost(sema int) (errno int)
-//sys  VideoInit(dx int, dy int) (errno int)
-//sys  VideoUpdate(data *uint32) (errno int)
-//sys  VideoPollEvent(ev *byte) (errno int)
-//sys  VideoShutdown() (errno int)
-//sys  AudioInit(fmt int, nreq int, data *int) (errno int)
-//sys  AudioShutdown() (errno int)
-//sys  AudioStream(data *uint16, size *uintptr) (errno int)
-
-// Hand-written
-
-func Seek(fd int, offset int64, whence int) (newoffset int64, errno int) {
-       // Offset passed to system call is 32 bits.  Failure of vision by NaCl.
-       if int64(int32(offset)) != offset {
-               return 0, ERANGE
-       }
-       o, _, e := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))
-       return int64(o), int(e)
-}
-
-// Sleep by waiting on a condition variable that will never be signaled.
-// TODO(rsc): Replace when NaCl adds a proper sleep system call.
-var tcv, tmu int
-
-func init() {
-       tmu, _ = MutexCreate()
-       tcv, _ = CondCreate()
-}
-
-func Sleep(ns int64) (errno int) {
-       ts := NsecToTimespec(ns)
-       var tv Timeval
-       if errno = Gettimeofday(&tv); errno != 0 {
-               return
-       }
-       ts.Sec += tv.Sec
-       ts.Nsec += tv.Usec * 1000
-       switch {
-       case ts.Nsec >= 1e9:
-               ts.Nsec -= 1e9
-               ts.Sec++
-       case ts.Nsec <= -1e9:
-               ts.Nsec += 1e9
-               ts.Sec--
-       }
-       if errno = MutexLock(tmu); errno != 0 {
-               return
-       }
-       errno = CondTimedWaitAbs(tcv, tmu, &ts)
-       if e := MutexUnlock(tmu); e != 0 && errno == 0 {
-               errno = e
-       }
-       return
-}
-
-// Implemented in NaCl but not here; maybe later:
-//     SYS_IOCTL
-//     SYS_IMC_*
-//     SYS_MMAP ???
-//     SYS_SRPC_*
-//     SYS_SYSCONF
-
-// Implemented in NaCl but not here; used by runtime instead:
-//     SYS_SYSBRK
-//     SYS_MMAP
-//     SYS_MUNMAP
-//     SYS_THREAD_*
-//     SYS_TLS_*
-//     SYS_SCHED_YIELD
-
-// #define'd in NaCl but not picked up by mkerrors_nacl.sh.
-
-const EWOULDBLOCK = EAGAIN
-
-// Not implemented in NaCl but needed to compile other packages.
-
-const (
-       SIGTRAP = 5
-)
-
-func Pipe(p []int) (errno int) { return ENACL }
-
-func fcntl(fd, cmd, arg int) (val int, errno int) {
-       return 0, ENACL
-}
-
-func Pread(fd int, p []byte, offset int64) (n int, errno int) {
-       return 0, ENACL
-}
-
-func Pwrite(fd int, p []byte, offset int64) (n int, errno int) {
-       return 0, ENACL
-}
-
-func Mkdir(path string, mode uint32) (errno int) { return ENACL }
-
-func Lstat(path string, stat *Stat_t) (errno int) {
-       return Stat(path, stat)
-}
-
-func Chdir(path string) (errno int) { return ENACL }
-
-func Fchdir(fd int) (errno int) { return ENACL }
-
-func Unlink(path string) (errno int) { return ENACL }
-
-func Rmdir(path string) (errno int) { return ENACL }
-
-func Link(oldpath, newpath string) (errno int) {
-       return ENACL
-}
-
-func Symlink(path, link string) (errno int) { return ENACL }
-
-func Readlink(path string, buf []byte) (n int, errno int) {
-       return 0, ENACL
-}
-
-func Rename(oldpath, newpath string) (errno int) {
-       return ENACL
-}
-
-func Fchmod(fd int, mode uint32) (errno int) { return ENACL }
-
-func Chown(path string, uid int, gid int) (errno int) {
-       return ENACL
-}
-
-func Lchown(path string, uid int, gid int) (errno int) {
-       return ENACL
-}
-
-func Fchown(fd int, uid int, gid int) (errno int) {
-       return ENACL
-}
-
-func Utimes(path string, tv []Timeval) (errno int) {
-       return ENACL
-}
-
-func Futimes(fd int, tv []Timeval) (errno int) {
-       return ENACL
-}
-
-func Truncate(name string, size int64) (errno int) {
-       return ENACL
-}
-
-func Ftruncate(fd int, length int64) (errno int) {
-       return ENACL
-}
-
-// NaCL doesn't actually implement Getwd, but it also
-// don't implement Chdir, so the fallback algorithm
-// fails worse than calling Getwd does.
-
-const ImplementsGetwd = true
-
-func Getwd() (wd string, errno int) { return "", ENACL }
-
-func Getuid() (uid int) { return -1 }
-
-func Geteuid() (euid int) { return -1 }
-
-func Getgid() (gid int) { return -1 }
-
-func Getegid() (egid int) { return -1 }
-
-func Getppid() (ppid int) { return -1 }
-
-func Getgroups() (gids []int, errno int) { return nil, ENACL }
-
-type Sockaddr interface {
-       sockaddr()
-}
-
-type SockaddrInet4 struct {
-       Port int
-       Addr [4]byte
-}
-
-func (*SockaddrInet4) sockaddr() {}
-
-type SockaddrInet6 struct {
-       Port int
-       Addr [16]byte
-}
-
-func (*SockaddrInet6) sockaddr() {}
-
-type SockaddrUnix struct {
-       Name string
-}
-
-func (*SockaddrUnix) sockaddr() {}
-
-const (
-       AF_INET = 1 + iota
-       AF_INET6
-       AF_UNIX
-       IPPROTO_TCP
-       SOCK_DGRAM
-       SOCK_STREAM
-       SOCK_RAW
-       SOL_SOCKET
-       SOMAXCONN
-       SO_DONTROUTE
-       SO_KEEPALIVE
-       SO_LINGER
-       SO_RCVBUF
-       SO_REUSEADDR
-       SO_SNDBUF
-       IPPROTO_IPV6
-       IPV6_V6ONLY
-       TCP_NODELAY
-       WNOHANG
-       WSTOPPED
-       PTRACE_TRACEME
-       SO_BROADCAST = 0
-       SHUT_RDWR    = 0
-)
-
-func Accept(fd int) (nfd int, sa Sockaddr, errno int) {
-       return 0, nil, ENACL
-}
-
-func Getsockname(fd int) (sa Sockaddr, errno int) {
-       return nil, ENACL
-}
-
-func Getpeername(fd int) (sa Sockaddr, errno int) {
-       return nil, ENACL
-}
-
-func Bind(fd int, sa Sockaddr) (errno int) { return ENACL }
-
-func BindToDevice(fd int, device string) (errno int) { return ENACL }
-
-func Connect(fd int, sa Sockaddr) (errno int) { return ENACL }
-
-func Socket(domain, typ, proto int) (fd, errno int) {
-       return 0, ENACL
-}
-
-func SetsockoptInt(fd, level, opt int, value int) (errno int) {
-       return ENACL
-}
-
-func Shutdown(fd, how int) (errno int) { return ENACL }
-
-func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, errno int) {
-       return 0, nil, ENACL
-}
-
-func Sendto(fd int, p []byte, flags int, to Sockaddr) (errno int) {
-       return ENACL
-}
-
-func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (errno int) {
-       return ENACL
-}
-
-type Linger struct {
-       Onoff  int32
-       Linger int32
-}
-
-func SetsockoptLinger(fd, level, opt int, l *Linger) (errno int) {
-       return ENACL
-}
-
-func Listen(s int, n int) (errno int) { return ENACL }
-
-type Rusage struct {
-       Utime    Timeval
-       Stime    Timeval
-       Maxrss   int32
-       Ixrss    int32
-       Idrss    int32
-       Isrss    int32
-       Minflt   int32
-       Majflt   int32
-       Nswap    int32
-       Inblock  int32
-       Oublock  int32
-       Msgsnd   int32
-       Msgrcv   int32
-       Nsignals int32
-       Nvcsw    int32
-       Nivcsw   int32
-}
-
-func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, errno int) {
-       return 0, ENACL
-}
-
-type WaitStatus uint32
-
-func (WaitStatus) Exited() bool { return false }
-
-func (WaitStatus) ExitStatus() int { return -1 }
-
-func (WaitStatus) Signal() int { return -1 }
-
-func (WaitStatus) CoreDump() bool { return false }
-
-func (WaitStatus) Stopped() bool { return false }
-
-func (WaitStatus) Continued() bool { return false }
-
-func (WaitStatus) StopSignal() int { return -1 }
-
-func (WaitStatus) Signaled() bool { return false }
-
-func (WaitStatus) TrapCause() int { return -1 }
diff --git a/src/pkg/syscall/syscall_nacl_386.go b/src/pkg/syscall/syscall_nacl_386.go
deleted file mode 100644 (file)
index 86ed66f..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2009 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package syscall
-
-func Getpagesize() int { return 4096 }
-
-func NsecToTimeval(nsec int64) (tv Timeval) {
-       tv.Sec = int32(nsec / 1e9)
-       tv.Usec = int32(nsec % 1e9 / 1e3)
-       return
-}
-
-func NsecToTimespec(nsec int64) (ts Timespec) {
-       ts.Sec = int32(nsec / 1e9)
-       ts.Nsec = int32(nsec % 1e9)
-       return
-}
diff --git a/src/pkg/syscall/types_nacl.c b/src/pkg/syscall/types_nacl.c
deleted file mode 100644 (file)
index b99d203..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-/*
-Input to godefs.  See also mkerrors.sh and mkall.sh
- */
-
-#define _LARGEFILE_SOURCE
-#define _LARGEFILE64_SOURCE
-#define _FILE_OFFSET_BITS 64
-#define _GNU_SOURCE
-
-#define __native_client__ 1
-
-#define suseconds_t nacl_suseconds_t_1
-#include <sys/types.h>
-#undef suseconds_t
-
-#include <sys/dirent.h>
-#include <sys/mman.h>
-#include <sys/fcntl.h>
-#include <sys/stat.h>
-#include <sys/time.h>
-#include <sys/unistd.h>
-#include <sys/mman.h>
-
-// Machine characteristics; for internal use.
-
-enum
-{
-       $sizeofPtr = sizeof(void*),
-       $sizeofShort = sizeof(short),
-       $sizeofInt = sizeof(int),
-       $sizeofLong = sizeof(long),
-       $sizeofLongLong = sizeof(long long),
-};
-
-// Mmap constants
-enum {
-       $PROT_READ = PROT_READ,
-       $PROT_WRITE = PROT_WRITE,
-       $MAP_SHARED = MAP_SHARED,
-};
-
-// Unimplemented system calls
-enum {
-       $SYS_FORK = 0,
-       $SYS_PTRACE = 0,
-       $SYS_CHDIR = 0,
-       $SYS_DUP2 = 0,
-       $SYS_FCNTL = 0,
-       $SYS_EXECVE = 0,
-};
-
-// Basic types
-
-typedef short $_C_short;
-typedef int $_C_int;
-typedef long $_C_long;
-typedef long long $_C_long_long;
-typedef off_t $_C_off_t;
-
-// Time
-
-typedef struct timespec $Timespec;
-typedef struct timeval $Timeval;
-typedef time_t $Time_t;
-
-// Processes
-
-//typedef struct rusage $Rusage;
-//typedef struct rlimit $Rlimit;
-
-typedef gid_t $_Gid_t;
-
-// Files
-
-enum
-{
-       $O_RDONLY = O_RDONLY,
-       $O_WRONLY = O_WRONLY,
-       $O_RDWR = O_RDWR,
-       $O_APPEND = O_APPEND,
-       $O_ASYNC = O_ASYNC,
-       $O_CREAT = O_CREAT,
-       $O_NOCTTY = 0,  // not supported
-       $O_NONBLOCK = O_NONBLOCK,
-       $O_SYNC = O_SYNC,
-       $O_TRUNC = O_TRUNC,
-       $O_EXCL = O_EXCL,
-       $O_CLOEXEC = 0, // not supported
-
-       $F_GETFD = F_GETFD,
-       $F_SETFD = F_SETFD,
-
-       $F_GETFL = F_GETFL,
-       $F_SETFL = F_SETFL,
-
-       $FD_CLOEXEC = 0,        // not supported
-};
-
-enum
-{      // Directory mode bits
-       $S_IFMT = S_IFMT,
-       $S_IFIFO = S_IFIFO,
-       $S_IFCHR = S_IFCHR,
-       $S_IFDIR = S_IFDIR,
-       $S_IFBLK = S_IFBLK,
-       $S_IFREG = S_IFREG,
-       $S_IFLNK = S_IFLNK,
-       $S_IFSOCK = S_IFSOCK,
-       $S_ISUID = S_ISUID,
-       $S_ISGID = S_ISGID,
-       $S_ISVTX = S_ISVTX,
-       $S_IRUSR = S_IRUSR,
-       $S_IWUSR = S_IWUSR,
-       $S_IXUSR = S_IXUSR,
-};
-
-typedef struct stat $Stat_t;
-
-typedef struct dirent $Dirent;
diff --git a/src/pkg/syscall/zerrors_nacl_386.go b/src/pkg/syscall/zerrors_nacl_386.go
deleted file mode 100644 (file)
index 5ae05a1..0000000
+++ /dev/null
@@ -1,246 +0,0 @@
-// mkerrors_nacl.sh /home/rsc/pub/nacl/native_client/src/trusted/service_runtime/include/sys/errno.h
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
-
-package syscall
-
-const (
-       EPERM           = 1
-       ENOENT          = 2
-       ESRCH           = 3
-       EINTR           = 4
-       EIO             = 5
-       ENXIO           = 6
-       E2BIG           = 7
-       ENOEXEC         = 8
-       EBADF           = 9
-       ECHILD          = 10
-       EAGAIN          = 11
-       ENOMEM          = 12
-       EACCES          = 13
-       EFAULT          = 14
-       EBUSY           = 16
-       EEXIST          = 17
-       EXDEV           = 18
-       ENODEV          = 19
-       ENOTDIR         = 20
-       EISDIR          = 21
-       EINVAL          = 22
-       ENFILE          = 23
-       EMFILE          = 24
-       ENOTTY          = 25
-       EFBIG           = 27
-       ENOSPC          = 28
-       ESPIPE          = 29
-       EROFS           = 30
-       EMLINK          = 31
-       EPIPE           = 32
-       ENAMETOOLONG    = 36
-       ENOSYS          = 38
-       EDQUOT          = 122
-       EDOM            = 33
-       ERANGE          = 34
-       ENOMSG          = 35
-       ECHRNG          = 37
-       EL3HLT          = 39
-       EL3RST          = 40
-       ELNRNG          = 41
-       EUNATCH         = 42
-       ENOCSI          = 43
-       EL2HLT          = 44
-       EDEADLK         = 45
-       ENOLCK          = 46
-       EBADE           = 50
-       EBADR           = 51
-       EXFULL          = 52
-       ENOANO          = 53
-       EBADRQC         = 54
-       EBADSLT         = 55
-       EBFONT          = 57
-       ENOSTR          = 60
-       ENODATA         = 61
-       ETIME           = 62
-       ENOSR           = 63
-       ENONET          = 64
-       ENOPKG          = 65
-       EREMOTE         = 66
-       ENOLINK         = 67
-       EADV            = 68
-       ESRMNT          = 69
-       ECOMM           = 70
-       EPROTO          = 71
-       EMULTIHOP       = 74
-       ELBIN           = 75
-       EDOTDOT         = 76
-       EBADMSG         = 77
-       EFTYPE          = 79
-       ENOTUNIQ        = 80
-       EBADFD          = 81
-       EREMCHG         = 82
-       ELIBACC         = 83
-       ELIBBAD         = 84
-       ELIBSCN         = 85
-       ELIBMAX         = 86
-       ELIBEXEC        = 87
-       ENMFILE         = 89
-       ENOTEMPTY       = 90
-       ELOOP           = 92
-       EOPNOTSUPP      = 95
-       EPFNOSUPPORT    = 96
-       ECONNRESET      = 104
-       ENOBUFS         = 105
-       EAFNOSUPPORT    = 106
-       EPROTOTYPE      = 107
-       ENOTSOCK        = 108
-       ENOPROTOOPT     = 109
-       ESHUTDOWN       = 110
-       ECONNREFUSED    = 111
-       EADDRINUSE      = 112
-       ECONNABORTED    = 113
-       ENETUNREACH     = 114
-       ENETDOWN        = 115
-       ETIMEDOUT       = 116
-       EHOSTDOWN       = 117
-       EHOSTUNREACH    = 118
-       EINPROGRESS     = 119
-       EALREADY        = 120
-       EDESTADDRREQ    = 121
-       EPROTONOSUPPORT = 123
-       ESOCKTNOSUPPORT = 124
-       EADDRNOTAVAIL   = 125
-       ENETRESET       = 126
-       EISCONN         = 127
-       ENOTCONN        = 128
-       ETOOMANYREFS    = 129
-       EPROCLIM        = 130
-       EUSERS          = 131
-       ESTALE          = 133
-       ENOMEDIUM       = 135
-       ENOSHARE        = 136
-       ECASECLASH      = 137
-       EILSEQ          = 138
-       EOVERFLOW       = 139
-       ECANCELED       = 140
-       EL2NSYNC        = 88
-       EIDRM           = 91
-       EMSGSIZE        = 132
-       ENACL           = 99 /* otherwise unused */
-)
-
-
-// Error table
-var errors = [...]string{
-       EPERM:           "operation not permitted",
-       ENOENT:          "no such file or directory",
-       ESRCH:           "no such process",
-       EINTR:           "interrupted system call",
-       EIO:             "I/O error",
-       ENXIO:           "no such device or address",
-       E2BIG:           "argument list too long",
-       ENOEXEC:         "exec format error",
-       EBADF:           "bad file number",
-       ECHILD:          "no child processes",
-       EAGAIN:          "try again",
-       ENOMEM:          "out of memory",
-       EACCES:          "permission denied",
-       EFAULT:          "bad address",
-       EBUSY:           "device or resource busy",
-       EEXIST:          "file exists",
-       EXDEV:           "cross-device link",
-       ENODEV:          "no such device",
-       ENOTDIR:         "not a directory",
-       EISDIR:          "is a directory",
-       EINVAL:          "invalid argument",
-       ENFILE:          "file table overflow",
-       EMFILE:          "too many open files",
-       ENOTTY:          "not a typewriter",
-       EFBIG:           "file too large",
-       ENOSPC:          "no space left on device",
-       ESPIPE:          "illegal seek",
-       EROFS:           "read-only file system",
-       EMLINK:          "too many links",
-       EPIPE:           "broken pipe",
-       ENAMETOOLONG:    "file name too long",
-       ENOSYS:          "function not implemented",
-       EDQUOT:          "quota exceeded",
-       EDOM:            "math arg out of domain of func",
-       ERANGE:          "math result not representable",
-       ENOMSG:          "no message of desired type",
-       ECHRNG:          "channel number out of range",
-       EL3HLT:          "level 3 halted",
-       EL3RST:          "level 3 reset",
-       ELNRNG:          "link number out of range",
-       EUNATCH:         "protocol driver not attached",
-       ENOCSI:          "no CSI structure available",
-       EL2HLT:          "level 2 halted",
-       EDEADLK:         "deadlock condition",
-       ENOLCK:          "no record locks available",
-       EBADE:           "invalid exchange",
-       EBADR:           "invalid request descriptor",
-       EXFULL:          "exchange full",
-       ENOANO:          "no anode",
-       EBADRQC:         "invalid request code",
-       EBADSLT:         "invalid slot",
-       EBFONT:          "bad font file fmt",
-       ENOSTR:          "device not a stream",
-       ENODATA:         "no data (for no delay io)",
-       ETIME:           "timer expired",
-       ENOSR:           "out of streams resources",
-       ENONET:          "machine is not on the network",
-       ENOPKG:          "package not installed",
-       EREMOTE:         "the object is remote",
-       ENOLINK:         "the link has been severed",
-       EADV:            "advertise error",
-       ESRMNT:          "srmount error",
-       ECOMM:           "communication error on send",
-       EPROTO:          "protocol error",
-       EMULTIHOP:       "multihop attempted",
-       ELBIN:           "inode is remote (not really error)",
-       EDOTDOT:         "cross mount point (not really error)",
-       EBADMSG:         "trying to read unreadable message",
-       EFTYPE:          "inappropriate file type or format",
-       ENOTUNIQ:        "given log. name not unique",
-       EBADFD:          "f.d. invalid for this operation",
-       EREMCHG:         "remote address changed",
-       ELIBACC:         "can't access a needed shared lib",
-       ELIBBAD:         "accessing a corrupted shared lib",
-       ELIBSCN:         ".lib section in a.out corrupted",
-       ELIBMAX:         "attempting to link in too many libs",
-       ELIBEXEC:        "attempting to exec a shared library",
-       ENMFILE:         "no more files",
-       ENOTEMPTY:       "directory not empty",
-       ELOOP:           "too many symbolic links",
-       EOPNOTSUPP:      "operation not supported on transport endpoint",
-       EPFNOSUPPORT:    "protocol family not supported",
-       ECONNRESET:      "connection reset by peer",
-       ENOBUFS:         "no buffer space available",
-       EAFNOSUPPORT:    "address family not supported by protocol family",
-       EPROTOTYPE:      "protocol wrong type for socket",
-       ENOTSOCK:        "socket operation on non-socket",
-       ENOPROTOOPT:     "protocol not available",
-       ESHUTDOWN:       "can't send after socket shutdown",
-       ECONNREFUSED:    "connection refused",
-       EADDRINUSE:      "address already in use",
-       ECONNABORTED:    "connection aborted",
-       ENETUNREACH:     "network is unreachable",
-       ENETDOWN:        "network interface is not configured",
-       ETIMEDOUT:       "connection timed out",
-       EHOSTDOWN:       "host is down",
-       EHOSTUNREACH:    "host is unreachable",
-       EINPROGRESS:     "connection already in progress",
-       EALREADY:        "socket already connected",
-       EDESTADDRREQ:    "destination address required",
-       EPROTONOSUPPORT: "unknown protocol",
-       ESOCKTNOSUPPORT: "socket type not supported",
-       EADDRNOTAVAIL:   "address not available",
-       EISCONN:         "socket is already connected",
-       ENOTCONN:        "socket is not connected",
-       ENOMEDIUM:       "no medium (in tape drive)",
-       ENOSHARE:        "no such host or network path",
-       ECASECLASH:      "filename exists with different case",
-       EOVERFLOW:       "value too large for defined data type",
-       ECANCELED:       "operation canceled.",
-       EL2NSYNC:        "level 2 not synchronized",
-       EIDRM:           "identifier removed",
-       EMSGSIZE:        "message too long",
-       ENACL:           "not supported by native client",
-}
diff --git a/src/pkg/syscall/zsyscall_nacl_386.go b/src/pkg/syscall/zsyscall_nacl_386.go
deleted file mode 100644 (file)
index f68105a..0000000
+++ /dev/null
@@ -1,303 +0,0 @@
-// mksyscall.sh -l32 -nacl syscall_nacl.go syscall_nacl_386.go
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
-
-package syscall
-
-import "unsafe"
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Chmod(path string, mode uint32) (errno int) {
-       _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(mode), 0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Clock() (clock int) {
-       r0, _, _ := Syscall(SYS_CLOCK, 0, 0, 0)
-       clock = int(r0)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Close(fd int) (errno int) {
-       _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Exit(code int) {
-       Syscall(SYS_EXIT, uintptr(code), 0, 0)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fstat(fd int, stat *Stat_t) (errno int) {
-       _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getdents(fd int, buf []byte) (n int, errno int) {
-       var _p0 unsafe.Pointer
-       if len(buf) > 0 {
-               _p0 = unsafe.Pointer(&buf[0])
-       } else {
-               _p0 = unsafe.Pointer(&_zero[0])
-       }
-       r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
-       n = int(r0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getpid() (pid int) {
-       r0, _, _ := Syscall(SYS_GETPID, 0, 0, 0)
-       pid = int(r0)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Gettimeofday(tv *Timeval) (errno int) {
-       _, _, e1 := Syscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Open(path string, mode int, perm uint32) (fd int, errno int) {
-       r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(mode), uintptr(perm))
-       fd = int(r0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Read(fd int, p []byte) (n int, errno int) {
-       var _p0 unsafe.Pointer
-       if len(p) > 0 {
-               _p0 = unsafe.Pointer(&p[0])
-       } else {
-               _p0 = unsafe.Pointer(&_zero[0])
-       }
-       r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))
-       n = int(r0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func read(fd int, buf *byte, nbuf int) (n int, errno int) {
-       r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))
-       n = int(r0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Stat(path string, stat *Stat_t) (errno int) {
-       _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(stat)), 0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Write(fd int, p []byte) (n int, errno int) {
-       var _p0 unsafe.Pointer
-       if len(p) > 0 {
-               _p0 = unsafe.Pointer(&p[0])
-       } else {
-               _p0 = unsafe.Pointer(&_zero[0])
-       }
-       r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))
-       n = int(r0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func MultimediaInit(subsys int) (errno int) {
-       _, _, e1 := Syscall(SYS_MULTIMEDIA_INIT, uintptr(subsys), 0, 0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func MultimediaShutdown() (errno int) {
-       _, _, e1 := Syscall(SYS_MULTIMEDIA_SHUTDOWN, 0, 0, 0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func CondCreate() (cv int, errno int) {
-       r0, _, e1 := Syscall(SYS_COND_CREATE, 0, 0, 0)
-       cv = int(r0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func CondWait(cv int, mutex int) (errno int) {
-       _, _, e1 := Syscall(SYS_COND_WAIT, uintptr(cv), uintptr(mutex), 0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func CondSignal(cv int) (errno int) {
-       _, _, e1 := Syscall(SYS_COND_SIGNAL, uintptr(cv), 0, 0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func CondBroadcast(cv int) (errno int) {
-       _, _, e1 := Syscall(SYS_COND_BROADCAST, uintptr(cv), 0, 0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func CondTimedWaitAbs(cv int, mutex int, abstime *Timespec) (errno int) {
-       _, _, e1 := Syscall(SYS_COND_TIMED_WAIT_ABS, uintptr(cv), uintptr(mutex), uintptr(unsafe.Pointer(abstime)))
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func MutexCreate() (mutex int, errno int) {
-       r0, _, e1 := Syscall(SYS_MUTEX_CREATE, 0, 0, 0)
-       mutex = int(r0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func MutexLock(mutex int) (errno int) {
-       _, _, e1 := Syscall(SYS_MUTEX_LOCK, uintptr(mutex), 0, 0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func MutexUnlock(mutex int) (errno int) {
-       _, _, e1 := Syscall(SYS_MUTEX_UNLOCK, uintptr(mutex), 0, 0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func MutexTryLock(mutex int) (errno int) {
-       _, _, e1 := Syscall(SYS_MUTEX_TRYLOCK, uintptr(mutex), 0, 0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func SemCreate() (sema int, errno int) {
-       r0, _, e1 := Syscall(SYS_SEM_CREATE, 0, 0, 0)
-       sema = int(r0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func SemWait(sema int) (errno int) {
-       _, _, e1 := Syscall(SYS_SEM_WAIT, uintptr(sema), 0, 0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func SemPost(sema int) (errno int) {
-       _, _, e1 := Syscall(SYS_SEM_POST, uintptr(sema), 0, 0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func VideoInit(dx int, dy int) (errno int) {
-       _, _, e1 := Syscall(SYS_VIDEO_INIT, uintptr(dx), uintptr(dy), 0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func VideoUpdate(data *uint32) (errno int) {
-       _, _, e1 := Syscall(SYS_VIDEO_UPDATE, uintptr(unsafe.Pointer(data)), 0, 0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func VideoPollEvent(ev *byte) (errno int) {
-       _, _, e1 := Syscall(SYS_VIDEO_POLL_EVENT, uintptr(unsafe.Pointer(ev)), 0, 0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func VideoShutdown() (errno int) {
-       _, _, e1 := Syscall(SYS_VIDEO_SHUTDOWN, 0, 0, 0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func AudioInit(fmt int, nreq int, data *int) (errno int) {
-       _, _, e1 := Syscall(SYS_AUDIO_INIT, uintptr(fmt), uintptr(nreq), uintptr(unsafe.Pointer(data)))
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func AudioShutdown() (errno int) {
-       _, _, e1 := Syscall(SYS_AUDIO_SHUTDOWN, 0, 0, 0)
-       errno = int(e1)
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func AudioStream(data *uint16, size *uintptr) (errno int) {
-       _, _, e1 := Syscall(SYS_AUDIO_STREAM, uintptr(unsafe.Pointer(data)), uintptr(unsafe.Pointer(size)), 0)
-       errno = int(e1)
-       return
-}
diff --git a/src/pkg/syscall/zsysnum_nacl_386.go b/src/pkg/syscall/zsysnum_nacl_386.go
deleted file mode 100644 (file)
index ba1af60..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-// mksysnum_nacl.sh /home/rsc/pub/nacl/native_client/src/trusted/service_runtime/include/bits/nacl_syscalls.h
-// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
-
-package syscall
-
-const (
-       SYS_NULL                = 1
-       SYS_OPEN                = 10
-       SYS_CLOSE               = 11
-       SYS_READ                = 12
-       SYS_WRITE               = 13
-       SYS_LSEEK               = 14
-       SYS_IOCTL               = 15
-       SYS_STAT                = 16
-       SYS_FSTAT               = 17
-       SYS_CHMOD               = 18
-       SYS_SYSBRK              = 20
-       SYS_MMAP                = 21
-       SYS_MUNMAP              = 22
-       SYS_GETDENTS            = 23
-       SYS_EXIT                = 30
-       SYS_GETPID              = 31
-       SYS_SCHED_YIELD         = 32
-       SYS_SYSCONF             = 33
-       SYS_GETTIMEOFDAY        = 40
-       SYS_CLOCK               = 41
-       SYS_NANOSLEEP           = 42
-       SYS_MULTIMEDIA_INIT     = 50
-       SYS_MULTIMEDIA_SHUTDOWN = 51
-       SYS_VIDEO_INIT          = 52
-       SYS_VIDEO_SHUTDOWN      = 53
-       SYS_VIDEO_UPDATE        = 54
-       SYS_VIDEO_POLL_EVENT    = 55
-       SYS_AUDIO_INIT          = 56
-       SYS_AUDIO_SHUTDOWN      = 57
-       SYS_AUDIO_STREAM        = 58
-       SYS_IMC_MAKEBOUNDSOCK   = 60
-       SYS_IMC_ACCEPT          = 61
-       SYS_IMC_CONNECT         = 62
-       SYS_IMC_SENDMSG         = 63
-       SYS_IMC_RECVMSG         = 64
-       SYS_IMC_MEM_OBJ_CREATE  = 65
-       SYS_IMC_SOCKETPAIR      = 66
-       SYS_MUTEX_CREATE        = 70
-       SYS_MUTEX_LOCK          = 71
-       SYS_MUTEX_TRYLOCK       = 72
-       SYS_MUTEX_UNLOCK        = 73
-       SYS_COND_CREATE         = 74
-       SYS_COND_WAIT           = 75
-       SYS_COND_SIGNAL         = 76
-       SYS_COND_BROADCAST      = 77
-       SYS_COND_TIMED_WAIT_ABS = 79
-       SYS_THREAD_CREATE       = 80
-       SYS_THREAD_EXIT         = 81
-       SYS_TLS_INIT            = 82
-       SYS_THREAD_NICE         = 83
-       SYS_TLS_GET             = 84
-       SYS_SRPC_GET_FD         = 90
-       SYS_SEM_CREATE          = 100
-       SYS_SEM_WAIT            = 101
-       SYS_SEM_POST            = 102
-       SYS_SEM_GET_VALUE       = 103
-       SYS_DYNCODE_COPY        = 104
-)
index 9cccb3ef0b6096d6d01653c12847307792542bbc..36bf065d1fdd3bdba15bdbd34f5d8c332fbebfa5 100644 (file)
@@ -1,4 +1,3 @@
-// mksysnum_nacl.sh /home/rsc/pub/nacl/native_client/src/trusted/service_runtime/include/bits/nacl_syscalls.h
-// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
+// nothing to see here
 
 package syscall
diff --git a/src/pkg/syscall/ztypes_nacl.go b/src/pkg/syscall/ztypes_nacl.go
deleted file mode 100644 (file)
index 4a3465a..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-// godefs -gsyscall -f-m32 -f-I/home/rsc/pub/nacl/native_client/src/third_party/nacl_sdk/linux/sdk/nacl-sdk/nacl/include -f-I/home/rsc/pub/nacl/native_client/src/trusted/service_runtime/include types_nacl.c
-
-// MACHINE GENERATED - DO NOT EDIT.
-
-package syscall
-
-// Constants
-
-// Types
diff --git a/src/pkg/syscall/ztypes_nacl_386.go b/src/pkg/syscall/ztypes_nacl_386.go
deleted file mode 100644 (file)
index 8e83066..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-// godefs -gsyscall -f-m32 -f-I/home/rsc/pub/nacl/native_client/src/third_party/nacl_sdk/linux/sdk/nacl-sdk/nacl/include -f-I/home/rsc/pub/nacl/native_client types_nacl.c
-
-// MACHINE GENERATED - DO NOT EDIT.
-
-package syscall
-
-// Constants
-const (
-       sizeofPtr      = 0x4
-       sizeofShort    = 0x2
-       sizeofInt      = 0x4
-       sizeofLong     = 0x4
-       sizeofLongLong = 0x8
-       PROT_READ      = 0x1
-       PROT_WRITE     = 0x2
-       MAP_SHARED     = 0x1
-       SYS_FORK       = 0
-       SYS_PTRACE     = 0
-       SYS_CHDIR      = 0
-       SYS_DUP2       = 0
-       SYS_FCNTL      = 0
-       SYS_EXECVE     = 0
-       O_RDONLY       = 0
-       O_WRONLY       = 0x1
-       O_RDWR         = 0x2
-       O_APPEND       = 0x400
-       O_ASYNC        = 0x2000
-       O_CREAT        = 0x40
-       O_NOCTTY       = 0
-       O_NONBLOCK     = 0x800
-       O_SYNC         = 0x1000
-       O_TRUNC        = 0x200
-       O_EXCL         = 0x80
-       O_CLOEXEC      = 0
-       F_GETFD        = 0x1
-       F_SETFD        = 0x2
-       F_GETFL        = 0x3
-       F_SETFL        = 0x4
-       FD_CLOEXEC     = 0
-       S_IFMT         = 0x1f000
-       S_IFIFO        = 0x1000
-       S_IFCHR        = 0x2000
-       S_IFDIR        = 0x4000
-       S_IFBLK        = 0x6000
-       S_IFREG        = 0x8000
-       S_IFLNK        = 0xa000
-       S_IFSOCK       = 0xc000
-       S_ISUID        = 0x800
-       S_ISGID        = 0x400
-       S_ISVTX        = 0x200
-       S_IRUSR        = 0x100
-       S_IWUSR        = 0x80
-       S_IXUSR        = 0x40
-)
-
-// Types
-
-type _C_short int16
-
-type _C_int int32
-
-type _C_long int32
-
-type _C_long_long int64
-
-type _C_off_t int32
-
-type Timespec struct {
-       Sec  int32
-       Nsec int32
-}
-
-type Timeval struct {
-       Sec  int32
-       Usec int32
-}
-
-type Time_t int32
-
-type _Gid_t uint32
-
-type Stat_t struct {
-       Dev        int64
-       Ino        uint32
-       Mode       uint32
-       Nlink      uint32
-       Uid        uint32
-       Gid        uint32
-       X__padding int32
-       Rdev       int64
-       Size       int32
-       Blksize    int32
-       Blocks     int32
-       Atime      int32
-       Mtime      int32
-       Ctime      int32
-}
-
-type Dirent struct {
-       Ino    uint32
-       Off    int32
-       Reclen uint16
-       Name   [256]int8
-       Pad0   [2]byte
-}
index 71318d738ff1e368f1230635732031d35a23578d..5213e44572dadd02ec57407c1e84eb50992daf89 100644 (file)
@@ -20,9 +20,6 @@ GOFILES_darwin=\
 GOFILES_linux=\
        zoneinfo_unix.go\
 
-GOFILES_nacl=\
-       zoneinfo_unix.go\
-
 GOFILES_windows=\
        zoneinfo_windows.go\
 
index 7646e07dd687cd02ef37e2d5e8ebfc573a6ac08f..16b2076447f4e0f6c89549166a10baf63385ff2e 100644 (file)
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0  # NaCl runner does not expose environment
 // $G $F.go && $L $F.$A && ./$A.out
 
 // Copyright 2009 The Go Authors. All rights reserved.
index 357f22eb274c56afb2197de6fc449f922b8dce8a..236c14402f7c653653c328fabf271e112be9ae14 100644 (file)
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0  # no network
 // $G $D/$F.go && $L $F.$A && ./$A.out
 
 // Copyright 2010 The Go Authors.  All rights reserved.
index c564bce3404971f2855e30faba5d72cae4306963..fa26532c67b49493baffc29cdcfd34a2a5090ddf 100644 (file)
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0  # do not bother on NaCl
 // $G $D/$F.go && $L $F.$A &&
 //     ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
 
index 701630ed150b3030c1c4febb14594651c0d588ed..64f46e14d19bc1b685ef9a7d5eae9fe6421136b0 100644 (file)
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0  # do not bother on NaCl
 // $G $D/$F.go && $L $F.$A &&
 //     ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
 
index 38206d50b8e26daa98154fc034557e2691852d00..03879fb42f7a6e983bd1864eb7a0027ca8fbe032 100644 (file)
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0  # do not bother on NaCl
 // $G $D/$F.go && $L $F.$A &&
 //     ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
 
index 8c9531e1763d203734f04f81483f0f42be4aa870..c86070fa4734719332bc9ef9888ff7c004ce682f 100644 (file)
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0  # do not bother on NaCl
 // $G $D/$F.go && $L $F.$A &&
 //     ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
 
index 1b2651381ef4d0bfb37555f035e2db491d039fba..68ea44083cb3dd18811f438338ae8c5c24373830 100644 (file)
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0  # do not bother on NaCl
 // $G $D/$F.go && $L $F.$A &&
 //     ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
 
index 544536cc7ce83609206e73517b0d03288cb3159e..26ca42773282e5b8155bf603bde3ecff417fdc6f 100644 (file)
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0  # do not bother on NaCl
 // $G $D/$F.go && $L $F.$A &&
 //     ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
 
index e081f7a1718afd5a6bd9ef75ba42f4910cc3bbac..35196bb68ddd96e7cc941ff6e12ed9ce94dadda0 100644 (file)
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0  # do not bother on NaCl
 // $G $D/$F.go && $L $F.$A &&
 //     ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
 
index 02d33a42c24f98bbe64aff3bd8d019fd7c22c97c..7c7abed1aa0ae3e4f846c9dbe31cb9e78ac4bbe9 100644 (file)
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0  # do not bother on NaCl
 // $G $D/$F.go && $L $F.$A &&
 //     ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
 
index 4323b42b4db37f58086632a722d508797abc9e19..02a44f17318279f849f935572053e48e7da371a3 100644 (file)
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0  # do not bother on NaCl
 // $G $D/$F.go && $L $F.$A &&
 //     ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
 
index 81551aa3bad797b90a6b9fe9a528fd7824ddc2c6..f3177bafbaa3ecd41a6189329ff90b2e23784675 100644 (file)
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0  # do not bother on NaCl
 // $G $D/$F.go && $L $F.$A &&
 //     ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
 
index 9d6974f818bbdcf52075edea80a3410848568ce4..9cf51125bcc6f11de4d8cb67abbb8af71a719e3f 100644 (file)
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0  # NaCl runner elides NUL in output
 // [ "$GORUN" == "" ] || exit 0  # Android runner gets confused by the NUL output 
 // $G $D/$F.go && $L $F.$A && ./$A.out >tmp.go &&
 // errchk $G -e tmp.go
index 48b0503309bc63795af45e3e081af214fa6980eb..f33af4457b9bf103627caf0546eec1ab90e4825a 100644 (file)
@@ -7,7 +7,6 @@
 // Test of recover for run-time errors.
 
 // TODO(rsc):
-//     integer divide by zero?
 //     null pointer accesses
 
 package main
@@ -15,7 +14,6 @@ package main
 import (
        "os"
        "strings"
-       "syscall"
 )
 
 var x = make([]byte, 10)
@@ -83,10 +81,6 @@ func test6() {
 }
 
 func test7() {
-       if syscall.OS == "nacl" {
-               // NaCl cannot handle traps
-               return
-       }
        defer mustRecover("divide by zero")
        var x, y int
        println(x / y)
index 1cb64f2633bf95e00f4aec5644434dd7ae6944f2..2aa1df616dcae347f8cb64fef3eb7a3f9a064e9e 100644 (file)
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0  # NaCl cannot recover from signals
 // $G $D/$F.go && $L $F.$A && ./$A.out
 
 // Copyright 2010 The Go Authors.  All rights reserved.
index 09188fc53acaf6ef9a9e9232faa9ddaaa100de16..1fb2e21bd56cc3cc20467c86b16654be0727de30 100644 (file)
@@ -1,4 +1,3 @@
-// if [ $GOOS == nacl ]; then echo survived SIGCHLD; exit 0; fi  # NaCl has no signals.
 // $G $D/$F.go && $L $F.$A && ./$A.out
 
 // Copyright 2009 The Go Authors. All rights reserved.
index 5fe1eb00d389f64b7ccc108d82da128e38653d83..cd4f52215b4065c31f4fc2ce9aec322dd822413d 100644 (file)
@@ -10,7 +10,6 @@ import (
        "fmt"
        "math"
        "strings"
-       "syscall"
 )
 
 type Error interface {
@@ -163,7 +162,7 @@ func alike(a, b float64) bool {
 func main() {
        bad := false
        for _, t := range errorTests {
-               if t.err != "" && syscall.OS == "nacl" {
+               if t.err != "" {
                        continue
                }
                err := error(t.fn)