OSDN Git Service

Update to current Go testsuite.
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 25 Jan 2012 00:04:13 +0000 (00:04 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 25 Jan 2012 00:04:13 +0000 (00:04 +0000)
* go.test/go-test.exp (filecmp): New procedure.
(errchk): Handle quoted square brackets.
(go-gc-tests): Set go_compile_args. Handle various new test
lines.  Skip a few new tests.
* lib/go-torture.exp (go-torture-execute): Use go_compile_args.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183502 138bc75d-0d04-0410-961f-82ee72b054a4

234 files changed:
gcc/testsuite/ChangeLog
gcc/testsuite/go.test/go-test.exp
gcc/testsuite/go.test/test/alias.go [new file with mode: 0644]
gcc/testsuite/go.test/test/alias1.go [new file with mode: 0644]
gcc/testsuite/go.test/test/append.go
gcc/testsuite/go.test/test/bench/garbage/Makefile [moved from gcc/testsuite/go.test/test/garbage/Makefile with 79% similarity]
gcc/testsuite/go.test/test/bench/garbage/parser.go [moved from gcc/testsuite/go.test/test/garbage/parser.go with 82% similarity]
gcc/testsuite/go.test/test/bench/garbage/peano.go [moved from gcc/testsuite/go.test/test/garbage/peano.go with 95% similarity]
gcc/testsuite/go.test/test/bench/garbage/stats.go [moved from gcc/testsuite/go.test/test/garbage/stats.go with 77% similarity]
gcc/testsuite/go.test/test/bench/garbage/tree.go [moved from gcc/testsuite/go.test/test/garbage/tree.go with 97% similarity]
gcc/testsuite/go.test/test/bench/garbage/tree2.go [new file with mode: 0644]
gcc/testsuite/go.test/test/bench/go1/Makefile [new file with mode: 0644]
gcc/testsuite/go.test/test/bench/go1/_gotest_.6 [new file with mode: 0644]
gcc/testsuite/go.test/test/bench/go1/_testmain.6 [new file with mode: 0644]
gcc/testsuite/go.test/test/bench/go1/_testmain.go [new file with mode: 0644]
gcc/testsuite/go.test/test/bench/go1/binarytree_test.go [new file with mode: 0644]
gcc/testsuite/go.test/test/bench/go1/dummy.go [new file with mode: 0644]
gcc/testsuite/go.test/test/bench/go1/fannkuch_test.go [new file with mode: 0644]
gcc/testsuite/go.test/test/bench/go1/fasta_test.go [new file with mode: 0644]
gcc/testsuite/go.test/test/bench/go1/gob_test.go [new file with mode: 0644]
gcc/testsuite/go.test/test/bench/go1/gzip_test.go [new file with mode: 0644]
gcc/testsuite/go.test/test/bench/go1/json_test.go [new file with mode: 0644]
gcc/testsuite/go.test/test/bench/go1/jsondata_test.go [new file with mode: 0644]
gcc/testsuite/go.test/test/bench/go1/revcomp_test.go [new file with mode: 0644]
gcc/testsuite/go.test/test/bench/go1/template_test.go [new file with mode: 0644]
gcc/testsuite/go.test/test/bench/shootout/Makefile [moved from gcc/testsuite/go.test/test/bench/Makefile with 89% similarity]
gcc/testsuite/go.test/test/bench/shootout/binary-tree-freelist.go [moved from gcc/testsuite/go.test/test/bench/binary-tree-freelist.go with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/binary-tree-freelist.txt [moved from gcc/testsuite/go.test/test/bench/binary-tree-freelist.txt with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/binary-tree.c [moved from gcc/testsuite/go.test/test/bench/binary-tree.c with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/binary-tree.go [moved from gcc/testsuite/go.test/test/bench/binary-tree.go with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/binary-tree.txt [moved from gcc/testsuite/go.test/test/bench/binary-tree.txt with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/chameneosredux.c [moved from gcc/testsuite/go.test/test/bench/chameneosredux.c with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/chameneosredux.go [moved from gcc/testsuite/go.test/test/bench/chameneosredux.go with 95% similarity]
gcc/testsuite/go.test/test/bench/shootout/chameneosredux.txt [moved from gcc/testsuite/go.test/test/bench/chameneosredux.txt with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/fannkuch-parallel.go [moved from gcc/testsuite/go.test/test/bench/fannkuch-parallel.go with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/fannkuch-parallel.txt [moved from gcc/testsuite/go.test/test/bench/fannkuch-parallel.txt with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/fannkuch.c [moved from gcc/testsuite/go.test/test/bench/fannkuch.c with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/fannkuch.go [moved from gcc/testsuite/go.test/test/bench/fannkuch.go with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/fannkuch.txt [moved from gcc/testsuite/go.test/test/bench/fannkuch.txt with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/fasta-1000.out [moved from gcc/testsuite/go.test/test/bench/fasta-1000.out with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/fasta.c [moved from gcc/testsuite/go.test/test/bench/fasta.c with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/fasta.go [moved from gcc/testsuite/go.test/test/bench/fasta.go with 99% similarity]
gcc/testsuite/go.test/test/bench/shootout/fasta.txt [moved from gcc/testsuite/go.test/test/bench/fasta.txt with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/k-nucleotide-parallel.go [moved from gcc/testsuite/go.test/test/bench/k-nucleotide-parallel.go with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/k-nucleotide-parallel.txt [moved from gcc/testsuite/go.test/test/bench/k-nucleotide-parallel.txt with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/k-nucleotide.c [moved from gcc/testsuite/go.test/test/bench/k-nucleotide.c with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/k-nucleotide.go [moved from gcc/testsuite/go.test/test/bench/k-nucleotide.go with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/k-nucleotide.txt [moved from gcc/testsuite/go.test/test/bench/k-nucleotide.txt with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/mandelbrot.c [moved from gcc/testsuite/go.test/test/bench/mandelbrot.c with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/mandelbrot.go [moved from gcc/testsuite/go.test/test/bench/mandelbrot.go with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/mandelbrot.txt [moved from gcc/testsuite/go.test/test/bench/mandelbrot.txt with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/meteor-contest.c [moved from gcc/testsuite/go.test/test/bench/meteor-contest.c with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/meteor-contest.go [moved from gcc/testsuite/go.test/test/bench/meteor-contest.go with 99% similarity]
gcc/testsuite/go.test/test/bench/shootout/meteor-contest.txt [moved from gcc/testsuite/go.test/test/bench/meteor-contest.txt with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/nbody.c [moved from gcc/testsuite/go.test/test/bench/nbody.c with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/nbody.go [moved from gcc/testsuite/go.test/test/bench/nbody.go with 80% similarity]
gcc/testsuite/go.test/test/bench/shootout/nbody.txt [moved from gcc/testsuite/go.test/test/bench/nbody.txt with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/pidigits.c [moved from gcc/testsuite/go.test/test/bench/pidigits.c with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/pidigits.go [moved from gcc/testsuite/go.test/test/bench/pidigits.go with 99% similarity]
gcc/testsuite/go.test/test/bench/shootout/pidigits.txt [moved from gcc/testsuite/go.test/test/bench/pidigits.txt with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/regex-dna-parallel.go [moved from gcc/testsuite/go.test/test/bench/regex-dna-parallel.go with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/regex-dna-parallel.txt [moved from gcc/testsuite/go.test/test/bench/regex-dna-parallel.txt with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/regex-dna.c [moved from gcc/testsuite/go.test/test/bench/regex-dna.c with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/regex-dna.go [moved from gcc/testsuite/go.test/test/bench/regex-dna.go with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/regex-dna.txt [moved from gcc/testsuite/go.test/test/bench/regex-dna.txt with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/reverse-complement.c [moved from gcc/testsuite/go.test/test/bench/reverse-complement.c with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/reverse-complement.go [moved from gcc/testsuite/go.test/test/bench/reverse-complement.go with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/reverse-complement.txt [moved from gcc/testsuite/go.test/test/bench/reverse-complement.txt with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/spectral-norm-parallel.go [moved from gcc/testsuite/go.test/test/bench/spectral-norm-parallel.go with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/spectral-norm.c [moved from gcc/testsuite/go.test/test/bench/spectral-norm.c with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/spectral-norm.go [moved from gcc/testsuite/go.test/test/bench/spectral-norm.go with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/spectral-norm.txt [moved from gcc/testsuite/go.test/test/bench/spectral-norm.txt with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/threadring.c [moved from gcc/testsuite/go.test/test/bench/threadring.c with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/threadring.go [moved from gcc/testsuite/go.test/test/bench/threadring.go with 99% similarity]
gcc/testsuite/go.test/test/bench/shootout/threadring.txt [moved from gcc/testsuite/go.test/test/bench/threadring.txt with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/timing.log [moved from gcc/testsuite/go.test/test/bench/timing.log with 100% similarity]
gcc/testsuite/go.test/test/bench/shootout/timing.sh [moved from gcc/testsuite/go.test/test/bench/timing.sh with 98% similarity]
gcc/testsuite/go.test/test/blank.go
gcc/testsuite/go.test/test/bugs/bug395.go [new file with mode: 0644]
gcc/testsuite/go.test/test/chan/doubleselect.go
gcc/testsuite/go.test/test/chan/nonblock.go
gcc/testsuite/go.test/test/chan/perm.go
gcc/testsuite/go.test/test/chan/select7.go [new file with mode: 0644]
gcc/testsuite/go.test/test/closure.go
gcc/testsuite/go.test/test/cmp.go [new file with mode: 0644]
gcc/testsuite/go.test/test/cmp3.go [deleted file]
gcc/testsuite/go.test/test/cmp4.go [deleted file]
gcc/testsuite/go.test/test/cmp5.go [deleted file]
gcc/testsuite/go.test/test/complit.go
gcc/testsuite/go.test/test/complit1.go [new file with mode: 0644]
gcc/testsuite/go.test/test/convert1.go [new file with mode: 0644]
gcc/testsuite/go.test/test/crlf.go [new file with mode: 0644]
gcc/testsuite/go.test/test/ddd1.go
gcc/testsuite/go.test/test/deferprint.go
gcc/testsuite/go.test/test/deferprint.out [new file with mode: 0644]
gcc/testsuite/go.test/test/dwarf/linedirectives.go [new file with mode: 0644]
gcc/testsuite/go.test/test/dwarf/main.go [moved from gcc/testsuite/go.test/test/cmp2.go with 54% similarity]
gcc/testsuite/go.test/test/dwarf/z1.go [new file with mode: 0644]
gcc/testsuite/go.test/test/dwarf/z10.go [new file with mode: 0644]
gcc/testsuite/go.test/test/dwarf/z11.go [new file with mode: 0644]
gcc/testsuite/go.test/test/dwarf/z12.go [new file with mode: 0644]
gcc/testsuite/go.test/test/dwarf/z13.go [new file with mode: 0644]
gcc/testsuite/go.test/test/dwarf/z14.go [new file with mode: 0644]
gcc/testsuite/go.test/test/dwarf/z15.go [new file with mode: 0644]
gcc/testsuite/go.test/test/dwarf/z16.go [new file with mode: 0644]
gcc/testsuite/go.test/test/dwarf/z17.go [new file with mode: 0644]
gcc/testsuite/go.test/test/dwarf/z18.go [new file with mode: 0644]
gcc/testsuite/go.test/test/dwarf/z19.go [new file with mode: 0644]
gcc/testsuite/go.test/test/dwarf/z2.go [new file with mode: 0644]
gcc/testsuite/go.test/test/dwarf/z20.go [new file with mode: 0644]
gcc/testsuite/go.test/test/dwarf/z3.go [new file with mode: 0644]
gcc/testsuite/go.test/test/dwarf/z4.go [new file with mode: 0644]
gcc/testsuite/go.test/test/dwarf/z5.go [new file with mode: 0644]
gcc/testsuite/go.test/test/dwarf/z6.go [new file with mode: 0644]
gcc/testsuite/go.test/test/dwarf/z7.go [new file with mode: 0644]
gcc/testsuite/go.test/test/dwarf/z8.go [new file with mode: 0644]
gcc/testsuite/go.test/test/dwarf/z9.go [new file with mode: 0644]
gcc/testsuite/go.test/test/escape2.go [new file with mode: 0644]
gcc/testsuite/go.test/test/escape3.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug027.go
gcc/testsuite/go.test/test/fixedbugs/bug067.go
gcc/testsuite/go.test/test/fixedbugs/bug070.go
gcc/testsuite/go.test/test/fixedbugs/bug093.go
gcc/testsuite/go.test/test/fixedbugs/bug113.go
gcc/testsuite/go.test/test/fixedbugs/bug148.go
gcc/testsuite/go.test/test/fixedbugs/bug220.go [deleted file]
gcc/testsuite/go.test/test/fixedbugs/bug242.go
gcc/testsuite/go.test/test/fixedbugs/bug270.go [deleted file]
gcc/testsuite/go.test/test/fixedbugs/bug286.go
gcc/testsuite/go.test/test/fixedbugs/bug328.go
gcc/testsuite/go.test/test/fixedbugs/bug328.out [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug340.go
gcc/testsuite/go.test/test/fixedbugs/bug365.go
gcc/testsuite/go.test/test/fixedbugs/bug366.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug367.dir/main.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug367.dir/p.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug367.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug368.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug369.dir/pkg.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug369.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug370.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug371.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug372.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug373.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug374.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug375.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug376.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug377.dir/one.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug377.dir/two.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug377.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug378.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug379.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug380.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug381.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug382.dir/pkg.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug382.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug383.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug384.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug385_32.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug385_64.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug386.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug387.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug388.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug389.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug390.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug391.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug392.dir/one.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug392.dir/two.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug392.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug393.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug394.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug396.dir/one.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug396.dir/two.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug396.go [new file with mode: 0644]
gcc/testsuite/go.test/test/fixedbugs/bug397.go [new file with mode: 0644]
gcc/testsuite/go.test/test/golden.out
gcc/testsuite/go.test/test/goprint.go
gcc/testsuite/go.test/test/goprint.out [new file with mode: 0644]
gcc/testsuite/go.test/test/helloworld.go
gcc/testsuite/go.test/test/helloworld.out [new file with mode: 0644]
gcc/testsuite/go.test/test/init1.go [new file with mode: 0644]
gcc/testsuite/go.test/test/interface/fail.go
gcc/testsuite/go.test/test/interface/noeq.go [new file with mode: 0644]
gcc/testsuite/go.test/test/interface/recursive1.go [new file with mode: 0644]
gcc/testsuite/go.test/test/interface/recursive2.go [new file with mode: 0644]
gcc/testsuite/go.test/test/interface/returntype.go
gcc/testsuite/go.test/test/ken/cplx0.go
gcc/testsuite/go.test/test/ken/cplx0.out [new file with mode: 0644]
gcc/testsuite/go.test/test/ken/cplx2.go
gcc/testsuite/go.test/test/ken/cplx3.go
gcc/testsuite/go.test/test/ken/cplx4.go
gcc/testsuite/go.test/test/ken/cplx5.go
gcc/testsuite/go.test/test/ken/intervar.go
gcc/testsuite/go.test/test/ken/label.go
gcc/testsuite/go.test/test/ken/rob1.go
gcc/testsuite/go.test/test/ken/rob2.go
gcc/testsuite/go.test/test/ken/simpprint.go [deleted file]
gcc/testsuite/go.test/test/ken/simpswitch.go
gcc/testsuite/go.test/test/ken/string.go
gcc/testsuite/go.test/test/ken/string.out [new file with mode: 0644]
gcc/testsuite/go.test/test/mallocfin.go
gcc/testsuite/go.test/test/mallocrep.go
gcc/testsuite/go.test/test/map1.go [new file with mode: 0644]
gcc/testsuite/go.test/test/nil.go
gcc/testsuite/go.test/test/nilptr.go [new file with mode: 0644]
gcc/testsuite/go.test/test/nilptr/arrayindex.go [deleted file]
gcc/testsuite/go.test/test/nilptr/arrayindex1.go [deleted file]
gcc/testsuite/go.test/test/nilptr/arraytoslice.go [deleted file]
gcc/testsuite/go.test/test/nilptr/arraytoslice1.go [deleted file]
gcc/testsuite/go.test/test/nilptr/arraytoslice2.go [deleted file]
gcc/testsuite/go.test/test/nilptr/slicearray.go [deleted file]
gcc/testsuite/go.test/test/nilptr/structfield.go [deleted file]
gcc/testsuite/go.test/test/nilptr/structfield1.go [deleted file]
gcc/testsuite/go.test/test/nilptr/structfield2.go [deleted file]
gcc/testsuite/go.test/test/nilptr/structfieldaddr.go [deleted file]
gcc/testsuite/go.test/test/peano.go
gcc/testsuite/go.test/test/printbig.go
gcc/testsuite/go.test/test/printbig.out [new file with mode: 0644]
gcc/testsuite/go.test/test/reorder.go [new file with mode: 0644]
gcc/testsuite/go.test/test/run
gcc/testsuite/go.test/test/rune.go [new file with mode: 0644]
gcc/testsuite/go.test/test/sigchld.go
gcc/testsuite/go.test/test/sigchld.out [new file with mode: 0644]
gcc/testsuite/go.test/test/sinit.go
gcc/testsuite/go.test/test/struct0.go [new file with mode: 0644]
gcc/testsuite/go.test/test/switch.go
gcc/testsuite/go.test/test/switch3.go [new file with mode: 0644]
gcc/testsuite/go.test/test/syntax/else.go [new file with mode: 0644]
gcc/testsuite/go.test/test/times.out [new file with mode: 0644]
gcc/testsuite/go.test/test/turing.go
gcc/testsuite/go.test/test/typeswitch2.go
gcc/testsuite/go.test/test/typeswitch3.go [new file with mode: 0644]
gcc/testsuite/go.test/test/zerodivide.go
gcc/testsuite/lib/go-torture.exp

index 645002b..9f56773 100644 (file)
@@ -1,3 +1,11 @@
+2012-01-24  Ian Lance Taylor  <iant@google.com>
+
+       * go.test/go-test.exp (filecmp): New procedure.
+       (errchk): Handle quoted square brackets.
+       (go-gc-tests): Set go_compile_args. Handle various new test
+       lines.  Skip a few new tests.
+       * lib/go-torture.exp (go-torture-execute): Use go_compile_args.
+
 2012-01-24  Richard Sandiford  <rdsandiford@googlemail.com>
 
        * lib/target-supports.exp (proc check_effective_target_vect_perm)
index 28b7e40..c9ba41a 100644 (file)
 load_lib go-dg.exp
 load_lib go-torture.exp
 
+# Compare two files
+proc filecmp { file1 file2 testname } {
+    set f1 [open $file1 r]
+    set f2 [open $file2 r]
+    set ok 1
+    while { [gets $f1 line1] >= 0 } {
+       if { [gets $f2 line2] < 0 } {
+           verbose -log "output mismatch: $file2 shorter than $file1"
+           set ok 0
+           break
+       }
+       if { $line1 != $line2 } {
+           verbose -log "output mismatch comparing $file1 and $file2"
+           verbose -log "expected \"$line1\""
+           verbose -log "got      \"$line2\""
+           set ok 0
+           break
+       }
+    }
+    if { [gets $f2 line2] >= 0 } {
+       verbose -log "output mismatch: $file1 shorter than $file2"
+       set ok 0
+    }
+    close $f1
+    close $f2
+    if { ! $ok } {
+       fail $testname
+    } else {
+       pass $testname
+    }
+}
+
 # Implement errchk
 proc errchk { test opts } {
     global dg-do-what-default
@@ -56,6 +88,14 @@ proc errchk { test opts } {
            continue
        }
        regsub "// \(GCCGO_\)?ERROR \"\(\[^\"\]*\)\".*$" $copy_line "// \{ dg-error \"\\2\" \}" out_line
+       if [string match "*dg-error*\\\[*" $out_line] {
+           set index [string first "dg-error" $out_line]
+           regsub -start $index -all "\\\\\\\[" $out_line "\\\\\\\\\\\[" out_line
+       }
+       if [string match "*dg-error*\\\]*" $out_line] {
+           set index [string first "dg-error" $out_line]
+           regsub -start $index -all "\\\\\\\]" $out_line "\\\\\\\\\\\]" out_line
+       }
        if [string match "*dg-error*.\**" $out_line] {
            # I worked out the right number of backslashes by
            # experimentation, not analysis.
@@ -199,6 +239,7 @@ proc go-gc-tests { } {
     global TOOL_OPTIONS
     global TORTURE_OPTIONS
     global dg-do-what-default
+    global go_compile_args
     global go_execute_args
     global target_triplet
 
@@ -230,13 +271,10 @@ proc go-gc-tests { } {
            continue
        }
 
-       # Skip the files in bench and garbage; they are not tests.
+       # Skip the files in bench; they are not tests.
        if [string match "*go.test/test/bench/*" $test] {
            continue
        }
-       if [string match "*go.test/test/garbage/*" $test] {
-           continue
-       }
 
        # Skip files in sub-subdirectories: they are components of
        # other tests.
@@ -274,6 +312,20 @@ proc go-gc-tests { } {
            continue
        }
 
+       if { [file tail $test] == "init1.go" } {
+           # This tests whether GC runs during init, which for gccgo
+           # it currently does not.
+           untested $name
+           continue
+       }
+
+       if { [file tail $test] == "closure.go" } {
+           # This tests whether function closures do any memory
+           # allocation, which for gccgo they currently do.
+           untested $name
+           continue
+       }
+
        set fd [open $test r]
 
        set lines_ok 1
@@ -290,7 +342,8 @@ proc go-gc-tests { } {
            if { [ string match "*nacl*exit 0*" $test_line ] \
                     || [ string match "*exit 0*nacl*" $test_line ] \
                     || [ string match "*Android*exit 0*" $test_line ] \
-                    || [ string match "*exit 0*Android*" $test_line ] } {
+                    || [ string match "*exit 0*Android*" $test_line ] \
+                    || [ string match "*\"\$GOOS\" == windows*" $test_line ] } {
                continue
            }
 
@@ -320,8 +373,9 @@ proc go-gc-tests { } {
 
        close $fd
 
+       set go_compile_args ""
        set go_execute_args ""
-       if { [regexp ".*\\\$A.out (\[^|&>\].*)\$" $test_line match progargs] } {
+       if { [regexp ".*\\\$A.out (\[^|&>2\].*)\$" $test_line match progargs] } {
            set go_execute_args $progargs
            verbose -log "$test: go_execute_args is $go_execute_args"
            set index [string last " $progargs" $test_line]
@@ -393,6 +447,33 @@ proc go-gc-tests { } {
            # This is a vanilla execution test.
            go-torture-execute $test
            file delete core [glob -nocomplain core.*]
+       } elseif { $test_line == "// \$G \$D/\$F.go && \$L \$F.\$A && ./\$A.out 2>&1 | cmp - \$D/\$F.out" \
+                      || $test_line == "// (\$G \$D/\$F.go && \$L \$F.\$A && ./\$A.out 2>&1 | cmp - \$D/\$F.out)" } {
+           # This is an execution test for which we need to check the
+           # program output.
+           set hold_runtests $runtests
+           set runtests "go-test.exp"
+           set dg-do-what-default "link"
+           dg-test -keep-output $test "-O" "-w $DEFAULT_GOCFLAGS"
+           set output_file "./[file rootname [file tail $test]].exe"
+           set base "[file rootname [file tail $test]]"
+           if [isnative] {
+               verbose -log "$output_file >$base.p 2>&1"
+               if { [catch "exec $output_file 2>$base.p" catcherr] != 0 } {
+                   verbose -log $catcherr
+                   fail "$name execution"
+                   untested "$name compare"
+               } else {
+                   pass "$name execution"
+                   regsub "\\.go$" $test ".out" expect
+                   filecmp $expect $base.p "$name compare"
+               }
+               #file delete $base.p
+           } else {
+               untested "$name execution"
+               untested "$name compare"
+           }
+           set runtests $hold_runtests
        } elseif { [string match \
                        "// \$G \$D/\$F.go && \$L \$F.\$A || echo BUG*" \
                        $test_line] \
@@ -405,6 +486,10 @@ proc go-gc-tests { } {
        } elseif { [string match "// \$G \$D/\$F.go" $test_line] \
                   || [string match "// \$G \$D/\$F.go || echo BUG*" \
                           $test_line] \
+                  || [string match "// \$G \$D/\$F.go || echo \"Bug*" \
+                          $test_line] \
+                  || [string match "// \$G \$D/\$F.go || echo \"Issue*" \
+                          $test_line] \
                   || [string match "// \$G \$F.go || echo BUG*" \
                           $test_line] \
                   || [string match "// ! \$G \$D/\$F.go && echo BUG*" \
@@ -452,13 +537,27 @@ proc go-gc-tests { } {
            errchk $test ""
        } elseif { [string match \
                        "// \$G \$D/\$F.dir/bug0.go && \$G \$D/\$F.dir/bug1.go || echo BUG*" \
-                       $test_line] } {
+                       $test_line] \
+                      || [string match \
+                              "// \$G \$D/\$F.dir/one.go && \$G \$D/\$F.dir/two.go" \
+                              $test_line] } {
+           if { [string match \
+                     "// \$G \$D/\$F.dir/bug0.go && \$G \$D/\$F.dir/bug1.go || echo BUG*" \
+                     $test_line] } {
+               set name1 "bug0.go"
+               set name2 "bug1.go"
+           } elseif { [string match \
+                           "// \$G \$D/\$F.dir/one.go && \$G \$D/\$F.dir/two.go" \
+                           $test_line] } {
+               set name1 "one.go"
+               set name2 "two.go"
+           }
            set hold_runtests $runtests
            set runtests "go-test.exp"
            set dg-do-what-default "assemble"
-           regsub "\\.go$" $test ".dir/bug0.go" file1
+           regsub "\\.go$" $test ".dir/$name1" file1
            dg-test -keep-output $file1 "-O" "-w $DEFAULT_GOCFLAGS"
-           regsub "\\.go$" $test ".dir/bug1.go" file2
+           regsub "\\.go$" $test ".dir/$name2" file2
            dg-test $file2 "-O" "-w $DEFAULT_GOCFLAGS"
            file delete "[file rootname [file tail $file1]].o"
            set runtests $hold_runtests
@@ -650,14 +749,28 @@ proc go-gc-tests { } {
            set runtests $hold_runtests
        } elseif { [string match \
                        "// \$G \$D/\$F.dir/lib.go && \$G \$D/\$F.dir/main.go && \$L main.\$A && ./\$A.out || echo BUG*" \
-                       $test_line ] } {
+                       $test_line ] || \
+                      [string match \
+                           "// \$G \$D/\$F.dir/p.go && \$G \$D/\$F.dir/main.go && \$L main.\$A && ./\$A.out || echo BUG*" \
+                           $test_line ] } {
+           if { [string match \
+                     "// \$G \$D/\$F.dir/lib.go && \$G \$D/\$F.dir/main.go && \$L main.\$A && ./\$A.out || echo BUG*" \
+                     $test_line ] } {
+               set name1 "lib.go"
+               set name2 "main.go"
+           } elseif { [string match \
+                           "// \$G \$D/\$F.dir/p.go && \$G \$D/\$F.dir/main.go && \$L main.\$A && ./\$A.out || echo BUG*" \
+                           $test_line ] } {
+               set name1 "p.go"
+               set name2 "main.go"
+           }
            set hold_runtests $runtests
            set runtests "go-test.exp"
            set dg-do-what-default "assemble"
-           regsub "\\.go$" $test ".dir/lib.go" file1
+           regsub "\\.go$" $test ".dir/$name1" file1
            dg-test -keep-output $file1 "-O" "-w $DEFAULT_GOCFLAGS"
            set ofile1 "[file rootname [file tail $file1]].o"
-           regsub "\\.go$" $test ".dir/main.go" file2
+           regsub "\\.go$" $test ".dir/$name2" file2
            dg-test -keep-output $file2 "-O" "-w $DEFAULT_GOCFLAGS"
            set ofile2 "[file rootname [file tail $file2]].o"
            set dg-do-what-default "link"
@@ -705,7 +818,7 @@ proc go-gc-tests { } {
            errchk $file2 ""
            file delete "[file rootname [file tail $file1]].o"
            set runtests $hold_runtests
-       } elseif { [string match "// true*" $test_line] } {
+       } elseif { "$test_line" == "" || [string match "// true*" $test_line] } {
            # Not a real test, just ignore.
        } elseif { $test_line == "// \$G \$D/\$F.dir/bug0.go &&" \
                       && $test_line2 == "// \$G \$D/\$F.dir/bug1.go &&" \
@@ -886,7 +999,7 @@ proc go-gc-tests { } {
                    file delete $base-out.x
                    go-torture-execute "./$base-out.go"
                }
-               file delete $base-out.go
+               file delete $base-out.go
            }
            file delete $output_file
            set runtests $hold_runtests
@@ -894,23 +1007,96 @@ proc go-gc-tests { } {
            regsub "\\.go$" $test ".dir/a.go" file1
            regsub "\\.go$" $test ".dir/b.go" file2
            errchk "$file1" "$file2"
+       } elseif { $test_line == "// \$G \$D/\$F.go \$D/z*.go && \$L \$F.\$A && ./\$A.out" } {
+           set dir [file dirname $test]
+           set go_compile_args [glob $dir/z*.go]
+           go-torture-execute $test
+       } elseif { $test_line == "// \$G -N -o slow.\$A \$D/bug369.dir/pkg.go &&" \
+                      && $test_line2 == "// \$G -o fast.\$A \$D/bug369.dir/pkg.go &&" \
+                      && $test_line3 == "// \$G \$D/\$F.go && \$L \$F.\$A && ./\$A.out" } {
+           set hold_runtests $runtests
+           set runtests "go-test.exp"
+           set dg-do-what-default "assemble"
+           regsub "\\.go$" $test ".dir/pkg.go" file1
+           dg-test -keep-output $file1 "" "-fgo-prefix=slow -w $DEFAULT_GOCFLAGS"
+           set ofile1 "[file rootname [file tail $file1]].o"
+           file rename -force $ofile1 slow.o
+           dg-test -keep-output $file1 "-O2" "-fgo-prefix=fast -w $DEFAULT_GOCFLAGS"
+           file rename -force $ofile1 fast.o
+           set ofile2 "[file rootname [file tail $test]].o"
+           dg-test -keep-output $test "-O" "-w $DEFAULT_GOCFLAGS"
+           set output_file "./[file rootname [file tail $test]].exe"
+           set comp_output [go_target_compile "$ofile2 slow.o fast.o" \
+                                $output_file "executable" "$options"]
+           set comp_output [go-dg-prune $target_triplet $comp_output]
+           if [string match "" $comp_output] {
+               set result [go_load "$output_file" "" ""]
+               set status [lindex $result 0]
+               $status $name
+           } else {
+               verbose -log $comp_output
+               fail $name
+           }
+           file delete slow.o fast.o $ofile2 $output_file
+           set runtests $hold_runtests
+       } elseif { [string match \
+                       "// \$G \$D/\$F.dir/pkg.go && \$G \$D/\$F.go || echo *" \
+                       $test_line ] } {
+           set hold_runtests $runtests
+           set runtests "go-test.exp"
+           set dg-do-what-default "assemble"
+           regsub "\\.go$" $test ".dir/pkg.go" file1
+           dg-test -keep-output $file1 "-O" "-w $DEFAULT_GOCFLAGS"
+           dg-test $test "-O" "-w $DEFAULT_GOCFLAGS"
+           file delete "[file rootname [file tail $file1]].o"
+           set runtests $hold_runtests
+       } elseif { $test_line == "// \$G \$D/\$F.go && \$L \$F.\$A && ./\$A.out >tmp.go &&"
+                  && $test_line2 == "// \$G tmp.go && \$L tmp.\$A && ./\$A.out" } {
+           set go_execute_args ""
+           set hold_runtests $runtests
+           set runtests "go-test.exp"
+           set dg-do-what-default "link"
+           dg-test -keep-output $test "-O" "-w $DEFAULT_GOCFLAGS"
+           set output_file "./[file rootname [file tail $test]].exe"
+           set base "[file rootname [file tail $test]]"
+           if [isnative] {
+               if { [catch "exec $output_file >$base-out.go"] != 0 } {
+                   fail "$name execution"
+               } else {
+                   pass "$name execution"
+                   file delete $base-out.x
+                   go-torture-execute "./$base-out.go"
+               }
+               file delete $base-out.go
+           }
+           file delete $output_file
+           set runtests $hold_runtests
        } elseif { $test_line == "// # generated by cmplxdivide.c" } {
            # Ignore.
        } elseif { $test_line == "// \$G \$D/bug302.dir/p.go && gopack grc pp.a p.\$A && \$G \$D/bug302.dir/main.go" \
                   || $test_line == "// \$G \$D/empty.go && errchk \$G \$D/\$F.go" } {
            # These tests import the same package under two different
            # names, which gccgo does not support.
-       } elseif { $test_line == "// \$G -S \$D/\$F.go | egrep initdone >/dev/null && echo FAIL || true" } {
+       } elseif { $test_line == "// \$G -S \$D/\$F.go | egrep initdone >/dev/null && echo BUG sinit || true" } {
            # This tests whether initializers are written out
            # statically.  gccgo does not provide a way to test that,
            # as an initializer will be generated for any code which
            # has global variables which need to be registered as GC
            # roots.
+       } elseif { $test_line == "// errchk -0 \$G -m -l \$D/\$F.go" } {
+           # This tests debug output of the gc compiler, which is
+           # meaningless for gccgo.
+       } elseif { $test_line == "// \[ \$O == 6 \] || errchk \$G -e \$D/\$F.go" \
+                      || $test_line == "// \[ \$O != 6 \]  || errchk \$G -e \$D/\$F.go" } {
+           # This tests specific handling of the gc compiler on types
+           # that are too large.  It is target specific in a way I
+           # haven't bothered to check for here.
        } else {
            clone_output "$name: unrecognized test line: $test_line"
            unsupported $name
        }
 
+       set go_compile_args ""
        set go_execute_args ""
     }
 
diff --git a/gcc/testsuite/go.test/test/alias.go b/gcc/testsuite/go.test/test/alias.go
new file mode 100644 (file)
index 0000000..639a9ca
--- /dev/null
@@ -0,0 +1,32 @@
+// errchk $G -e $D/$F.go
+
+// Copyright 2011 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 main
+
+// Test that error messages say what the source file says
+// (uint8 vs byte, int32 vs. rune).
+
+import (
+       "fmt"
+       "unicode/utf8"
+)
+
+func f(byte)  {}
+func g(uint8) {}
+
+func main() {
+       var x float64
+       f(x) // ERROR "byte"
+       g(x) // ERROR "uint8"
+
+       // Test across imports.
+
+       var ff fmt.Formatter
+       var fs fmt.State
+       ff.Format(fs, x) // ERROR "rune"
+
+       utf8.RuneStart(x) // ERROR "byte"
+}
diff --git a/gcc/testsuite/go.test/test/alias1.go b/gcc/testsuite/go.test/test/alias1.go
new file mode 100644 (file)
index 0000000..e8ef8a2
--- /dev/null
@@ -0,0 +1,54 @@
+// $G $D/$F.go && $L $F.$A && ./$A.out
+
+// Copyright 2011 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 main
+
+// Test that dynamic interface checks treat byte=uint8
+// and rune=int or rune=int32.
+
+func main() {
+       var x interface{}
+
+       x = byte(1)
+       switch x.(type) {
+       case uint8:
+               // ok
+       default:
+               println("byte != uint8")
+       }
+
+       x = uint8(2)
+       switch x.(type) {
+       case byte:
+               // ok
+       default:
+               println("uint8 != byte")
+       }
+
+       rune32 := false
+       x = rune(3)
+       switch x.(type) {
+       case int:
+               // ok
+       case int32:
+               // must be new code
+               rune32 = true
+       default:
+               println("rune != int and rune != int32")
+       }
+
+       if rune32 {
+               x = int32(4)
+       } else {
+               x = int(5)
+       }
+       switch x.(type) {
+       case rune:
+               // ok
+       default:
+               println("int (or int32) != rune")
+       }
+}
index 96421c3..e178f46 100644 (file)
@@ -63,6 +63,11 @@ var tests = []struct {
        {"byte i", append([]byte{0, 1, 2}, []byte{3}...), []byte{0, 1, 2, 3}},
        {"byte j", append([]byte{0, 1, 2}, []byte{3, 4, 5}...), []byte{0, 1, 2, 3, 4, 5}},
 
+       {"bytestr a", append([]byte{}, "0"...), []byte("0")},
+       {"bytestr b", append([]byte{}, "0123"...), []byte("0123")},
+
+       {"bytestr c", append([]byte("012"), "3"...), []byte("0123")},
+       {"bytestr d", append([]byte("012"), "345"...), []byte("012345")},
 
        {"int16 a", append([]int16{}), []int16{}},
        {"int16 b", append([]int16{}, 0), []int16{0}},
@@ -2,23 +2,24 @@
 # Use of this source code is governed by a BSD-style
 # license that can be found in the LICENSE file.
 
-include ../../src/Make.inc
+include ../../../src/Make.inc
 
 ALL=\
        parser\
        peano\
        tree\
+       tree2\
 
 all: $(addsuffix .out, $(ALL))
 
 %.$O: %.go stats.go
-       $(GC) $*.go stats.go
+       $(GC) $(GCFLAGS) $(GCIMPORTS) $*.go stats.go
 
 %.out: %.$O
        $(LD) -o $@ $*.$O
 
 %.bench: %.out
-       ./$*.out
+       time ./$*.out
 
 bench: $(addsuffix .bench, $(ALL))
 
@@ -12,27 +12,27 @@ import (
        "go/ast"
        "go/parser"
        "go/token"
+       "log"
+       "net/http"
+       _ "net/http/pprof"
        "os"
        "path"
        "runtime"
        "strings"
        "time"
-       "http"
-       _ "http/pprof"
-       "log"
 )
 
 var serve = flag.String("serve", "", "serve http on this address at end")
 
-func isGoFile(dir *os.FileInfo) bool {
-       return dir.IsRegular() &&
-               !strings.HasPrefix(dir.Name, ".") && // ignore .files
-               path.Ext(dir.Name) == ".go"
+func isGoFile(dir os.FileInfo) bool {
+       return !dir.IsDir() &&
+               !strings.HasPrefix(dir.Name(), ".") && // ignore .files
+               path.Ext(dir.Name()) == ".go"
 }
 
-func isPkgFile(dir *os.FileInfo) bool {
+func isPkgFile(dir os.FileInfo) bool {
        return isGoFile(dir) &&
-               !strings.HasSuffix(dir.Name, "_test.go") // ignore test files
+               !strings.HasSuffix(dir.Name(), "_test.go") // ignore test files
 }
 
 func pkgName(filename string) string {
@@ -49,7 +49,7 @@ func parseDir(dirpath string) map[string]*ast.Package {
        _, pkgname := path.Split(dirpath)
 
        // filter function to select the desired .go files
-       filter := func(d *os.FileInfo) bool {
+       filter := func(d os.FileInfo) bool {
                if isPkgFile(d) {
                        // Some directories contain main packages: Only accept
                        // files that belong to the expected package so that
@@ -57,7 +57,7 @@ func parseDir(dirpath string) map[string]*ast.Package {
                        // found" errors.
                        // Additionally, accept the special package name
                        // fakePkgName if we are looking at cmd documentation.
-                       name := pkgName(dirpath + "/" + d.Name)
+                       name := pkgName(dirpath + "/" + d.Name())
                        return name == pkgname
                }
                return false
@@ -66,17 +66,13 @@ func parseDir(dirpath string) map[string]*ast.Package {
        // get package AST
        pkgs, err := parser.ParseDir(token.NewFileSet(), dirpath, filter, parser.ParseComments)
        if err != nil {
-               println("parse", dirpath, err.String())
+               println("parse", dirpath, err.Error())
                panic("fail")
        }
        return pkgs
 }
 
 func main() {
-       runtime.GOMAXPROCS(4)
-       go func() {}()
-       go func() {}()
-       go func() {}()
        st := &runtime.MemStats
        packages = append(packages, packages...)
        packages = append(packages, packages...)
@@ -86,7 +82,7 @@ func main() {
        flag.Parse()
 
        var lastParsed []map[string]*ast.Package
-       var t0 int64
+       var t0 time.Time
        pkgroot := runtime.GOROOT() + "/src/pkg/"
        for pass := 0; pass < 2; pass++ {
                // Once the heap is grown to full size, reset counters.
@@ -95,7 +91,7 @@ func main() {
                // the average look much better than it actually is.
                st.NumGC = 0
                st.PauseTotalNs = 0
-               t0 = time.Nanoseconds()
+               t0 = time.Now()
 
                for i := 0; i < *n; i++ {
                        parsed := make([]map[string]*ast.Package, *p)
@@ -109,7 +105,7 @@ func main() {
                runtime.GC()
                runtime.GC()
        }
-       t1 := time.Nanoseconds()
+       t1 := time.Now()
 
        fmt.Printf("Alloc=%d/%d Heap=%d Mallocs=%d PauseTime=%.3f/%d = %.3f\n",
                st.Alloc, st.TotalAlloc,
@@ -124,7 +120,7 @@ func main() {
                }
        */
        // Standard gotest benchmark output, collected by build dashboard.
-       gcstats("BenchmarkParser", *n, t1-t0)
+       gcstats("BenchmarkParser", *n, t1.Sub(t0))
 
        if *serve != "" {
                log.Fatal(http.ListenAndServe(*serve, nil))
@@ -132,23 +128,20 @@ func main() {
        }
 }
 
-
 var packages = []string{
        "archive/tar",
-       "asn1",
-       "big",
+       "encoding/asn1",
+       "math/big",
        "bufio",
        "bytes",
-       "cmath",
+       "math/cmplx",
        "compress/flate",
        "compress/gzip",
        "compress/zlib",
        "container/heap",
        "container/list",
        "container/ring",
-       "container/vector",
        "crypto/aes",
-       "crypto/block",
        "crypto/blowfish",
        "crypto/hmac",
        "crypto/md4",
@@ -167,20 +160,14 @@ var packages = []string{
        "debug/macho",
        "debug/elf",
        "debug/gosym",
-       "debug/proc",
-       "ebnf",
+       "exp/ebnf",
        "encoding/ascii85",
        "encoding/base64",
        "encoding/binary",
        "encoding/git85",
        "encoding/hex",
        "encoding/pem",
-       "exec",
-       "exp/datafmt",
-       "exp/draw",
-       "exp/eval",
-       "exp/iterable",
-       "expvar",
+       "os/exec",
        "flag",
        "fmt",
        "go/ast",
@@ -189,18 +176,18 @@ var packages = []string{
        "go/printer",
        "go/scanner",
        "go/token",
-       "gob",
+       "encoding/gob",
        "hash",
        "hash/adler32",
        "hash/crc32",
        "hash/crc64",
-       "http",
+       "net/http",
        "image",
        "image/jpeg",
        "image/png",
        "io",
        "io/ioutil",
-       "json",
+       "encoding/json",
        "log",
        "math",
        "mime",
@@ -209,29 +196,29 @@ var packages = []string{
        "os/signal",
        "patch",
        "path",
-       "rand",
+       "math/rand",
        "reflect",
        "regexp",
-       "rpc",
+       "net/rpc",
        "runtime",
-       "scanner",
+       "text/scanner",
        "sort",
-       "smtp",
+       "net/smtp",
        "strconv",
        "strings",
        "sync",
        "syscall",
-       "syslog",
-       "tabwriter",
-       "template",
+       "log/syslog",
+       "text/tabwriter",
+       "text/template",
        "testing",
        "testing/iotest",
        "testing/quick",
        "testing/script",
        "time",
        "unicode",
-       "utf8",
-       "utf16",
+       "unicode/utf8",
+       "unicode/utf16",
        "websocket",
-       "xml",
+       "encoding/xml",
 }
@@ -12,31 +12,25 @@ import (
        "time"
 )
 
-
 type Number struct {
        next *Number
 }
 
-
 // -------------------------------------
 // Peano primitives
 
 func zero() *Number { return nil }
 
-
 func is_zero(x *Number) bool { return x == nil }
 
-
 func add1(x *Number) *Number {
        e := new(Number)
        e.next = x
        return e
 }
 
-
 func sub1(x *Number) *Number { return x.next }
 
-
 func add(x, y *Number) *Number {
        if is_zero(y) {
                return x
@@ -45,7 +39,6 @@ func add(x, y *Number) *Number {
        return add(add1(x), sub1(y))
 }
 
-
 func mul(x, y *Number) *Number {
        if is_zero(x) || is_zero(y) {
                return zero()
@@ -54,7 +47,6 @@ func mul(x, y *Number) *Number {
        return add(mul(x, sub1(y)), x)
 }
 
-
 func fact(n *Number) *Number {
        if is_zero(n) {
                return add1(zero())
@@ -63,7 +55,6 @@ func fact(n *Number) *Number {
        return mul(fact(sub1(n)), n)
 }
 
-
 // -------------------------------------
 // Helpers to generate/count Peano integers
 
@@ -75,7 +66,6 @@ func gen(n int) *Number {
        return zero()
 }
 
-
 func count(x *Number) int {
        if is_zero(x) {
                return 0
@@ -84,7 +74,6 @@ func count(x *Number) int {
        return count(sub1(x)) + 1
 }
 
-
 func check(x *Number, expected int) {
        var c = count(x)
        if c != expected {
@@ -92,7 +81,6 @@ func check(x *Number, expected int) {
        }
 }
 
-
 // -------------------------------------
 // Test basic functionality
 
@@ -117,19 +105,17 @@ func verify() {
        check(fact(gen(5)), 120)
 }
 
-
 // -------------------------------------
 // Factorial
 
-
 func main() {
-       t0 := time.Nanoseconds()
+       t0 := time.Now()
        verify()
        for i := 0; i <= 9; i++ {
                print(i, "! = ", count(fact(gen(i))), "\n")
        }
        runtime.GC()
-       t1 := time.Nanoseconds()
+       t1 := time.Now()
 
-       gcstats("BenchmarkPeano", 1, t1-t0)
+       gcstats("BenchmarkPeano", 1, t1.Sub(t0))
 }
@@ -8,12 +8,13 @@ import (
        "fmt"
        "runtime"
        "sort"
+       "time"
 )
 
-func gcstats(name string, n int, t int64) {
+func gcstats(name string, n int, t time.Duration) {
        st := &runtime.MemStats
        fmt.Printf("garbage.%sMem Alloc=%d/%d Heap=%d NextGC=%d Mallocs=%d\n", name, st.Alloc, st.TotalAlloc, st.Sys, st.NextGC, st.Mallocs)
-       fmt.Printf("garbage.%s %d %d ns/op\n", name, n, t/int64(n))
+       fmt.Printf("garbage.%s %d %d ns/op\n", name, n, t.Nanoseconds()/int64(n))
        fmt.Printf("garbage.%sLastPause 1 %d ns/op\n", name, st.PauseNs[(st.NumGC-1)%uint32(len(st.PauseNs))])
        fmt.Printf("garbage.%sPause %d %d ns/op\n", name, st.NumGC, int64(st.PauseTotalNs)/int64(st.NumGC))
        nn := int(st.NumGC)
@@ -22,13 +23,14 @@ func gcstats(name string, n int, t int64) {
        }
        t1, t2, t3, t4, t5 := tukey5(st.PauseNs[0:nn])
        fmt.Printf("garbage.%sPause5: %d %d %d %d %d\n", name, t1, t2, t3, t4, t5)
-       
-//     fmt.Printf("garbage.%sScan: %v\n", name, st.ScanDist)
+
+       //      fmt.Printf("garbage.%sScan: %v\n", name, st.ScanDist)
 }
 
 type T []uint64
-func (t T) Len() int { return len(t) }
-func (t T) Swap(i, j int) { t[i], t[j] = t[j], t[i] }
+
+func (t T) Len() int           { return len(t) }
+func (t T) Swap(i, j int)      { t[i], t[j] = t[j], t[i] }
 func (t T) Less(i, j int) bool { return t[i] < t[j] }
 
 func tukey5(raw []uint64) (lo, q1, q2, q3, hi uint64) {
@@ -68,7 +68,7 @@ const minDepth = 4
 func main() {
        flag.Parse()
 
-       t0 := time.Nanoseconds()
+       t0 := time.Now()
 
        maxDepth := *n
        if minDepth+2 > *n {
@@ -93,8 +93,8 @@ func main() {
        }
        fmt.Printf("long lived tree of depth %d\t check: %d\n", maxDepth, longLivedTree.itemCheck())
 
-       t1 := time.Nanoseconds()
+       t1 := time.Now()
 
        // Standard gotest benchmark output, collected by build dashboard.
-       gcstats("BenchmarkTree", *n, t1-t0)
+       gcstats("BenchmarkTree", *n, t1.Sub(t0))
 }
diff --git a/gcc/testsuite/go.test/test/bench/garbage/tree2.go b/gcc/testsuite/go.test/test/bench/garbage/tree2.go
new file mode 100644 (file)
index 0000000..6d78f72
--- /dev/null
@@ -0,0 +1,88 @@
+// Copyright 2012 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 main
+
+import (
+       "flag"
+       "fmt"
+       "log"
+       "os"
+       "runtime"
+       "runtime/pprof"
+       "unsafe"
+)
+
+const BranchingFactor = 4
+
+type Object struct {
+       child [BranchingFactor]*Object
+}
+
+var (
+       cpus       = flag.Int("cpus", 1, "number of cpus to use")
+       heapsize   = flag.Int64("heapsize", 100*1024*1024, "size of the heap in bytes")
+       cpuprofile = flag.String("cpuprofile", "", "write cpu profile to file")
+
+       lastPauseNs uint64 = 0
+       lastFree    uint64 = 0
+       heap        *Object
+       calls       [20]int
+       numobjects  int64
+)
+
+func buildHeap() {
+       objsize := int64(unsafe.Sizeof(Object{}))
+       heap, _ = buildTree(float64(objsize), float64(*heapsize), 0)
+       fmt.Printf("*** built heap: %.0f MB; (%d objects * %d bytes)\n",
+               float64(*heapsize)/1048576, numobjects, objsize)
+}
+
+func buildTree(objsize, size float64, depth int) (*Object, float64) {
+       calls[depth]++
+       x := &Object{}
+       numobjects++
+       subtreeSize := (size - objsize) / BranchingFactor
+       alloc := objsize
+       for i := 0; i < BranchingFactor && alloc < size; i++ {
+               c, n := buildTree(objsize, subtreeSize, depth+1)
+               x.child[i] = c
+               alloc += n
+       }
+       return x, alloc
+}
+
+func gc() {
+       runtime.GC()
+       runtime.UpdateMemStats()
+       pause := runtime.MemStats.PauseTotalNs
+       inuse := runtime.MemStats.Alloc
+       free := runtime.MemStats.TotalAlloc - inuse
+       fmt.Printf("gc pause: %8.3f ms; collect: %8.0f MB; heapsize: %8.0f MB\n",
+               float64(pause-lastPauseNs)/1e6,
+               float64(free-lastFree)/1048576,
+               float64(inuse)/1048576)
+       lastPauseNs = pause
+       lastFree = free
+}
+
+func main() {
+       flag.Parse()
+       buildHeap()
+       runtime.GOMAXPROCS(*cpus)
+       runtime.UpdateMemStats()
+       lastPauseNs = runtime.MemStats.PauseTotalNs
+       lastFree = runtime.MemStats.TotalAlloc - runtime.MemStats.Alloc
+       if *cpuprofile != "" {
+               f, err := os.Create(*cpuprofile)
+               if err != nil {
+                       log.Fatal(err)
+               }
+               pprof.StartCPUProfile(f)
+               defer pprof.StopCPUProfile()
+       }
+       for i := 0; i < 10; i++ {
+               gc()
+       }
+}
diff --git a/gcc/testsuite/go.test/test/bench/go1/Makefile b/gcc/testsuite/go.test/test/bench/go1/Makefile
new file mode 100644 (file)
index 0000000..9484743
--- /dev/null
@@ -0,0 +1,7 @@
+include $(GOROOT)/src/Make.inc
+
+TARG=go1
+GOFILES=\
+       dummy.go\
+
+include $(GOROOT)/src/Make.pkg
diff --git a/gcc/testsuite/go.test/test/bench/go1/_gotest_.6 b/gcc/testsuite/go.test/test/bench/go1/_gotest_.6
new file mode 100644 (file)
index 0000000..9fa1baa
--- /dev/null
@@ -0,0 +1,885 @@
+go object linux amd64 weekly.2012-01-15 11312+ X:none
+  exports automatically generated from
+  template_test.go in package "go1"
+
+$$  // exports
+    package go1
+       import log "log"
+       import ioutil "io/ioutil"
+       import runtime "runtime"
+       import bufio "bufio"
+       import bzip2 "compress/bzip2"
+       import io "io"
+       import gzip "compress/gzip"
+       import testing "testing"
+       import base64 "encoding/base64"
+       import strings "strings"
+       import gob "encoding/gob"
+       import reflect "reflect"
+       import template "text/template"
+       import json "encoding/json"
+       import bytes "bytes"
+       type @"".binaryNode struct { @"".item int; @"".left *@"".binaryNode; @"".right *@"".binaryNode }
+       func (@"".n *@"".binaryNode "noescape") @"".itemCheck() (? int)
+       func @"".bottomUpTree(@"".item int, @"".depth int) (? *@"".binaryNode)
+       const @"".minDepth = 4
+       func @"".binarytree(@"".n int)
+       import time "time" // indirect
+       type @"time".zone struct { @"time".name string; @"time".offset int; @"time".isDST bool }
+       type @"time".zoneTrans struct { @"time".when int64; @"time".index uint8; @"time".isstd bool; @"time".isutc bool }
+       type @"time".Location struct { @"time".name string; @"time".zone []@"time".zone; @"time".tx []@"time".zoneTrans; @"time".cacheStart int64; @"time".cacheEnd int64; @"time".cacheZone *@"time".zone }
+       func (@"time".l *@"time".Location) String() (? string)
+       func (@"time".l *@"time".Location) @"time".get() (? *@"time".Location)
+       func (@"time".l *@"time".Location) @"time".lookup(@"time".sec int64) (@"time".name string, @"time".offset int, @"time".isDST bool, @"time".start int64, @"time".end int64)
+       func (@"time".l *@"time".Location) @"time".lookupName(@"time".name string "noescape") (@"time".offset int, @"time".isDST bool, @"time".ok bool)
+       func (@"time".l *@"time".Location) @"time".lookupOffset(@"time".offset int) (@"time".name string, @"time".isDST bool, @"time".ok bool)
+       type @"time".Duration int64
+       func (@"time".d @"time".Duration) Hours() (? float64)
+       func (@"time".d @"time".Duration) Minutes() (? float64)
+       func (@"time".d @"time".Duration) Nanoseconds() (? int64) { return int64(@"time".d) }
+       func (@"time".d @"time".Duration) Seconds() (? float64)
+       func (@"time".d @"time".Duration) String() (? string)
+       type @"time".Month int
+       func (@"time".m @"time".Month) String() (? string) { return @"time".months[@"time".m - @"time".Month(1)] }
+       type @"time".Weekday int
+       func (@"time".d @"time".Weekday) String() (? string) { return @"time".days[@"time".d] }
+       type @"time".Time struct { @"time".sec int64; @"time".nsec int32; @"time".loc *@"time".Location }
+       func (@"time".t @"time".Time) Add(@"time".d @"time".Duration) (? @"time".Time)
+       func (@"time".t @"time".Time) AddDate(@"time".years int, @"time".months int, @"time".days int) (? @"time".Time)
+       func (@"time".t @"time".Time "noescape") After(@"time".u @"time".Time "noescape") (? bool) { return @"time".t.@"time".sec > @"time".u.@"time".sec || @"time".t.@"time".sec == @"time".u.@"time".sec && @"time".t.@"time".nsec > @"time".u.@"time".nsec }
+       func (@"time".t @"time".Time "noescape") Before(@"time".u @"time".Time "noescape") (? bool) { return @"time".t.@"time".sec < @"time".u.@"time".sec || @"time".t.@"time".sec == @"time".u.@"time".sec && @"time".t.@"time".nsec < @"time".u.@"time".nsec }
+       func (@"time".t @"time".Time) Clock() (@"time".hour int, @"time".min int, @"time".sec int)
+       func (@"time".t @"time".Time) Date() (@"time".year int, @"time".month @"time".Month, @"time".day int)
+       func (@"time".t @"time".Time) Day() (? int)
+       func (@"time".t @"time".Time "noescape") Equal(@"time".u @"time".Time "noescape") (? bool) { return @"time".t.@"time".sec == @"time".u.@"time".sec && @"time".t.@"time".nsec == @"time".u.@"time".nsec }
+       func (@"time".t @"time".Time) Format(@"time".layout string) (? string)
+       func (@"time".t *@"time".Time "noescape") GobDecode(@"time".buf []byte "noescape") (? error)
+       func (@"time".t @"time".Time) GobEncode() (? []byte, ? error)
+       func (@"time".t @"time".Time) Hour() (? int)
+       func (@"time".t @"time".Time) ISOWeek() (@"time".year int, @"time".week int)
+       func (@"time".t @"time".Time) In(@"time".loc *@"time".Location) (? @"time".Time)
+       func (@"time".t @"time".Time "noescape") IsZero() (? bool) { return @"time".t.@"time".sec == 0 && @"time".t.@"time".nsec == 0 }
+       func (@"time".t @"time".Time) Local() (? @"time".Time)
+       func (@"time".t @"time".Time) Location() (? *@"time".Location)
+       func (@"time".t @"time".Time) MarshalJSON() (? []byte, ? error)
+       func (@"time".t @"time".Time) Minute() (? int)
+       func (@"time".t @"time".Time) Month() (? @"time".Month)
+       func (@"time".t @"time".Time "noescape") Nanosecond() (? int) { return int(@"time".t.@"time".nsec) }
+       func (@"time".t @"time".Time) Second() (? int)
+       func (@"time".t @"time".Time) String() (? string)
+       func (@"time".t @"time".Time "noescape") Sub(@"time".u @"time".Time "noescape") (? @"time".Duration) { return @"time".Duration(@"time".t.@"time".sec - @"time".u.@"time".sec) * @"time".Duration(1000000000) + @"time".Duration(@"time".t.@"time".nsec - @"time".u.@"time".nsec) }
+       func (@"time".t @"time".Time) UTC() (? @"time".Time)
+       func (@"time".t @"time".Time "noescape") Unix() (? int64) { return @"time".t.@"time".sec + -62135596800 }
+       func (@"time".t @"time".Time "noescape") UnixNano() (? int64) { return (@"time".t.@"time".sec + -62135596800) * 1000000000 + int64(@"time".t.@"time".nsec) }
+       func (@"time".t *@"time".Time "noescape") UnmarshalJSON(@"time".data []byte "noescape") (@"time".err error)
+       func (@"time".t @"time".Time) Weekday() (? @"time".Weekday)
+       func (@"time".t @"time".Time) Year() (? int)
+       func (@"time".t @"time".Time) Zone() (@"time".name string, @"time".offset int)
+       func (@"time".t @"time".Time) @"time".abs() (? uint64)
+       func (@"time".t @"time".Time) @"time".date(@"time".full bool) (@"time".year int, @"time".month @"time".Month, @"time".day int, @"time".yday int)
+       type @"testing".common struct { @"testing".output []byte; @"testing".failed bool; @"testing".start @"time".Time; @"testing".duration @"time".Duration; @"testing".self interface {}; @"testing".signal chan interface {} }
+       func (@"testing".c *@"testing".common "noescape") Error(@"testing".args ...interface {} "noescape")
+       func (@"testing".c *@"testing".common "noescape") Errorf(@"testing".format string "noescape", @"testing".args ...interface {} "noescape")
+       func (@"testing".c *@"testing".common "noescape") Fail() { @"testing".c.@"testing".failed = true }
+       func (@"testing".c *@"testing".common "noescape") FailNow()
+       func (@"testing".c *@"testing".common "noescape") Failed() (? bool) { return @"testing".c.@"testing".failed }
+       func (@"testing".c *@"testing".common "noescape") Fatal(@"testing".args ...interface {} "noescape")
+       func (@"testing".c *@"testing".common "noescape") Fatalf(@"testing".format string "noescape", @"testing".args ...interface {} "noescape")
+       func (@"testing".c *@"testing".common "noescape") Log(@"testing".args ...interface {} "noescape")
+       func (@"testing".c *@"testing".common "noescape") Logf(@"testing".format string "noescape", @"testing".args ...interface {} "noescape")
+       func (@"testing".c *@"testing".common "noescape") @"testing".log(@"testing".s string)
+       type @"testing".InternalBenchmark struct { Name string; F func(@"testing".b *@"testing".B) }
+       type @"testing".BenchmarkResult struct { N int; T @"time".Duration; Bytes int64 }
+       func (@"testing".r @"testing".BenchmarkResult) NsPerOp() (? int64)
+       func (@"testing".r @"testing".BenchmarkResult) String() (? string)
+       func (@"testing".r @"testing".BenchmarkResult) @"testing".mbPerSec() (? float64)
+       type @"testing".B struct { ? @"testing".common; N int; @"testing".benchmark @"testing".InternalBenchmark; @"testing".bytes int64; @"testing".timerOn bool; @"testing".result @"testing".BenchmarkResult }
+       func (@"testing".b *@"testing".B "noescape") ResetTimer()
+       func (@"testing".b *@"testing".B "noescape") SetBytes(@"testing".n int64) { @"testing".b.@"testing".bytes = @"testing".n }
+       func (@"testing".b *@"testing".B "noescape") StartTimer()
+       func (@"testing".b *@"testing".B "noescape") StopTimer()
+       func (@"testing".b *@"testing".B) @"testing".launch()
+       func (@"testing".b *@"testing".B "noescape") @"testing".nsPerOp() (? int64)
+       func (@"testing".b *@"testing".B) @"testing".run() (? @"testing".BenchmarkResult)
+       func (@"testing".b *@"testing".B) @"testing".runN(@"testing".n int)
+       func (@"testing".b *@"testing".B "noescape") @"testing".trimOutput()
+       func @"".BenchmarkBinaryTree17(@"".b *@"testing".B "noescape")
+       func @"".fannkuch(@"".n int) (? int)
+       func @"".BenchmarkFannkuch11(@"".b *@"testing".B "noescape")
+       var @"".fasta25m []byte
+       func @"".fasta(@"".n int) (? []byte)
+       type @"".fastaBuffer []byte
+       func (@"".b *@"".fastaBuffer "noescape") Flush()
+       func (@"".b *@"".fastaBuffer "noescape") NextWrite(@"".n int) (? []byte)
+       func (@"".b *@"".fastaBuffer "noescape") WriteString(@"".s string "noescape")
+       const @"".fastaLine = 60
+       func @"".fastaRepeat(@"".out *@"".fastaBuffer "noescape", @"".alu []byte "noescape", @"".n int)
+       const @"".fastaLookupSize = 4096
+       const @"".fastaLookupScale float64 = 4095p+0
+       var @"".fastaRand uint32
+       type @"".fastaAcid struct { @"".sym byte; @"".prob float64; @"".cprob float64; @"".next *@"".fastaAcid }
+       func @"".fastaComputeLookup(@"".acid []@"".fastaAcid) (? *[4096]*@"".fastaAcid)
+       func @"".fastaRandom(@"".out *@"".fastaBuffer "noescape", @"".acid []@"".fastaAcid, @"".n int)
+       var @"".gobbytes []byte
+       type @"".JSONNode struct { Name string "json:\"name\""; Kids []*@"".JSONNode "json:\"kids\""; CLWeight float64 "json:\"cl_weight\""; Touches int "json:\"touches\""; MinT int64 "json:\"min_t\""; MaxT int64 "json:\"max_t\""; MeanT int64 "json:\"mean_t\"" }
+       type @"".JSONResponse struct { Tree *@"".JSONNode "json:\"tree\""; Username string "json:\"username\"" }
+       var @"".gobdata *@"".JSONResponse
+       func @"".gobinit()
+       func @"".gobResponse(@"".r *@"".JSONResponse) (? *@"".JSONResponse)
+       func @"".gobNode(@"".n *@"".JSONNode "noescape") (? *@"".JSONNode)
+       func @"".gobdec()
+       func @"".gobenc()
+       func @"".BenchmarkGobDecode(@"".b *@"testing".B "noescape")
+       func @"".BenchmarkGobEncode(@"".b *@"testing".B "noescape")
+       var @"".jsongunz []byte
+       var @"".jsongz []byte
+       func @"".init·1()
+       func @"".gzip()
+       func @"".gunzip()
+       func @"".BenchmarkGzip(@"".b *@"testing".B "noescape")
+       func @"".BenchmarkGunzip(@"".b *@"testing".B "noescape")
+       var @"".jsonbytes []byte
+       var @"".jsondata @"".JSONResponse
+       func @"".init·2()
+       func @"".jsondec()
+       func @"".jsonenc()
+       func @"".BenchmarkJSONEncode(@"".b *@"testing".B "noescape")
+       func @"".BenchmarkJSONDecode(@"".b *@"testing".B "noescape")
+       var @"".jsonbz2_base64 string
+       var @"".revCompTable [256]uint8
+       func @"".revcomp(@"".data []byte)
+       func @"".BenchmarkRevcomp25M(@"".b *@"testing".B "noescape")
+       const @"".tmplText = "\n{\n\t\"tree\":{{template \"node\" .Tree}},\n\t\"username\":\"{{.Username}}\"\n}\n{{define \"node\"}}\n{\n\t\"name\":\"{{.Name}}\",\n\t\"kids\":[\n\t{{range $i, $k := .Kids}}\n\t\t{{if $i}}\n\t\t\t,\n\t\t{{end}}\n\t\t{{template \"node\" $k}}\n\t{{end}}\n\t],\n\t\"cl_weight\":{{.CLWeight}},\n\t\"touches\":{{.Touches}},\n\t\"min_t\":{{.MinT}},\n\t\"max_t\":{{.MaxT}},\n\t\"mean_t\":{{.MeanT}}\n}\n{{end}}\n"
+       func @"".stripTabNL(@"".r rune) (? rune)
+       import parse "text/template/parse" // indirect
+       type @"text/template/parse".NodeType int
+       func (@"text/template/parse".t @"text/template/parse".NodeType) Type() (? @"text/template/parse".NodeType) { return @"text/template/parse".t }
+       type @"text/template/parse".Node interface { Type() (? @"text/template/parse".NodeType); String() (? string) }
+       type @"text/template/parse".ListNode struct { ? @"text/template/parse".NodeType; Nodes []@"text/template/parse".Node }
+       func (@"text/template/parse".l *@"text/template/parse".ListNode "noescape") String() (? string)
+       func (@"text/template/parse".l *@"text/template/parse".ListNode "noescape") @"text/template/parse".append(@"text/template/parse".n @"text/template/parse".Node) { @"text/template/parse".l.Nodes = append(@"text/template/parse".l.Nodes, @"text/template/parse".n) }
+       type @"text/template/parse".stateFn func(? *@"text/template/parse".lexer) (? @"text/template/parse".stateFn)
+       type @"text/template/parse".itemType int
+       func (@"text/template/parse".i @"text/template/parse".itemType) String() (? string)
+       type @"text/template/parse".item struct { @"text/template/parse".typ @"text/template/parse".itemType; @"text/template/parse".val string }
+       func (@"text/template/parse".i @"text/template/parse".item) String() (? string)
+       type @"text/template/parse".lexer struct { @"text/template/parse".name string; @"text/template/parse".input string; @"text/template/parse".leftDelim string; @"text/template/parse".rightDelim string; @"text/template/parse".state @"text/template/parse".stateFn; @"text/template/parse".pos int; @"text/template/parse".start int; @"text/template/parse".width int; @"text/template/parse".items chan @"text/template/parse".item }
+       func (@"text/template/parse".l *@"text/template/parse".lexer "noescape") @"text/template/parse".accept(@"text/template/parse".valid string "noescape") (? bool)
+       func (@"text/template/parse".l *@"text/template/parse".lexer "noescape") @"text/template/parse".acceptRun(@"text/template/parse".valid string "noescape")
+       func (@"text/template/parse".l *@"text/template/parse".lexer "noescape") @"text/template/parse".backup()
+       func (@"text/template/parse".l *@"text/template/parse".lexer "noescape") @"text/template/parse".emit(@"text/template/parse".t @"text/template/parse".itemType)
+       func (@"text/template/parse".l *@"text/template/parse".lexer "noescape") @"text/template/parse".errorf(@"text/template/parse".format string "noescape", @"text/template/parse".args ...interface {} "noescape") (? @"text/template/parse".stateFn)
+       func (@"text/template/parse".l *@"text/template/parse".lexer "noescape") @"text/template/parse".ignore() { @"text/template/parse".l.@"text/template/parse".start = @"text/template/parse".l.@"text/template/parse".pos }
+       func (@"text/template/parse".l *@"text/template/parse".lexer "noescape") @"text/template/parse".lineNumber() (? int)
+       func (@"text/template/parse".l *@"text/template/parse".lexer "noescape") @"text/template/parse".next() (@"text/template/parse".r rune)
+       func (@"text/template/parse".l *@"text/template/parse".lexer) @"text/template/parse".nextItem() (? @"text/template/parse".item)
+       func (@"text/template/parse".l *@"text/template/parse".lexer "noescape") @"text/template/parse".peek() (? rune)
+       func (@"text/template/parse".l *@"text/template/parse".lexer "noescape") @"text/template/parse".scanNumber() (? bool)
+       type @"text/template/parse".CommandNode struct { ? @"text/template/parse".NodeType; Args []@"text/template/parse".Node }
+       func (@"text/template/parse".c *@"text/template/parse".CommandNode "noescape") String() (? string)
+       func (@"text/template/parse".c *@"text/template/parse".CommandNode "noescape") @"text/template/parse".append(@"text/template/parse".arg @"text/template/parse".Node) { @"text/template/parse".c.Args = append(@"text/template/parse".c.Args, @"text/template/parse".arg) }
+       type @"text/template/parse".VariableNode struct { ? @"text/template/parse".NodeType; Ident []string }
+       func (@"text/template/parse".v *@"text/template/parse".VariableNode "noescape") String() (? string)
+       type @"text/template/parse".PipeNode struct { ? @"text/template/parse".NodeType; Line int; Decl []*@"text/template/parse".VariableNode; Cmds []*@"text/template/parse".CommandNode }
+       func (@"text/template/parse".p *@"text/template/parse".PipeNode "noescape") String() (? string)
+       func (@"text/template/parse".p *@"text/template/parse".PipeNode "noescape") @"text/template/parse".append(@"text/template/parse".command *@"text/template/parse".CommandNode) { @"text/template/parse".p.Cmds = append(@"text/template/parse".p.Cmds, @"text/template/parse".command) }
+       type @"text/template/parse".Tree struct { Name string; Root *@"text/template/parse".ListNode; @"text/template/parse".funcs []map[string]interface {}; @"text/template/parse".lex *@"text/template/parse".lexer; @"text/template/parse".token [2]@"text/template/parse".item; @"text/template/parse".peekCount int; @"text/template/parse".vars []string }
+       func (@"text/template/parse".t *@"text/template/parse".Tree) Parse(@"text/template/parse".s string, @"text/template/parse".leftDelim string, @"text/template/parse".rightDelim string, @"text/template/parse".treeSet map[string]*@"text/template/parse".Tree "noescape", @"text/template/parse".funcs ...map[string]interface {}) (@"text/template/parse".tree *@"text/template/parse".Tree, @"text/template/parse".err error)
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".action() (@"text/template/parse".n @"text/template/parse".Node)
+       func (@"text/template/parse".t *@"text/template/parse".Tree) @"text/template/parse".add(@"text/template/parse".treeSet map[string]*@"text/template/parse".Tree "noescape")
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".atEOF() (? bool)
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".backup()
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".backup2(@"text/template/parse".t1 @"text/template/parse".item)
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".command() (? *@"text/template/parse".CommandNode)
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".elseControl() (? @"text/template/parse".Node)
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".endControl() (? @"text/template/parse".Node)
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".error(@"text/template/parse".err error)
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".errorf(@"text/template/parse".format string, @"text/template/parse".args ...interface {} "noescape")
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".expect(@"text/template/parse".expected @"text/template/parse".itemType, @"text/template/parse".context string) (? @"text/template/parse".item)
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".expectOneOf(@"text/template/parse".expected1 @"text/template/parse".itemType, @"text/template/parse".expected2 @"text/template/parse".itemType, @"text/template/parse".context string) (? @"text/template/parse".item)
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".hasFunction(@"text/template/parse".name string "noescape") (? bool)
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".ifControl() (? @"text/template/parse".Node)
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".itemList() (@"text/template/parse".list *@"text/template/parse".ListNode, @"text/template/parse".next @"text/template/parse".Node)
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".next() (? @"text/template/parse".item)
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".parse(@"text/template/parse".treeSet map[string]*@"text/template/parse".Tree "noescape") (@"text/template/parse".next @"text/template/parse".Node)
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".parseControl(@"text/template/parse".context string) (@"text/template/parse".lineNum int, @"text/template/parse".pipe *@"text/template/parse".PipeNode, @"text/template/parse".list *@"text/template/parse".ListNode, @"text/template/parse".elseList *@"text/template/parse".ListNode)
+       func (@"text/template/parse".t *@"text/template/parse".Tree) @"text/template/parse".parseDefinition(@"text/template/parse".treeSet map[string]*@"text/template/parse".Tree "noescape")
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".peek() (? @"text/template/parse".item)
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".pipeline(@"text/template/parse".context string) (@"text/template/parse".pipe *@"text/template/parse".PipeNode)
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".popVars(@"text/template/parse".n int) { @"text/template/parse".t.@"text/template/parse".vars = @"text/template/parse".t.@"text/template/parse".vars[:@"text/template/parse".n] }
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".rangeControl() (? @"text/template/parse".Node)
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".recover(@"text/template/parse".errp *error "noescape")
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".startParse(@"text/template/parse".funcs []map[string]interface {}, @"text/template/parse".lex *@"text/template/parse".lexer)
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".stopParse()
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".templateControl() (? @"text/template/parse".Node)
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".textOrAction() (? @"text/template/parse".Node)
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".unexpected(@"text/template/parse".token @"text/template/parse".item, @"text/template/parse".context string)
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".useVar(@"text/template/parse".name string "noescape") (? @"text/template/parse".Node)
+       func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".withControl() (? @"text/template/parse".Node)
+       type @"text/template".FuncMap map[string]interface {}
+       type @"runtime".Type interface {}
+       type @"reflect".method struct { @"reflect".name *string; @"reflect".pkgPath *string; @"reflect".mtyp *@"runtime".Type; @"reflect".typ *@"runtime".Type; @"reflect".ifn @"unsafe".Pointer; @"reflect".tfn @"unsafe".Pointer }
+       type @"reflect".ChanDir int
+       func (@"reflect".d @"reflect".ChanDir) String() (? string)
+       type @"reflect".StructTag string
+       func (@"reflect".tag @"reflect".StructTag "noescape") Get(@"reflect".key string "noescape") (? string)
+       type @"reflect".StructField struct { PkgPath string; Name string; Type @"reflect".Type; Tag @"reflect".StructTag; Offset uintptr; Index []int; Anonymous bool }
+       type @"reflect".Kind uint
+       func (@"reflect".k @"reflect".Kind) String() (? string)
+       type @"reflect".Type interface { Align() (? int); FieldAlign() (? int); Method(? int) (? @"reflect".Method); MethodByName(? string) (? @"reflect".Method, ? bool); NumMethod() (? int); Name() (? string); PkgPath() (? string); Size() (? uintptr); String() (? string); Kind() (? @"reflect".Kind); Implements(@"reflect".u @"reflect".Type) (? bool); AssignableTo(@"reflect".u @"reflect".Type) (? bool); Bits() (? int); ChanDir() (? @"reflect".ChanDir); IsVariadic() (? bool); Elem() (? @"reflect".Type); Field(@"reflect".i int) (? @"reflect".StructField); FieldByIndex(@"reflect".index []int) (? @"reflect".StructField); FieldByName(@"reflect".name string) (? @"reflect".StructField, ? bool); FieldByNameFunc(@"reflect".match func(? string) (? bool)) (? @"reflect".StructField, ? bool); In(@"reflect".i int) (? @"reflect".Type); Key() (? @"reflect".Type); Len() (? int); NumField() (? int); NumIn() (? int); NumOut() (? int); Out(@"reflect".i int) (? @"reflect".Type); @"reflect".runtimeType() (? *@"runtime".Type); @"reflect".common() (? *@"reflect".commonType); @"reflect".uncommon() (? *@"reflect".uncommonType) }
+       type @"reflect".Method struct { PkgPath string; Name string; Type @"reflect".Type; Func @"reflect".Value; Index int }
+       type @"reflect".uncommonType struct { @"reflect".name *string; @"reflect".pkgPath *string; @"reflect".methods []@"reflect".method }
+       func (@"reflect".t *@"reflect".uncommonType "noescape") Method(@"reflect".i int) (@"reflect".m @"reflect".Method)
+       func (@"reflect".t *@"reflect".uncommonType "noescape") MethodByName(@"reflect".name string "noescape") (@"reflect".m @"reflect".Method, @"reflect".ok bool)
+       func (@"reflect".t *@"reflect".uncommonType "noescape") Name() (? string)
+       func (@"reflect".t *@"reflect".uncommonType "noescape") NumMethod() (? int)
+       func (@"reflect".t *@"reflect".uncommonType "noescape") PkgPath() (? string)
+       func (@"reflect".t *@"reflect".uncommonType) @"reflect".uncommon() (? *@"reflect".uncommonType) { return @"reflect".t }
+       type @"reflect".commonType struct { @"reflect".size uintptr; @"reflect".hash uint32; _ uint8; @"reflect".align uint8; @"reflect".fieldAlign uint8; @"reflect".kind uint8; @"reflect".alg *uintptr; @"reflect".string *string; ? *@"reflect".uncommonType; @"reflect".ptrToThis *@"runtime".Type }
+       func (@"reflect".t *@"reflect".commonType "noescape") Align() (? int) { return int(@"reflect".t.@"reflect".align) }
+       func (@"reflect".t *@"reflect".commonType "noescape") AssignableTo(@"reflect".u @"reflect".Type "noescape") (? bool)
+       func (@"reflect".t *@"reflect".commonType "noescape") Bits() (? int)
+       func (@"reflect".t *@"reflect".commonType "noescape") ChanDir() (? @"reflect".ChanDir)
+       func (@"reflect".t *@"reflect".commonType "noescape") Elem() (? @"reflect".Type)
+       func (@"reflect".t *@"reflect".commonType "noescape") Field(@"reflect".i int) (? @"reflect".StructField)
+       func (@"reflect".t *@"reflect".commonType "noescape") FieldAlign() (? int) { return int(@"reflect".t.@"reflect".fieldAlign) }
+       func (@"reflect".t *@"reflect".commonType) FieldByIndex(@"reflect".index []int "noescape") (? @"reflect".StructField)
+       func (@"reflect".t *@"reflect".commonType) FieldByName(@"reflect".name string "noescape") (? @"reflect".StructField, ? bool)
+       func (@"reflect".t *@"reflect".commonType) FieldByNameFunc(@"reflect".match func(? string) (? bool) "noescape") (? @"reflect".StructField, ? bool)
+       func (@"reflect".t *@"reflect".commonType "noescape") Implements(@"reflect".u @"reflect".Type) (? bool)
+       func (@"reflect".t *@"reflect".commonType "noescape") In(@"reflect".i int) (? @"reflect".Type)
+       func (@"reflect".t *@"reflect".commonType "noescape") IsVariadic() (? bool)
+       func (@"reflect".t *@"reflect".commonType "noescape") Key() (? @"reflect".Type)
+       func (@"reflect".t *@"reflect".commonType "noescape") Kind() (? @"reflect".Kind) { return @"reflect".Kind(@"reflect".t.@"reflect".kind & 127) }
+       func (@"reflect".t *@"reflect".commonType "noescape") Len() (? int)
+       func (@"reflect".t *@"reflect".commonType "noescape") Method(@"reflect".i int) (@"reflect".m @"reflect".Method)
+       func (@"reflect".t *@"reflect".commonType "noescape") MethodByName(@"reflect".name string "noescape") (@"reflect".m @"reflect".Method, @"reflect".ok bool)
+       func (@"reflect".t *@"reflect".commonType "noescape") Name() (? string)
+       func (@"reflect".t *@"reflect".commonType "noescape") NumField() (? int)
+       func (@"reflect".t *@"reflect".commonType "noescape") NumIn() (? int)
+       func (@"reflect".t *@"reflect".commonType "noescape") NumMethod() (? int)
+       func (@"reflect".t *@"reflect".commonType "noescape") NumOut() (? int)
+       func (@"reflect".t *@"reflect".commonType "noescape") Out(@"reflect".i int) (? @"reflect".Type)
+       func (@"reflect".t *@"reflect".commonType "noescape") PkgPath() (? string)
+       func (@"reflect".t *@"reflect".commonType "noescape") Size() (? uintptr) { return @"reflect".t.@"reflect".size }
+       func (@"reflect".t *@"reflect".commonType "noescape") String() (? string) { return *@"reflect".t.@"reflect".string }
+       func (@"reflect".t *@"reflect".commonType) @"reflect".common() (? *@"reflect".commonType) { return @"reflect".t }
+       func (@"reflect".ct *@"reflect".commonType) @"reflect".ptrTo() (? *@"reflect".commonType)
+       func (@"reflect".t *@"reflect".commonType) @"reflect".runtimeType() (? *@"runtime".Type)
+       func (@"reflect".t *@"reflect".commonType) @"reflect".toType() (? @"reflect".Type)
+       type @"reflect".flag uintptr
+       func (@"reflect".f @"reflect".flag) @"reflect".kind() (? @"reflect".Kind) { return @"reflect".Kind(@"reflect".f >> 4 & @"reflect".flag(31)) }
+       func (@"reflect".f @"reflect".flag) @"reflect".mustBe(@"reflect".expected @"reflect".Kind)
+       func (@"reflect".f @"reflect".flag) @"reflect".mustBeAssignable()
+       func (@"reflect".f @"reflect".flag) @"reflect".mustBeExported()
+       type @"reflect".iword @"unsafe".Pointer
+       type @"reflect".Value struct { @"reflect".typ *@"reflect".commonType; @"reflect".val @"unsafe".Pointer; ? @"reflect".flag }
+       func (@"reflect".v @"reflect".Value) Addr() (? @"reflect".Value)
+       func (@"reflect".v @"reflect".Value "noescape") Bool() (? bool)
+       func (@"reflect".v @"reflect".Value "noescape") Bytes() (? []byte)
+       func (@"reflect".v @"reflect".Value) Call(@"reflect".in []@"reflect".Value "noescape") (? []@"reflect".Value)
+       func (@"reflect".v @"reflect".Value) CallSlice(@"reflect".in []@"reflect".Value "noescape") (? []@"reflect".Value)
+       func (@"reflect".v @"reflect".Value "noescape") CanAddr() (? bool) { return @"reflect".v.@"reflect".flag & @"reflect".flag(4) != @"reflect".flag(0) }
+       func (@"reflect".v @"reflect".Value "noescape") CanInterface() (? bool)
+       func (@"reflect".v @"reflect".Value "noescape") CanSet() (? bool) { return @"reflect".v.@"reflect".flag & @"reflect".flag(5) == @"reflect".flag(4) }
+       func (@"reflect".v @"reflect".Value) Cap() (? int)
+       func (@"reflect".v @"reflect".Value) Close()
+       func (@"reflect".v @"reflect".Value "noescape") Complex() (? complex128)
+       func (@"reflect".v @"reflect".Value) Elem() (? @"reflect".Value)
+       func (@"reflect".v @"reflect".Value) Field(@"reflect".i int) (? @"reflect".Value)
+       func (@"reflect".v @"reflect".Value) FieldByIndex(@"reflect".index []int "noescape") (? @"reflect".Value)
+       func (@"reflect".v @"reflect".Value) FieldByName(@"reflect".name string "noescape") (? @"reflect".Value)
+       func (@"reflect".v @"reflect".Value) FieldByNameFunc(@"reflect".match func(? string) (? bool) "noescape") (? @"reflect".Value)
+       func (@"reflect".v @"reflect".Value "noescape") Float() (? float64)
+       func (@"reflect".v @"reflect".Value) Index(@"reflect".i int) (? @"reflect".Value)
+       func (@"reflect".v @"reflect".Value "noescape") Int() (? int64)
+       func (@"reflect".v @"reflect".Value) Interface() (? interface {})
+       func (@"reflect".v @"reflect".Value "noescape") InterfaceData() (? [2]uintptr)
+       func (@"reflect".v @"reflect".Value "noescape") IsNil() (? bool)
+       func (@"reflect".v @"reflect".Value "noescape") IsValid() (? bool) { return @"reflect".v.@"reflect".flag != @"reflect".flag(0) }
+       func (@"reflect".v @"reflect".Value "noescape") Kind() (? @"reflect".Kind)
+       func (@"reflect".v @"reflect".Value) Len() (? int)
+       func (@"reflect".v @"reflect".Value) MapIndex(@"reflect".key @"reflect".Value) (? @"reflect".Value)
+       func (@"reflect".v @"reflect".Value) MapKeys() (? []@"reflect".Value)
+       func (@"reflect".v @"reflect".Value) Method(@"reflect".i int) (? @"reflect".Value)
+       func (@"reflect".v @"reflect".Value) MethodByName(@"reflect".name string "noescape") (? @"reflect".Value)
+       func (@"reflect".v @"reflect".Value "noescape") NumField() (? int)
+       func (@"reflect".v @"reflect".Value "noescape") NumMethod() (? int)
+       func (@"reflect".v @"reflect".Value "noescape") OverflowComplex(@"reflect".x complex128 "noescape") (? bool)
+       func (@"reflect".v @"reflect".Value "noescape") OverflowFloat(@"reflect".x float64) (? bool)
+       func (@"reflect".v @"reflect".Value "noescape") OverflowInt(@"reflect".x int64) (? bool)
+       func (@"reflect".v @"reflect".Value "noescape") OverflowUint(@"reflect".x uint64) (? bool)
+       func (@"reflect".v @"reflect".Value) Pointer() (? uintptr)
+       func (@"reflect".v @"reflect".Value) Recv() (@"reflect".x @"reflect".Value, @"reflect".ok bool)
+       func (@"reflect".v @"reflect".Value) Send(@"reflect".x @"reflect".Value)
+       func (@"reflect".v @"reflect".Value) Set(@"reflect".x @"reflect".Value)
+       func (@"reflect".v @"reflect".Value "noescape") SetBool(@"reflect".x bool)
+       func (@"reflect".v @"reflect".Value "noescape") SetBytes(@"reflect".x []byte)
+       func (@"reflect".v @"reflect".Value "noescape") SetComplex(@"reflect".x complex128)
+       func (@"reflect".v @"reflect".Value "noescape") SetFloat(@"reflect".x float64)
+       func (@"reflect".v @"reflect".Value "noescape") SetInt(@"reflect".x int64)
+       func (@"reflect".v @"reflect".Value "noescape") SetLen(@"reflect".n int)
+       func (@"reflect".v @"reflect".Value) SetMapIndex(@"reflect".key @"reflect".Value, @"reflect".val @"reflect".Value)
+       func (@"reflect".v @"reflect".Value "noescape") SetPointer(@"reflect".x @"unsafe".Pointer)
+       func (@"reflect".v @"reflect".Value "noescape") SetString(@"reflect".x string)
+       func (@"reflect".v @"reflect".Value "noescape") SetUint(@"reflect".x uint64)
+       func (@"reflect".v @"reflect".Value) Slice(@"reflect".beg int, @"reflect".end int) (? @"reflect".Value)
+       func (@"reflect".v @"reflect".Value "noescape") String() (? string)
+       func (@"reflect".v @"reflect".Value) TryRecv() (@"reflect".x @"reflect".Value, @"reflect".ok bool)
+       func (@"reflect".v @"reflect".Value) TrySend(@"reflect".x @"reflect".Value) (? bool)
+       func (@"reflect".v @"reflect".Value) Type() (? @"reflect".Type)
+       func (@"reflect".v @"reflect".Value "noescape") Uint() (? uint64)
+       func (@"reflect".v @"reflect".Value) UnsafeAddr() (? uintptr)
+       func (@"reflect".v @"reflect".Value) @"reflect".assignTo(@"reflect".context string "noescape", @"reflect".dst *@"reflect".commonType, @"reflect".target *interface {}) (? @"reflect".Value)
+       func (@"reflect".v @"reflect".Value) @"reflect".call(@"reflect".method string "noescape", @"reflect".in []@"reflect".Value "noescape") (? []@"reflect".Value)
+       func (@"reflect".v @"reflect".Value) @"reflect".iword() (? @"reflect".iword)
+       func (@"reflect".v @"reflect".Value) @"reflect".recv(@"reflect".nb bool) (@"reflect".val @"reflect".Value, @"reflect".ok bool)
+       func (@"reflect".v @"reflect".Value) @"reflect".send(@"reflect".x @"reflect".Value, @"reflect".nb bool) (@"reflect".selected bool)
+       type @"text/template".common struct { @"text/template".tmpl map[string]*@"text/template".Template; @"text/template".parseFuncs @"text/template".FuncMap; @"text/template".execFuncs map[string]@"reflect".Value }
+       type @"io".Writer interface { Write(@"io".p []byte) (@"io".n int, @"io".err error) }
+       type @"text/template".Template struct { @"text/template".name string; ? *@"text/template/parse".Tree; ? *@"text/template".common; @"text/template".leftDelim string; @"text/template".rightDelim string }
+       func (@"text/template".t *@"text/template".Template) AddParseTree(@"text/template".name string, @"text/template".tree *@"text/template/parse".Tree) (? *@"text/template".Template, ? error)
+       func (@"text/template".t *@"text/template".Template) Clone() (? *@"text/template".Template)
+       func (@"text/template".t *@"text/template".Template) Delims(@"text/template".left string, @"text/template".right string) (? *@"text/template".Template)
+       func (@"text/template".t *@"text/template".Template) Execute(@"text/template".wr @"io".Writer, @"text/template".data interface {}) (@"text/template".err error)
+       func (@"text/template".t *@"text/template".Template "noescape") ExecuteTemplate(@"text/template".wr @"io".Writer, @"text/template".name string, @"text/template".data interface {}) (? error)
+       func (@"text/template".t *@"text/template".Template) Funcs(@"text/template".funcMap @"text/template".FuncMap "noescape") (? *@"text/template".Template)
+       func (@"text/template".t *@"text/template".Template "noescape") Lookup(@"text/template".name string "noescape") (? *@"text/template".Template)
+       func (@"text/template".t *@"text/template".Template "noescape") Name() (? string) { return @"text/template".t.@"text/template".name }
+       func (@"text/template".t *@"text/template".Template) New(@"text/template".name string) (? *@"text/template".Template)
+       func (@"text/template".t *@"text/template".Template) Parse(@"text/template".text string) (? *@"text/template".Template, ? error)
+       func (@"text/template".t *@"text/template".Template) ParseFiles(@"text/template".filenames ...string "noescape") (? *@"text/template".Template, ? error)
+       func (@"text/template".t *@"text/template".Template) ParseGlob(@"text/template".pattern string) (? *@"text/template".Template, ? error)
+       func (@"text/template".t *@"text/template".Template "noescape") Templates() (? []*@"text/template".Template)
+       func (@"text/template".t *@"text/template".Template "noescape") @"text/template".associate(@"text/template".new *@"text/template".Template) (? error)
+       func (@"text/template".t *@"text/template".Template) @"text/template".copy(@"text/template".c *@"text/template".common) (? *@"text/template".Template)
+       func (@"text/template".t *@"text/template".Template "noescape") @"text/template".init()
+       var @"".tmpl *@"text/template".Template
+       func @"".init·3()
+       func @"".tmplexec()
+       func @"".BenchmarkTemplate(@"".b *@"testing".B "noescape")
+       var @"".initdone· uint8
+       func @"".init()
+       var @"time".months [12]string
+       var @"time".days [7]string
+
+$$  // local types
+
+$$
+
+!
+\84\0y\ 1</\0\84\0y\ 1<home\0\84\0y\ 1<iant\0\84\0y\ 1<go\0\84\0y\ 1<test\0\84\0y\ 1<bench\0\84\0y\ 1<go1\0\84\0y\ 1<dummy.go\08\0\ 1\0\0\0\0\08\0\ 5\0\0\0\0\0\84\0y\ 1</\0\84\0y\ 1<home\0\84\0y\ 1<iant\0\84\0y\ 1<go\0\84\0y\ 1<test\0\84\0y\ 1<bench\0\84\0y\ 1<go1\0\84\0y\ 1<binarytree_test.go\08\0\ 5\0\0\0\0\0\84\0y\ 1<testing.a\08\0\ e\0\0\0\0\ 5ÿÿÿÿu8\0D\0\0\0\0\0\84\0y\ 1</\0\84\0y\ 1<home\0\84\0y\ 1<iant\0\84\0y\ 1<go\0\84\0y\ 1<test\0\84\0y\ 1<bench\0\84\0y\ 1<go1\0\84\0y\ 1<fannkuch_test.go\08\0D\0\0\0\0\0\84\0y\ 1<testing.a\08\0M\0\0\0\0\ 5ÿÿÿÿu8\0\98\0\0\0\0\0\84\0y\ 1</\0\84\0y\ 1<home\0\84\0y\ 1<iant\0\84\0y\ 1<go\0\84\0y\ 1<test\0\84\0y\ 1<bench\0\84\0y\ 1<go1\0\84\0y\ 1<fasta_test.go\08\0\98\0\0\0\0\08\0<\ 1\0\0\0\0\84\0y\ 1</\0\84\0y\ 1<home\0\84\0y\ 1<iant\0\84\0y\ 1<go\0\84\0y\ 1<test\0\84\0y\ 1<bench\0\84\0y\ 1<go1\0\84\0y\ 1<gob_test.go\08\0<\ 1\0\0\0\0\84\0y\ 1<bytes.a\08\0E\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<encoding\0\84\0y\ 1<gob.a\08\0F\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<encoding\0\84\0y\ 1<json.a\08\0G\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<io\0\84\0y\ 1<ioutil.a\08\0H\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<log.a\08\0I\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<reflect.a\08\0J\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<testing.a\08\0K\ 1\0\0\0\ 5ÿÿÿÿu8\0\9b\ 1\0\0\0\0\84\0y\ 1</\0\84\0y\ 1<home\0\84\0y\ 1<iant\0\84\0y\ 1<go\0\84\0y\ 1<test\0\84\0y\ 1<bench\0\84\0y\ 1<go1\0\84\0y\ 1<gzip_test.go\08\0\9b\ 1\0\0\0\0\84\0y\ 1<bytes.a\08\0¤\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<compress\0\84\0y\ 1<gzip.a\08\0¥\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<io.a\08\0¦\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<io\0\84\0y\ 1<ioutil.a\08\0§\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<testing.a\08\0¨\ 1\0\0\0\ 5ÿÿÿÿu8\0à\ 1\0\0\0\0\84\0y\ 1</\0\84\0y\ 1<home\0\84\0y\ 1<iant\0\84\0y\ 1<go\0\84\0y\ 1<test\0\84\0y\ 1<bench\0\84\0y\ 1<go1\0\84\0y\ 1<json_test.go\08\0à\ 1\0\0\0\0\84\0y\ 1<compress\0\84\0y\ 1<bzip2.a\08\0é\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<encoding\0\84\0y\ 1<base64.a\08\0ê\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<encoding\0\84\0y\ 1<json.a\08\0ë\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<io.a\08\0ì\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<io\0\84\0y\ 1<ioutil.a\08\0í\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<strings.a\08\0î\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<testing.a\08\0ï\ 1\0\0\0\ 5ÿÿÿÿu8\04\ 2\0\0\0\0\84\0y\ 1</\0\84\0y\ 1<home\0\84\0y\ 1<iant\0\84\0y\ 1<go\0\84\0y\ 1<test\0\84\0y\ 1<bench\0\84\0y\ 1<go1\0\84\0y\ 1<jsondata_test.go\08\04\ 2\0\0\0\08\0N       \0\0\0\0\84\0y\ 1</\0\84\0y\ 1<home\0\84\0y\ 1<iant\0\84\0y\ 1<go\0\84\0y\ 1<test\0\84\0y\ 1<bench\0\84\0y\ 1<go1\0\84\0y\ 1<revcomp_test.go\08\0N   \0\0\0\0\84\0y\ 1<bufio.a\08\0X    \0\0\0\ 5ÿÿÿÿu\84\0y\ 1<bytes.a\08\0Y       \0\0\0\ 5ÿÿÿÿu\84\0y\ 1<io\0\84\0y\ 1<ioutil.a\08\0Z      \0\0\0\ 5ÿÿÿÿu\84\0y\ 1<testing.a\08\0[     \0\0\0\ 5ÿÿÿÿu8\0£    \0\0\0\0\84\0y\ 1</\0\84\0y\ 1<home\0\84\0y\ 1<iant\0\84\0y\ 1<go\0\84\0y\ 1<test\0\84\0y\ 1<bench\0\84\0y\ 1<go1\0\84\0y\ 1<template_test.go\08\0£  \0\0\0\0\84\0y\ 1<bytes.a\08\0­    \0\0\0\ 5ÿÿÿÿu\84\0y\ 1<io\0\84\0y\ 1<ioutil.a\08\0®      \0\0\0\ 5ÿÿÿÿu\84\0y\ 1<strings.a\08\0¯     \0\0\0\ 5ÿÿÿÿu\84\0y\ 1<testing.a\08\0°     \0\0\0\ 5ÿÿÿÿu\84\0y\ 1<text\0\84\0y\ 1<template.a\08\0±  \0\0\0\ 5ÿÿÿÿu8\0ï    \0\0\0\0\84\0q\ 1"".bottomUpTree\0\84\0q\ 2type.func(int, int) *"".binaryNode\0ã\0\15\0\0\0\91\ 1q\ 2E\18\0\0\0\10\0\0\0u\84\0t\ 3"".depth\0\84\0q\ 4type.int\0r\0\16\0\0\0\95\ 4\0\0\0\ 3t\ 4\ 1\13&\0\16\0\0\0\ 1\13\ 1uS\0\16\0\0\0\0\ 5\10\0\0\0p\84\0q\ 5type."".binaryNode\0\84\0q\ 6type.uint8\0\84\0\8f\aruntime.typ\0®\ 1\17\0\0\0\93q\0\ 5x\ 6\11\a\8f\84\0q\bruntime.new\0\84\0q    type.func(*uint8) *"".binaryNode\0\1f\0\17\0\0\0\0\91\bq     ®\ 1\17\0\0\0\ 5\b\0\0\0\8f\ 1\11®\ 1\17\0\0\0\ 1\11\ 1\17®\ 1\17\0\0\0\ 1u\ 1\10Æ\ 1\17\0\0\0\0\0Æ\ 1\17\0\0\0\0\0Æ\ 1\17\0\0\0\0\0\84\0t
+"".item\0r\0\17\0\0\0\91
+t\ 4\ 1\15r\0\17\0\0\0\ 1\15\ 1\8c\84\0t\v""..noname\0®\ 1\17\0\0\0\ 1\11\15\b\0\0\0\v\0\17\0\0\0\0\0®\ 1\19\0\0\0\93q\0\ 5x\ 6\11\a\8f\1f\0\19\0\0\0\0\91\bq  r\0\19\0\0\0\91
+t\ 4\ 1\11®\ 1\19\0\0\0\ 5\b\0\0\0\8f\ 1\10\84\0s\f"".autotmp_0008\0®\ 1\19\0\0\0\ 1\10\15øÿÿÿ\fsr\0\19\0\0\0\ 1\11\ 1\8br\0\19\0\0\0\ 5\ 2\0\0\0u\ 1\15>\0\19\0\0\0\ 1\11\ 1\15/\0\19\0\0\0\0\ 1\15\84\0\8f\r"".item\0r\0\19\0\0\0\ 1\15\11\r\8fr\0\19\0\0\0\95\ 4\0\0\0\ 3t\ 4\ 1\15/\0\19\0\0\0\0\ 1\15\84\0\8f\ e"".depth\0r\0\19\0\0\0\ 1\15\15\ 4\0\0\0\ e\8f\1f\0\19\0\0\0\0\91\ 1q\ 2®\ 1\19\0\0\0\ 5\b\0\0\0\8f\ 1\13®\ 1\19\0\0\0\15øÿÿÿ\fs\ 1\15®\ 1\19\0\0\0\ 1\13\ 5\b\0\0\0\90r\0\19\0\0\0\ 5\ 2\0\0\0u\ 1\15\84\0t\ f"".item\0r\0\19\0\0\0\91\ ft\ 4\ 1\18>\0\19\0\0\0\ 1\18\ 1\15\84\0\8f\10"".item\0r\0\19\0\0\0\ 1\15\11\10\8f\84\0t\11"".depth\0r\0\19\0\0\0\95\ 4\0\0\0\11t\ 4\ 1\15/\0\19\0\0\0\0\ 1\15\84\0\8f\12"".depth\0r\0\19\0\0\0\ 1\15\15\ 4\0\0\0\12\8f\1f\0\19\0\0\0\0\91\ 1q\ 2®\ 1\19\0\0\0\15øÿÿÿ\fs\ 1\10®\ 1\19\0\0\0\ 5\b\0\0\0\8f\ 1\13®\ 1\19\0\0\0\ 1\13\ 5\10\0\0\0\8b®\ 1\19\0\0\0\ 1\10\15\b\0\0\0\v\0\19\0\0\0\0\0\84\0q\13"".(*binaryNode).itemCheck\0\84\0q\14type.method(*"".binaryNode) func() int\0ã\0\1c\0\0\0\91\13q\14E\18\0\0\0\10\0\0\0u\84\0t\15"".n\0\84\0q\16type.*"".binaryNode\0®\ 1\1c\0\0\0\91\15t\16\ 1\10®\ 1\1d\0\0\0\ 5\b\0\0\0\8b\ 1\13®\ 1\1d\0\0\0\ 1u\ 1\15¢\ 1\1d\0\0\0\ 1\13\ 1\15Z\0\1d\0\0\0\0\ 57\0\0\0pr\0\1e\0\0\0\ 1\8b\ 1\15r\0\1e\0\0\0\ 1\15\15\b\0\0\0\v\0\1e\0\0\0\0\0®\ 1 \0\0\0\ 5\b\0\0\0\8b\ 1\18\84\0\8f\17"".n\0®\ 1 \0\0\0\ 1\18\11\17\8f\1f\0 \0\0\0\0\11\13q\84\0t\18"".n\0®\ 1 \0\0\0\91\18t\16\ 1\10r\0 \0\0\0\ 5\b\0\0\0\8f\ 1\13     \0 \0\0\0\ 1\8b\ 1\13\84\0s\19"".autotmp_0009\0r\0 \0\0\0\ 1\13\15üÿÿÿ\19\ 1 \0\0\0\ 5\10\0\0\0\8b\ 1\18\84\0\8f\1a"".n\0®\ 1 \0\0\0\ 1\18\11\1a\8f\1f\0 \0\0\0\0\11\13qr\0 \0\0\0\ 5\b\0\0\0\8f\ 1\13r\0 \0\0\0\15üÿÿÿ\19s\ 1\15Ý\0 \0\0\0\ 1\13\ 1\15r\0 \0\0\0\ 1\15\15\b\0\0\0\v\0 \0\0\0\0\0\84\0q\e"".binarytree\0\84\0q\1ctype.func(int)\0ã\0%\0\0\0\91\eq\1cE0\0\0\0\b\0\0\0u\84\0t\1d"".n\0r\0%\0\0\0\91\1dt\ 4\ 1\10&\0'\0\0\0\ 1\10\ 5\ 6\0\0\0uR\0'\0\0\0\0\ 5K\0\0\0pr\0(\0\0\0\ 5\ 6\0\0\0u\81\10\ 4r\0*\0\0\0\81\10\ 4\ 1\13\84\0s\1e"".maxDepth\0r\0*\0\0\0\ 1\10\95ìÿÿÿ\1es\ 4D\0*\0\0\0\0\ 1\13r\0,\0\0\0\ 1u\11\10\8fr\0,\0\0\0\ 1\13\15\ 4\0\0\0\12\8f\1f\0,\0\0\0\0\91\ 1q\ 2®\ 1,\0\0\0\ 5\b\0\0\0\8f\ 1\13\84\0\8f\1f"".n\0®\ 1,\0\0\0\ 1\13\11\1f\8f\1f\0,\0\0\0\0\11\13qr\0,\0\0\0\ 5\b\0\0\0\8f\ 1\13r\0/\0\0\0\ 1u\11\10\8fr\0/\0\0\0\95ìÿÿÿ\1es\ 4\ 1\13r\0/\0\0\0\ 1\13\15\ 4\0\0\0\12\8f\1f\0/\0\0\0\0\91\ 1q\ 2®\ 1/\0\0\0\ 5\b\0\0\0\8f\ 1\13\84\0s "".longLivedTree\0®\ 1/\0\0\0\ 1\13\95øÿÿÿ s\16r\01\0\0\0\ 5\ 4\0\0\0u\81\12\ 4Y\01\0\0\0\0\ 5^\0\0\0p   \01\0\0\0\ 5\ 2\0\0\0u\81\12\ 4r\01\0\0\0\95ìÿÿÿ\1es\ 4\ 1\15&\01\0\0\0\ 1\12\ 1\15S\01\0\0\0\0\ 5\8b\0\0\0\ 12\0\0\0\ 1\11\ 1\13r\02\0\0\0\95ìÿÿÿ\1es\ 4\ 1\11Ý\02\0\0\0\ 1\12\ 1\11       \02\0\0\0\ 5\ 4\0\0\0u\ 1\11r\02\0\0\0\ 5\ 1\0\0\0u\ 1\15&\02\0\0\0\ 1\11\ 5 \0\0\0uO\02\0\0\0\0\ 5i\0\0\0pr\02\0\0\0\ 1u\ 1\15Ñ\02\0\0\0\ 1\11\ 1\15®\ 12\0\0\0\ 1\13\ 1\11\84\0s!"".iterations\0r\02\0\0\0\ 1\15\95äÿÿÿ!s\ 4\84\0s""".check\0r\03\0\0\0\ 1u\95ôÿÿÿ"s\ 4r\05\0\0\0\ 5\ 1\0\0\0u\81\10\ 4Y\05\0\0\0\0\ 5p\0\0\0pD\05\0\0\0\0\81\10\ 4r\05\0\0\0\95äÿÿÿ!s\ 4\ 1\15&\05\0\0\0\ 1\10\ 1\15S\05\0\0\0\0\ 5]\0\0\0p\84\0s#"".i\0r\06\0\0\0\ 1\10\95ðÿÿÿ#s\ 4r\06\0\0\0\ 1\10\11\10\8f\84\0s$"".depth\0r\06\0\0\0\ 1\12\95èÿÿÿ$s\ 4\84\0\8f%"".depth\0r\06\0\0\0\ 1\12\15\ 4\0\0\0%\8f\1f\06\0\0\0\0\91\ 1q\ 2®\ 16\0\0\0\ 5\b\0\0\0\8f\ 1\15®\ 16\0\0\0\ 1\15\11\1f\8f\1f\06\0\0\0\0\11\13qr\06\0\0\0\ 5\b\0\0\0\8f\ 1\13       \06\0\0\0\ 1\13\95ôÿÿÿ"s\ 4r\07\0\0\0\95ðÿÿÿ#s\ 4\ 1\15\86\07\0\0\0\0\ 1\15r\07\0\0\0\ 1\15\11\10\8f\84\0s&"".depth\0r\07\0\0\0\95èÿÿÿ&s\ 4\ 1\15\84\0\8f'"".depth\0r\07\0\0\0\ 1\15\15\ 4\0\0\0'\8f\1f\07\0\0\0\0\91\ 1q\ 2®\ 17\0\0\0\ 5\b\0\0\0\8f\ 1\15®\ 17\0\0\0\ 1\15\11\1f\8f\1f\07\0\0\0\0\11\13q\84\0s("".depth\0r\07\0\0\0\95èÿÿÿ(s\ 4\ 1\12r\07\0\0\0\95ðÿÿÿ#s\ 4\ 1\10r\07\0\0\0\ 5\b\0\0\0\8f\ 1\13   \07\0\0\0\ 1\13\95ôÿÿÿ"s\ 4Y\05\0\0\0\0\ 5o\0\0\0\ 1;\0\0\0\95øÿÿÿ s\16\ 1\13®\ 1;\0\0\0\ 1\13\11\1f\8f\1f\0;\0\0\0\0\11\13\0=\0\0\0\0\0\84\0q)"".BenchmarkBinaryTree17\0\84\0q*type.func(*testing.B)\0ã\0?\0\0\0\91)q*E\10\0\0\0\b\0\0\0ur\0@\0\0\0\ 1u\81\10\ 4Y\0@\0\0\0\0\ 5\93\0\0\0pD\0@\0\0\0\0\81\10\ 4\84\0t+"".b\0\84\0q,type.*testing.B\0®\ 1@\0\0\0\91+t,\ 1\15r\0@\0\0\0\ 5P\0\0\0\90\ 1\13r\0@\0\0\0\ 1\10\95üÿÿÿ#s\ 4&\0@\0\0\0\ 1\13\ 1\10U\0@\0\0\0\0\ 5\9c\0\0\0pr\0A\0\0\0\ 5\11\0\0\0u\11\1f\8f\1f\0A\0\0\0\0\91\eq\1cr\0A\0\0\0\95üÿÿÿ#s\ 4\ 1\10Y\0@\0\0\0\0\ 5\92\0\0\0\0C\0\0\0\0\0\84\0q-"".fannkuch\0\84\0q.type.func(int) int\0ã\0O\0\0\0\91-q.E`\0\0\0\10\0\0\0u\84\0t/"".n\0r\0O\0\0\0\91/t\ 4\ 1\10&\0P\0\0\0\ 1\10\ 5\ 1\0\0\0uR\0P\0\0\0\0\ 5£\0\0\0pr\0Q\0\0\0\ 1u\15\b\0\0\0\v\0Q\0\0\0\0\0r\0T\0\0\0\81\10\ 4\ 1\13/\0T\0\0\0\0\ 1\13\84\0s0"".n1\0r\0T\0\0\0\ 1\13\95Ôÿÿÿ0s\ 4\84\0q1type.[]int\0®\ 1U\0\0\0\93q\01x\ 6\11\a\8f¯\ 1U\0\0\0\ 1\10\ 1\13\84\0\8f\ 1runtime.nel\0®\ 1U\0\0\0\ 1\13\15\b\0\0\0\ 1\8f¯\ 1U\0\0\0\ 1\10\ 1\13\84\0\8f\ 2runtime.cap\0®\ 1U\0\0\0\ 1\13\15\10\0\0\0\ 2\8f\84\0q\ 3runtime.makeslice\0\84\0q\ 4type.func(*uint8, int64, int64) []int\0\1f\0U\0\0\0\0\91\ 3q\ 4\84\0q\ 5type.int\0r\0U\0\0\0\91/t\ 5\ 1\10®\ 1U\0\0\0\ 5\18\0\0\0\8f\ 1\13\84\0s\ 6"".perm\0®\ 1U\0\0\0\ 1\13\95àÿÿÿ\ 6s1r\0U\0\0\0\ 5 \0\0\0\8f\ 1\13r\0U\0\0\0\ 1\13\95èÿÿÿ\ 6s1r\0U\0\0\0\ 5$\0\0\0\8f\ 1\13\84\0q\atype.uint8\0\84\0\8f\bruntime.typ\0®\ 1V\0\0\0\93q\01x\a\11\b\8f¯\ 1V\0\0\0\ 1\10\ 1\13®\ 1V\0\0\0\ 1\13\15\b\0\0\0\ 1\8f¯\ 1V\0\0\0\ 1\10\ 1\13®\ 1V\0\0\0\ 1\13\15\10\0\0\0\ 2\8f\1f\0V\0\0\0\0\91\ 3q\ 4r\0V\0\0\0\91/t\ 5\ 1\10®\ 1V\0\0\0\ 5\18\0\0\0\8f\ 1\13\84\0s   "".perm1\0®\ 1V\0\0\0\ 1\13\95ðÿÿÿ  s1r\0V\0\0\0\ 5 \0\0\0\8f\ 1\13r\0V\0\0\0\ 1\13\95øÿÿÿ   s1r\0V\0\0\0\ 5$\0\0\0\8f\ 1\13r\0V\0\0\0\ 1\13\95üÿÿÿ   s1®\ 1W\0\0\0\93q\01x\a\11\b\8f¯\ 1W\0\0\0\ 1\10\ 1\13®\ 1W\0\0\0\ 1\13\15\b\0\0\0\ 1\8f¯\ 1W\0\0\0\ 1\10\ 1\13®\ 1W\0\0\0\ 1\13\15\10\0\0\0\ 2\8f\1f\0W\0\0\0\0\91\ 3q\ 4®\ 1W\0\0\0\95àÿÿÿ\ 6s1\ 1\12r\0W\0\0\0\95èÿÿÿ\ 6s1\ 1\11®\ 1W\0\0\0\ 5\18\0\0\0\8f\ 1\1dr\0W\0\0\0\ 5 \0\0\0\8f\ 1\1cr\0W\0\0\0\ 5$\0\0\0\8f\ 1\13r\0Y\0\0\0\ 1u\81\10\ 5Y\0Y\0\0\0\0\ 5Í\0\0\0pD\0Y\0\0\0\0\81\10\ 5r\0Y\0\0\0\91/t\ 5\ 1\15&\0Y\0\0\0\ 1\10\ 1\15R\0Y\0\0\0\0\ 5×\0\0\0\ 1Z\0\0\0\ 1\10\ 1\13&\0Z\0\0\0\ 1\13\95øÿÿÿ    s1O\0Z\0\0\0\0\ 5Ô\0\0\0p\84\0q
+runtime.panicindex\0\1f\0Z\0\0\0\0\11
+q®\ 1Z\0\0\0\95ðÿÿÿ   s1\ 1\15r\0Z\0\0\0\ 1\10\ 3\13\ 4\90Y\0Y\0\0\0\0\ 5Ì\0\0\0pr\0]\0\0\0\91/t\ 5\ 1\10\84\0s\v"".didpr\0r\0^\0\0\0\ 1u\95Ìÿÿÿ\vs\ 5\84\0s\f"".flipsMax\0r\0_\0\0\0\ 1u\95Ðÿÿÿ\fs\ 5r\0a\0\0\0\95Ìÿÿÿ\vs\ 5\ 1\13&\0a\0\0\0\ 1\13\ 5\1e\0\0\0uR\0a\0\0\0\0\ 5à\0\0\0pD\0b\0\0\0\0\95Ìÿÿÿ\vs\ 5Y\0a\0\0\0\0\ 5à\0\0\0p/\0d\0\0\0\0\81\10\ 5&\0d\0\0\0\ 1\10\ 5\ 1\0\0\0uQ\0d\0\0\0\0\ 5ë\0\0\0pr\0e\0\0\0\81\10\ 5\ 1\13/\0e\0\0\0\0\ 1\13¯\ 1e\0\0\0\ 1\13\ 1\13&\0e\0\0\0\ 1\13\81\1c1O\0e\0\0\0\0\ 5è\0\0\0p\1f\0e\0\0\0\0\11
+q®\ 1e\0\0\0\81\1d1\ 1\15r\0e\0\0\0\ 1\10\ 3\13\ 4\90Y\0d\0\0\0\0\ 5ß\0\0\0\ 1h\0\0\0\95ðÿÿÿ       s1\ 1\15&\0h\0\0\0\ 5\b\0\0\0\90\ 1uT\0h\0\0\0\0\ 5ï\0\0\0p\1f\0h\0\0\0\0\11
+q®\ 1h\0\0\0\ 1\90\ 1\15r\0h\0\0\0\ 1\90\ 1\13&\0h\0\0\0\ 1\13\ 1uQ\0h\0\0\0\0\ 5M\ 1\0\0pr\0h\0\0\0\95Ôÿÿÿ0s\ 5\ 1\15¯\ 1h\0\0\0\ 1\15\ 1\15&\0h\0\0\0\ 1\15\95øÿÿÿ    s1O\0h\0\0\0\0\ 5ø\0\0\0p\1f\0h\0\0\0\0\11
+q®\ 1h\0\0\0\95ðÿÿÿ   s1\ 1\18r\0h\0\0\0\ 3\15\ 4\93\ 1\13r\0h\0\0\0\95Ôÿÿÿ0s\ 5\ 1\15&\0h\0\0\0\ 1\13\ 1\15Q\0h\0\0\0\0\ 5M\ 1\0\0p\84\0s\r"".flips\0r\0i\0\0\0\ 1u\95Øÿÿÿ\rs\ 5r\0j\0\0\0\ 5\ 1\0\0\0u\81\16\ 5Y\0j\0\0\0\0\ 5\ 1\ 1\0\0pD\0j\0\0\0\0\81\16\ 5r\0j\0\0\0\91/t\ 5\ 1\15&\0j\0\0\0\ 1\16\ 1\15R\0j\0\0\0\0\ 5\11\ 1\0\0\ 1k\0\0\0\ 1\16\ 1\13&\0k\0\0\0\ 1\13\81\111O\0k\0\0\0\0\ 5\b\ 1\0\0p\1f\0k\0\0\0\0\11
+q®\ 1k\0\0\0\81\121\ 1\15¯\ 1k\0\0\0\ 1\16\ 1\19&\0k\0\0\0\ 1\19\95øÿÿÿ    s1O\0k\0\0\0\0\ 5\r\ 1\0\0p\1f\0k\0\0\0\0\11
+q®\ 1k\0\0\0\95ðÿÿÿ   s1\ 1\1ar\0k\0\0\0\ 3\19\ 4\95\ 1\18r\0k\0\0\0\ 1\18\ 3\13\ 4\90Y\0j\0\0\0\0\ 5\0\ 1\0\0\ 1m\0\0\0\95ðÿÿÿ    s1\ 1\13&\0m\0\0\0\ 5\b\0\0\0\8e\ 1uT\0m\0\0\0\0\ 5\15\ 1\0\0p\1f\0m\0\0\0\0\11
+q®\ 1m\0\0\0\ 1\8e\ 1\13r\0m\0\0\0\ 1\8e\ 1\er\0o\0\0\0\81\e\ 5\ 1\16/\0o\0\0\0\0\ 1\16r\0o\0\0\0\ 5\ 1\0\0\0u\81\17\ 5Y\0o\0\0\0\0\ 5\1d\ 1\0\0pD\0o\0\0\0\0\ 1\17/\0o\0\0\0\0\ 1\16&\0o\0\0\0\ 1\17\ 1\16R\0o\0\0\0\0\ 57\ 1\0\0\ 1p\0\0\0\ 1\17\ 1\13&\0p\0\0\0\ 1\13\81\111O\0p\0\0\0\0\ 5#\ 1\0\0p\1f\0p\0\0\0\0\11
+qr\0p\0\0\0\ 3\13\ 4\8d\ 1\18\84\0s\ e"".autotmp_0014\0r\0p\0\0\0\ 1\18\15Üÿÿÿ\ e\ 1p\0\0\0\ 1\17\ 1\13&\0p\0\0\0\ 1\13\81\111O\0p\0\0\0\0\ 5)\ 1\0\0p\1f\0p\0\0\0\0\11
+q®\ 1p\0\0\0\81\121\ 1\15¯\ 1p\0\0\0\ 1\16\ 1\19&\0p\0\0\0\ 1\19\81\111O\0p\0\0\0\0\ 5.\ 1\0\0p\1f\0p\0\0\0\0\11
+qr\0p\0\0\0\ 3\19\ 4\8d\ 1\18r\0p\0\0\0\ 1\18\ 3\13\ 4\90¯\ 1p\0\0\0\ 1\16\ 1\13&\0p\0\0\0\ 1\13\81\111O\0p\0\0\0\0\ 54\ 1\0\0p\1f\0p\0\0\0\0\11
+qr\0p\0\0\0\15Üÿÿÿ\ es\ 1\18r\0p\0\0\0\ 1\18\ 3\13\ 4\8dY\0o\0\0\0\0\ 5\e\ 1\0\0pD\0r\0\0\0\0\95Øÿÿÿ\rs\ 5¯\ 1t\0\0\0\ 1\e\ 1\13&\0t\0\0\0\ 1\13\81\111O\0t\0\0\0\0\ 5<\ 1\0\0p\1f\0t\0\0\0\0\11
+qr\0t\0\0\0\ 3\13\ 4\8d\ 1\16¯\ 1u\0\0\0\ 1\e\ 1\13&\0u\0\0\0\ 1\13\81\111O\0u\0\0\0\0\ 5A\ 1\0\0p\1f\0u\0\0\0\0\11
+qr\0u\0\0\0\ 1\e\ 3\13\ 4\8dr\0v\0\0\0\ 1\16\81\e\ 5&\0w\0\0\0\ 1\16\ 1uZ\0w\0\0\0\0\ 5\17\ 1\0\0pr\0{\0\0\0\95Ðÿÿÿ\fs\ 5\ 1\13r\0{\0\0\0\95Øÿÿÿ\rs\ 5\ 1\15&\0{\0\0\0\ 1\13\ 1\15R\0{\0\0\0\0\ 5M\ 1\0\0pr\0|\0\0\0\95Øÿÿÿ\rs\ 5\ 1\13r\0|\0\0\0\ 1\13\95Ðÿÿÿ\fs\ 5Y\0{\0\0\0\0\ 5M\ 1\0\0pD\0\80\0\0\0\0\81\10\ 5r\0\80\0\0\0\91/t\ 5\ 1\15&\0\80\0\0\0\ 1\10\ 1\15R\0\80\0\0\0\0\ 5~\ 1\0\0\ 1\82\0\0\0\95ðÿÿÿ    s1\ 1\13&\0\82\0\0\0\ 5\b\0\0\0\8e\ 1uT\0\82\0\0\0\0\ 5T\ 1\0\0p\1f\0\82\0\0\0\0\11
+q®\ 1\82\0\0\0\ 1\8e\ 1\13r\0\82\0\0\0\ 1\8e\ 1\17r\0\83\0\0\0\ 1u\81\16\ 5Y\0\83\0\0\0\0\ 5Y\ 1\0\0pD\0\83\0\0\0\0\81\16\ 5&\0\83\0\0\0\ 1\16\ 1\10R\0\83\0\0\0\0\ 5j\ 1\0\0\ 1\84\0\0\0\ 1\16\ 1\13&\0\84\0\0\0\ 1\13\95øÿÿÿ  s1O\0\84\0\0\0\0\ 5_\ 1\0\0p\1f\0\84\0\0\0\0\11
+q®\ 1\84\0\0\0\95ðÿÿÿ   s1\ 1\15r\0\84\0\0\0\81\16\ 5\ 1\19D\0\84\0\0\0\0\ 1\19¯\ 1\84\0\0\0\ 1\19\ 1\19&\0\84\0\0\0\ 1\19\95øÿÿÿ s1O\0\84\0\0\0\0\ 5f\ 1\0\0p\1f\0\84\0\0\0\0\11
+q®\ 1\84\0\0\0\95ðÿÿÿ   s1\ 1\1ar\0\84\0\0\0\ 3\19\ 4\95\ 1\18r\0\84\0\0\0\ 1\18\ 3\13\ 4\90Y\0\83\0\0\0\0\ 5X\ 1\0\0\ 1\86\0\0\0\ 1\10\ 1\13&\0\86\0\0\0\ 1\13\95øÿÿÿ        s1O\0\86\0\0\0\0\ 5n\ 1\0\0p\1f\0\86\0\0\0\0\11
+q®\ 1\86\0\0\0\95ðÿÿÿ   s1\ 1\15r\0\86\0\0\0\ 1\17\ 3\13\ 4\90¯\ 1\87\0\0\0\ 1\10\ 1\13&\0\87\0\0\0\ 1\13\81\1c1O\0\87\0\0\0\0\ 5t\ 1\0\0p\1f\0\87\0\0\0\0\11
+q®\ 1\87\0\0\0\81\1d1\ 1\15/\0\87\0\0\0\0\ 3\13\ 4\90¯\ 1\88\0\0\0\ 1\10\ 1\15&\0\88\0\0\0\ 1\15\81\1c1O\0\88\0\0\0\0\ 5z\ 1\0\0p\1f\0\88\0\0\0\0\11
+q®\ 1\88\0\0\0\81\1d1\ 1\18r\0\88\0\0\0\ 3\15\ 4\93\ 1\13&\0\88\0\0\0\ 1\13\ 1uU\0\88\0\0\0\0\ 5L\ 1\0\0pr\0\8c\0\0\0\91/t\ 5\ 1\15&\0\8c\0\0\0\ 1\10\ 1\15Z\0\8c\0\0\0\0\ 5Ú\0\0\0pr\0\8d\0\0\0\95Ðÿÿÿ\fs\ 5\ 1\13\84\0t\ f""..noname\0r\0\8d\0\0\0\ 1\13\15\b\0\0\0\ f\0\8d\0\0\0\0\0\84\0q\10"".BenchmarkFannkuch11\0ã\0\93\0\0\0\91\10q*E\18\0\0\0\b\0\0\0ur\0\94\0\0\0\ 1u\81\10\ 5Y\0\94\0\0\0\0\ 5\88\ 1\0\0pD\0\94\0\0\0\0\81\10\ 5®\ 1\94\0\0\0\91+t,\ 1\15r\0\94\0\0\0\ 5P\0\0\0\90\ 1\13r\0\94\0\0\0\ 1\10\95üÿÿÿ#s\ 5&\0\94\0\0\0\ 1\13\ 1\10U\0\94\0\0\0\0\ 5\91\ 1\0\0p\84\0\8f\11"".n\0r\0\95\0\0\0\ 5\v\0\0\0u\11\11\8f\1f\0\95\0\0\0\0\91-q.r\0\95\0\0\0\95üÿÿÿ#s\ 5\ 1\10Y\0\94\0\0\0\0\ 5\87\ 1\0\0\0\97\0\0\0\0\0\84\0q\12"".fasta\0\84\0q\13type.func(int) []uint8\0ã\0¢\0\0\0\91\12q\13E\88\ 1\0\0\18\0\0\0u\84\0q\14type."".fastaBuffer\0®\ 1£\0\0\0\93q\0\14x\a\11\b\8f®\ 1£\0\0\0\ 1u\15\b\0\0\0\ 1\8fr\0£\0\0\0\ 5\v\0\0\0u\ 1\13\84\0t\15"".n\0r\0£\0\0\0\91\15t\ 5\ 1\15>\0£\0\0\0\ 1\15\ 1\13¯\ 1£\0\0\0\ 1\13\ 1\13®\ 1£\0\0\0\ 1\13\15\10\0\0\0\ 2\8f\84\0q\16type.func(*uint8, int64, int64) []uint8\0\1f\0£\0\0\0\0\91\ 3q\16®\ 1£\0\0\0\ 5\18\0\0\0\8f\ 1\13\84\0s\17"".out\0®\ 1£\0\0\0\ 1\13\95Àÿÿÿ\17s\14r\0£\0\0\0\ 5 \0\0\0\8f\ 1\13r\0£\0\0\0\ 1\13\95Èÿÿÿ\17s\14r\0£\0\0\0\ 5$\0\0\0\8f\ 1\13r\0£\0\0\0\ 1\13\95Ìÿÿÿ\17s\14\84\0q\18type.[15]"".fastaAcid\0®\ 1µ\0\0\0\93q\0\18x\a\11\b\8f\84\0q\19runtime.new\0\84\0q\1atype.func(*uint8) *[15]"".fastaAcid\0\1f\0µ\0\0\0\0\91\19q\1a®\ 1µ\0\0\0\ 5\b\0\0\0\8f\ 1\13®\ 1µ\0\0\0\ 1\13\ 1\17\84\0q\e"".statictmp_0015\0«\ 1µ\0\0\0\11\eq\ 1\16®\ 1µ\0\0\0\ 5<\0\0\0u\ 1\11¨\0µ\0\0\0\0\0²\ 1µ\0\0\0\0\0\84\0s\1c"".iub\0\84\0q\1dtype.[]"".fastaAcid\0r\0µ\0\0\0\ 5\ f\0\0\0u\95èÿÿÿ\1cs\1dr\0µ\0\0\0\ 5\ f\0\0\0u\95ìÿÿÿ\1cs\1d®\ 1µ\0\0\0\ 1\13\95àÿÿÿ\1cs\1d\84\0q\1etype.[4]"".fastaAcid\0®\ 1¼\0\0\0\93q\0\1ex\a\11\b\8f\84\0q\1ftype.func(*uint8) *[4]"".fastaAcid\0\1f\0¼\0\0\0\0\91\19q\1f®\ 1¼\0\0\0\ 5\b\0\0\0\8f\ 1\13®\ 1¼\0\0\0\ 1\13\ 1\17\84\0q "".statictmp_0017\0«\ 1¼\0\0\0\11 q\ 1\16®\ 1¼\0\0\0\ 5\10\0\0\0u\ 1\11¨\0¼\0\0\0\0\0²\ 1¼\0\0\0\0\0\84\0s!"".homosapiens\0r\0¼\0\0\0\ 5\ 4\0\0\0u\95Øÿÿÿ!s\1dr\0¼\0\0\0\ 5\ 4\0\0\0u\95Üÿÿÿ!s\1d®\ 1¼\0\0\0\ 1\13\95Ðÿÿÿ!s\1d\84\0s""".autotmp_0021\0«\ 1Å\0\0\0\15¡þÿÿ"s\ 1\17®\ 1Å\0\0\0\ 1u\ 1\10®\ 1Å\0\0\0\ 5#\0\0\0u\ 1\11¨\0Å\0\0\0\0\0Æ\ 1Å\0\0\0\0\0®\ 1Å\0\0\0\ 5\a\0\0\0u\ 1\11¨\0Å\0\0\0\0\0Ù\0Å\0\0\0\0\0«\ 1Å\0\0\0\15¡þÿÿ"s\ 1\13®\ 1Å\0\0\0\ 1\13\ 1\17\84\0q#"".statictmp_0019\0«\ 1Å\0\0\0\11#q\ 1\16®\ 1Å\0\0\0\ 5#\0\0\0u\ 1\11¨\0Å\0\0\0\0\0²\ 1Å\0\0\0\0\0\7f\0Å\0\0\0\0\0~\0Å\0\0\0\0\0~\0Å\0\0\0\0\0~\0Å\0\0\0\0\0\84\0s$"".alu\0\84\0q%type.[]uint8\0r\0Å\0\0\0\ 5\1f\ 1\0\0u\95øÿÿÿ$s%r\0Å\0\0\0\ 5\1f\ 1\0\0u\95üÿÿÿ$s%®\ 1Å\0\0\0\ 1\13\95ðÿÿÿ$s%«\ 1Ç\0\0\0\95Àÿÿÿ\17s\14\ 1\13\84\0\8f&"".b\0®\ 1Ç\0\0\0\ 1\13\11&\8f\84\0q'go.string.">ONE Homo sapiens alu\n"\0«\ 1Ç\0\0\0\11'q\ 1\16\84\0\8f("".s\0«\ 1Ç\0\0\0\15\b\0\0\0(\8f\ 1\17²\ 1Ç\0\0\0\0\0²\ 1Ç\0\0\0\0\0\84\0q)"".(*fastaBuffer).WriteString\0\1f\0Ç\0\0\0\0\11)q«\ 1È\0\0\0\95Àÿÿÿ\17s\14\ 1\13\84\0\8f*"".out\0®\ 1È\0\0\0\ 1\13\11*\8f\84\0\8f+"".alu\0«\ 1È\0\0\0\15\b\0\0\0+\8f\ 1\13\84\0s,"".alu\0®\ 1È\0\0\0\95ðÿÿÿ,s%\ 1\15®\ 1È\0\0\0\ 1\15\ 1\8er\0È\0\0\0\95øÿÿÿ,s%\ 1\15r\0È\0\0\0\ 1\15\ 5\b\0\0\0\8er\0È\0\0\0\95üÿÿÿ,s%\ 1\15r\0È\0\0\0\ 1\15\ 5\f\0\0\0\8er\0È\0\0\0\ 5\ 2\0\0\0u\ 1\13r\0È\0\0\0\91\15t\ 5\ 1\15>\0È\0\0\0\ 1\15\ 1\13\84\0\8f-"".n\0r\0È\0\0\0\ 1\13\15\18\0\0\0-\8f\84\0q."".fastaRepeat\0\84\0q/type.func(*"".fastaBuffer, []uint8, int)\0\1f\0È\0\0\0\0\91.q/\84\0s0"".out\0«\ 1É\0\0\0\95Àÿÿÿ0s\14\ 1\13®\ 1É\0\0\0\ 1\13\11&\8f\84\0q1go.string.">TWO IUB ambiguity codes\n"\0«\ 1É\0\0\0\111q\ 1\16«\ 1É\0\0\0\15\b\0\0\0(\8f\ 1\17²\ 1É\0\0\0\0\0²\ 1É\0\0\0\0\0\1f\0É\0\0\0\0\11)q«\ 1Ê\0\0\0\95Àÿÿÿ0s\14\ 1\13\84\0\8f\ 1"".out\0®\ 1Ê\0\0\0\ 1\13\11\ 1\8f\84\0\8f\ 2"".acid\0«\ 1Ê\0\0\0\15\b\0\0\0\ 2\8f\ 1\13®\ 1Ê\0\0\0\95àÿÿÿ\1cs\1d\ 1\15®\ 1Ê\0\0\0\ 1\15\ 1\8er\0Ê\0\0\0\95èÿÿÿ\1cs\1d\ 1\15r\0Ê\0\0\0\ 1\15\ 5\b\0\0\0\8er\0Ê\0\0\0\95ìÿÿÿ\1cs\1d\ 1\15r\0Ê\0\0\0\ 1\15\ 5\f\0\0\0\8er\0Ê\0\0\0\ 5\ 3\0\0\0u\ 1\13\84\0t\ 3"".n\0r\0Ê\0\0\0\91\ 3t\ 5\ 1\15>\0Ê\0\0\0\ 1\15\ 1\13\84\0\8f\ 4"".n\0r\0Ê\0\0\0\ 1\13\15\18\0\0\0\ 4\8f\84\0q\ 5"".fastaRandom\0\84\0q\ 6type.func(*"".fastaBuffer, []"".fastaAcid, int)\0\1f\0Ê\0\0\0\0\91\ 5q\ 6\84\0s\a"".out\0«\ 1Ë\0\0\0\95Àÿÿÿ\as\14\ 1\13®\ 1Ë\0\0\0\ 1\13\11&\8f\84\0q\bgo.string.">THREE Homo sapiens frequency\n"\0«\ 1Ë\0\0\0\11\bq\ 1\16«\ 1Ë\0\0\0\15\b\0\0\0(\8f\ 1\17²\ 1Ë\0\0\0\0\0²\ 1Ë\0\0\0\0\0\1f\0Ë\0\0\0\0\11)q«\ 1Ì\0\0\0\95Àÿÿÿ\as\14\ 1\13\84\0\8f       "".out\0®\ 1Ì\0\0\0\ 1\13\11        \8f«\ 1Ì\0\0\0\15\b\0\0\0\ 2\8f\ 1\13®\ 1Ì\0\0\0\95Ðÿÿÿ!s\1d\ 1\15®\ 1Ì\0\0\0\ 1\15\ 1\8er\0Ì\0\0\0\95Øÿÿÿ!s\1d\ 1\15r\0Ì\0\0\0\ 1\15\ 5\b\0\0\0\8er\0Ì\0\0\0\95Üÿÿÿ!s\1d\ 1\15r\0Ì\0\0\0\ 1\15\ 5\f\0\0\0\8er\0Ì\0\0\0\ 5\ 5\0\0\0u\ 1\13\84\0t
+"".n\0\84\0q\vtype.int\0r\0Ì\0\0\0\91
+t\v\ 1\15>\0Ì\0\0\0\ 1\15\ 1\13\84\0\8f\f"".n\0r\0Ì\0\0\0\ 1\13\15\18\0\0\0\f\8f\1f\0Ì\0\0\0\0\91\ 5q\ 6\84\0s\r"".out\0®\ 1Í\0\0\0\95Àÿÿÿ\rs\14\ 1\13®\ 1Í\0\0\0\ 1\13\15\b\0\0\0\ ftr\0Í\0\0\0\95Èÿÿÿ\rs\14\ 1\13r\0Í\0\0\0\ 1\13\15\10\0\0\0\ ftr\0Í\0\0\0\95Ìÿÿÿ\rs\14\ 1\13r\0Í\0\0\0\ 1\13\15\14\0\0\0\ f\0Í\0\0\0\0\0\84\0q\ e"".(*fastaBuffer).Flush\0\84\0q\ ftype.method(*"".fastaBuffer) func()\0ã\0Ò\0\0\0\91\ eq\ fE(\0\0\0\b\0\0\0u\84\0q\10type.string\0\84\0q\11type.uint8\0\84\0\8f\12runtime.typ\0®\ 1Ó\0\0\0\93q\0\10x\11\11\12\8f\84\0q\13go.string."flush"\0«\ 1Ó\0\0\0\11\13q\ 1\16\84\0\8f\14runtime.elem\0«\ 1Ó\0\0\0\15\b\0\0\0\14\8f\ 1\17²\ 1Ó\0\0\0\0\0²\ 1Ó\0\0\0\0\0\84\0q\15runtime.convT2E\0\84\0q\16type.func(*uint8, string) interface {}\0\1f\0Ó\0\0\0\0\91\15q\16«\ 1Ó\0\0\0\ 5\18\0\0\0\8f\ 1\16«\ 1Ó\0\0\0\ 1\8f\ 1\17²\ 1Ó\0\0\0\0\0²\ 1Ó\0\0\0\0\0\84\0q\17runtime.panic\0\84\0q\18type.func(interface {})\0\1f\0Ó\0\0\0\0\91\17q\18ª\0Ô\0\0\0\0\0\84\0q\19type.method(*"".fastaBuffer) func(string)\0ã\0Ö\0\0\0\91)q\19E(\0\0\0\18\0\0\0u\84\0t\1a"".b\0\84\0q\etype.*"".fastaBuffer\0®\ 1×\0\0\0\91\1at\e\ 1\15\84\0\8f\1c"".b\0®\ 1×\0\0\0\ 1\15\11\1c\8f\84\0t\1d"".s\0r\0×\0\0\0\95\10\0\0\0\1dt\10\ 1\15r\0×\0\0\0\ 1\15\15\b\0\0\0\f\8f\84\0q\1e"".(*fastaBuffer).NextWrite\0\1f\0×\0\0\0\0\11\1e\ 1×\0\0\0\ 5\10\0\0\0\8f\ 1\13®\ 1×\0\0\0\ 1\8e\ 1\12r\0×\0\0\0\ 5\b\0\0\0\8e\ 1\11r\0×\0\0\0\ 5\f\0\0\0\8e\ 1\10\84\0\8f\1fruntime.to\0«\ 1Ø\0\0\0\11\1f\8f\ 1\13®\ 1Ø\0\0\0\ 1\12\ 1\8er\0Ø\0\0\0\ 1\11\ 5\b\0\0\0\8er\0Ø\0\0\0\ 1\10\ 5\f\0\0\0\8e\84\0\8f runtime.fr\0«\ 1Ø\0\0\0\15\10\0\0\0 \8f\ 1\13®\ 1Ø\0\0\0\95\b\0\0\0\1dt\10\ 1\15®\ 1Ø\0\0\0\ 1\15\ 1\8er\0Ø\0\0\0\95\10\0\0\0\1dt\10\ 1\15r\0Ø\0\0\0\ 1\15\ 5\b\0\0\0\8e\84\0q!runtime.slicestringcopy\0\84\0q"type.func([]uint8, string) int\0\1f\0Ø\0\0\0\0\91!q"ª\0Ù\0\0\0\0\0\84\0q#type.method(*"".fastaBuffer) func(int) []uint8\0ã\0Û\0\0\0\91\1eq#E\b\0\0\0 \0\0\0u\84\0t$"".n\0r\0Û\0\0\0\95\b\0\0\0$t\v\ 1\e\84\0t%"".b\0®\ 1Û\0\0\0\91%t\e\ 1\1a®\ 1Ü\0\0\0\ 1\95\ 1\12r\0Ü\0\0\0\ 5\b\0\0\0\95\ 1\13r\0Ü\0\0\0\ 5\f\0\0\0\95\ 1\11\84\0q&type."".fastaBuffer\0r\0Ý\0\0\0\81\13&\ 1\10    \0Ý\0\0\0\ 1\e\ 1\13&\0Ý\0\0\0\ 1\13\ 1\11U\0Ý\0\0\0\0\ 5E\ 2\0\0p\84\0\8f'"".b\0®\ 1Þ\0\0\0\ 1\1a\11'\8f\1f\0Þ\0\0\0\0\11\ eqr\0Þ\0\0\0\95\b\0\0\0$t\v\ 1\e\84\0t("".b\0®\ 1Þ\0\0\0\91(t\e\ 1\1a®\ 1ß\0\0\0\ 1\95\ 1\12r\0ß\0\0\0\ 5\b\0\0\0\95\ 1\10r\0ß\0\0\0\ 5\f\0\0\0\95\ 1\11r\0á\0\0\0\81\10&\ 1\17    \0á\0\0\0\ 1\e\ 1\17®\ 1á\0\0\0\ 1\12\ 1\19r\0á\0\0\0\ 1\11\ 1\16¯\ 1á\0\0\0\ 1\10\ 1\13¯\ 1á\0\0\0\ 1\17\ 1\15°\ 1á\0\0\0\ 1\11\ 1\18¢\ 1á\0\0\0\ 1\15\ 1\18V\0á\0\0\0\0\ 5O\ 2\0\0p\84\0q)runtime.panicslice\0\1f\0á\0\0\0\0\11)q¢\ 1á\0\0\0\ 1\13\ 1\15T\0á\0\0\0\0\ 5N\ 2\0\0\0á\0\0\0\ 1\13\ 1\15r\0á\0\0\0\ 1\15\81\18&r\0á\0\0\0\ 1\16\ 1\17Ý\0á\0\0\0\ 1\13\ 1\17\9a\ 1á\0\0\0\ 1\19\ 1\13®\ 1á\0\0\0\ 1\13\81\16&r\0â\0\0\0\81\10&\ 1\15     \0â\0\0\0\ 1\e\ 1\15r\0â\0\0\0\ 1\11\ 1\10¯\ 1â\0\0\0\ 1\15\ 1\13°\ 1â\0\0\0\ 1\11\ 1\15¢\ 1â\0\0\0\ 1\13\ 1\15V\0â\0\0\0\0\ 5_\ 2\0\0p\1f\0â\0\0\0\0\11)q®\ 1â\0\0\0\ 1\12\ 1\95r\0â\0\0\0\ 1\13\ 5\b\0\0\0\95r\0â\0\0\0\ 1\10\ 5\f\0\0\0\95\84\0t*""..noname\0®\ 1ã\0\0\0\ 1\16\15\10\0\0\0*tr\0ã\0\0\0\ 1\18\15\18\0\0\0*tr\0ã\0\0\0\ 1\17\15\1c\0\0\0*tª\0ã\0\0\0\0\0ã\0è\0\0\0\91.q/E`\0\0\0 \0\0\0u\84\0t+"".alu\0\84\0q,type.[]uint8\0®\ 1è\0\0\0\95\b\0\0\0+t,\ 1\12r\0è\0\0\0\95\10\0\0\0+t,\ 1\11r\0è\0\0\0\95\14\0\0\0+t,\ 1\10®\ 1é\0\0\0\93q\0,x\11\11\12\8f\84\0\8f-runtime.x\0«\ 1é\0\0\0\15\b\0\0\0-\8f\ 1\13®\ 1é\0\0\0\ 1\12\ 1\8er\0é\0\0\0\ 1\11\ 5\b\0\0\0\8er\0é\0\0\0\ 1\10\ 5\f\0\0\0\8e\84\0\8f.runtime.y\0«\ 1é\0\0\0\15\18\0\0\0.\8f\ 1\13®\ 1é\0\0\0\ 1\12\ 1\8er\0é\0\0\0\ 1\11\ 5\b\0\0\0\8er\0é\0\0\0\ 1\10\ 5\f\0\0\0\8e\84\0q/runtime.appendslice\0\84\0q0type.func(*uint8, []uint8, []uint8) []uint8\0\1f\0é\0\0\0\0\91/q0r\0é\0\0\0\95\18\0\0\0$t\v\ 1\12®\ 1é\0\0\0\ 5(\0\0\0\8f\ 1\13\84\0s1"".buf\0®\ 1é\0\0\0\ 1\13\95àÿÿÿ1s,r\0é\0\0\0\ 50\0\0\0\8f\ 1\13r\0é\0\0\0\ 1\13\95èÿÿÿ1s,r\0é\0\0\0\ 54\0\0\0\8f\ 1\13r\0é\0\0\0\ 1\13\95ìÿÿÿ1s,\84\0s\ 1"".off\0r\0ê\0\0\0\ 1u\95Øÿÿÿ\ 1s\v&\0ë\0\0\0\ 1\12\ 1uU\0ë\0\0\0\0\ 5·\ 2\0\0pr\0ì\0\0\0\ 1\12\95\18\0\0\0$t\vr\0ì\0\0\0\ 1\12\81\10\v&\0í\0\0\0\ 1\12\ 5<\0\0\0uU\0í\0\0\0\0\ 5\83\ 2\0\0pr\0î\0\0\0\ 5<\0\0\0u\81\10\v\84\0t\ 2"".out\0®\ 1ð\0\0\0\91\ 2t\e\ 1\15\84\0\8f\ 3"".b\0®\ 1ð\0\0\0\ 1\15\11\ 3\8fr\0ð\0\0\0\81\10\v\ 1\15\84\0s\ 4"".m\0r\0ð\0\0\0\ 1\10\95Üÿÿÿ\ 4s\vD\0ð\0\0\0\0\ 1\15\84\0\8f\ 5"".n\0r\0ð\0\0\0\ 1\15\15\b\0\0\0\ 5\8f\1f\0ð\0\0\0\0\11\1eqr\0ð\0\0\0\95èÿÿÿ1s,\ 1\10«\ 1ð\0\0\0\ 5\10\0\0\0\8f\ 1\13®\ 1ð\0\0\0\ 1\8e\ 1\18r\0ð\0\0\0\ 5\b\0\0\0\8e\ 1\17r\0ð\0\0\0\ 5\f\0\0\0\8e\ 1\16r\0ñ\0\0\0\95Øÿÿÿ\ 1s\v\ 1\13¯\ 1ñ\0\0\0\ 1\13\ 1\13°\ 1ñ\0\0\0\81\10,\ 1\15¢\ 1ñ\0\0\0\ 1\13\ 1\15V\0ñ\0\0\0\0\ 5\95\ 2\0\0p\1f\0ñ\0\0\0\0\11)qr\0ñ\0\0\0\81\10,\ 1\12Ý\0ñ\0\0\0\ 1\13\ 1\12r\0ñ\0\0\0\95ìÿÿÿ1s,\ 1\11Ý\0ñ\0\0\0\ 1\13\ 1\11\9a\ 1ñ\0\0\0\95àÿÿÿ1s,\ 1\13®\ 1ñ\0\0\0\ 1\13\ 1\10«\ 1ñ\0\0\0\15\10\0\0\0 \8f\ 1\13®\ 1ñ\0\0\0\ 1\10\ 1\8er\0ñ\0\0\0\ 1\12\ 5\b\0\0\0\8er\0ñ\0\0\0\ 1\11\ 5\f\0\0\0\8e«\ 1ñ\0\0\0\11\1f\8f\ 1\13\84\0s\ 6"".buf1\0®\ 1ñ\0\0\0\ 1\18\95ðÿÿÿ\ 6s,®\ 1ñ\0\0\0\ 1\18\ 1\8er\0ñ\0\0\0\ 1\17\95øÿÿÿ\ 6s,r\0ñ\0\0\0\ 1\17\ 5\b\0\0\0\8er\0ñ\0\0\0\ 1\16\ 5\f\0\0\0\8e\84\0\8f\aruntime.wid\0r\0ñ\0\0\0\ 5\ 1\0\0\0u\15 \0\0\0\a\8f\84\0q\bruntime.copy\0\84\0q    type.func([]uint8, []uint8, uint32) int\0\1f\0ñ\0\0\0\0\91\bq      \84\0t
+"".n\0r\0ñ\0\0\0\95\18\0\0\0
+t\v\ 1\12r\0ñ\0\0\0\95\10\0\0\0+t,\ 1\11r\0ñ\0\0\0\95Üÿÿÿ\ 4s\v\ 1\10¯\ 1ò\0\0\0\ 1\10\ 1\13&\0ò\0\0\0\ 1\13\95øÿÿÿ\ 6s,O\0ò\0\0\0\0\ 5®\ 2\0\0p\84\0q\vruntime.panicindex\0\1f\0ò\0\0\0\0\11\v\ 1ò\0\0\0\95ðÿÿÿ\ 6s,\ 1\15q\0ò\0\0\0\ 5
+\0\0\0u\ 3\13\ 1\90\84\0q\ftype.int\0  \0ó\0\0\0\ 1\10\95Øÿÿÿ\ 1s\fr\0ó\0\0\0\95Øÿÿÿ\ 1s\f\ 1\15&\0ó\0\0\0\ 1\11\ 1\15S\0ó\0\0\0\0\ 5µ\ 2\0\0\0ô\0\0\0\ 1\11\95Øÿÿÿ\ 1s\fÝ\0ö\0\0\0\ 1\10\81\12\fY\0ë\0\0\0\0\ 5|\ 2\0\0\0ø\0\0\0\0\0\84\0q\r"".fastaComputeLookup\0\84\0q\ etype.func([]"".fastaAcid) *[4096]*"".fastaAcid\0ã\0\b\ 1\0\0\91\rq\ eE\10\0\0\0\18\0\0\0u\84\0q\ ftype.[4096]*"".fastaAcid\0®\ 1  \ 1\0\0\93q\0\ fx\11\11\12\8f\84\0q\10runtime.new\0\84\0q\11type.func(*uint8) *[4096]*"".fastaAcid\0\1f\0       \ 1\0\0\0\91\10q\11®\ 1      \ 1\0\0\ 5\b\0\0\0\8f\ 1\16\15\ 2
+\ 1\0\0\b\0\0\0\0\0\0\0\0\ 14\84\0q\12type.float64\0\15\ 2
+\ 1\0\0\ 14\819\12r\0\v\ 1\0\0\ 1u\ 1\11\84\0t\13"".acid\0\84\0q\14type.[]"".fastaAcid\0r\0\v\ 1\0\0\95\b\0\0\0\13t\14\ 1\17Y\0\v\ 1\0\0\0\ 5Â\ 2\0\0pD\0\v\ 1\0\0\0\ 1\11&\0\v\ 1\0\0\ 1\11\ 1\17R\0\v\ 1\0\0\0\ 5ó\ 2\0\0pr\0\v\ 1\0\0\ 1\11\81\10\f«\ 1\f\ 1\0\0\91\13t\14\ 1\13¯\ 1\f\ 1\0\0\ 1\11\ 1\15&\0\f\ 1\0\0\ 1\15\ 5\b\0\0\0\8eO\0\f\ 1\0\0\0\ 5Ê\ 2\0\0p\1f\0\f\ 1\0\0\0\11\v\ 1\f\ 1\0\0\ 1\8e\ 1\13>\0\f\ 1\0\0\ 5 \0\0\0u\ 1\15\9a\ 1\f\ 1\0\0\ 1\15\ 1\13\15\ 2\f\ 1\0\0\ 5\b\0\0\0\8e\ 14\15\ 2\f\ 1\0\0\819\12\ 1\ 1\f\ 1\0\0\ 14\ 15\15\ 2\f\ 1\0\0\ 15\819\12«\ 1\r\ 1\0\0\91\13t\14\ 1\13¯\ 1\r\ 1\0\0\ 1\10\ 1\15&\0\r\ 1\0\0\ 1\15\ 5\b\0\0\0\8eO\0\r\ 1\0\0\0\ 5Ö\ 2\0\0p\1f\0\r\ 1\0\0\0\11\v\ 1\r\ 1\0\0\ 1\8e\ 1\13>\0\r\ 1\0\0\ 5 \0\0\0u\ 1\15\9a\ 1\r\ 1\0\0\ 1\15\ 1\13\15\ 2\r\ 1\0\0\819\12\ 14\15\ 2\r\ 1\0\0\b\0\0\0\0\0þ¯@\ 15\e\ 2\r\ 1\0\0\ 15\ 14\15\ 2\r\ 1\0\0\ 14\ 5\10\0\0\0\8e&\0\ e\ 1\0\0\ 1\10\ 1uU\0\ e\ 1\0\0\0\ 5Á\ 2\0\0pr\0\ f\ 1\0\0\81\10\f\ 1\12/\0\ f\ 1\0\0\0\ 1\12«\ 1\ f\ 1\0\0\91\13t\14\ 1\13¯\ 1\ f\ 1\0\0\ 1\12\ 1\15&\0\ f\ 1\0\0\ 1\15\ 5\b\0\0\0\8eO\0\ f\ 1\0\0\0\ 5æ\ 2\0\0p\1f\0\ f\ 1\0\0\0\11\v\ 1\ f\ 1\0\0\ 1\8e\ 1\13>\0\ f\ 1\0\0\ 5 \0\0\0u\ 1\15\9a\ 1\ f\ 1\0\0\ 1\15\ 1\13«\ 1\ f\ 1\0\0\91\13t\14\ 1\15¯\ 1\ f\ 1\0\0\ 1\10\ 1\18&\0\ f\ 1\0\0\ 1\18\ 5\b\0\0\0\90O\0\ f\ 1\0\0\0\ 5î\ 2\0\0p\1f\0\ f\ 1\0\0\0\11\v\ 1\ f\ 1\0\0\ 1\90\ 1\15>\0\ f\ 1\0\0\ 5 \0\0\0u\ 1\18\9a\ 1\ f\ 1\0\0\ 1\18\ 1\15®\ 1\ f\ 1\0\0\ 1\15\ 5\18\0\0\0\8eY\0\ e\ 1\0\0\0\ 5Á\ 2\0\0pr\0\12\ 1\0\0\95\b\0\0\0\13t\14\ 1\10/\0\12\ 1\0\0\0\ 1\10«\ 1\12\ 1\0\0\91\13t\14\ 1\13¯\ 1\12\ 1\0\0\ 1\10\ 1\15&\0\12\ 1\0\0\ 1\15\ 5\b\0\0\0\8eO\0\12\ 1\0\0\0\ 5ú\ 2\0\0p\1f\0\12\ 1\0\0\0\11\v\ 1\12\ 1\0\0\ 1\8e\ 1\13>\0\12\ 1\0\0\ 5 \0\0\0u\ 1\15\9a\ 1\12\ 1\0\0\ 1\15\ 1\13\15\ 2\12\ 1\0\0\b\0\0\0\0\0þ¯@\ 14\15\ 2\12\ 1\0\0\ 14\ 5\10\0\0\0\8er\0\14\ 1\0\0\ 1u\81\10\fr\0\15\ 1\0\0\ 1u\ 1\12r\0\15\ 1\0\0\ 5\0\10\0\0u\ 1\17Y\0\15\ 1\0\0\0\ 5\ 4\ 3\0\0pD\0\15\ 1\0\0\0\ 1\12&\0\15\ 1\0\0\ 1\12\ 1\17R\0\15\ 1\0\0\0\ 5%\ 3\0\0pr\0\15\ 1\0\0\ 1\12\81\11\f«\ 1\16\ 1\0\0\91\13t\14\ 1\13¯\ 1\16\ 1\0\0\ 1\10\ 1\15&\0\16\ 1\0\0\ 1\15\ 5\b\0\0\0\8eO\0\16\ 1\0\0\0\ 5\f\ 3\0\0p\1f\0\16\ 1\0\0\0\11\v\ 1\16\ 1\0\0\ 1\8e\ 1\13>\0\16\ 1\0\0\ 5 \0\0\0u\ 1\15\9a\ 1\16\ 1\0\0\ 1\15\ 1\13\15\ 2\16\ 1\0\0\ 5\10\0\0\0\8e\ 1\ 1\16\ 1\0\0\ 1\11\ 16\8a\ 2\16\ 1\0\0\ 14\ 16T\0\16\ 1\0\0\0\ 5\14\ 3\0\0pY\0\16\ 1\0\0\0\ 5\16\ 3\0\0pD\0\17\ 1\0\0\0\81\10\fY\0\16\ 1\0\0\0\ 5\a\ 3\0\0\ 1\19\ 1\0\0\ 1\16\ 1\13¯\ 1\19\ 1\0\0\ 1\11\ 1\15&\0\19\ 1\0\0\ 1\15\ 5\0\10\0\0uO\0\19\ 1\0\0\0\ 5\e\ 3\0\0p\1f\0\19\ 1\0\0\0\11\v\ 1\19\ 1\0\0\91\13t\14\ 1\18¯\ 1\19\ 1\0\0\ 1\10\ 1\19&\0\19\ 1\0\0\ 1\19\ 5\b\0\0\0\93O\0\19\ 1\0\0\0\ 5 \ 3\0\0p\1f\0\19\ 1\0\0\0\11\v\ 1\19\ 1\0\0\ 1\93\ 1\18>\0\19\ 1\0\0\ 5 \0\0\0u\ 1\19\9a\ 1\19\ 1\0\0\ 1\19\ 1\18®\ 1\19\ 1\0\0\ 1\18\ 3\15\b\8eY\0\15\ 1\0\0\0\ 5\ 3\ 3\0\0\ 1\1c\ 1\0\0\ 1\16\15\10\0\0\0*tª\0\1c\ 1\0\0\0\0\84\0q\15"".fastaRandom\0\84\0q\16type.func(*"".fastaBuffer, []"".fastaAcid, int)\0ã\0\1f\ 1\0\0\91\15q\16E0\0\0\0 \0\0\0u\84\0\8f\17"".acid\0«\ 1%\ 1\0\0\11\17\8f\ 1\13\84\0t\18"".acid\0®\ 1%\ 1\0\0\95\b\0\0\0\18t\14\ 1\15®\ 1%\ 1\0\0\ 1\15\ 1\8er\0%\ 1\0\0\95\10\0\0\0\18t\14\ 1\15r\0%\ 1\0\0\ 1\15\ 5\b\0\0\0\8er\0%\ 1\0\0\95\14\0\0\0\18t\14\ 1\15r\0%\ 1\0\0\ 1\15\ 5\f\0\0\0\8e\1f\0%\ 1\0\0\0\91\rq\ er\0%\ 1\0\0\95\18\0\0\0
+t\f\ 1\1c®\ 1%\ 1\0\0\ 5\10\0\0\0\8f\ 1\13\84\0s\19"".lookup\0\84\0q\1atype.*[4096]*"".fastaAcid\0®\ 1%\ 1\0\0\ 1\13\95øÿÿÿ\19s\1a&\0&\ 1\0\0\ 1\1c\ 1uU\0&\ 1\0\0\0\ 5\80\ 3\0\0pr\0'\ 1\0\0\ 1\1c\95\18\0\0\0
+t\fr\0'\ 1\0\0\ 1\1c\81\10\f&\0(\ 1\0\0\ 1\1c\ 5<\0\0\0uU\0(\ 1\0\0\0\ 5:\ 3\0\0pr\0)\ 1\0\0\ 5<\0\0\0u\81\10\f®\ 1+\ 1\0\0\91\ 2t\e\ 1\15®\ 1+\ 1\0\0\ 1\15\11\ 3\8fr\0+\ 1\0\0\81\10\f\ 1\15r\0+\ 1\0\0\ 1\10\95ôÿÿÿ\ 4s\fD\0+\ 1\0\0\0\ 1\15\84\0\8f\e"".n\0r\0+\ 1\0\0\ 1\15\15\b\0\0\0\e\8f\1f\0+\ 1\0\0\0\11\1e\ 1+\ 1\0\0\95øÿÿÿ\19s\1a\ 1\1d\84\0t\1c"".n\0r\0+\ 1\0\0\95\18\0\0\0\1ct\f\ 1\1cr\0+\ 1\0\0\95ôÿÿÿ\ 4s\f\ 1\e«\ 1+\ 1\0\0\ 5\10\0\0\0\8f\ 1\13®\ 1+\ 1\0\0\ 1\8e\ 1\1ar\0+\ 1\0\0\ 5\b\0\0\0\8e\ 1\17r\0+\ 1\0\0\ 5\f\0\0\0\8e\ 1\15\15\ 2,\ 1\0\0\b\96\v\9d?\ 14\15\ 2,\ 1\0\0\ 14\81:\12\84\0q\1d"".fastaRand\0\84\0q\1etype.uint32\0r\0-\ 1\0\0\91\1dq\1e\ 1\11r\0.\ 1\0\0\ 1u\81\16\fY\0.\ 1\0\0\0\ 5N\ 3\0\0pD\0.\ 1\0\0\0\81\16\f&\0.\ 1\0\0\ 1\16\ 1\eR\0.\ 1\0\0\0\ 5x\ 3\0\0pr\0/\ 1\0\0\81\11\1e\ 1\13r\0/\ 1\0\0\ 5%\ f\0\0u\ 1\15>\0/\ 1\0\0\ 1\15\ 1\13 \0/\ 1\0\0\ 5\85s\0\0u\ 1\13r\0/\ 1\0\0\ 1\13\ 1\18r\0/\ 1\0\0\ 5\81\1du\ 1\10\82\0/\ 1\0\0\ 1\13\0Ô\0/\ 1\0\0\ 5\ e\0\0\0u\ 1\12r\0/\ 1\0\0\ 1\12\ 1\15>\0/\ 1\0\0\ 5À"\ 2\0u\ 1\15Ý\0/\ 1\0\0\ 1\15\ 1\13r\0/\ 1\0\0\ 1\13\81\11\1eã\ 10\ 1\0\0\ 1\13\ 15\15\ 20\ 1\0\0\ 15\ 14\15\ 20\ 1\0\0\81:\12\ 15\e\ 20\ 1\0\0\ 1:\ 14\15\ 20\ 1\0\0\ 14\819\12ì\ 11\ 1\0\0\ 14\ 1\15¯\ 11\ 1\0\0\ 1\15\ 1\13®\ 11\ 1\0\0\81\1d\1a\ 1\15à\01\ 1\0\0\ 1u\ 1\90&\01\ 1\0\0\ 1\13\ 5\0\10\0\0uO\01\ 1\0\0\0\ 5h\ 3\0\0p\1f\01\ 1\0\0\0\11\v\ 11\ 1\0\0\ 3\13\b\90\ 1\18\84\0q\1ftype.*"".fastaAcid\0®\ 11\ 1\0\0\ 1\18\81\10\1f\15\ 22\ 1\0\0\ 5\10\0\0\0\8b\ 14\8a\ 22\ 1\0\0\ 14\ 19T\02\ 1\0\0\0\ 5n\ 3\0\0pY\02\ 1\0\0\0\ 5p\ 3\0\0\ 13\ 1\0\0\ 5\18\0\0\0\8b\ 1\10Y\02\ 1\0\0\0\ 5j\ 3\0\0\ 15\ 1\0\0\ 1\16\ 1\13&\05\ 1\0\0\ 1\13\81\17,O\05\ 1\0\0\0\ 5t\ 3\0\0p\1f\05\ 1\0\0\0\11\v\ 15\ 1\0\0\81\10\1f\ 1\19q\05\ 1\0\0\ 1\8b\ 1\18q\05\ 1\0\0\ 1\18\ 3\13\ 1\95Y\0.\ 1\0\0\0\ 5M\ 3\0\0pr\07\ 1\0\0\ 1\11\91\1dq\1e¯\ 18\ 1\0\0\ 1\e\ 1\13&\08\ 1\0\0\ 1\13\81\17,O\08\ 1\0\0\0\ 5}\ 3\0\0p\1f\08\ 1\0\0\0\11\vqq\08\ 1\0\0\ 5
+\0\0\0u\ 3\13\ 1\95Ý\09\ 1\0\0\ 1\e\81\1c\fY\0&\ 1\0\0\0\ 53\ 3\0\0\0;\ 1\0\0\0\0\84\0q "".gobinit\0\84\0q!type.func()\0ã\0S\ 1\0\0\91 q!\ 5(\ 1\0\0u\84\0q""".jsondata\0\84\0q#type."".JSONResponse\0«\ 1V\ 1\0\0\91"q#\ 1\13\84\0\8f$"".r\0®\ 1V\ 1\0\0\ 1\13\11$\8f\84\0q%"".gobResponse\0\84\0q&type.func(*"".JSONResponse) *"".JSONResponse\0\1f\0V\ 1\0\0\0\91%q&®\ 1V\ 1\0\0\ 5\b\0\0\0\8f\ 1\13\84\0q'"".gobdata\0\84\0q(type.*"".JSONResponse\0®\ 1V\ 1\0\0\ 1\13\91'q(\84\0q)type.bytes.Buffer\0\84\0q*type.uint8\0\84\0\8f+runtime.typ\0®\ 1X\ 1\0\0\93q\0)x*\11+\8f\84\0q,type.func(*uint8) *bytes.Buffer\0\1f\0X\ 1\0\0\0\91\10q,®\ 1X\ 1\0\0\ 5\b\0\0\0\8f\ 1\13\84\0q-type.*bytes.Buffer\0®\ 1Y\ 1\0\0\93q\0-x*\11+\8f\84\0q.type.io.Writer\0\84\0\8f/runtime.typ2\0®\ 1Y\ 1\0\0\93q\0.x*\15\b\0\0\0/\8f\84\0s0"".&buf\0®\ 1Y\ 1\0\0\ 1\13\15\18ÿÿÿ0s\84\0\8f1runtime.elem\0®\ 1Y\ 1\0\0\ 1\13\15\10\0\0\01\8f\84\0q\ 1runtime.convT2I\0\84\0q\ 2type.func(*uint8, *uint8, *bytes.Buffer) io.Writer\0\1f\0Y\ 1\0\0\0\91\ 1q\ 2«\ 1Y\ 1\0\0\ 5\18\0\0\0\8f\ 1\16\84\0\8f\ 3encoding/gob.w\0«\ 1Y\ 1\0\0\11\ 3\8f\ 1\17²\ 1Y\ 1\0\0\0\0²\ 1Y\ 1\0\0\0\0\84\0q\ 4encoding/gob.NewEncoder\0\84\0q\ 5type.func(io.Writer) *encoding/gob.Encoder\0\1f\0Y\ 1\0\0\0\91\ 4q\ 5®\ 1Y\ 1\0\0\ 5\10\0\0\0\8f\ 1\15\84\0s\ 6"".autotmp_0034\0®\ 1Y\ 1\0\0\ 1\15\15Øÿÿÿ\ 6\ 1Y\ 1\0\0\93q\0(x*\11+\8f®\ 1Y\ 1\0\0\91'q(\ 1\15®\ 1Y\ 1\0\0\ 1\15\15\b\0\0\01\8f\84\0q\aruntime.convT2E\0\84\0q\btype.func(*uint8, *"".JSONResponse) interface {}\0\1f\0Y\ 1\0\0\0\91\aq\b«\ 1Y\ 1\0\0\ 5\10\0\0\0\8f\ 1\16\84\0\8f    encoding/gob.e\0«\ 1Y\ 1\0\0\15\b\0\0\0      \8f\ 1\17²\ 1Y\ 1\0\0\0\0²\ 1Y\ 1\0\0\0\0®\ 1Y\ 1\0\0\15Øÿÿÿ\ 6s\ 1\15\84\0\8f
+encoding/gob.enc\0®\ 1Y\ 1\0\0\ 1\15\11
+\8f\84\0q\vencoding/gob.(*Encoder).Encode\0\1f\0Y\ 1\0\0\0\11\v\ 1Y\ 1\0\0\ 5\18\0\0\0\8f\ 1\13®\ 1Y\ 1\0\0\ 1\8e\ 1\15\84\0s\f"".err\0\84\0q\rtype.error\0®\ 1Y\ 1\0\0\ 1\15\95 ÿÿÿ\fs\r®\ 1Y\ 1\0\0\ 5\b\0\0\0\8e\ 1\15®\ 1Y\ 1\0\0\ 1\15\95(ÿÿÿ\fs\r«\ 1Y\ 1\0\0\95 ÿÿÿ\fs\r\ 1\13¢\ 1Y\ 1\0\0\ 1\8e\ 1uQ\0Y\ 1\0\0\0\ 5´\ 3\0\0\ 1Z\ 1\0\0\111\8f\ 1\13®\ 1Z\ 1\0\0\95 ÿÿÿ\fs\r\ 1\15®\ 1Z\ 1\0\0\ 1\15\ 1\8e®\ 1Z\ 1\0\0\95(ÿÿÿ\fs\r\ 1\15®\ 1Z\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\84\0q\ eruntime.convI2E\0\84\0q\ ftype.func(error) interface {}\0\1f\0Z\ 1\0\0\0\91\ eq\ f«\ 1Z\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1Z\ 1\0\0\ 1\8f\ 1\17²\ 1Z\ 1\0\0\0\0²\ 1Z\ 1\0\0\0\0\84\0q\10runtime.panic\0\84\0q\11type.func(interface {})\0\1f\0Z\ 1\0\0\0\91\10q\11®\ 1\\ 1\0\0\15\18ÿÿÿ0s\ 1\11\84\0s\12""..r0\0\84\0q\13type.[]uint8\0®\ 1\\ 1\0\0\ 1u\95\bÿÿÿ\12s\13r\0\\ 1\0\0\ 1u\95\10ÿÿÿ\12s\13r\0\\ 1\0\0\ 1u\95\14ÿÿÿ\12s\13®\ 1\\ 1\0\0\ 1\8c\ 1\17r\0\\ 1\0\0\ 5\b\0\0\0\8c\ 1\10r\0\\ 1\0\0\ 5\f\0\0\0\8c\ 1\16r\0\\ 1\0\0\ 5\10\0\0\0\8c\ 1\13¯\ 1\\ 1\0\0\ 1\13\ 1\13°\ 1\\ 1\0\0\ 1\10\ 1\15¢\ 1\\ 1\0\0\ 1\13\ 1\15V\0\\ 1\0\0\0\ 5Á\ 3\0\0p\84\0q\14runtime.panicslice\0\1f\0\\ 1\0\0\0\11\14qr\0\\ 1\0\0\ 1\10\ 1\12Ý\0\\ 1\0\0\ 1\13\ 1\12r\0\\ 1\0\0\ 1\16\ 1\15Ý\0\\ 1\0\0\ 1\13\ 1\15\9a\ 1\\ 1\0\0\ 1\17\ 1\13®\ 1\\ 1\0\0\ 1\13\95\bÿÿÿ\12s\13r\0\\ 1\0\0\ 1\12\95\10ÿÿÿ\12s\13r\0\\ 1\0\0\ 1\15\95\14ÿÿÿ\12s\13®\ 1\\ 1\0\0\95\bÿÿÿ\12s\13\ 1\13\84\0q\15"".gobbytes\0®\ 1\\ 1\0\0\ 1\13\91\15q\13r\0\\ 1\0\0\95\10ÿÿÿ\12s\13\ 1\13r\0\\ 1\0\0\ 1\13\95\b\0\0\0\15q\13r\0\\ 1\0\0\95\14ÿÿÿ\12s\13\ 1\13r\0\\ 1\0\0\ 1\13\95\f\0\0\0\15q\13®\ 1^\ 1\0\0\93q\0#x*\11+\8f\84\0q\16runtime.new\0\84\0q\17type.func(*uint8) *"".JSONResponse\0\1f\0^\ 1\0\0\0\91\16q\17®\ 1^\ 1\0\0\ 5\b\0\0\0\8f\ 1\13\84\0s\18"".&r\0®\ 1^\ 1\0\0\ 1\13\15Xÿÿÿ\18\ 1_\ 1\0\0\91\15q\13\ 1\13\84\0s\19bytes.buf\0®\ 1_\ 1\0\0\ 1\13\950ÿÿÿ\19s\13r\0_\ 1\0\0\95\b\0\0\0\15q\13\ 1\13r\0_\ 1\0\0\ 1\13\958ÿÿÿ\19s\13r\0_\ 1\0\0\95\f\0\0\0\15q\13\ 1\13r\0_\ 1\0\0\ 1\13\95<ÿÿÿ\19s\13®\ 1_\ 1\0\0\ 1u\95 ÿÿÿ\12s-®\ 1_\ 1\0\0\93q\0)x*\11+\8f\1f\0_\ 1\0\0\0\91\16q,®\ 1_\ 1\0\0\ 5\b\0\0\0\8f\ 1\12®\ 1_\ 1\0\0\ 1\12\ 1\17®\ 1_\ 1\0\0\ 1u\ 1\10®\ 1_\ 1\0\0\ 5\f\0\0\0u\ 1\11¨\0_\ 1\0\0\0\0Æ\ 1_\ 1\0\0\0\0®\ 1_\ 1\0\0\950ÿÿÿ\19s\13\ 1\15®\ 1_\ 1\0\0\ 1\15\ 1\8dr\0_\ 1\0\0\958ÿÿÿ\19s\13\ 1\15r\0_\ 1\0\0\ 1\15\ 5\b\0\0\0\8dr\0_\ 1\0\0\95<ÿÿÿ\19s\13\ 1\15r\0_\ 1\0\0\ 1\15\ 5\f\0\0\0\8d®\ 1_\ 1\0\0\ 1\12\95 ÿÿÿ\12s-®\ 1_\ 1\0\0\93q\0-x*\11+\8f\84\0q\1atype.io.Reader\0®\ 1_\ 1\0\0\93q\0\1ax*\15\b\0\0\0/\8f®\ 1_\ 1\0\0\95 ÿÿÿ\12s-\ 1\15®\ 1_\ 1\0\0\ 1\15\15\10\0\0\01\8f\84\0q\etype.func(*uint8, *uint8, *bytes.Buffer) io.Reader\0\1f\0_\ 1\0\0\0\91\ 1q\e«\ 1_\ 1\0\0\ 5\18\0\0\0\8f\ 1\16\84\0\8f\1cencoding/gob.r\0«\ 1_\ 1\0\0\11\1c\8f\ 1\17²\ 1_\ 1\0\0\0\0²\ 1_\ 1\0\0\0\0\84\0q\1dencoding/gob.NewDecoder\0\84\0q\1etype.func(io.Reader) *encoding/gob.Decoder\0\1f\0_\ 1\0\0\0\91\1dq\1e®\ 1_\ 1\0\0\ 5\10\0\0\0\8f\ 1\15\84\0s\1f"".autotmp_0038\0®\ 1_\ 1\0\0\ 1\15\15Pÿÿÿ\1f\ 1_\ 1\0\0\93q\0(x*\11+\8f®\ 1_\ 1\0\0\15Xÿÿÿ\18s\ 1\15®\ 1_\ 1\0\0\ 1\15\15\b\0\0\01\8f\1f\0_\ 1\0\0\0\91\aq\b«\ 1_\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1_\ 1\0\0\15\b\0\0\0        \8f\ 1\17²\ 1_\ 1\0\0\0\0²\ 1_\ 1\0\0\0\0®\ 1_\ 1\0\0\15Pÿÿÿ\1fs\ 1\15\84\0\8f encoding/gob.dec\0®\ 1_\ 1\0\0\ 1\15\11 \8f\84\0q!encoding/gob.(*Decoder).Decode\0\1f\0_\ 1\0\0\0\11!q«\ 1_\ 1\0\0\ 5\18\0\0\0\8f\ 1\13®\ 1_\ 1\0\0\ 1\8e\ 1\15®\ 1_\ 1\0\0\ 1\15\95\80ÿÿÿ\fs\r®\ 1_\ 1\0\0\ 5\b\0\0\0\8e\ 1\15®\ 1_\ 1\0\0\ 1\15\95\88ÿÿÿ\fs\r«\ 1_\ 1\0\0\95\80ÿÿÿ\fs\r\ 1\13¢\ 1_\ 1\0\0\ 1\8e\ 1uQ\0_\ 1\0\0\0\ 5\13\ 4\0\0\ 1`\ 1\0\0\111\8f\ 1\13®\ 1`\ 1\0\0\95\80ÿÿÿ\fs\r\ 1\15®\ 1`\ 1\0\0\ 1\15\ 1\8e®\ 1`\ 1\0\0\95\88ÿÿÿ\fs\r\ 1\15®\ 1`\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\1f\0`\ 1\0\0\0\91\ eq\ f«\ 1`\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1`\ 1\0\0\ 1\8f\ 1\17²\ 1`\ 1\0\0\0\0²\ 1`\ 1\0\0\0\0\1f\0`\ 1\0\0\0\91\10q\11®\ 1b\ 1\0\0\93q\0(x*\11+\8f®\ 1b\ 1\0\0\91'q(\ 1\15®\ 1b\ 1\0\0\ 1\15\15\b\0\0\01\8f\1f\0b\ 1\0\0\0\91\aq\b®\ 1b\ 1\0\0\ 5\10\0\0\0\8f\ 1\15\84\0s""".autotmp_0039\0®\ 1b\ 1\0\0\ 1\15\15\90ÿÿÿ"s®\ 1b\ 1\0\0\ 5\18\0\0\0\8f\ 1\15®\ 1b\ 1\0\0\ 1\15\15\98ÿÿÿ"s®\ 1b\ 1\0\0\93q\0(x*\11+\8f®\ 1b\ 1\0\0\15Xÿÿÿ\18s\ 1\15®\ 1b\ 1\0\0\ 1\15\15\b\0\0\01\8f\1f\0b\ 1\0\0\0\91\aq\b«\ 1b\ 1\0\0\ 5\10\0\0\0\8f\ 1\16\84\0\8f#reflect.a2\0«\ 1b\ 1\0\0\15\10\0\0\0#\8f\ 1\17²\ 1b\ 1\0\0\0\0²\ 1b\ 1\0\0\0\0\84\0\8f$reflect.a1\0«\ 1b\ 1\0\0\11$\8f\ 1\15®\ 1b\ 1\0\0\15\90ÿÿÿ"s\ 1\18®\ 1b\ 1\0\0\ 1\18\ 1\90®\ 1b\ 1\0\0\15\98ÿÿÿ"s\ 1\18®\ 1b\ 1\0\0\ 1\18\ 5\b\0\0\0\90\84\0q%reflect.DeepEqual\0\84\0q&type.func(interface {}, interface {}) bool\0\1f\0b\ 1\0\0\0\91%q&q\0b\ 1\0\0\ 5 \0\0\0\8f\ 1\13%\0b\ 1\0\0\ 1\13\ 1uZ\0b\ 1\0\0\0\ 5·\ 4\0\0p\84\0s'"".autotmp_0042\0«\ 1c\ 1\0\0\15`ÿÿÿ's\ 1\17®\ 1c\ 1\0\0\ 1u\ 1\10®\ 1c\ 1\0\0\ 5\ 4\0\0\0u\ 1\11¨\0c\ 1\0\0\0\0Æ\ 1c\ 1\0\0\0\0«\ 1c\ 1\0\0\15`ÿÿÿ's\ 1\13\84\0s("".autotmp_0040\0r\0c\ 1\0\0\ 5\ 2\0\0\0u\15Ðÿÿÿ(sr\0c\ 1\0\0\ 5\ 2\0\0\0u\15Ôÿÿÿ(s®\ 1c\ 1\0\0\ 1\13\15Èÿÿÿ(s\84\0q)type."".JSONResponse\0®\ 1c\ 1\0\0\93q\0)x*\11+\8f\84\0q*"".jsondata\0«\ 1c\ 1\0\0\91*q)\ 1\16«\ 1c\ 1\0\0\15\b\0\0\01\8f\ 1\17²\ 1c\ 1\0\0\0\0²\ 1c\ 1\0\0\0\0²\ 1c\ 1\0\0\0\0\84\0q+type.func(*uint8, "".JSONResponse) interface {}\0\1f\0c\ 1\0\0\0\91\aq+«\ 1c\ 1\0\0\ 5 \0\0\0\8f\ 1\16«\ 1c\ 1\0\0\15Èÿÿÿ(s\ 1\17®\ 1c\ 1\0\0\ 1\92\ 1\17²\ 1c\ 1\0\0\0\0²\ 1c\ 1\0\0\0\0\84\0q,type.uint8\0\84\0\8f-runtime.typ\0®\ 1c\ 1\0\0\93q\0)x,\11-\8f®\ 1c\ 1\0\0\15Xÿÿÿ\18s\ 1\16«\ 1c\ 1\0\0\15\b\0\0\01\8f\ 1\17²\ 1c\ 1\0\0\0\0²\ 1c\ 1\0\0\0\0²\ 1c\ 1\0\0\0\0\1f\0c\ 1\0\0\0\91\aq+«\ 1c\ 1\0\0\ 5 \0\0\0\8f\ 1\16«\ 1c\ 1\0\0\15Èÿÿÿ(s\ 1\17®\ 1c\ 1\0\0\ 1\92\ 1\17\9a\ 1c\ 1\0\0\ 5\10\0\0\0u\ 1\17²\ 1c\ 1\0\0\0\0²\ 1c\ 1\0\0\0\0\84\0q.go.string."%v\n%v"\0«\ 1c\ 1\0\0\11.q\ 1\16\84\0\8f/log.format\0«\ 1c\ 1\0\0\11/\8f\ 1\17²\ 1c\ 1\0\0\0\0²\ 1c\ 1\0\0\0\0\84\0\8f0log.v\0«\ 1c\ 1\0\0\15\10\0\0\00\8f\ 1\13®\ 1c\ 1\0\0\15Èÿÿÿ(s\ 1\15®\ 1c\ 1\0\0\ 1\15\ 1\8er\0c\ 1\0\0\15Ðÿÿÿ(s\ 1\15r\0c\ 1\0\0\ 1\15\ 5\b\0\0\0\8er\0c\ 1\0\0\15Ôÿÿÿ(s\ 1\15r\0c\ 1\0\0\ 1\15\ 5\f\0\0\0\8e\84\0q1log.Printf\0\84\0q\ 1type.func(string, ...interface {})\0\1f\0c\ 1\0\0\0\911q\ 1\84\0q\ 2type.*"".JSONResponse\0®\ 1d\ 1\0\0\93q\0\ 2x,\11-\8f«\ 1d\ 1\0\0\91*q)\ 1\13\84\0\8f\ 3runtime.elem\0®\ 1d\ 1\0\0\ 1\13\15\b\0\0\0\ 3\8f\1f\0d\ 1\0\0\0\91\aq\b«\ 1d\ 1\0\0\ 5\10\0\0\0\8f\ 1\16\84\0\8f\ 4encoding/json.v\0«\ 1d\ 1\0\0\11\ 4\8f\ 1\17²\ 1d\ 1\0\0\0\0²\ 1d\ 1\0\0\0\0\84\0q\ 5encoding/json.Marshal\0\84\0q\ 6type.func(interface {}) ([]uint8, error)\0\1f\0d\ 1\0\0\0\91\ 5q\ 6«\ 1d\ 1\0\0\ 5\10\0\0\0\8f\ 1\13®\ 1d\ 1\0\0\ 1\8e\ 1\15\84\0s\a"".b\0®\ 1d\ 1\0\0\ 1\15\95@ÿÿÿ\as\13r\0d\ 1\0\0\ 5\b\0\0\0\8e\ 1\15r\0d\ 1\0\0\ 1\15\95Hÿÿÿ\as\13r\0d\ 1\0\0\ 5\f\0\0\0\8e\ 1\15r\0d\ 1\0\0\ 1\15\95Lÿÿÿ\as\13®\ 1e\ 1\0\0\93q\0\ 2x,\11-\8f®\ 1e\ 1\0\0\15Xÿÿÿ\18s\ 1\13®\ 1e\ 1\0\0\ 1\13\15\b\0\0\0\ 3\8f\84\0q\bruntime.convT2E\0\84\0q      type.func(*uint8, *"".JSONResponse) interface {}\0\1f\0e\ 1\0\0\0\91\bq     «\ 1e\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1e\ 1\0\0\11\ 4\8f\ 1\17²\ 1e\ 1\0\0\0\0²\ 1e\ 1\0\0\0\0\1f\0e\ 1\0\0\0\91\ 5q\ 6«\ 1e\ 1\0\0\ 5\10\0\0\0\8f\ 1\13®\ 1e\ 1\0\0\ 1\8e\ 1\15\84\0s
+"".br\0®\ 1e\ 1\0\0\ 1\15\95¸ÿÿÿ
+s\13r\0e\ 1\0\0\ 5\b\0\0\0\8e\ 1\15r\0e\ 1\0\0\ 1\15\95Àÿÿÿ
+s\13r\0e\ 1\0\0\ 5\f\0\0\0\8e\ 1\15r\0e\ 1\0\0\ 1\15\95Äÿÿÿ
+s\13\84\0s\v"".autotmp_0045\0«\ 1f\ 1\0\0\15àÿÿÿ\vs\ 1\17®\ 1f\ 1\0\0\ 1u\ 1\10®\ 1f\ 1\0\0\ 5\ 4\0\0\0u\ 1\11¨\0f\ 1\0\0\0\0Æ\ 1f\ 1\0\0\0\0«\ 1f\ 1\0\0\15àÿÿÿ\vs\ 1\13\84\0s\f"".autotmp_0043\0r\0f\ 1\0\0\ 5\ 2\0\0\0u\15°ÿÿÿ\fsr\0f\ 1\0\0\ 5\ 2\0\0\0u\15´ÿÿÿ\f\ 1f\ 1\0\0\ 1\13\15¨ÿÿÿ\f\ 1f\ 1\0\0\93q\0\13x,\11-\8f«\ 1f\ 1\0\0\15\b\0\0\0\ 3\8f\ 1\13®\ 1f\ 1\0\0\95@ÿÿÿ\as\13\ 1\15®\ 1f\ 1\0\0\ 1\15\ 1\8er\0f\ 1\0\0\95Hÿÿÿ\as\13\ 1\15r\0f\ 1\0\0\ 1\15\ 5\b\0\0\0\8er\0f\ 1\0\0\95Lÿÿÿ\as\13\ 1\15r\0f\ 1\0\0\ 1\15\ 5\f\0\0\0\8e\84\0q\rtype.func(*uint8, []uint8) interface {}\0\1f\0f\ 1\0\0\0\91\bq\r«\ 1f\ 1\0\0\ 5\18\0\0\0\8f\ 1\16«\ 1f\ 1\0\0\15¨ÿÿÿ\fs\ 1\17®\ 1f\ 1\0\0\ 1\92\ 1\17²\ 1f\ 1\0\0\0\0²\ 1f\ 1\0\0\0\0®\ 1f\ 1\0\0\93q\0\13x,\11-\8f«\ 1f\ 1\0\0\15\b\0\0\0\ 3\8f\ 1\13®\ 1f\ 1\0\0\95¸ÿÿÿ
+s\13\ 1\15®\ 1f\ 1\0\0\ 1\15\ 1\8er\0f\ 1\0\0\95Àÿÿÿ
+s\13\ 1\15r\0f\ 1\0\0\ 1\15\ 5\b\0\0\0\8er\0f\ 1\0\0\95Äÿÿÿ
+s\13\ 1\15r\0f\ 1\0\0\ 1\15\ 5\f\0\0\0\8e\1f\0f\ 1\0\0\0\91\bq\r«\ 1f\ 1\0\0\ 5\18\0\0\0\8f\ 1\16«\ 1f\ 1\0\0\15¨ÿÿÿ\fs\ 1\17®\ 1f\ 1\0\0\ 1\92\ 1\17\9a\ 1f\ 1\0\0\ 5\10\0\0\0u\ 1\17²\ 1f\ 1\0\0\0\0²\ 1f\ 1\0\0\0\0\84\0q\ ego.string."%s\n%s\n"\0«\ 1f\ 1\0\0\11\ eq\ 1\16«\ 1f\ 1\0\0\11/\8f\ 1\17²\ 1f\ 1\0\0\0\0²\ 1f\ 1\0\0\0\0«\ 1f\ 1\0\0\15\10\0\0\00\8f\ 1\13®\ 1f\ 1\0\0\15¨ÿÿÿ\fs\ 1\15®\ 1f\ 1\0\0\ 1\15\ 1\8er\0f\ 1\0\0\15°ÿÿÿ\fs\ 1\15r\0f\ 1\0\0\ 1\15\ 5\b\0\0\0\8er\0f\ 1\0\0\15´ÿÿÿ\fs\ 1\15r\0f\ 1\0\0\ 1\15\ 5\f\0\0\0\8e\1f\0f\ 1\0\0\0\911q\ 1\84\0q\ ftype.string\0®\ 1g\ 1\0\0\93q\0\ fx,\11-\8f\84\0q\10go.string."gob: encode+decode lost data"\0«\ 1g\ 1\0\0\11\10q\ 1\16«\ 1g\ 1\0\0\15\b\0\0\0\ 3\8f\ 1\17²\ 1g\ 1\0\0\0\0²\ 1g\ 1\0\0\0\0\84\0q\11type.func(*uint8, string) interface {}\0\1f\0g\ 1\0\0\0\91\bq\11«\ 1g\ 1\0\0\ 5\18\0\0\0\8f\ 1\16«\ 1g\ 1\0\0\ 1\8f\ 1\17²\ 1g\ 1\0\0\0\0²\ 1g\ 1\0\0\0\0\84\0q\12runtime.panic\0\84\0q\13type.func(interface {})\0\1f\0g\ 1\0\0\0\91\12q\13ª\0i\ 1\0\0\0\0\84\0q\14"".gobResponse\0\84\0q\15type.func(*"".JSONResponse) *"".JSONResponse\0ã\0l\ 1\0\0\91\14q\15E\18\0\0\0\10\0\0\0\ 1m\ 1\0\0\93q\0)x,\11-\8f\1f\0m\ 1\0\0\0\91\16q\17®\ 1m\ 1\0\0\ 5\b\0\0\0\8f\ 1\13\84\0s\16"".autotmp_0047\0®\ 1m\ 1\0\0\ 1\13\15øÿÿÿ\16s\84\0t\17"".r\0®\ 1m\ 1\0\0\91\17t\ 2\ 1\15®\ 1m\ 1\0\0\ 1\90\ 1\18\84\0\8f\18"".n\0®\ 1m\ 1\0\0\ 1\18\11\18\8f\84\0q\19"".gobNode\0\84\0q\1atype.func(*"".JSONNode) *"".JSONNode\0\1f\0m\ 1\0\0\0\91\19q\1a®\ 1m\ 1\0\0\15øÿÿÿ\16s\ 1\10®\ 1m\ 1\0\0\ 5\b\0\0\0\8f\ 1\13®\ 1m\ 1\0\0\ 1\13\ 1\8b®\ 1m\ 1\0\0\91\17t\ 2\ 1\16\9a\ 1m\ 1\0\0\ 5\b\0\0\0u\ 1\16®\ 1m\ 1\0\0\ 1\10\ 1\17\9a\ 1m\ 1\0\0\ 5\b\0\0\0u\ 1\17²\ 1m\ 1\0\0\0\0²\ 1m\ 1\0\0\0\0\84\0t\e""..noname\0®\ 1m\ 1\0\0\ 1\10\15\b\0\0\0\e\0m\ 1\0\0\0\0ã\0p\ 1\0\0\91\19q\1aE@\0\0\0\10\0\0\0u\84\0q\1ctype."".JSONNode\0®\ 1q\ 1\0\0\93q\0\1cx,\11-\8f\84\0q\1druntime.new\0\84\0q\1etype.func(*uint8) *"".JSONNode\0\1f\0q\ 1\0\0\0\91\1dq\1e®\ 1q\ 1\0\0\ 5\b\0\0\0\8f\ 1\12\84\0t\1f"".n\0\84\0q type.*"".JSONNode\0®\ 1r\ 1\0\0\91\1f\ 1\16®\ 1r\ 1\0\0\81\12 \ 1\17®\ 1r\ 1\0\0\ 5   \0\0\0u\ 1\11¨\0r\ 1\0\0\0\0²\ 1r\ 1\0\0\0\0®\ 1s\ 1\0\0\81\12 \ 1\13\9a\ 1s\ 1\0\0\ 5\10\0\0\0u\ 1\13r\0s\ 1\0\0\ 5\b\0\0\0\8e\ 1\13&\0s\ 1\0\0\ 1\13\ 1uZ\0s\ 1\0\0\0\ 5à\ 4\0\0\ 1t\ 1\0\0\81\12 \ 1\17\9a\ 1t\ 1\0\0\ 5\10\0\0\0u\ 1\17®\ 1t\ 1\0\0\ 1u\ 1\10Æ\ 1t\ 1\0\0\0\0Æ\ 1t\ 1\0\0\0\0Y\0s\ 1\0\0\0\ 5 \ 5\0\0\ 1v\ 1\0\0\81\12 \ 1\13\84\0s!"".n1\0®\ 1v\ 1\0\0\ 1\12\95ðÿÿÿ!s \9a\ 1v\ 1\0\0\ 5\10\0\0\0u\ 1\13®\ 1v\ 1\0\0\ 1\8e\ 1\15\84\0s""".autotmp_0048\0®\ 1v\ 1\0\0\ 1\15\15àÿÿÿ"sr\0v\ 1\0\0\ 5\b\0\0\0\8e\ 1\15r\0v\ 1\0\0\ 1\15\15èÿÿÿ"sr\0v\ 1\0\0\ 5\f\0\0\0\8e\ 1\15r\0v\ 1\0\0\ 1\15\15ìÿÿÿ"sr\0v\ 1\0\0\ 1u\ 1\10r\0v\ 1\0\0\15èÿÿÿ"s\ 1\13\84\0s#"".autotmp_0050\0r\0v\ 1\0\0\ 1\13\15Øÿÿÿ#s«\ 1v\ 1\0\0\15àÿÿÿ"s\ 1\13®\ 1v\ 1\0\0\ 1\8e\ 1\11Y\0v\ 1\0\0\0\ 5ð\ 4\0\0pD\0v\ 1\0\0\0\ 1\10r\0v\ 1\0\0\15Øÿÿÿ#s\ 1\15&\0v\ 1\0\0\ 1\10\ 1\15R\0v\ 1\0\0\0\ 5      \ 5\0\0p\84\0s$"".autotmp_0049\0r\0v\ 1\0\0\ 1\10\15Ôÿÿÿ$s\84\0s%"".i\0\84\0q&type.int\0r\0v\ 1\0\0\ 1\10\95Üÿÿÿ%s&®\ 1v\ 1\0\0\ 1\8c\ 1\15®\ 1v\ 1\0\0\ 1\11\ 1\13\9a\ 1v\ 1\0\0\ 5\b\0\0\0u\ 1\13\84\0s'"".autotmp_0051\0®\ 1v\ 1\0\0\ 1\13\15øÿÿÿ's\84\0\8f("".n\0®\ 1w\ 1\0\0\ 1\15\11(\8f\1f\0w\ 1\0\0\0\91\19q\1a®\ 1w\ 1\0\0\95ðÿÿÿ!s \ 1\12®\ 1w\ 1\0\0\15øÿÿÿ's\ 1\11r\0w\ 1\0\0\15Ôÿÿÿ$s\ 1\10®\ 1w\ 1\0\0\ 5\b\0\0\0\8f\ 1\13®\ 1w\ 1\0\0\81\12 \ 1\15\9a\ 1w\ 1\0\0\ 5\10\0\0\0u\ 1\15r\0w\ 1\0\0\95Üÿÿÿ%s&\ 1\18¯\ 1w\ 1\0\0\ 1\18\ 1\18&\0w\ 1\0\0\ 1\18\ 5\b\0\0\0\90O\0w\ 1\0\0\0\ 5\ 6\ 5\0\0p\84\0q)runtime.panicindex\0\1f\0w\ 1\0\0\0\11)q®\ 1w\ 1\0\0\ 1\90\ 1\15®\ 1w\ 1\0\0\ 1\13\ 3\18\b\90Y\0v\ 1\0\0\0\ 5ï\ 4\0\0\ 1z\ 1\0\0\ 1\12\15\b\0\0\0\e\0z\ 1\0\0\0\0\84\0q*"".gobdec\0\84\0q+type.func()\0ã\0}\ 1\0\0\91*q+\ 5`\0\0\0u\84\0q,"".gobbytes\0\84\0q-type.[]uint8\0«\ 1~\ 1\0\0\91,q-\ 1\13¢\ 1~\ 1\0\0\ 1\8e\ 1uZ\0~\ 1\0\0\0\ 5\1a\ 5\0\0p\84\0q.type.uint8\0\84\0\8f/runtime.typ\0®\ 1\7f\ 1\0\0\93q\0\ fx.\11/\8f\84\0q0go.string."gobdata not initialized"\0«\ 1\7f\ 1\0\0\110q\ 1\16«\ 1\7f\ 1\0\0\15\b\0\0\0\ 3\8f\ 1\17²\ 1\7f\ 1\0\0\0\0²\ 1\7f\ 1\0\0\0\0\1f\0\7f\ 1\0\0\0\91\bq\11«\ 1\7f\ 1\0\0\ 5\18\0\0\0\8f\ 1\16«\ 1\7f\ 1\0\0\ 1\8f\ 1\17²\ 1\7f\ 1\0\0\0\0²\ 1\7f\ 1\0\0\0\0\1f\0\7f\ 1\0\0\0\91\12q\13\84\0q1type."".JSONResponse\0®\ 1\81\ 1\0\0\93q\01x.\11/\8f\84\0q\ 1type.func(*uint8) *"".JSONResponse\0\1f\0\81\ 1\0\0\0\91\1dq\ 1®\ 1\81\ 1\0\0\ 5\b\0\0\0\8f\ 1\13\84\0s\ 2"".&r\0®\ 1\81\ 1\0\0\ 1\13\15èÿÿÿ\ 2\ 1\82\ 1\0\0\91,q-\ 1\13\84\0s\ 3bytes.buf\0®\ 1\82\ 1\0\0\ 1\13\95Èÿÿÿ\ 3s-r\0\82\ 1\0\0\95\b\0\0\0,q-\ 1\13r\0\82\ 1\0\0\ 1\13\95Ðÿÿÿ\ 3s-r\0\82\ 1\0\0\95\f\0\0\0,q-\ 1\13r\0\82\ 1\0\0\ 1\13\95Ôÿÿÿ\ 3s-\84\0s\ 4""..r0\0\84\0q\ 5type.*bytes.Buffer\0®\ 1\82\ 1\0\0\ 1u\95ðÿÿÿ\ 4s\ 5\84\0q\ 6type.bytes.Buffer\0®\ 1\82\ 1\0\0\93q\0\ 6x.\11/\8f\84\0q\atype.func(*uint8) *bytes.Buffer\0\1f\0\82\ 1\0\0\0\91\1dq\a®\ 1\82\ 1\0\0\ 5\b\0\0\0\8f\ 1\12®\ 1\82\ 1\0\0\ 1\12\ 1\17®\ 1\82\ 1\0\0\ 1u\ 1\10®\ 1\82\ 1\0\0\ 5\f\0\0\0u\ 1\11¨\0\82\ 1\0\0\0\0Æ\ 1\82\ 1\0\0\0\0®\ 1\82\ 1\0\0\95Èÿÿÿ\ 3s-\ 1\15®\ 1\82\ 1\0\0\ 1\15\ 1\8dr\0\82\ 1\0\0\95Ðÿÿÿ\ 3s-\ 1\15r\0\82\ 1\0\0\ 1\15\ 5\b\0\0\0\8dr\0\82\ 1\0\0\95Ôÿÿÿ\ 3s-\ 1\15r\0\82\ 1\0\0\ 1\15\ 5\f\0\0\0\8d®\ 1\82\ 1\0\0\ 1\12\95ðÿÿÿ\ 4s\ 5®\ 1\82\ 1\0\0\93q\0\ 5x.\11/\8f\84\0q\btype.io.Reader\0\84\0\8f      runtime.typ2\0®\ 1\82\ 1\0\0\93q\0\bx.\15\b\0\0\0  \8f®\ 1\82\ 1\0\0\95ðÿÿÿ\ 4s\ 5\ 1\15\84\0\8f
+runtime.elem\0®\ 1\82\ 1\0\0\ 1\15\15\10\0\0\0
+\8f\84\0q\vruntime.convT2I\0\84\0q\ftype.func(*uint8, *uint8, *bytes.Buffer) io.Reader\0\1f\0\82\ 1\0\0\0\91\vq\f«\ 1\82\ 1\0\0\ 5\18\0\0\0\8f\ 1\16\84\0\8f\rencoding/gob.r\0«\ 1\82\ 1\0\0\11\r\8f\ 1\17²\ 1\82\ 1\0\0\0\0²\ 1\82\ 1\0\0\0\0\84\0q\ eencoding/gob.NewDecoder\0\84\0q\ ftype.func(io.Reader) *encoding/gob.Decoder\0\1f\0\82\ 1\0\0\0\91\ eq\ f®\ 1\82\ 1\0\0\ 5\10\0\0\0\8f\ 1\15\84\0s\10"".autotmp_0054\0®\ 1\82\ 1\0\0\ 1\15\15øÿÿÿ\10s\84\0q\11type.*"".JSONResponse\0®\ 1\82\ 1\0\0\93q\0\11x.\11/\8f®\ 1\82\ 1\0\0\15èÿÿÿ\ 2s\ 1\15®\ 1\82\ 1\0\0\ 1\15\15\b\0\0\0
+\8f\84\0q\12runtime.convT2E\0\84\0q\13type.func(*uint8, *"".JSONResponse) interface {}\0\1f\0\82\ 1\0\0\0\91\12q\13«\ 1\82\ 1\0\0\ 5\10\0\0\0\8f\ 1\16\84\0\8f\14encoding/gob.e\0«\ 1\82\ 1\0\0\15\b\0\0\0\14\8f\ 1\17²\ 1\82\ 1\0\0\0\0²\ 1\82\ 1\0\0\0\0®\ 1\82\ 1\0\0\15øÿÿÿ\10s\ 1\15\84\0\8f\15encoding/gob.dec\0®\ 1\82\ 1\0\0\ 1\15\11\15\8f\84\0q\16encoding/gob.(*Decoder).Decode\0\1f\0\82\ 1\0\0\0\11\16\ 1\82\ 1\0\0\ 5\18\0\0\0\8f\ 1\13®\ 1\82\ 1\0\0\ 1\8e\ 1\15\84\0s\17"".err\0\84\0q\18type.error\0®\ 1\82\ 1\0\0\ 1\15\95Øÿÿÿ\17s\18®\ 1\82\ 1\0\0\ 5\b\0\0\0\8e\ 1\15®\ 1\82\ 1\0\0\ 1\15\95àÿÿÿ\17s\18«\ 1\82\ 1\0\0\95Øÿÿÿ\17s\18\ 1\13¢\ 1\82\ 1\0\0\ 1\8e\ 1uQ\0\82\ 1\0\0\0\ 5^\ 5\0\0\ 1\83\ 1\0\0\11
+\8f\ 1\13®\ 1\83\ 1\0\0\95Øÿÿÿ\17s\18\ 1\15®\ 1\83\ 1\0\0\ 1\15\ 1\8e®\ 1\83\ 1\0\0\95àÿÿÿ\17s\18\ 1\15®\ 1\83\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\84\0q\19runtime.convI2E\0\84\0q\1atype.func(error) interface {}\0\1f\0\83\ 1\0\0\0\91\19q\1a«\ 1\83\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1\83\ 1\0\0\ 1\8f\ 1\17²\ 1\83\ 1\0\0\0\0²\ 1\83\ 1\0\0\0\0\84\0q\eruntime.panic\0\84\0q\1ctype.func(interface {})\0\1f\0\83\ 1\0\0\0\91\eq\1cª\0\86\ 1\0\0\0\0\84\0q\1d"".gobenc\0ã\0\88\ 1\0\0\91\1dq+\ 5@\0\0\0u\84\0\8f\1eencoding/gob.w\0«\ 1\89\ 1\0\0\11\1e\8f\ 1\15\84\0q\1fio/ioutil.Discard\0\84\0q type.io.Writer\0®\ 1\89\ 1\0\0\91\1f\ 1\18®\ 1\89\ 1\0\0\ 1\18\ 1\90®\ 1\89\ 1\0\0\95\b\0\0\0\1f\ 1\18®\ 1\89\ 1\0\0\ 1\18\ 5\b\0\0\0\90\84\0q!encoding/gob.NewEncoder\0\84\0q"type.func(io.Writer) *encoding/gob.Encoder\0\1f\0\89\ 1\0\0\0\91!q"®\ 1\89\ 1\0\0\ 5\10\0\0\0\8f\ 1\15\84\0s#"".autotmp_0055\0®\ 1\89\ 1\0\0\ 1\15\15øÿÿÿ#s\84\0q$type.**"".JSONResponse\0®\ 1\89\ 1\0\0\93q\0$x.\11/\8f\84\0q%"".gobdata\0«\ 1\89\ 1\0\0\91%q\11\ 1\15®\ 1\89\ 1\0\0\ 1\15\15\b\0\0\0
+\8f\84\0q&type.func(*uint8, **"".JSONResponse) interface {}\0\1f\0\89\ 1\0\0\0\91\12q&«\ 1\89\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1\89\ 1\0\0\15\b\0\0\0\14\8f\ 1\17²\ 1\89\ 1\0\0\0\0²\ 1\89\ 1\0\0\0\0®\ 1\89\ 1\0\0\15øÿÿÿ#s\ 1\15\84\0\8f'encoding/gob.enc\0®\ 1\89\ 1\0\0\ 1\15\11'\8f\84\0q(encoding/gob.(*Encoder).Encode\0\1f\0\89\ 1\0\0\0\11(q«\ 1\89\ 1\0\0\ 5\18\0\0\0\8f\ 1\13®\ 1\89\ 1\0\0\ 1\8e\ 1\15®\ 1\89\ 1\0\0\ 1\15\95èÿÿÿ\17s\18®\ 1\89\ 1\0\0\ 5\b\0\0\0\8e\ 1\15®\ 1\89\ 1\0\0\ 1\15\95ðÿÿÿ\17s\18«\ 1\89\ 1\0\0\95èÿÿÿ\17s\18\ 1\13¢\ 1\89\ 1\0\0\ 1\8e\ 1uQ\0\89\ 1\0\0\0\ 5\86\ 5\0\0\ 1\8a\ 1\0\0\11
+\8f\ 1\13®\ 1\8a\ 1\0\0\95èÿÿÿ\17s\18\ 1\15®\ 1\8a\ 1\0\0\ 1\15\ 1\8e®\ 1\8a\ 1\0\0\95ðÿÿÿ\17s\18\ 1\15®\ 1\8a\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\1f\0\8a\ 1\0\0\0\91\19q\1a«\ 1\8a\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1\8a\ 1\0\0\ 1\8f\ 1\17²\ 1\8a\ 1\0\0\0\0²\ 1\8a\ 1\0\0\0\0\1f\0\8a\ 1\0\0\0\91\eq\1cª\0\8c\ 1\0\0\0\0\84\0q)"".BenchmarkGobDecode\0\84\0q*type.func(*testing.B)\0ã\0\8e\ 1\0\0\91)q*E\b\0\0\0\b\0\0\0u\84\0t+"".b\0\84\0q,type.*testing.B\0®\ 1\8f\ 1\0\0\91+t,\ 1\11\84\0q-"".gobbytes\0\84\0q.type.[]uint8\0r\0\8f\ 1\0\0\95\b\0\0\0-q.\ 1\10¯\ 1\8f\ 1\0\0\ 1\10\ 1\10®\ 1\8f\ 1\0\0\ 1\10\ 5p\0\0\0\8c\84\0q/type.int\0r\0\90\ 1\0\0\ 1u\81\10/Y\0\90\ 1\0\0\0\ 5\8f\ 5\0\0pD\0\90\ 1\0\0\0\81\10\ 1\90\ 1\0\0\91+t,\ 1\15r\0\90\ 1\0\0\ 5P\0\0\0\90\ 1\13\84\0s0"".i\0r\0\90\ 1\0\0\ 1\10\95üÿÿÿ0s/&\0\90\ 1\0\0\ 1\13\ 1\10U\0\90\ 1\0\0\0\ 5\97\ 5\0\0p\84\0q1"".gobdec\0\84\0q\ 1type.func()\0\1f\0\91\ 1\0\0\0\911q\ 1r\0\91\ 1\0\0\95üÿÿÿ0s/\ 1\10Y\0\90\ 1\0\0\0\ 5\8e\ 5\0\0\0\93\ 1\0\0\0\0\84\0q\ 2"".BenchmarkGobEncode\0ã\0\95\ 1\0\0\91\ 2q*E\b\0\0\0\b\0\0\0\ 1\96\ 1\0\0\91+t,\ 1\11r\0\96\ 1\0\0\95\b\0\0\0-q.\ 1\10¯\ 1\96\ 1\0\0\ 1\10\ 1\10®\ 1\96\ 1\0\0\ 1\10\ 5p\0\0\0\8cr\0\97\ 1\0\0\ 1u\81\10/Y\0\97\ 1\0\0\0\ 5 \ 5\0\0pD\0\97\ 1\0\0\0\81\10\ 1\97\ 1\0\0\91+t,\ 1\15r\0\97\ 1\0\0\ 5P\0\0\0\90\ 1\13r\0\97\ 1\0\0\ 1\10\95üÿÿÿ0s/&\0\97\ 1\0\0\ 1\13\ 1\10U\0\97\ 1\0\0\0\ 5¨\ 5\0\0p\1f\0\98\ 1\0\0\0\91\1dq\ 1r\0\98\ 1\0\0\95üÿÿÿ0s/\ 1\10Y\0\97\ 1\0\0\0\ 5\9f\ 5\0\0\0\9a\ 1\0\0\0\0\84\0q\ 3"".init·1\0ã\0°\ 1\0\0\91\ 3q\ 1\ 5`\0\0\0u\84\0q\ 4type.uint8\0\84\0\8f\ 5runtime.typ\0®\ 1±\ 1\0\0\93q\0\ 6x\ 4\11\ 5\8f\84\0q\ 6runtime.new\0\1f\0±\ 1\0\0\0\91\ 6q\a®\ 1±\ 1\0\0\ 5\b\0\0\0\8f\ 1\10\84\0q\atype.*bytes.Buffer\0®\ 1²\ 1\0\0\93q\0\ax\ 4\11\ 5\8f®\ 1²\ 1\0\0\93q\0 x\ 4\15\b\0\0\0   \8f\84\0s\b"".&buf\0®\ 1²\ 1\0\0\ 1\10\15øÿÿÿ\b\ 1²\ 1\0\0\ 1\10\15\10\0\0\0
+\8f\84\0q   type.func(*uint8, *uint8, *bytes.Buffer) io.Writer\0\1f\0²\ 1\0\0\0\91\vq   «\ 1²\ 1\0\0\ 5\18\0\0\0\8f\ 1\16\84\0\8f
+compress/gzip.w\0«\ 1²\ 1\0\0\11
+\8f\ 1\17²\ 1²\ 1\0\0\0\0²\ 1²\ 1\0\0\0\0\84\0q\vcompress/gzip.NewWriter\0\84\0q\ftype.func(io.Writer) (*compress/gzip.Compressor, error)\0\1f\0²\ 1\0\0\0\91\vq\f®\ 1²\ 1\0\0\ 5\10\0\0\0\8f\ 1\13\84\0s\r"".c\0\84\0q\ etype.*compress/gzip.Compressor\0®\ 1²\ 1\0\0\ 1\13\95Ðÿÿÿ\rs\ e«\ 1²\ 1\0\0\ 5\18\0\0\0\8f\ 1\13®\ 1²\ 1\0\0\ 1\8e\ 1\15®\ 1²\ 1\0\0\ 1\15\95èÿÿÿ\17s\18®\ 1²\ 1\0\0\ 5\b\0\0\0\8e\ 1\15®\ 1²\ 1\0\0\ 1\15\95ðÿÿÿ\17s\18«\ 1³\ 1\0\0\95èÿÿÿ\17s\18\ 1\13¢\ 1³\ 1\0\0\ 1\8e\ 1uQ\0³\ 1\0\0\0\ 5Ì\ 5\0\0p\84\0\8f\ fruntime.elem\0«\ 1´\ 1\0\0\11\ f\8f\ 1\13®\ 1´\ 1\0\0\95èÿÿÿ\17s\18\ 1\15®\ 1´\ 1\0\0\ 1\15\ 1\8e®\ 1´\ 1\0\0\95ðÿÿÿ\17s\18\ 1\15®\ 1´\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\1f\0´\ 1\0\0\0\91\19q\1a«\ 1´\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1´\ 1\0\0\ 1\8f\ 1\17²\ 1´\ 1\0\0\0\0²\ 1´\ 1\0\0\0\0\1f\0´\ 1\0\0\0\91\eq\1c®\ 1\ 1\0\0\95Ðÿÿÿ\rs\ e\ 1\13\84\0\8f\10compress/gzip.z\0®\ 1\ 1\0\0\ 1\13\11\10\8f\84\0\8f\11compress/gzip.p\0«\ 1\ 1\0\0\15\b\0\0\0\11\8f\ 1\13\84\0q\12"".jsongunz\0®\ 1\ 1\0\0\91\12q.\ 1\15®\ 1\ 1\0\0\ 1\15\ 1\8er\0\ 1\0\0\95\b\0\0\0\12q.\ 1\15r\0\ 1\0\0\ 1\15\ 5\b\0\0\0\8er\0\ 1\0\0\95\f\0\0\0\12q.\ 1\15r\0\ 1\0\0\ 1\15\ 5\f\0\0\0\8e\84\0q\13compress/gzip.(*Compressor).Write\0\1f\0\ 1\0\0\0\11\13\ 1·\ 1\0\0\95Ðÿÿÿ\rs\ e\ 1\13®\ 1·\ 1\0\0\ 1\13\11\10\8f\84\0q\14compress/gzip.(*Compressor).Close\0\1f\0·\ 1\0\0\0\11\14\ 1¸\ 1\0\0\15øÿÿÿ\bs\ 1\11\84\0s\15""..r0\0®\ 1¸\ 1\0\0\ 1u\95Øÿÿÿ\15s.r\0¸\ 1\0\0\ 1u\95àÿÿÿ\15s.r\0¸\ 1\0\0\ 1u\95äÿÿÿ\15s.®\ 1¸\ 1\0\0\ 1\8c\ 1\17r\0¸\ 1\0\0\ 5\b\0\0\0\8c\ 1\10r\0¸\ 1\0\0\ 5\f\0\0\0\8c\ 1\16r\0¸\ 1\0\0\ 5\10\0\0\0\8c\ 1\13¯\ 1¸\ 1\0\0\ 1\13\ 1\13°\ 1¸\ 1\0\0\ 1\10\ 1\15¢\ 1¸\ 1\0\0\ 1\13\ 1\15V\0¸\ 1\0\0\0\ 5æ\ 5\0\0p\84\0q\16runtime.panicslice\0\1f\0¸\ 1\0\0\0\11\16qr\0¸\ 1\0\0\ 1\10\ 1\12Ý\0¸\ 1\0\0\ 1\13\ 1\12r\0¸\ 1\0\0\ 1\16\ 1\15Ý\0¸\ 1\0\0\ 1\13\ 1\15\9a\ 1¸\ 1\0\0\ 1\17\ 1\13®\ 1¸\ 1\0\0\ 1\13\ 1\10®\ 1¸\ 1\0\0\ 1\13\95Øÿÿÿ\15s.r\0¸\ 1\0\0\ 1\12\95àÿÿÿ\15s.r\0¸\ 1\0\0\ 1\15\95äÿÿÿ\15s.®\ 1¸\ 1\0\0\95Øÿÿÿ\15s.\ 1\13\84\0q\17"".jsongz\0®\ 1¸\ 1\0\0\ 1\13\91\17q.r\0¸\ 1\0\0\95àÿÿÿ\15s.\ 1\13r\0¸\ 1\0\0\ 1\13\95\b\0\0\0\17q.r\0¸\ 1\0\0\95äÿÿÿ\15s.\ 1\13r\0¸\ 1\0\0\ 1\13\95\f\0\0\0\17q.ª\0¹\ 1\0\0\0\0\84\0q\18"".gzip\0ã\0»\ 1\0\0\91\18q\ 1\ 5h\0\0\0\ 1¼\ 1\0\0\11
+\8f\ 1\13®\ 1¼\ 1\0\0\91\1f\ 1\15®\ 1¼\ 1\0\0\ 1\15\ 1\8e®\ 1¼\ 1\0\0\95\b\0\0\0\1f\ 1\15®\ 1¼\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\1f\0¼\ 1\0\0\0\91\vq\f®\ 1¼\ 1\0\0\ 5\10\0\0\0\8f\ 1\13®\ 1¼\ 1\0\0\ 1\13\95Èÿÿÿ\rs\ e«\ 1¼\ 1\0\0\ 5\18\0\0\0\8f\ 1\13®\ 1¼\ 1\0\0\ 1\8e\ 1\15\84\0s\19"".err\0\84\0q\1atype.error\0®\ 1¼\ 1\0\0\ 1\15\95àÿÿÿ\19s\1a®\ 1¼\ 1\0\0\ 5\b\0\0\0\8e\ 1\15®\ 1¼\ 1\0\0\ 1\15\95èÿÿÿ\19s\1a«\ 1½\ 1\0\0\95àÿÿÿ\19s\1a\ 1\13¢\ 1½\ 1\0\0\ 1\8e\ 1uQ\0½\ 1\0\0\0\ 5\12\ 6\0\0\ 1¾\ 1\0\0\11\ f\8f\ 1\13®\ 1¾\ 1\0\0\95àÿÿÿ\19s\1a\ 1\15®\ 1¾\ 1\0\0\ 1\15\ 1\8e®\ 1¾\ 1\0\0\95èÿÿÿ\19s\1a\ 1\15®\ 1¾\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\84\0q\eruntime.convI2E\0\84\0q\1ctype.func(error) interface {}\0\1f\0¾\ 1\0\0\0\91\eq\1c«\ 1¾\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1¾\ 1\0\0\ 1\8f\ 1\17²\ 1¾\ 1\0\0\0\0²\ 1¾\ 1\0\0\0\0\84\0q\1druntime.panic\0\84\0q\1etype.func(interface {})\0\1f\0¾\ 1\0\0\0\91\1dq\1e®\ 1À\ 1\0\0\95Èÿÿÿ\rs\ e\ 1\13®\ 1À\ 1\0\0\ 1\13\11\10\8f«\ 1À\ 1\0\0\15\b\0\0\0\11\8f\ 1\13®\ 1À\ 1\0\0\91\12q.\ 1\15®\ 1À\ 1\0\0\ 1\15\ 1\8er\0À\ 1\0\0\95\b\0\0\0\12q.\ 1\15r\0À\ 1\0\0\ 1\15\ 5\b\0\0\0\8er\0À\ 1\0\0\95\f\0\0\0\12q.\ 1\15r\0À\ 1\0\0\ 1\15\ 5\f\0\0\0\8e\1f\0À\ 1\0\0\0\11\13\ 1À\ 1\0\0\ 5 \0\0\0\8f\ 1\13®\ 1À\ 1\0\0\ 1\8e\ 1\15®\ 1À\ 1\0\0\ 1\15\95Ðÿÿÿ\19s\1a®\ 1À\ 1\0\0\ 5\b\0\0\0\8e\ 1\15®\ 1À\ 1\0\0\ 1\15\95Øÿÿÿ\19s\1a«\ 1À\ 1\0\0\95Ðÿÿÿ\19s\1a\ 1\13¢\ 1À\ 1\0\0\ 1\8e\ 1uQ\0À\ 1\0\0\0\ 5/\ 6\0\0\ 1Á\ 1\0\0\11\ f\8f\ 1\13®\ 1Á\ 1\0\0\95Ðÿÿÿ\19s\1a\ 1\15®\ 1Á\ 1\0\0\ 1\15\ 1\8e®\ 1Á\ 1\0\0\95Øÿÿÿ\19s\1a\ 1\15®\ 1Á\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\1f\0Á\ 1\0\0\0\91\eq\1c«\ 1Á\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1Á\ 1\0\0\ 1\8f\ 1\17²\ 1Á\ 1\0\0\0\0²\ 1Á\ 1\0\0\0\0\1f\0Á\ 1\0\0\0\91\1dq\1e®\ 1Ã\ 1\0\0\95Èÿÿÿ\rs\ e\ 1\15®\ 1Ã\ 1\0\0\ 1\15\11\10\8f\1f\0Ã\ 1\0\0\0\11\14\ 1Ã\ 1\0\0\ 5\b\0\0\0\8f\ 1\13®\ 1Ã\ 1\0\0\ 1\8e\ 1\15®\ 1Ã\ 1\0\0\ 1\15\95ðÿÿÿ\19s\1a®\ 1Ã\ 1\0\0\ 5\b\0\0\0\8e\ 1\15®\ 1Ã\ 1\0\0\ 1\15\95øÿÿÿ\19s\1a«\ 1Ã\ 1\0\0\95ðÿÿÿ\19s\1a\ 1\13¢\ 1Ã\ 1\0\0\ 1\8e\ 1uQ\0Ã\ 1\0\0\0\ 5E\ 6\0\0\ 1Ä\ 1\0\0\11\ f\8f\ 1\13®\ 1Ä\ 1\0\0\95ðÿÿÿ\19s\1a\ 1\15®\ 1Ä\ 1\0\0\ 1\15\ 1\8e®\ 1Ä\ 1\0\0\95øÿÿÿ\19s\1a\ 1\15®\ 1Ä\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\1f\0Ä\ 1\0\0\0\91\eq\1c«\ 1Ä\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1Ä\ 1\0\0\ 1\8f\ 1\17²\ 1Ä\ 1\0\0\0\0²\ 1Ä\ 1\0\0\0\0\1f\0Ä\ 1\0\0\0\91\1dq\1eª\0Æ\ 1\0\0\0\0\84\0q\1f"".gunzip\0ã\0È\ 1\0\0\91\1fq\ 1\ 5x\0\0\0\ 1É\ 1\0\0\91\17q.\ 1\13\84\0s bytes.buf\0®\ 1É\ 1\0\0\ 1\13\95èÿÿÿ s.r\0É\ 1\0\0\95\b\0\0\0\17q.\ 1\13r\0É\ 1\0\0\ 1\13\95ðÿÿÿ s.r\0É\ 1\0\0\95\f\0\0\0\17q.\ 1\13r\0É\ 1\0\0\ 1\13\95ôÿÿÿ s.®\ 1É\ 1\0\0\ 1u\95øÿÿÿ\15s\a\84\0q!type.bytes.Buffer\0®\ 1É\ 1\0\0\93q\0!x\ 4\11\ 5\8f\84\0q"type.func(*uint8) *bytes.Buffer\0\1f\0É\ 1\0\0\0\91\ 6q"®\ 1É\ 1\0\0\ 5\b\0\0\0\8f\ 1\12®\ 1É\ 1\0\0\ 1\12\ 1\17®\ 1É\ 1\0\0\ 1u\ 1\10®\ 1É\ 1\0\0\ 5\f\0\0\0u\ 1\11¨\0É\ 1\0\0\0\0Æ\ 1É\ 1\0\0\0\0®\ 1É\ 1\0\0\95èÿÿÿ s.\ 1\15®\ 1É\ 1\0\0\ 1\15\ 1\8dr\0É\ 1\0\0\95ðÿÿÿ s.\ 1\15r\0É\ 1\0\0\ 1\15\ 5\b\0\0\0\8dr\0É\ 1\0\0\95ôÿÿÿ s.\ 1\15r\0É\ 1\0\0\ 1\15\ 5\f\0\0\0\8d®\ 1É\ 1\0\0\ 1\12\95øÿÿÿ\15s\a®\ 1É\ 1\0\0\93q\0\ax\ 4\11\ 5\8f\84\0q#type.io.Reader\0\84\0\8f$runtime.typ2\0®\ 1É\ 1\0\0\93q\0#x\ 4\15\b\0\0\0$\8f®\ 1É\ 1\0\0\95øÿÿÿ\15s\a\ 1\13®\ 1É\ 1\0\0\ 1\13\15\10\0\0\0\ f\8f\84\0q%runtime.convT2I\0\84\0q&type.func(*uint8, *uint8, *bytes.Buffer) io.Reader\0\1f\0É\ 1\0\0\0\91%q&«\ 1É\ 1\0\0\ 5\18\0\0\0\8f\ 1\16\84\0\8f'compress/gzip.r\0«\ 1É\ 1\0\0\11'\8f\ 1\17²\ 1É\ 1\0\0\0\0²\ 1É\ 1\0\0\0\0\84\0q(compress/gzip.NewReader\0\84\0q)type.func(io.Reader) (*compress/gzip.Decompressor, error)\0\1f\0É\ 1\0\0\0\91(q)®\ 1É\ 1\0\0\ 5\10\0\0\0\8f\ 1\13\84\0s*"".r\0\84\0q+type.*compress/gzip.Decompressor\0®\ 1É\ 1\0\0\ 1\13\95Àÿÿÿ*s+«\ 1É\ 1\0\0\ 5\18\0\0\0\8f\ 1\13®\ 1É\ 1\0\0\ 1\8e\ 1\15®\ 1É\ 1\0\0\ 1\15\95Øÿÿÿ\19s\1a®\ 1É\ 1\0\0\ 5\b\0\0\0\8e\ 1\15®\ 1É\ 1\0\0\ 1\15\95àÿÿÿ\19s\1a«\ 1Ê\ 1\0\0\95Øÿÿÿ\19s\1a\ 1\13¢\ 1Ê\ 1\0\0\ 1\8e\ 1uQ\0Ê\ 1\0\0\0\ 5|\ 6\0\0\ 1Ë\ 1\0\0\11\ f\8f\ 1\13®\ 1Ë\ 1\0\0\95Øÿÿÿ\19s\1a\ 1\15®\ 1Ë\ 1\0\0\ 1\15\ 1\8e®\ 1Ë\ 1\0\0\95àÿÿÿ\19s\1a\ 1\15®\ 1Ë\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\1f\0Ë\ 1\0\0\0\91\eq\1c«\ 1Ë\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1Ë\ 1\0\0\ 1\8f\ 1\17²\ 1Ë\ 1\0\0\0\0²\ 1Ë\ 1\0\0\0\0\1f\0Ë\ 1\0\0\0\91\1dq\1e®\ 1Í\ 1\0\0\93q\0+x\ 4\11\ 5\8f®\ 1Í\ 1\0\0\93q\0#x\ 4\15\b\0\0\0$\8f®\ 1Í\ 1\0\0\95Àÿÿÿ*s+\ 1\13®\ 1Í\ 1\0\0\ 1\13\15\10\0\0\0\ f\8f\84\0q,type.func(*uint8, *uint8, *compress/gzip.Decompressor) io.Reader\0\1f\0Í\ 1\0\0\0\91%q,«\ 1Í\ 1\0\0\ 5\18\0\0\0\8f\ 1\16\84\0\8f-io.src\0«\ 1Í\ 1\0\0\15\10\0\0\0-\8f\ 1\17²\ 1Í\ 1\0\0\0\0²\ 1Í\ 1\0\0\0\0\84\0\8f.io.dst\0«\ 1Í\ 1\0\0\11.\8f\ 1\13\84\0q/io/ioutil.Discard\0\84\0q0type.io.Writer\0®\ 1Í\ 1\0\0\91/q0\ 1\15®\ 1Í\ 1\0\0\ 1\15\ 1\8e®\ 1Í\ 1\0\0\95\b\0\0\0/q0\ 1\15®\ 1Í\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\84\0q1io.Copy\0\84\0q\ 1type.func(io.Writer, io.Reader) (int64, error)\0\1f\0Í\ 1\0\0\0\911q\ 1\84\0\8f\ 2io.err\0«\ 1Í\ 1\0\0\15(\0\0\0\ 2\8f\ 1\13®\ 1Í\ 1\0\0\ 1\8e\ 1\15®\ 1Í\ 1\0\0\ 1\15\95Èÿÿÿ\19s\1a®\ 1Í\ 1\0\0\ 5\b\0\0\0\8e\ 1\15®\ 1Í\ 1\0\0\ 1\15\95Ðÿÿÿ\19s\1a«\ 1Í\ 1\0\0\95Èÿÿÿ\19s\1a\ 1\13¢\ 1Í\ 1\0\0\ 1\8e\ 1uQ\0Í\ 1\0\0\0\ 5\9e\ 6\0\0\ 1Î\ 1\0\0\11\ f\8f\ 1\13®\ 1Î\ 1\0\0\95Èÿÿÿ\19s\1a\ 1\15®\ 1Î\ 1\0\0\ 1\15\ 1\8e®\ 1Î\ 1\0\0\95Ðÿÿÿ\19s\1a\ 1\15®\ 1Î\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\1f\0Î\ 1\0\0\0\91\eq\1c«\ 1Î\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1Î\ 1\0\0\ 1\8f\ 1\17²\ 1Î\ 1\0\0\0\0²\ 1Î\ 1\0\0\0\0\1f\0Î\ 1\0\0\0\91\1dq\1e®\ 1Ð\ 1\0\0\95Àÿÿÿ*s+\ 1\13®\ 1Ð\ 1\0\0\ 1\13\11\10\8f\84\0q\ 3compress/gzip.(*Decompressor).Close\0\1f\0Ð\ 1\0\0\0\11\ 3\0Ñ\ 1\0\0\0\0\84\0q\ 4"".BenchmarkGzip\0\84\0q\ 5type.func(*testing.B)\0ã\0Ó\ 1\0\0\91\ 4q\ 5E\b\0\0\0\b\0\0\0u\84\0t\ 6"".b\0\84\0q\atype.*testing.B\0®\ 1Ô\ 1\0\0\91\ 6t\a\ 1\11\84\0q\btype.[]uint8\0r\0Ô\ 1\0\0\95\b\0\0\0\12q\b\ 1\10¯\ 1Ô\ 1\0\0\ 1\10\ 1\10®\ 1Ô\ 1\0\0\ 1\10\ 5p\0\0\0\8c\84\0q      type.int\0r\0Õ\ 1\0\0\ 1u\81\10     Y\0Õ\ 1\0\0\0\ 5ª\ 6\0\0pD\0Õ\ 1\0\0\0\81\10  ®\ 1Õ\ 1\0\0\91\ 6t\a\ 1\15r\0Õ\ 1\0\0\ 5P\0\0\0\90\ 1\13\84\0s
+"".i\0r\0Õ\ 1\0\0\ 1\10\95üÿÿÿ
+s      &\0Õ\ 1\0\0\ 1\13\ 1\10U\0Õ\ 1\0\0\0\ 5²\ 6\0\0p\84\0q\vtype.func()\0\1f\0Ö\ 1\0\0\0\91\18q\vr\0Ö\ 1\0\0\95üÿÿÿ
+s      \ 1\10Y\0Õ\ 1\0\0\0\ 5©\ 6\0\0\0Ø\ 1\0\0\0\0\84\0q\f"".BenchmarkGunzip\0ã\0Ú\ 1\0\0\91\fq\ 5E\b\0\0\0\b\0\0\0\ 1Û\ 1\0\0\91\ 6t\a\ 1\11r\0Û\ 1\0\0\95\b\0\0\0\12q\b\ 1\10¯\ 1Û\ 1\0\0\ 1\10\ 1\10®\ 1Û\ 1\0\0\ 1\10\ 5p\0\0\0\8cr\0Ü\ 1\0\0\ 1u\81\10        Y\0Ü\ 1\0\0\0\ 5»\ 6\0\0pD\0Ü\ 1\0\0\0\81\10  ®\ 1Ü\ 1\0\0\91\ 6t\a\ 1\15r\0Ü\ 1\0\0\ 5P\0\0\0\90\ 1\13r\0Ü\ 1\0\0\ 1\10\95üÿÿÿ
+s      &\0Ü\ 1\0\0\ 1\13\ 1\10U\0Ü\ 1\0\0\0\ 5Ã\ 6\0\0p\1f\0Ý\ 1\0\0\0\91\1fq\vr\0Ý\ 1\0\0\95üÿÿÿ
+s      \ 1\10Y\0Ü\ 1\0\0\0\ 5º\ 6\0\0\0ß\ 1\0\0\0\0\84\0q\r"".init·2\0ã\0÷\ 1\0\0\91\rq\v\ 5 \0\0\0u\84\0q\ e"".jsonbz2_base64\0\84\0q\ ftype.string\0®\ 1ù\ 1\0\0\91\ eq\ f\ 1\13\84\0s\10strings.s\0®\ 1ù\ 1\0\0\ 1\13\95 ÿÿÿ\10s\ fr\0ù\ 1\0\0\95\b\0\0\0\ eq\ f\ 1\13r\0ù\ 1\0\0\ 1\13\95¨ÿÿÿ\10s\ f\84\0q\11type.*strings.Reader\0®\ 1ù\ 1\0\0\ 1u\95Àÿÿÿ\15s\11\84\0q\12type.strings.Reader\0\84\0q\13type.uint8\0\84\0\8f\14runtime.typ\0®\ 1ù\ 1\0\0\93q\0\12x\13\11\14\8f\84\0q\15runtime.new\0\84\0q\16type.func(*uint8) *strings.Reader\0\1f\0ù\ 1\0\0\0\91\15q\16®\ 1ù\ 1\0\0\ 5\b\0\0\0\8f\ 1\10®\ 1ù\ 1\0\0\95 ÿÿÿ\10s\ f\ 1\15®\ 1ù\ 1\0\0\ 1\15\ 1\8br\0ù\ 1\0\0\95¨ÿÿÿ\10s\ f\ 1\15r\0ù\ 1\0\0\ 1\15\ 5\b\0\0\0\8br\0ù\ 1\0\0\ 1u\ 5\10\0\0\0\8br\0ù\ 1\0\0\ 5ÿÿÿÿu\ 5\14\0\0\0\8b\84\0s\17""..r0\0®\ 1ù\ 1\0\0\ 1\10\95Àÿÿÿ\17s\11®\ 1ù\ 1\0\0\93q\0\11x\13\11\14\8f®\ 1ù\ 1\0\0\93q\0#x\13\15\b\0\0\0$\8f®\ 1ù\ 1\0\0\95Àÿÿÿ\17s\11\ 1\13\84\0\8f\18runtime.elem\0®\ 1ù\ 1\0\0\ 1\13\15\10\0\0\0\18\8f\84\0q\19type.func(*uint8, *uint8, *strings.Reader) io.Reader\0\1f\0ù\ 1\0\0\0\91%q\19®\ 1ù\ 1\0\0\ 5\18\0\0\0\8f\ 1\11®\ 1ù\ 1\0\0\ 5 \0\0\0\8f\ 1\10\84\0q\1aencoding/base64.StdEncoding\0\84\0q\etype.*encoding/base64.Encoding\0®\ 1ú\ 1\0\0\91\1aq\e\ 1\13\84\0s\1cencoding/base64.enc\0®\ 1ú\ 1\0\0\ 1\13\95èÿÿÿ\1cs\e\84\0s\1dencoding/base64.r\0®\ 1ú\ 1\0\0\ 1\11\95Øÿÿÿ\1ds#®\ 1ú\ 1\0\0\ 1\10\95àÿÿÿ\1ds#®\ 1ú\ 1\0\0\ 1u\95ðÿÿÿ\17s#®\ 1ú\ 1\0\0\ 1u\95øÿÿÿ\17s#\84\0q\1etype.encoding/base64.decoder\0®\ 1ú\ 1\0\0\93q\0\1ex\13\11\14\8f\84\0q\1ftype.func(*uint8) *encoding/base64.decoder\0\1f\0ú\ 1\0\0\0\91\15q\1f®\ 1ú\ 1\0\0\ 5\b\0\0\0\8f\ 1\12®\ 1ú\ 1\0\0\ 1\12\ 1\17®\ 1ú\ 1\0\0\ 1u\ 1\10®\ 1ú\ 1\0\0\ 5è\0\0\0u\ 1\11¨\0ú\ 1\0\0\0\0Æ\ 1ú\ 1\0\0\0\0®\ 1ú\ 1\0\0\95èÿÿÿ\1cs\e\ 1\15®\ 1ú\ 1\0\0\ 1\15\ 5\10\0\0\0\8d®\ 1ú\ 1\0\0\ 1\12\ 1\13\9a\ 1ú\ 1\0\0\ 5\18\0\0\0u\ 1\13®\ 1ú\ 1\0\0\95Øÿÿÿ\1ds#\ 1\15®\ 1ú\ 1\0\0\ 1\15\ 1\8e®\ 1ú\ 1\0\0\95àÿÿÿ\1ds#\ 1\15®\ 1ú\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\84\0q type.*encoding/base64.decoder\0®\ 1ú\ 1\0\0\93q\0 x\13\11\14\8f®\ 1ú\ 1\0\0\93q\0#x\13\15\b\0\0\0$\8f®\ 1ú\ 1\0\0\ 1\12\15\10\0\0\0\18\8f\84\0q!type.func(*uint8, *uint8, *encoding/base64.decoder) io.Reader\0\1f\0ú\ 1\0\0\0\91%q!®\ 1ú\ 1\0\0\ 5\18\0\0\0\8f\ 1\11®\ 1ú\ 1\0\0\ 5 \0\0\0\8f\ 1\10®\ 1ú\ 1\0\0\ 1\11\95ðÿÿÿ\17s#®\ 1ú\ 1\0\0\ 1\10\95øÿÿÿ\17s#®\ 1ú\ 1\0\0\95ðÿÿÿ\17s#\ 1\11®\ 1ú\ 1\0\0\95øÿÿÿ\17s#\ 1\10\84\0\8f"compress/bzip2.r\0«\ 1û\ 1\0\0\11"\8f\ 1\13®\ 1û\ 1\0\0\ 1\11\ 1\8e®\ 1û\ 1\0\0\ 1\10\ 5\b\0\0\0\8e\84\0q#compress/bzip2.NewReader\0\84\0q$type.func(io.Reader) io.Reader\0\1f\0û\ 1\0\0\0\91#q$®\ 1û\ 1\0\0\ 5\10\0\0\0\8f\ 1\11®\ 1û\ 1\0\0\ 5\18\0\0\0\8f\ 1\10\84\0\8f%io/ioutil.r\0«\ 1ü\ 1\0\0\11%\8f\ 1\13®\ 1ü\ 1\0\0\ 1\11\ 1\8e®\ 1ü\ 1\0\0\ 1\10\ 5\b\0\0\0\8e\84\0q&io/ioutil.ReadAll\0\84\0q'type.func(io.Reader) ([]uint8, error)\0\1f\0ü\ 1\0\0\0\91&q'«\ 1ü\ 1\0\0\ 5\10\0\0\0\8f\ 1\13®\ 1ü\ 1\0\0\ 1\8e\ 1\15\84\0s("".b\0®\ 1ü\ 1\0\0\ 1\15\95°ÿÿÿ(s\br\0ü\ 1\0\0\ 5\b\0\0\0\8e\ 1\15r\0ü\ 1\0\0\ 1\15\95¸ÿÿÿ(s\br\0ü\ 1\0\0\ 5\f\0\0\0\8e\ 1\15r\0ü\ 1\0\0\ 1\15\95¼ÿÿÿ(s\b«\ 1ü\ 1\0\0\ 5 \0\0\0\8f\ 1\13®\ 1ü\ 1\0\0\ 1\8e\ 1\15\84\0s)"".err\0\84\0q*type.error\0®\ 1ü\ 1\0\0\ 1\15\95\90ÿÿÿ)s*®\ 1ü\ 1\0\0\ 5\b\0\0\0\8e\ 1\15®\ 1ü\ 1\0\0\ 1\15\95\98ÿÿÿ)s*«\ 1ý\ 1\0\0\95\90ÿÿÿ)s*\ 1\13¢\ 1ý\ 1\0\0\ 1\8e\ 1uQ\0ý\ 1\0\0\0\ 5\1f\a\0\0\ 1þ\ 1\0\0\11\18\8f\ 1\13®\ 1þ\ 1\0\0\95\90ÿÿÿ)s*\ 1\15®\ 1þ\ 1\0\0\ 1\15\ 1\8e®\ 1þ\ 1\0\0\95\98ÿÿÿ)s*\ 1\15®\ 1þ\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\84\0q+runtime.convI2E\0\84\0q,type.func(error) interface {}\0\1f\0þ\ 1\0\0\0\91+q,«\ 1þ\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1þ\ 1\0\0\ 1\8f\ 1\17²\ 1þ\ 1\0\0\0\0²\ 1þ\ 1\0\0\0\0\84\0q-runtime.panic\0\84\0q.type.func(interface {})\0\1f\0þ\ 1\0\0\0\91-q.®\ 1\0\ 2\0\0\95°ÿÿÿ(s\b\ 1\13\84\0q/"".jsonbytes\0®\ 1\0\ 2\0\0\ 1\13\91/q\br\0\0\ 2\0\0\95¸ÿÿÿ(s\b\ 1\13r\0\0\ 2\0\0\ 1\13\95\b\0\0\0/q\br\0\0\ 2\0\0\95¼ÿÿÿ(s\b\ 1\13r\0\0\ 2\0\0\ 1\13\95\f\0\0\0/q\b\84\0q0type.*"".JSONResponse\0®\ 1\ 2\ 2\0\0\93q\00x\13\11\14\8f\84\0q1"".jsondata\0\84\0q\ 1type."".JSONResponse\0«\ 1\ 2\ 2\0\0\911q\ 1\ 1\13®\ 1\ 2\ 2\0\0\ 1\13\15\b\0\0\0\18\8f\84\0q\ 2runtime.convT2E\0\84\0q\ 3type.func(*uint8, *"".JSONResponse) interface {}\0\1f\0\ 2\ 2\0\0\0\91\ 2q\ 3«\ 1\ 2\ 2\0\0\ 5\10\0\0\0\8f\ 1\16\84\0\8f\ 4encoding/json.v\0«\ 1\ 2