diff --git a/internal/debugger/debug.go b/internal/debugger/debug.go new file mode 100644 index 00000000..fa5a802f --- /dev/null +++ b/internal/debugger/debug.go @@ -0,0 +1,3 @@ +package debugger + +const debug = false diff --git a/internal/debugger/debugger.go b/internal/debugger/debugger.go index eb17e6c9..962be9fa 100644 --- a/internal/debugger/debugger.go +++ b/internal/debugger/debugger.go @@ -126,13 +126,16 @@ func AugmentRecorder(rec Recorder, testFilename string) (Recorder, bool) { recrds[testFilename] = rcrd } rcrd.rcrd.IncrementCount() - log.Println("Writing debugger output to", rcrd.fn) + if debug { + log.Println("Writing debugger output to", rcrd.fn) + } return Recorder{ recorder: rcrd.rcrd, Desc: TestDescription{ Name: uuid.NewRandom().String(), }, + Filename: rcrd.fn, }, true } diff --git a/internal/debugger/recorder.go b/internal/debugger/recorder.go index 0d4dc6e4..aa5aa6a6 100644 --- a/internal/debugger/recorder.go +++ b/internal/debugger/recorder.go @@ -65,13 +65,19 @@ func (rec *recorder) CloseWait() error { if !rec.closed && c <= 0 { rec.closed = true rec.clck.Unlock() - log.Println("Waiting for things to finish") + if debug { + log.Println("waiting for things to finish") + } rec.wg.Wait() - log.Println("Done waiting for things to finish") + if debug { + log.Println("done waiting for things to finish") + } return rec.Interface.Close() } rec.clck.Unlock() - log.Println("Waiting for things to finish") + if debug { + log.Println("waiting for things to finish") + } rec.wg.Wait() return nil } @@ -93,6 +99,9 @@ type Recorder struct { // Desc is the template for the description to use when recording a // test. Desc TestDescription + + // The filename the recording are being written to, or empty + Filename string } // IsValid is the given Recorder valid @@ -117,7 +126,6 @@ func (rec Recorder) Record(geom interface{}, ffl FuncFileLineType, desc TestDesc return rec.recorder.Record(geom, ffl, tstDesc) } - // AsyncRecord will record an entry into the debugging Database asynchronously. Zero values in the desc will be // replaced by their corrosponding values in the Recorder.Desc func (rec Recorder) AsyncRecord(geom interface{}, ffl FuncFileLineType, desc TestDescription) { diff --git a/planar/triangulate/gdey/quadedge/.gitignore b/planar/triangulate/gdey/quadedge/.gitignore new file mode 100644 index 00000000..abe35f28 --- /dev/null +++ b/planar/triangulate/gdey/quadedge/.gitignore @@ -0,0 +1,3 @@ +.DS_Store +output +quad-edge diff --git a/planar/triangulate/gdey/quadedge/debug_cgo_test.go b/planar/triangulate/gdey/quadedge/debug_cgo_test.go new file mode 100644 index 00000000..3456dc94 --- /dev/null +++ b/planar/triangulate/gdey/quadedge/debug_cgo_test.go @@ -0,0 +1,7 @@ +// +build cgo + +package qetriangulate_test + +const ( + cgo = true +) diff --git a/planar/triangulate/gdey/quadedge/debug_nocgo_test.go b/planar/triangulate/gdey/quadedge/debug_nocgo_test.go new file mode 100644 index 00000000..7f1e09d5 --- /dev/null +++ b/planar/triangulate/gdey/quadedge/debug_nocgo_test.go @@ -0,0 +1,7 @@ +// +build !cgo + +package qetriangulate_test + +const ( + cgo = false +) diff --git a/planar/triangulate/gdey/quadedge/main_test.go b/planar/triangulate/gdey/quadedge/main_test.go new file mode 100644 index 00000000..d3b8bd50 --- /dev/null +++ b/planar/triangulate/gdey/quadedge/main_test.go @@ -0,0 +1,275 @@ +package qetriangulate_test + +import ( + "bytes" + "fmt" + "io/ioutil" + "log" + "path/filepath" + "sort" + "strconv" + "strings" + "testing" + "time" + + "github.com/go-spatial/geom" + "github.com/go-spatial/geom/cmp" + "github.com/go-spatial/geom/encoding/wkt" + "github.com/go-spatial/geom/internal/debugger" + "github.com/go-spatial/geom/planar/triangulate/gdey/quadedge/quadedge" + "github.com/go-spatial/geom/planar/triangulate/gdey/quadedge/subdivision" +) + +func logEdges(sd *subdivision.Subdivision) { + _ = sd.WalkAllEdges(func(e *quadedge.Edge) error { + org := *e.Orig() + dst := *e.Dest() + + fmt.Println(wkt.MustEncode( + geom.Line{ + [2]float64(org), + [2]float64(dst), + }, + )) + + return nil + }) +} + +func Draw(t *testing.T, rec debugger.Recorder, name string, pts ...[2]float64) { + + var ( + ffl = debugger.FFL(0) + badPoints []geom.Point + goodPoints []geom.Point + ) + + start := time.Now() + sort.Sort(cmp.ByXY(pts)) + + tri := geom.NewTriangleContainingPoints(pts...) + ext := geom.NewExtent(pts...) + sd := subdivision.New(geom.Point(tri[0]), geom.Point(tri[1]), geom.Point(tri[2])) + + for i, pt := range pts { + if i != 0 && pts[i-1][0] == pt[0] && pts[i-1][1] == pt[1] { + continue + } + bfpt := geom.Point(pt) + if !sd.InsertSite(bfpt) { + badPoints = append(badPoints, bfpt) + continue + } + goodPoints = append(goodPoints, bfpt) + } + t.Logf("triangulation setup took: %v", time.Since(start)) + + start = time.Now() + + rec.Record( + tri, + ffl, + debugger.TestDescription{ + Category: "frame:triangle", + Description: "triangle frame.", + Name: name, + }, + ) + + rec.Record( + ext, + ffl, + debugger.TestDescription{ + Category: "frame:extent", + Description: "extent frame.", + Name: name, + }, + ) + + if len(badPoints) > 0 { + t.Logf("Failed to insert %v points\n", len(badPoints)) + for i, pt := range badPoints { + rec.Record( + pt, + ffl, + debugger.TestDescription{ + Category: "initial:point:failed", + Description: fmt.Sprintf("point:%v %v:failed", i, pt), + Name: name, + }, + ) + } + } + for i, pt := range goodPoints { + rec.Record( + pt, + ffl, + debugger.TestDescription{ + Category: "initial:point:failed", + Description: fmt.Sprintf("point:%v %v:failed", i, pt), + Name: name, + }, + ) + } + + count := 0 + _ = sd.WalkAllEdges(func(e *quadedge.Edge) error { + org := *e.Orig() + dst := *e.Dest() + + rec.Record( + geom.Line{ + [2]float64(org), + [2]float64(dst), + }, + ffl, + debugger.TestDescription{ + Category: fmt.Sprintf("edge:%v", count), + Description: fmt.Sprintf( + "edge:%v [%p]( %v %v, %v %v)", + count, e, + org[0], org[1], + dst[0], dst[1], + ), + Name: name, + }, + ) + count++ + return nil + }) + t.Logf("writing out triangulation setup info: %v", time.Since(start)) + start = time.Now() + triangles, err := sd.Triangles(true) + if err != nil { + t.Logf("Got an error: %v", err) + } + t.Logf("triangulation took: %v", time.Since(start)) + start = time.Now() + for i, tri := range triangles { + rec.Record( + geom.Triangle{ + [2]float64(tri[0]), + [2]float64(tri[1]), + [2]float64(tri[2]), + }, + ffl, + debugger.TestDescription{ + Category: fmt.Sprintf("triangle:%v", i), + Description: fmt.Sprintf( + "triangle:%v (%v)", i, tri, + ), + Name: name, + }, + ) + } + t.Logf("writing out triangles took: %v", time.Since(start)) +} + +func cleanup(data []byte) (parts []string) { + toreplace := []byte(`[]{}(),;`) + for _, v := range toreplace { + data = bytes.Replace(data, []byte{v}, []byte(" "), -1) + } + dparts := bytes.Split(data, []byte(` `)) + for _, dpt := range dparts { + s := bytes.TrimSpace(dpt) + if len(s) == 0 { + continue + } + parts = append(parts, string(s)) + } + return parts +} + +func gettests(inputdir, mid string, ts map[string][][2]float64) { + files, err := ioutil.ReadDir(inputdir) + if err != nil { + panic( + fmt.Sprintf("Could not read dir %v: %v", inputdir, err), + ) + } + var filename string + for _, file := range files { + if mid != "" { + filename = filepath.Join(mid, file.Name()) + } else { + filename = file.Name() + } + if file.IsDir() { + gettests(inputdir, filename, ts) + continue + } + idx := strings.LastIndex(filename, ".points") + if idx == -1 || filename[idx:] != ".points" { + continue + } + data, err := ioutil.ReadFile(filepath.Join(inputdir, filename)) + if err != nil { + panic( + fmt.Sprintf("Could not read file %v: %v", filename, err), + ) + } + var pts [][2]float64 + + // clean up file of { [ ( , ; + parts := cleanup(data) + if len(parts)%2 != 0 { + panic( + fmt.Sprintf("Badly formatted file %v:\n%v\n%s", filename, parts, data), + ) + } + for i := 0; i < len(parts); i += 2 { + x, err := strconv.ParseFloat(parts[i], 64) + if err != nil { + panic( + fmt.Sprintf("%v::%v: Badly formatted value {{%v}}:%v\n%s", filename, i, parts[i], err, data), + ) + } + y, err := strconv.ParseFloat(parts[i+1], 64) + if err != nil { + panic( + fmt.Sprintf("%v::%v: Badly formatted value {{%v}}:%v\n%s", filename, i+1, parts[i], err, data), + ) + } + pts = append(pts, [2]float64{x, y}) + } + ts[filename[:idx]] = pts + } +} +func init() { + log.SetFlags(log.Lshortfile | log.LstdFlags) + debugger.DefaultOutputDir = "output" +} + +const inputdir = "testdata" + +func TestTriangulation(t *testing.T) { + + /* + tests := map[string][]geometry.Point{ + "First Test": { + {516, 661}, {369, 793}, {426, 539}, {273, 525}, {204, 694}, {747, 750}, {454, 390}, + }, + "Second test": { + {382, 302}, {382, 328}, {382, 205}, {623, 175}, {382, 188}, {382, 284}, {623, 87}, {623, 341}, {141, 227}, + }, + } + */ + tests := make(map[string][][2]float64) + gettests(inputdir, "", tests) + + for name, pts := range tests { + t.Run(name, func(t *testing.T) { + + var rec debugger.Recorder + if cgo { + // Only enable writing to log files if we have cgo enabled + rec, _ = debugger.AugmentRecorder(rec, fmt.Sprintf("drawn_%v", name)) + t.Logf("writing entries to %v", rec.Filename) + } + Draw(t, rec, name, pts...) + rec.CloseWait() + }) + } + +} diff --git a/planar/triangulate/gdey/quadedge/quadedge/debug.go b/planar/triangulate/gdey/quadedge/quadedge/debug.go new file mode 100644 index 00000000..1b1a6590 --- /dev/null +++ b/planar/triangulate/gdey/quadedge/quadedge/debug.go @@ -0,0 +1,3 @@ +package quadedge + +const debug = false diff --git a/planar/triangulate/gdey/quadedge/quadedge/edge.go b/planar/triangulate/gdey/quadedge/quadedge/edge.go new file mode 100644 index 00000000..ff075454 --- /dev/null +++ b/planar/triangulate/gdey/quadedge/quadedge/edge.go @@ -0,0 +1,172 @@ +package quadedge + +import ( + "github.com/go-spatial/geom" + "github.com/go-spatial/geom/cmp" +) + +const ( + precision = 6 +) + +// Edge describes a directional edge in a quadedge +type Edge struct { + num int + next *Edge + qe *QuadEdge + v *geom.Point +} + +// New will return a new edge that is part of an QuadEdge +func New() *Edge { + ql := NewQEdge() + return &ql.e[0] +} + +// NewWithEndPoints creates a new edge with the given end points +func NewWithEndPoints(a, b *geom.Point) *Edge { + e := New() + e.EndPoints(a, b) + return e +} + +// QEdge returns the quadedge this edge is part of +func (e *Edge) QEdge() *QuadEdge { + if e == nil { + return nil + } + return e.qe +} + +// Orig returns the origin end point +func (e *Edge) Orig() *geom.Point { + if e == nil { + return nil + } + return e.v +} + +// Dest returns the destination end point +func (e *Edge) Dest() *geom.Point { + return e.Sym().Orig() +} + +// EndPoints sets the end points of the Edge +func (e *Edge) EndPoints(org, dest *geom.Point) { + e.v = org + e.Sym().v = dest +} + +// AsLine returns the Edge as a geom.Line +func (e *Edge) AsLine() geom.Line { + porig, pdest := e.Orig(), e.Dest() + orig, dest := geom.EmptyPoint, geom.EmptyPoint + if porig != nil { + orig = *porig + } + if pdest != nil { + dest = *pdest + } + return geom.Line{[2]float64(orig), [2]float64(dest)} +} + +/******** Edge Algebra *********************************************************/ + +// Rot returns the dual of the current edge, directed from its right +// to its left. +func (e *Edge) Rot() *Edge { + if e == nil { + return nil + } + if e.num == 3 { + return &(e.qe.e[0]) + } + return &(e.qe.e[e.num+1]) +} + +// InvRot returns the dual of the current edge, directed from its left +// to its right. +func (e *Edge) InvRot() *Edge { + if e == nil { + return nil + } + if e.num == 0 { + return &(e.qe.e[3]) + } + return &(e.qe.e[e.num-1]) +} + +// Sym returns the edge from the destination to the origin of the current edge. +func (e *Edge) Sym() *Edge { + if e == nil { + return nil + } + if e.num < 2 { + return &(e.qe.e[e.num+2]) + } + return &(e.qe.e[e.num-2]) +} + +// ONext returns the next ccw edge around (from) the origin of the current edge +func (e *Edge) ONext() *Edge { + if e == nil { + return nil + } + return e.next +} + +// OPrev returns the next cw edge around (from) the origin of the currect edge. +func (e *Edge) OPrev() *Edge { + return e.Rot().ONext().Rot() +} + +// DNext returns the next ccw edge around (into) the destination of the current edge. +func (e *Edge) DNext() *Edge { + return e.Sym().ONext().Sym() +} + +// DPrev returns the next cw edge around (into) the destination of the current edge. +func (e *Edge) DPrev() *Edge { + return e.InvRot().ONext().InvRot() +} + +// LNext returns the ccw edge around the left face following the current edge. +func (e *Edge) LNext() *Edge { + return e.InvRot().ONext().Rot() +} + +// LPrev returns the ccw edge around the left face before the current edge. +func (e *Edge) LPrev() *Edge { + return e.ONext().Sym() +} + +// RNext returns the edge around the right face ccw following the current edge. +func (e *Edge) RNext() *Edge { + return e.Rot().ONext().InvRot() +} + +// RPrev returns the edge around the right face ccw before the current edge. +func (e *Edge) RPrev() *Edge { + return e.Sym().ONext() +} + +/*****************************************************************************/ +/* Convenience functions to find edges */ +/*****************************************************************************/ + +// FindONextDest will look for and return a ccw edge the given dest point, if it +// exists. +func (e *Edge) FindONextDest(dest geom.Point) *Edge { + if e == nil { + return nil + } + if cmp.GeomPointEqual(dest, *e.Dest()) { + return e + } + for ne := e.ONext(); ne != e; ne = ne.ONext() { + if cmp.GeomPointEqual(dest, *ne.Dest()) { + return ne + } + } + return nil +} diff --git a/planar/triangulate/gdey/quadedge/quadedge/edge_test.go b/planar/triangulate/gdey/quadedge/quadedge/edge_test.go new file mode 100644 index 00000000..a769225d --- /dev/null +++ b/planar/triangulate/gdey/quadedge/quadedge/edge_test.go @@ -0,0 +1,97 @@ +package quadedge + +import ( + "context" + "testing" + + "github.com/go-spatial/geom" + "github.com/go-spatial/geom/cmp" +) + +func TestFindONextDest(t *testing.T) { + + type tcase struct { + startingEdge *Edge + dest geom.Point + expected *Edge + } + + fn := func(ctx context.Context, tc tcase) func(*testing.T) { + return func(t *testing.T) { + + got := tc.startingEdge.FindONextDest(tc.dest) + if got != tc.expected { + t.Errorf("edge, expected %p got %p", tc.expected, got) + } + } + } + newTCase := func(graph []geom.Point, dest geom.Point) (tc tcase) { + tc.dest = dest + // first let's construct our edges. + // and edges will be graph[0],graph[1...n] + if len(graph) < 2 { + panic("graph should have at least two points for on edge.") + } + tc.startingEdge = NewWithEndPoints(&graph[0], &graph[1]) + if cmp.GeomPointEqual(dest, graph[1]) { + tc.expected = tc.startingEdge + + } + if len(graph) > 2 { + for i, dst := range graph[2:] { + if tc.expected != nil && cmp.GeomPointEqual(dest, dst) { + panic("Duplicate dest in list of dest.") + } + e := NewWithEndPoints(&graph[0], &graph[i+2]) + Splice(tc.startingEdge, e) + if tc.expected == nil && cmp.GeomPointEqual(dest, dst) { + tc.expected = e + } + } + } + return tc + } + tests := map[string]tcase{ + "nf nil": tcase{}, + "nf one edge": newTCase([]geom.Point{ + geom.Point{0, 0}, + geom.Point{10, 10}, + }, + geom.Point{10, 101}, + ), + "nf three edges": newTCase([]geom.Point{ + geom.Point{0, 0}, + geom.Point{10, 10}, + geom.Point{20, 20}, + geom.Point{30, 30}, + }, + geom.Point{20, 20}, + ), + "one edge": newTCase([]geom.Point{ + geom.Point{0, 0}, + geom.Point{10, 10}, + }, + geom.Point{10, 10}, + ), + "two edges": newTCase([]geom.Point{ + geom.Point{0, 0}, + geom.Point{10, 10}, + geom.Point{20, 20}, + }, + geom.Point{20, 20}, + ), + "three edges": newTCase([]geom.Point{ + geom.Point{0, 0}, + geom.Point{10, 10}, + geom.Point{20, 20}, + geom.Point{30, 30}, + }, + geom.Point{20, 20}, + ), + } + ctx := context.Background() + for name, tc := range tests { + t.Run(name, fn(ctx, tc)) + } + +} diff --git a/planar/triangulate/gdey/quadedge/quadedge/quadedge.go b/planar/triangulate/gdey/quadedge/quadedge/quadedge.go new file mode 100644 index 00000000..76c47a1a --- /dev/null +++ b/planar/triangulate/gdey/quadedge/quadedge/quadedge.go @@ -0,0 +1,38 @@ +// Package quadedge describes a quadedge object used to build up the triangulation +// A quadedge is made up of four directional edges +// +// DO +// ^* +// || +// O*----++---->D +// D<----++----*O +// || +// *V +// OD +// +// O represents the Origin +// D represents the Destination +// +package quadedge + +// QuadEdge describes a quadedge object. Which is made up of four directional edges +type QuadEdge struct { + initialized bool + e [4]Edge +} + +// NewQEdge create a new quad edge object +func NewQEdge() *QuadEdge { + var qe QuadEdge + qe.e[0].num, qe.e[1].num, qe.e[2].num, qe.e[3].num = 0, 1, 2, 3 + qe.e[0].qe, qe.e[1].qe, qe.e[2].qe, qe.e[3].qe = &qe, &qe, &qe, &qe + + qe.e[0].next = &(qe.e[0]) + qe.e[1].next = &(qe.e[3]) + qe.e[2].next = &(qe.e[2]) + qe.e[3].next = &(qe.e[1]) + + qe.initialized = true + + return &qe +} diff --git a/planar/triangulate/gdey/quadedge/quadedge/stack.go b/planar/triangulate/gdey/quadedge/quadedge/stack.go new file mode 100644 index 00000000..0e7935ea --- /dev/null +++ b/planar/triangulate/gdey/quadedge/quadedge/stack.go @@ -0,0 +1,25 @@ +package quadedge + +// Stack is a stack of edges +type Stack []*Edge + +// Push will add an edge to the stack +func (s *Stack) Push(e *Edge) { + if s == nil { + return + } + *s = append(*s, e) +} + +// Pop will return the last edge added and remove it from the stack. +func (s *Stack) Pop() (e *Edge) { + if s == nil || len(*s) == 0 { + return nil + } + e = (*s)[len(*s)-1] + *s = (*s)[:len(*s)-1] + return e +} + +// Length will return the length of the stack +func (s Stack) Length() int { return len(s) } diff --git a/planar/triangulate/gdey/quadedge/quadedge/topo.go b/planar/triangulate/gdey/quadedge/quadedge/topo.go new file mode 100644 index 00000000..ed2280a5 --- /dev/null +++ b/planar/triangulate/gdey/quadedge/quadedge/topo.go @@ -0,0 +1,111 @@ +package quadedge + +import ( + "log" + + "github.com/go-spatial/geom/planar" + + "github.com/go-spatial/geom" +) + +// Splice operator affects the two edge rings around the origin of a and b, +// and, independently, the two edge rings around the left faces of a and b. +// In each case, (i) if the two rings are distinct, Splace will combine +// them into one; (ii) if the two are the same ring, Splice will break it +// into two separate pieces. +// Thus, Splice can be used both to attach the two edges together, and +// to break them apart. See Guibas and Stolfi (1985) p.96 for more details +// and illustrations. +func Splice(a, b *Edge) { + if a == nil || b == nil { + return + } + alpha := a.ONext().Rot() + beta := b.ONext().Rot() + + t1 := b.ONext() + t2 := a.ONext() + t3 := beta.ONext() + t4 := alpha.ONext() + + a.next = t1 + b.next = t2 + alpha.next = t3 + beta.next = t4 +} + +// Connect Add a new edge e connection the destination of a to the +// origin of b, in such a way that all three have the same +// left face after the connection is complete. +// Additionally, the data pointers of the new edge are set. +func Connect(a, b *Edge) *Edge { + e := New() + Splice(e, a.LNext()) + Splice(e.Sym(), b) + e.EndPoints(a.Dest(), b.Orig()) + return e +} + +// Swap Essentially truns edge e counterclockwase inside its enclosing +// quadrilateral. The data pointers are modified accordingly. +func Swap(e *Edge) { + a := e.OPrev() + b := e.Sym().OPrev() + Splice(e, a) + Splice(e.Sym(), b) + Splice(e, a.LNext()) + Splice(e.Sym(), b.LNext()) + e.EndPoints(a.Dest(), b.Dest()) +} + +// Delete will remove the edge from the ring +func Delete(e *Edge) { + if e == nil { + return + } + if debug { + log.Printf("Deleting edge %p", e) + } + Splice(e, e.OPrev()) + Splice(e.Sym(), e.Sym().OPrev()) +} + +// OnEdge determines if the point x is on the edge e. +func OnEdge(pt geom.Point, e *Edge) bool { + org := e.Orig() + if org == nil { + return false + } + dst := e.Dest() + if dst == nil { + return false + } + l := geom.Line{*org, *dst} + return planar.IsPointOnLineSegment(pt, l) +} + +// RightOf indicates if the point is right of the Edge +func RightOf(x geom.Point, e *Edge) bool { + org := e.Orig() + if org == nil { + return false + } + dst := e.Dest() + if dst == nil { + return false + } + return planar.IsCCW(x, *dst, *org) +} + +// LeftOf indicates if the point is left of the Edge +func LeftOf(x geom.Point, e *Edge) bool { + org := e.Orig() + if org == nil { + return false + } + dst := e.Dest() + if dst == nil { + return false + } + return planar.IsCCW(x, *org, *dst) +} diff --git a/planar/triangulate/gdey/quadedge/subdivision/classify_test.go b/planar/triangulate/gdey/quadedge/subdivision/classify_test.go new file mode 100644 index 00000000..1003ca4f --- /dev/null +++ b/planar/triangulate/gdey/quadedge/subdivision/classify_test.go @@ -0,0 +1,79 @@ +package subdivision_test + +import ( + "strconv" + "testing" + + "github.com/go-spatial/geom" + "github.com/go-spatial/geom/internal/debugger" + "github.com/go-spatial/geom/planar/triangulate/gdey/quadedge/subdivision" +) + +func init() { + debugger.DefaultOutputDir = "output" +} + +func TestClassify(t *testing.T) { + + type tcase struct { + a, b, c geom.Point + expected subdivision.QType + } + fn := func(tc tcase) func(*testing.T) { + return func(t *testing.T) { + got := subdivision.Classify(tc.a, tc.b, tc.c) + if got != tc.expected { + t.Errorf("error, expected %v got %v", tc.expected, got) + return + } + } + } + + testcases := []tcase{ + { + a: geom.Point{1.1, 2.5}, + b: geom.Point{1, 2}, + c: geom.Point{1, 3}, + expected: subdivision.RIGHT, + }, + { + a: geom.Point{0.9, 2.5}, + b: geom.Point{1, 2}, + c: geom.Point{1, 3}, + expected: subdivision.LEFT, + }, + { + a: geom.Point{1, 1}, + b: geom.Point{1, 2}, + c: geom.Point{1, 3}, + expected: subdivision.BEHIND, + }, + { + a: geom.Point{1, 4}, + b: geom.Point{1, 2}, + c: geom.Point{1, 3}, + expected: subdivision.BEYOND, + }, + { + a: geom.Point{1, 2}, + b: geom.Point{1, 2}, + c: geom.Point{1, 3}, + expected: subdivision.ORIGIN, + }, + { + a: geom.Point{1, 3}, + b: geom.Point{1, 2}, + c: geom.Point{1, 3}, + expected: subdivision.DESTINATION, + }, + { + a: geom.Point{1, 2.5}, + b: geom.Point{1, 2}, + c: geom.Point{1, 3}, + expected: subdivision.BETWEEN, + }, + } + for i, tc := range testcases { + t.Run(strconv.FormatInt(int64(i), 10), fn(tc)) + } +} diff --git a/planar/triangulate/gdey/quadedge/subdivision/debug.go b/planar/triangulate/gdey/quadedge/subdivision/debug.go new file mode 100644 index 00000000..4a683252 --- /dev/null +++ b/planar/triangulate/gdey/quadedge/subdivision/debug.go @@ -0,0 +1,5 @@ +package subdivision + +const ( + debug = false +) diff --git a/planar/triangulate/gdey/quadedge/subdivision/debug_cgo.go b/planar/triangulate/gdey/quadedge/subdivision/debug_cgo.go new file mode 100644 index 00000000..a5fd03d9 --- /dev/null +++ b/planar/triangulate/gdey/quadedge/subdivision/debug_cgo.go @@ -0,0 +1,7 @@ +// +build cgo + +package subdivision + +const ( + cgo = true +) diff --git a/planar/triangulate/gdey/quadedge/subdivision/debug_nocgo.go b/planar/triangulate/gdey/quadedge/subdivision/debug_nocgo.go new file mode 100644 index 00000000..3f7f9c64 --- /dev/null +++ b/planar/triangulate/gdey/quadedge/subdivision/debug_nocgo.go @@ -0,0 +1,7 @@ +// +build !cgo + +package subdivision + +const ( + cgo = false +) diff --git a/planar/triangulate/gdey/quadedge/subdivision/geom_test.go b/planar/triangulate/gdey/quadedge/subdivision/geom_test.go new file mode 100644 index 00000000..7b52303b --- /dev/null +++ b/planar/triangulate/gdey/quadedge/subdivision/geom_test.go @@ -0,0 +1,277 @@ +package subdivision + +import ( + "context" + "log" + "testing" + + "github.com/go-spatial/geom" + "github.com/go-spatial/geom/internal/debugger" + "github.com/go-spatial/geom/planar/triangulate/gdey/quadedge/quadedge" +) + +func newEdge(a, b, c, d float64) *quadedge.Edge { + orig := geom.Point{a, b} + dest := geom.Point{c, d} + return quadedge.NewWithEndPoints(&orig, &dest) +} + +func BuildTestCase0() (es []*quadedge.Edge) { + es = make([]*quadedge.Edge, 5) + es[0] = newEdge(0, 3, 3, 6) + es[1] = newEdge(0, 3, 3, 0) + + es[2] = newEdge(3, 6, 6, 6) + es[3] = newEdge(3, 0, 6, 0) + + es[4] = newEdge(6, 0, 6, 6) + + quadedge.Splice(es[0], es[1]) + quadedge.Splice(es[0].Sym(), es[2]) + quadedge.Splice(es[1].Sym(), es[3]) + quadedge.Splice(es[3].Sym(), es[4]) + quadedge.Splice(es[4].Sym(), es[4].Sym()) + if debug { + for i, e := range es { + log.Printf("edge %v : %p <=> %p (%v -> %v) ", i+1, e, e.Sym(), *e.Orig(), *e.Dest()) + } + } + + return es +} + +func TestFindImmediateRightOfEdge(t *testing.T) { + type tcase struct { + edges []*quadedge.Edge + dest geom.Point + // seIdx is the starting index for the SubdivisionEdges to use as + // the startingedge, it's Origin is going to be the starting point. + // To keep consistant with the toInd and fromIdx this starts from 1 as well. + seIdx int + // ToIdx and FromIdx is 0 means it's nil, it the index is negative it is the sym edge of the edge at abs(index)+1 + // if it's positive it the edge index+1 + toIdx int + fromIdx int + } + + fn := func(ctx context.Context, tc tcase) func(*testing.T) { + + findEdgeIndex := func(e *quadedge.Edge) int { + for i, ee := range tc.edges { + if ee == e { + return i + 1 + } + if ee == e.Sym() { + return (i + 1) * -1 + } + } + return 0 + } + + edgeAtIndex := func(idx int) *quadedge.Edge { + switch { + case idx == 0: + return nil + case idx < 0: + return tc.edges[(idx*-1)-1].Sym() + default: + return tc.edges[idx-1] + } + } + + return func(t *testing.T) { + var from, to = edgeAtIndex(tc.fromIdx), edgeAtIndex(tc.toIdx) + ctx = debugger.SetTestName(ctx, t.Name()) + var showDebug bool + se := edgeAtIndex(tc.seIdx) + + gotFrom, gotTo := findImmediateRightOfEdges(se, tc.dest) + + if gotFrom != from { + showDebug = true + t.Errorf("from, expected edge @%v got edge @%v", tc.fromIdx, findEdgeIndex(gotFrom)) + } + if gotTo != to { + showDebug = true + t.Errorf("to, expected edge @%v got edge @%v", tc.toIdx, findEdgeIndex(gotTo)) + } + if showDebug { + _ = WalkAllEdges(tc.edges[0], func(e *quadedge.Edge) error { + idx := findEdgeIndex(e) + debugger.Record(ctx, e.AsLine(), debugger.CategoryInput, "subdivision edge %v", idx) + return nil + }) + debugger.Record(ctx, + geom.Line{[2]float64(*se.Orig()), [2]float64(tc.dest)}, + debugger.CategoryInput, + "Edge to add", + ) + if gotFrom != nil { + idx := findEdgeIndex(gotFrom) + debugger.Record(ctx, gotFrom.AsLine(), debugger.CategoryGot, "from edge %v", idx) + } + if from != nil { + debugger.Record(ctx, from.AsLine(), debugger.CategoryExpected, "from edge %v", tc.fromIdx) + } + if gotTo != nil { + idx := findEdgeIndex(gotTo) + debugger.Record(ctx, gotTo.AsLine(), debugger.CategoryGot, "to edge %v", idx) + } + if to != nil { + debugger.Record(ctx, to.AsLine(), debugger.CategoryExpected, "to edge %v", tc.toIdx) + } + } + } + } + + tests := map[string]tcase{ + "case0e4dest3,6": { + edges: BuildTestCase0(), + dest: geom.Point{3, 6}, + seIdx: 4, + fromIdx: -2, + toIdx: 3, + }, + "case0e3dest3,0": { + edges: BuildTestCase0(), + dest: geom.Point{3, 0}, + seIdx: 3, + fromIdx: 3, + toIdx: -2, + }, + "case0e-1dest3,0": { + edges: BuildTestCase0(), + dest: geom.Point{3, 0}, + seIdx: -1, + fromIdx: 3, + toIdx: -2, + }, + "case0e1dest3,0": { + edges: BuildTestCase0(), + dest: geom.Point{3, 0}, + seIdx: 1, + fromIdx: 2, + }, + } + + ctx := context.Background() + if cgo { + ctx = debugger.AugmentContext(ctx, "") + defer debugger.CloseWait(ctx) + } + + for name, tc := range tests { + t.Run(name, fn(ctx, tc)) + } + +} + +func TestResolveEdge(t *testing.T) { + type tcase struct { + edges []*quadedge.Edge + dest geom.Point + // seIdx is the starting index for the SubdivisionEdges to use as + // the startingedge, it's Origin is going to be the starting point. + // To keep consistant with the toInd and fromIdx this starts from 1 as well. + seIdx int + // ToIdx and FromIdx is 0 means it's nil, it the index is negative it is the sym edge of the edge at abs(index)+1 + // if it's positive it the edge index+1 + foundIdx int + } + + fn := func(ctx context.Context, tc tcase) func(*testing.T) { + + findEdgeIndex := func(e *quadedge.Edge) int { + for i, ee := range tc.edges { + if ee == e { + return i + 1 + } + if ee == e.Sym() { + return (i + 1) * -1 + } + } + return 0 + } + + edgeAtIndex := func(idx int) *quadedge.Edge { + switch { + case idx == 0: + return nil + case idx < 0: + return tc.edges[(idx*-1)-1].Sym() + default: + return tc.edges[idx-1] + } + } + + return func(t *testing.T) { + ctx = debugger.SetTestName(ctx, t.Name()) + var showDebug bool + found := edgeAtIndex(tc.foundIdx) + se := edgeAtIndex(tc.seIdx) + + gotFound := resolveEdge(se, tc.dest) + + if gotFound != found { + showDebug = true + t.Errorf("found, expected edge @%v got edge @%v", tc.foundIdx, findEdgeIndex(gotFound)) + } + if showDebug { + _ = WalkAllEdges(tc.edges[0], func(e *quadedge.Edge) error { + idx := findEdgeIndex(e) + debugger.Record(ctx, e.AsLine(), debugger.CategoryInput, "subdivision edge %v", idx) + return nil + }) + debugger.Record(ctx, + se.AsLine(), + debugger.CategoryInput, + "Edge to add", + ) + if gotFound != nil { + idx := findEdgeIndex(gotFound) + debugger.Record(ctx, gotFound.AsLine(), debugger.CategoryGot, "found edge %v", idx) + } + if found != nil { + debugger.Record(ctx, found.AsLine(), debugger.CategoryExpected, "found edge %v", tc.foundIdx) + } + } + } + } + + tests := map[string]tcase{ + "case0e4dest3,6": { + edges: BuildTestCase0(), + dest: geom.Point{3, 6}, + seIdx: 4, + foundIdx: -2, + }, + "case0e3dest3,0": { + edges: BuildTestCase0(), + dest: geom.Point{3, 0}, + seIdx: 3, + foundIdx: 3, + }, + "case0e-1dest3,0": { + edges: BuildTestCase0(), + dest: geom.Point{3, 0}, + seIdx: -1, + foundIdx: 3, + }, + "case0e1dest3,0": { + edges: BuildTestCase0(), + dest: geom.Point{3, 0}, + seIdx: 1, + foundIdx: 1, + }, + } + + ctx := context.Background() + if cgo { + ctx = debugger.AugmentContext(ctx, "") + defer debugger.CloseWait(ctx) + } + + for name, tc := range tests { + t.Run(name, fn(ctx, tc)) + } +} diff --git a/planar/triangulate/gdey/quadedge/subdivision/qtype.go b/planar/triangulate/gdey/quadedge/subdivision/qtype.go new file mode 100644 index 00000000..9ff6d6c4 --- /dev/null +++ b/planar/triangulate/gdey/quadedge/subdivision/qtype.go @@ -0,0 +1,67 @@ +package subdivision + +import ( + "fmt" + + "github.com/go-spatial/geom/cmp" + + "github.com/go-spatial/geom" +) + +type QType uint + +const ( + LEFT = QType(iota) + RIGHT + BEYOND + BEHIND + BETWEEN + ORIGIN + DESTINATION +) + +func (q QType) String() string { + switch q { + case LEFT: + return "LEFT" + case RIGHT: + return "RIGHT" + case BEYOND: + return "BEYOND" + case BEHIND: + return "BEHIND" + case BETWEEN: + return "BETWEEN" + case ORIGIN: + return "ORIGIN" + case DESTINATION: + return "DESTINATION" + default: + return fmt.Sprintf("UNKNOWN(%v)", int(q)) + } +} + +// Classify returns where b is in realation to a and c. +func Classify(a, b, c geom.Point) QType { + aa := c.Subtract(b) + bb := a.Subtract(b) + sa := aa.CrossProduct(bb) + ab := aa.Multiply(bb) + + switch { + case sa > 0.0: + return LEFT + case sa < 0.0: + return RIGHT + case ab[0] < 0.0 || ab[1] < 0.0: + return BEHIND + case aa.Magnitude() < bb.Magnitude(): + return BEYOND + case cmp.GeomPointEqual(a, b): + return ORIGIN + case cmp.GeomPointEqual(a, c): + return DESTINATION + default: + return BETWEEN + } +} diff --git a/planar/triangulate/gdey/quadedge/subdivision/subdivision.go b/planar/triangulate/gdey/quadedge/subdivision/subdivision.go new file mode 100644 index 00000000..9ae021a0 --- /dev/null +++ b/planar/triangulate/gdey/quadedge/subdivision/subdivision.go @@ -0,0 +1,591 @@ +package subdivision + +import ( + "context" + "errors" + "log" + "sort" + + "github.com/go-spatial/geom" + "github.com/go-spatial/geom/cmp" + "github.com/go-spatial/geom/encoding/wkt" + "github.com/go-spatial/geom/internal/debugger" + "github.com/go-spatial/geom/planar/triangulate/gdey/quadedge/quadedge" +) + +var ( + ErrCancel = errors.New("canceled walk") + ErrCoincidentEdges = errors.New("coincident edges") + ErrDidNotFindToFrom = errors.New("did not find to and from edge") +) + +type VertexIndex map[geom.Point]*quadedge.Edge + +type Subdivision struct { + startingEdge *quadedge.Edge + ptcount int + frame [3]geom.Point +} + +// New initialize a subdivision to the triangle defined by the points a,b,c. +func New(a, b, c geom.Point) *Subdivision { + ea := quadedge.New() + ea.EndPoints(&a, &b) + eb := quadedge.New() + quadedge.Splice(ea.Sym(), eb) + eb.EndPoints(&b, &c) + + ec := quadedge.New() + ec.EndPoints(&c, &a) + quadedge.Splice(eb.Sym(), ec) + quadedge.Splice(ec.Sym(), ea) + return &Subdivision{ + startingEdge: ea, + ptcount: 3, + frame: [3]geom.Point{a, b, c}, + } +} + +func NewForPoints(ctx context.Context, points [][2]float64) *Subdivision { + sort.Sort(cmp.ByXY(points)) + tri := geom.NewTriangleContainingPoints(points...) + sd := New(tri[0], tri[1], tri[2]) + var oldPt geom.Point + for i, pt := range points { + if ctx.Err() != nil { + return nil + } + bfpt := geom.Point(pt) + if i != 0 && cmp.GeomPointEqual(oldPt, bfpt) { + continue + } + oldPt = bfpt + if !sd.InsertSite(bfpt) { + log.Printf("Failed to insert point %v", bfpt) + } + } + return sd +} + +func ptEqual(x geom.Point, a *geom.Point) bool { + if a == nil { + return false + } + return cmp.GeomPointEqual(x, *a) +} + +func testEdge(x geom.Point, e *quadedge.Edge) (*quadedge.Edge, bool) { + switch { + case ptEqual(x, e.Orig()) || ptEqual(x, e.Dest()): + return e, true + case quadedge.RightOf(x, e): + return e.Sym(), false + case !quadedge.RightOf(x, e.ONext()): + return e.ONext(), false + case !quadedge.RightOf(x, e.DPrev()): + return e.DPrev(), false + default: + return e, true + } +} + +func locate(se *quadedge.Edge, x geom.Point, limit int) (*quadedge.Edge, bool) { + var ( + e *quadedge.Edge + ok bool + count int + ) + for e, ok = testEdge(x, se); !ok; e, ok = testEdge(x, e) { + if limit > 0 { + + count++ + if e == se || count > limit { + log.Println("searching all edges for", x) + e = nil + + WalkAllEdges(se, func(ee *quadedge.Edge) error { + if _, ok = testEdge(x, ee); ok { + e = ee + return ErrCancel + } + return nil + }) + log.Printf( + "Got back to starting edge after %v iterations, only have %v points ", + count, + limit, + ) + return e, false + } + } + } + return e, true + +} + +func (sd *Subdivision) VertexIndex() VertexIndex { + return NewVertexIndex(sd.startingEdge) +} + +// NewVertexIndex will return a new vertex index given a starting edge. +func NewVertexIndex(startingEdge *quadedge.Edge) VertexIndex { + vx := make(VertexIndex) + WalkAllEdges(startingEdge, func(e *quadedge.Edge) error { + vx.Add(e) + return nil + }) + return vx +} +func (vx VertexIndex) Add(e *quadedge.Edge) { + var ( + ok bool + orig = *e.Orig() + dest = *e.Dest() + ) + if _, ok = vx[orig]; !ok { + vx[orig] = e + } + if _, ok = vx[dest]; !ok { + vx[dest] = e.Sym() + } +} + +func (vx VertexIndex) Remove(e *quadedge.Edge) { + // Don't think I need e.Rot() and e.Rot().Sym() in this list + // as they are face of the quadedge. + toRemove := [4]*quadedge.Edge{e, e.Sym(), e.Rot(), e.Rot().Sym()} + shouldRemove := func(e *quadedge.Edge) bool { + for i := range toRemove { + if toRemove[i] == e { + return true + } + } + return false + } + + for _, v := range [...]geom.Point{*e.Orig(), *e.Dest()} { + ve := vx[v] + if ve == nil || !shouldRemove(ve) { + continue + } + delete(vx, v) + // See if the ccw edge is the same as us, if it's isn't + // then use that as the edge for our lookup. + if ve != ve.ONext() { + vx[v] = ve.ONext() + } + } +} + +// locate returns an edge e, s.t. either x is on e, or e is an edge of +// a triangle containing x. The search starts from startingEdge +// and proceeds in the general direction of x. Based on the +// pseudocode in Guibas and Stolfi (1985) p.121 +func (sd *Subdivision) locate(x geom.Point) (*quadedge.Edge, bool) { + return locate(sd.startingEdge, x, sd.ptcount*2) +} + +func (sd *Subdivision) FindEdge(vertexIndex VertexIndex, start, end geom.Point) *quadedge.Edge { + if vertexIndex == nil { + vertexIndex = sd.VertexIndex() + } + return vertexIndex[start].FindONextDest(end) +} + +// InsertSite will insert a new point into a subdivision representing a Delaunay +// triangulation, and fixes the affected edges so that the result +// is still a Delaunay triangulation. This is based on the pseudocode +// from Guibas and Stolfi (1985) p.120, with slight modificatons and a bug fix. +func (sd *Subdivision) InsertSite(x geom.Point) bool { + sd.ptcount++ + e, got := sd.locate(x) + if !got { + // Did not find the edge using normal walk + return false + } + + if ptEqual(x, e.Orig()) || ptEqual(x, e.Dest()) { + // Point is already in subdivision + return true + } + + if quadedge.OnEdge(x, e) { + e = e.OPrev() + // Check to see if this point is still alreayd there. + if ptEqual(x, e.Orig()) || ptEqual(x, e.Dest()) { + // Point is already in subdivision + return true + } + quadedge.Delete(e.ONext()) + } + + // Connect the new point to the vertices of the containing + // triangle (or quadrilaterial, if the new point fell on an + // existing edge.) + base := quadedge.NewWithEndPoints(e.Orig(), &x) + quadedge.Splice(base, e) + sd.startingEdge = base + + base = quadedge.Connect(e, base.Sym()) + e = base.OPrev() + for e.LNext() != sd.startingEdge { + base = quadedge.Connect(e, base.Sym()) + e = base.OPrev() + } + + // Examine suspect edges to ensure that the Delaunay condition + // is satisfied. + for { + t := e.OPrev() + switch { + case quadedge.RightOf(*t.Dest(), e) && + x.WithinCircle(*e.Orig(), *t.Dest(), *e.Dest()): + quadedge.Swap(e) + e = e.OPrev() + + case e.ONext() == sd.startingEdge: // no more suspect edges + return true + + default: // pop a suspect edge + e = e.ONext().LPrev() + + } + } +} + +func appendNonrepeat(pts []geom.Point, v geom.Point) []geom.Point { + if len(pts) == 0 || cmp.GeomPointEqual(v, pts[len(pts)-1]) { + return append(pts, v) + } + return pts +} + +func selectCorrectEdges(from, to *quadedge.Edge) (cfrom, cto *quadedge.Edge) { + orig := *from.Orig() + dest := *to.Orig() + cfrom, cto = from, to + if debug { + log.Printf("curr RightOf(dest)? %v", quadedge.RightOf(dest, cfrom)) + log.Printf("destedge.Sym RightOf(orig)? %v", quadedge.RightOf(orig, cto)) + } + if !quadedge.RightOf(dest, cfrom) { + cfrom = cfrom.OPrev() + } + if !quadedge.RightOf(orig, cto) { + cto = cto.OPrev() + } + return cfrom, cto +} + +func resolveEdge(gse *quadedge.Edge, dest geom.Point) *quadedge.Edge { + + // There aren't any other edges on this vertex. + if gse == gse.ONext() { + return gse + } + + var lre *quadedge.Edge + se := gse + curr := se + for { + if quadedge.RightOf(dest, curr) { + if lre == nil { + // reset our starting edge. + se = curr + } + lre = curr + curr = curr.ONext() + if curr == se { + break + } + continue + } + // not right of + if lre == nil { + // We have not spotted an element right of us + curr = curr.ONext() + if curr == se { + break + } + continue + } + return lre + } + if lre != nil { + return lre + } + return se +} + +func findImmediateRightOfEdges(se *quadedge.Edge, dest geom.Point) (*quadedge.Edge, *quadedge.Edge) { + + // We want the edge immediately left of the dest. + + orig := *se.Orig() + if debug { + log.Printf("Looking for orig fo %v to dest of %v", orig, dest) + } + curr := se + for { + if debug { + log.Printf("top level looking at: %p (%v -> %v)", curr, *curr.Orig(), *curr.Dest()) + } + if cmp.GeomPointEqual(*curr.Dest(), dest) { + // edge already in the system. + if debug { + log.Printf("Edge already in system: %p", curr) + } + return curr, nil + + } + + // Need to see if the dest Next has the dest. + for destedge := curr.Sym().ONext(); destedge != curr.Sym(); destedge = destedge.ONext() { + if debug { + log.Printf("\t looking at: %p (%v -> %v)", destedge, *destedge.Orig(), *destedge.Dest()) + } + if cmp.GeomPointEqual(*destedge.Dest(), dest) { + // found what we are looking for. + if debug { + log.Printf("Found the dest! %v -- %p %p", dest, curr, destedge.Sym()) + } + + return selectCorrectEdges(curr, destedge.Sym()) + } + //log.Println("Next:", *destedge.Orig(), *curr.Sym().Orig(), *curr.Sym().Dest()) + + } + curr = curr.ONext() + if curr == se { + break + } + } + return nil, nil +} + +// WalkAllEdges will call the provided function for each edge in the subdivision. The walk will +// be terminated if the function returns an error or ErrCancel. ErrCancel will not result in +// an error be returned by main function, otherwise the error will be passed on. +func (sd *Subdivision) WalkAllEdges(fn func(e *quadedge.Edge) error) error { + + if sd == nil || sd.startingEdge == nil { + return nil + } + return WalkAllEdges(sd.startingEdge, fn) +} + +func (sd *Subdivision) Triangles(includeFrame bool) (triangles [][3]geom.Point, err error) { + + err = WalkAllTriangleEdges( + sd.startingEdge, + func(edges []*quadedge.Edge) error { + if len(edges) != 3 { + // skip this edge + if debug { + for i, e := range edges { + log.Printf("got the following edge%v : %v", i, wkt.MustEncode(e.AsLine())) + } + } + return nil + // return errors.New("Something Strange!") + } + + pts := [3]geom.Point{*edges[0].Orig(), *edges[1].Orig(), *edges[2].Orig()} + + // Do we want to skip because the points are part of the frame and + // we have been requested not to include triangles attached to the frame. + if IsFramePoint(sd.frame, pts[:]...) && !includeFrame { + return nil + } + + triangles = append(triangles, pts) + return nil + }, + ) + return triangles, err +} + +func WalkAllEdges(se *quadedge.Edge, fn func(e *quadedge.Edge) error) error { + if se == nil { + return nil + } + var ( + toProcess quadedge.Stack + visited = make(map[*quadedge.Edge]bool) + ) + toProcess.Push(se) + for toProcess.Length() > 0 { + e := toProcess.Pop() + if visited[e] { + continue + } + + if err := fn(e); err != nil { + if err == ErrCancel { + return nil + } + return err + } + + sym := e.Sym() + + toProcess.Push(e.ONext()) + toProcess.Push(sym.ONext()) + + visited[e] = true + visited[sym] = true + } + return nil +} + +// IsFrameEdge indicates if the edge is part of the given frame. +func IsFrameEdge(frame [3]geom.Point, es ...*quadedge.Edge) bool { + for _, e := range es { + o, d := *e.Orig(), *e.Dest() + of := cmp.GeomPointEqual(o, frame[0]) || cmp.GeomPointEqual(o, frame[1]) || cmp.GeomPointEqual(o, frame[2]) + df := cmp.GeomPointEqual(d, frame[0]) || cmp.GeomPointEqual(d, frame[1]) || cmp.GeomPointEqual(d, frame[2]) + if of || df { + return true + } + } + return false +} + +// IsFrameEdge indicates if the edge is part of the given frame where both vertexs are part of the frame. +func IsHardFrameEdge(frame [3]geom.Point, e *quadedge.Edge) bool { + o, d := *e.Orig(), *e.Dest() + of := cmp.GeomPointEqual(o, frame[0]) || cmp.GeomPointEqual(o, frame[1]) || cmp.GeomPointEqual(o, frame[2]) + df := cmp.GeomPointEqual(d, frame[0]) || cmp.GeomPointEqual(d, frame[1]) || cmp.GeomPointEqual(d, frame[2]) + return of && df +} + +func IsFramePoint(frame [3]geom.Point, pts ...geom.Point) bool { + for _, pt := range pts { + if cmp.GeomPointEqual(pt, frame[0]) || + cmp.GeomPointEqual(pt, frame[1]) || + cmp.GeomPointEqual(pt, frame[2]) { + return true + } + } + return false + +} + +func constructTriangleEdges( + e *quadedge.Edge, + toProcess *quadedge.Stack, + visited map[*quadedge.Edge]bool, + fn func(edges []*quadedge.Edge) error, +) error { + + if visited[e] { + return nil + } + + curr := e + var triedges []*quadedge.Edge + for backToStart := false; !backToStart; backToStart = curr == e { + + // Collect edge + triedges = append(triedges, curr) + + sym := curr.Sym() + if !visited[sym] { + toProcess.Push(sym) + } + + // mark edge as visted + visited[curr] = true + + // Move the ccw edge + curr = curr.LNext() + } + return fn(triedges) +} + +// WalkAllTriangleEdges will walk the subdivision starting from the starting edge (se) and return +// sets of edges that make make a triangle for each face. +func WalkAllTriangleEdges(se *quadedge.Edge, fn func(edges []*quadedge.Edge) error) error { + if se == nil { + return nil + } + var ( + toProcess quadedge.Stack + visited = make(map[*quadedge.Edge]bool) + ) + toProcess.Push(se) + for toProcess.Length() > 0 { + e := toProcess.Pop() + if visited[e] { + continue + } + err := constructTriangleEdges(e, &toProcess, visited, fn) + if err != nil { + if err == ErrCancel { + return nil + } + return err + } + } + return nil +} + +func FindIntersectingTriangle(startingEdge *quadedge.Edge, end geom.Point) (*Triangle, error) { + var ( + left = startingEdge + right *quadedge.Edge + ) + + for { + right = left.OPrev() + + lc := Classify(end, *left.Orig(), *left.Dest()) + rc := Classify(end, *right.Orig(), *right.Dest()) + + if (lc == RIGHT && rc == LEFT) || + lc == BETWEEN || + lc == DESTINATION || + lc == BEYOND { + return &Triangle{left}, nil + } + + if lc != RIGHT && lc != LEFT && + rc != RIGHT && rc != LEFT { + return &Triangle{left}, ErrCoincidentEdges + } + left = right + if left == startingEdge { + // We have walked all around the vertex. + break + } + + } + return nil, nil +} + +func (sd *Subdivision) IsValid(ctx context.Context) bool { + count := 0 + if debug { + + ctx = debugger.AugmentContext(ctx, "") + defer debugger.Close(ctx) + + } + _ = sd.WalkAllEdges(func(e *quadedge.Edge) error { + l := e.AsLine() + l2 := l.LenghtSquared() + if l2 == 0 { + count++ + if debug { + debugger.Record(ctx, + l, + "ZeroLenght:Edge", + "Line (%p) %v -- %v ", e, l2, l, + ) + } + } + return nil + }) + log.Println("Count", count) + return count == 0 +} diff --git a/planar/triangulate/gdey/quadedge/subdivision/triangle.go b/planar/triangulate/gdey/quadedge/subdivision/triangle.go new file mode 100644 index 00000000..452b8e52 --- /dev/null +++ b/planar/triangulate/gdey/quadedge/subdivision/triangle.go @@ -0,0 +1,112 @@ +package subdivision + +import ( + "errors" + + "github.com/go-spatial/geom/cmp" + + "github.com/go-spatial/geom" + "github.com/go-spatial/geom/planar/triangulate/gdey/quadedge/quadedge" +) + +type Triangle struct { + *quadedge.Edge +} + +func NewTriangle(e *quadedge.Edge) Triangle { return Triangle{e} } +func (t Triangle) StartingEdge() *quadedge.Edge { return t.Edge } +func (t Triangle) IntersectsPoint(pt geom.Point) bool { + e := t.StartingEdge() + if e == nil { + return false + } + + for i := 0; i < 3; i++ { + switch Classify(pt, *e.Orig(), *e.Dest()) { + + // return true if v is on the edge + case ORIGIN, DESTINATION, BETWEEN: + return true + // return false if v is well outside the triangle + case LEFT, BEHIND, BEYOND: + return false + } + e = e.RNext() + } + // if v is to the right of all edges, it is inside the triangle. + return true +} + +// OppositeVertex returns the vertex opposite to this triangle. +// + +// /|\ +// / | \ +// / | \ +// v1 + a | b + v2 +// \ | / +// \ | / +// \|/ +// + +// +// If this method is called as a.opposedVertex(b), the result will be vertex v2. +func (t Triangle) OppositeVertex(other Triangle) *geom.Point { + ae := t.SharedEdge(other) + if ae == nil { + return nil + } + return ae.Sym().ONext().Dest() +} + +// OppositeTriangle returns the triangle opposite to the vertex v +// + +// /|\ +// / | \ +// / | \ +// v1 + a | b + +// \ | / +// \ | / +// \|/ +// + +// +// If this method is called on triangle a with v1 as the vertex, the result will be triangle b. +func (t Triangle) OppositeTriangle(p geom.Point) (*Triangle, error) { + start := t.StartingEdge() + edge := start + for !cmp.GeomPointEqual(*edge.Orig(), p) { + edge = edge.RNext() + if edge == start { + return nil, errors.New("invalid vertex") + } + } + return &Triangle{edge.RNext().RNext().Sym()}, nil +} + +// SharedEdge returns the edge that is shared by both a and b. The edge is +// returned with triangle a on the left. +// +// + l +// /|\ +// / | \ +// / | \ +// + a | b + +// \ | / +// \ | / +// \|/ +// + r +// +// If this method is called as a.sharedEdge(b), the result will be edge lr. +// +func (t Triangle) SharedEdge(other Triangle) *quadedge.Edge { + ae := t.StartingEdge() + be := other.StartingEdge() + + for ai := 0; ai < 3; ai, ae = ai+1, ae.RNext() { + for bi := 0; bi < 3; bi, be = bi+1, be.RNext() { + if cmp.GeomPointEqual(*ae.Orig(), *be.Dest()) && + cmp.GeomPointEqual(*be.Orig(), *ae.Dest()) { + return ae + } + } + } + return nil +} diff --git a/planar/triangulate/gdey/quadedge/testdata/error1.points b/planar/triangulate/gdey/quadedge/testdata/error1.points new file mode 100644 index 00000000..f67fdd96 --- /dev/null +++ b/planar/triangulate/gdey/quadedge/testdata/error1.points @@ -0,0 +1 @@ + [[325 211] [2629 2219] [3965 3395] [3881 637] [2022 731] [2198 1029] [2595 1640] [2391 1339] [3212 2836] [2472 1401] [798 627] [1153 835] [56 36] [1016 854] [2549 1773] [4108 2667] [4103 281] [2949 2693] [3780 2756] [2271 1086] [3008 2690] [1447 649] [2091 801] [3044 2609] [325 241] [4095 3467] [886 1016] [739 1081] [684 577] [1405 576] [805 53] [864 183] [311 193] [2593 1661] [4155 3095] [3093 2820] [4033 3221] [2508 1416] [3880 720] [863 1052] [3394 3131] [2328 1198] [3100 2726] [4032 321] [2913 2637] [3944 277] [2604 1589] [3413 3198] [2198 1036] [1616 644] [2279 1180] [1350 701] [2604 1617] [3746.667 3072.667] [980 971] [1518 594] [686 221] [823 596] [907 1024] [830 770] [741 569] [354 132] [549 86] [2596 1507] [254 27] [3938 280] [2521 1607] [675 614] [1442 572] [1210 770] [672 616] [3826 3221] [4121 2694] [4156 102] [4073 2699] [797 -57] [3995 2675] [2612 1644] [3920 2678] [2562 1712] [3548 3263] [1956 749] [3749 2802] [2536 2064] [3277 2932] [2452 1425] [3145 2775] [4104 249] [3065 2672] [3904 2683] [2979 2797] [3944 494] [2702 2412] [4151 3487] [2591 1659] [3808 3194] [2359 1249] [2285 1188] [614 131] [3212 2887] [2232 1063] [2550 1769] [2115 908] [2861 2522] [996 750] [1966 764] [2343 1246] [1516 566] [1424 588] [2220 1010] [1235 639] [2451 1407] [1027 882] [3823 -37] [1941 795] [954 938] [2327 1177] [850 31] [1367 545] [715 591] [803 650] [1023 884] [615 177] [974 755] [821 598] [817 780] [992 893] [777 -58] [665 557] [698 639] [3259 -63] [2594 2210] [648 475] [251 -58] [390 83] [280 233] [277 20] [67 26] [771 1069] [264 -8] [2614 1559] [2323 1198] [770 -60] [4003 309] [1964 811] [2209 1047] [4131 259] [3298 -35] [4112 2670] [1176 717] [4093 276] [770 369] [4061 343] [3851 3229] [4012 303] [722 599] [3979 419] [347 145] [3940 493] [755 -64] [3903 770] [2618 2252] [3869 2701] [2600 2217] [3815 3204] [2646 2285] [3760 2780] [2277 1148] [3574 3283] [2582 1724] [3300 -38] [2553 1716] [3243 2902] [3939 503] [3181 2813] [4139 2710] [3120 2851] [4089 279] [3088 2922] [4078 313] [3042 2826] [3717 3346] [2996 2764] [3978 295] [2967 2574] [3313 -42] [2812 2461] [3910 557] [2653 2216] [2545 1486] [2522 1431] [3838 -24] [1281 687] [2478 1395] [2419 1393] [3757 3089] [305 -63] [4116 274] [2375 1374] [3296 -44] [2337 1164] [767 -62] [2312 1244] [3105 2737] [2622 1584] [2278 1151] [1368 574] [2972 2793] [2263 1084] [2581 1507] [2215 1008] [233 -11] [2148 933] [2537 1647] [2065 806] [1988 784] [2387 1388] [1846 715] [1552 600] [2315 1252] [1475 555] [3266 2918] [1439 582] [2264 1172] [1383 680] [3984 890] [1299 710] [2180 1018] [1191 702] [3823 -59] [593 151] [1065 918] [2008 785] [3267 -62] [1006 966] [2518 1429] [970 996] [1627 646] [920 763] [1458 558] [863 1014] [1444 595] [832 790] [2208 1049] [813 1075] [1304 701] [748 1083] [790 1071] [1122 853] [694 509] [1364 680] [667 9] [973 991] [374 112] [388 76] [261 -53] [870 -18] [842 -2] [26 19] [825 776] [785 -61] [809 202] [1375 565] [790 1053] [690 575] [763 1082] [715 603] [575 69] [691 224] [673 604] [319 187] [597 151] [2215 1067] [3257 -61] [431 32] [21 137] [344 231] [4047 73] [2007 805] [311 -54] [268 -2] [997 890] [229 182] [10 78] [1424 588] [448 42] [250 -58] [4046 383] [2586 1641] [2364 1212] [2403 1274] [3938 277] [2267 1079] [825 695] [4138 2711] [3752 2824] [4125 2696] [2104 841] [4118 2661] [3188 2819] [4107 2661] [2461 1413] [4097 279] [2933 2682] [4085 2711] [3982 3231] [4064 3178] [1596 627] [4043 384] [1319 731] [4027 3223] [1515 574] [4005 296] [3637 3313] [3984 420] [980 1001] [3971 431] [2390 1343] [3953 469] [821 742] [3930 256] [853 1041] [3913 3251] [717 1092] [3896 3255] [3958 2677] [3877 735] [2102 834] [3850 3357] [562 116] [3822 -38] [427 73] [3792 2750] [274 -15] [3769 2759] [7 63] [3754 2813] [934 954] [3739 3031] [2336 1175] [3420 3201] [2622 2223] [3328 2982] [2616 1589] [3293 -43] [2506 1400] [3265 2912] [2605 2227] [3223 2891] [4097 62] [3198 2981] [4157 3486] [3162 2799] [2598 1661] [3132 2961] [4121 108] [3108 2943] [4074 3136] [3093 2820] [4092 2706] [3082 2801] [3991 317] [3054 2751] [4049 327] [3024 2720] [602 131] [2999 2751] [4000 298] [2989 2730] [3801 2747] [2973 2653] [3966 3397] [2957 2781] [2588 2198] [2868 2543] [3926 769] [2762 2433] [3053 2638] [2663 2221] [3899 3346] [2643 2282] [4048 64] [2573 1590] [3874 2695] [2164 956] [2557 1689] [2551 1494] [3822 3367] [1375 681] [2548 1444] [2542 1664] [3777 3143] [1438 582] [2529 1970] [2517 1430] [3572 3281] [2491 1426] [2471 1400] [975 1003] [3330 2985] [2446 1399] [2399 1395] [1324 549] [3263 2916] [2384 1292] [3857 2716] [2369 1219] [3163 2960] [821 197] [2343 1232] [2333 1247] [3083 2699] [2246 1072] [2322 1233] [2293 1221] [2998 2813] [701 361] [2281 1157] [2615 1550] [2915 2642] [2273 1138] [2267 1149] [2591 1591] [2651 2326] [2242 1102] [334 232] [2228 1058] [2558 2130] [2207 1022] [3754 3098] [650 34] [2186 1037] [2544 1674] [2128 908] [2095 794] [2517 1597] [2040 758] [334 -57] [1999 757] [2411 1255] [1976 772] [4142 3099] [1873 731] [2371 1329] [1762 665] [1601 603] [2329 1174] [1533 591] [1488 568] [4063 3455] [2293 1203] [1456 613] [2553 1466] [3985 392] [2272 1051] [1434 664] [1395 662] [3908 772] [2242 1096] [1366 550] [1315 726] [3271 2914] [2203 988] [1278 716] [1213 686] [3708 3343] [2129 873] [1174 744] [1103 869] [3106 2739] [2036 773] [1045 932] [2553 1467] [3013 2823] [1019 874] [1980 765] [988 990] [3306 -50] [2211 1011] [976 1005] [1848 663] [964 801] [2382 1364] [928 1036] [1549 599] [898 12] [2340 1233] [872 1049] [1467 551] [857 1042] [2272 1125] [842 327] [1425 597] [827 1015] [1197 784] [819 779] [1338 536] [807 643] [2031 734] [796 649] [1279 717] [761 1109] [782 1063] [1178 797] [735 599] [1575 628] [704 359] [1046 762] [690 219] [692 416] [680 577] [983 772] [647 490] [1279 681] [542 103] [951 798] [345 138] [304 -44] [882 1037] [69 14] [251 26] [850 773] [829 771] [835 -11] [2005 758] [3044 2622] [827 -42] [812 783] [823 197] [813 198] [768 219] [802 647] [711 352] [795 -47] [706 648] [787 55] [768 225] [3998 390] [683 587] [753 597] [362 116] [726 1087] [622 140] [707 1092] [695 510] [3561 3272] [389 80] [688 393] [878 1017] [678 9] [332 96] [666 607] [2406 1398] [2650 2219] [621 134] [300 214] [578 69] [469 46] [192 174] [408 104] [1930 786] [351 140] [332 180] [696 1111] [321 222] [3793 2751] [299 208] [1244 650] [272 4] [262 6] [2122 865] [4136 268] [238 -45] [192 156] [838 -7] [4076 2698] [36 12] [1536 600] [695 634] [4032 393] [856 236] [271 -12] [620 206] [3971 446] [2602 1655] [2547 2106] [1746 664] [3886 2687] [4159 3359] [2474 1381] [4146 3363] [3785 2745] [4135 2701] [2369 1274] [4129 273] [3384 3152] [4123 2668] [1337 701] [4120 2659] [3233 2890] [4115 2680] [2289 1052] [4109 2660] [3152 2945] [4105 2694] [2231 1088] [4100 269] [2997 2680] [4094 2699] [4068 304] [4090 2708] [2644 2283] [4079 2700] [3782 2759] [4068 2703] [2143 926] [4063 3183] [3897 817] [4049 79] [2547 1488] [4038 2691] [2027 739] [4031 324] [245 -7] [4014 3241] [3802 -63] [4008 2673] [1850 698] [3999 312] [2365 1275] [3992 920] [1508 568] [3982 883] [3344 2999] [3976 449] [1384 685] [3968 445] [3752 2927] [3959 457] [2041 764] [3945 482] [1283 581] [3936 268] [1087 885] [3923 2678] [1346 704] [3918 3353] [958 934] [3907 3253] [847 327] [3899 813] [848 775] [3889 764] [4084 3462] [3878 725] [1016 774] [3876 668] [791 633] [3866 2676] [2383 1313] [3839 3229] [3802 3174] [3826 -36] [749 363] [3819 -44] [788 -58] [3802 3373] [693 376] [3786 2749] [665 614] [3774 2759] [633 139] [3765 2773] [626 135] [3756 2848] [400 113] [3753 2807] [1395 576] [3743 2796] [317 225] [3691 3332] [341 -45] [3444 3212] [228 -17] [3401 3139] [5 159] [3379 3042] [220 192] [3303 2957] [313 248] [3296 -1] [1684 653] [3288 2944] [2549 1719] [3274 2930] [616 200] [3260 2911] [1769 679] [3236 2883] [642 216] [3216 2886] [4138 3481] [3207 2834] [2625 2236] [3190 2821] [2621 1615] [3170 2963] [4149 274] [3157 2773] [2529 1620] [3140 2769] [4132 263] [3125 2878] [4124 2718] [3118 2846] [4112 2681] [3104 2834] [3291 2948] [3097 2728] [4099 273] [3090 2896] [4036 3232] [3086 2717] [4088 72] [3076 2857] [3912 3352] [3059 2774] [4064 371] [3045 2600] [3942 272] [3038 2830] [4040 2695] [3019 2700] [2616 2246] [3000 2778] [4008 3237] [2997 2781] [3870 3342] [2992 2782] [3991 418] [2984 2722] [2615 1546] [2975 2712] [3972 856] [2971 2568] [3536 3264] [2964 2606] [3957 466] [2954 2775] [795 1066] [2882 2578] [3934 2676] [2858 2520] [3274 -38] [2781 2446] [3918 2674] [2743 2427] [2610 1610] [2689 2379] [3905 571] [2658 2217] [2850 2494] [2648 2293] [3885 2690] [2634 2254] [2604 1529] [2369 1221] [3878 657] [2599 1647] [2596 2220] [2544 1829] [3855 -46] [2590 2202] [2586 1515] [2227 1070] [3829 -29] [2578 2190] [2569 1589] [61 83] [3813 2736] [2558 2134] [2555 2118] [2099 839] [3796 2737] [2552 1477] [2550 1706] [668 8] [3768 3361] [2549 1446] [2547 1469] [1827 678] [3744 2969] [2544 1663] [2540 1476] [2531 1976] [3828 3224] [2527 1923] [1369 682] [2518 1465] [3392 3087] [2515 1587] [757 210] [2503 1402] [3300 2955] [2482 1411] [3989 924] [1132 842] [3278 -64] [2475 1396] [2461 1411] [2448 1403] [3229 2889] [2432 1400] [930 954] [2410 1292] [3190 2968] [2394 1327] [2388 1337] [2379 1294] [3122 2857] [840 1011] [3251 -64] [2371 1330] [3094 2723] [2362 1207] [2330 1224] [2349 1207] [3057 2761] [2341 1232] [4071 71] [799 -55] [3027 2595] [2335 1171] [2331 1197] [2325 1234] [2987 2729] [2317 1257] [738 571] [2298 1145] [2964 2582] [2288 1058] [1865 674] [2284 1052] [2882 2564] [2618 1556] [3980 318] [2279 1195] [2702 2408] [681 576] [2276 1088] [2610 1626] [2631 2241] [2272 1095] [2249 1068] [2269 1095] [2598 2214] [2266 1077] [452 55] [2252 1061] [2587 1587] [2237 1077] [850 181] [2230 1082] [2565 1589] [2221 1009] [269 215] [2209 1061] [2552 1704] [2204 1016] [2178 1041] [2196 1015] [2549 1736] [2175 1027] [49 67] [2135 880] [2541 1583] [2119 890] [376 -50] [2106 827] [2533 1476] [2090 826] [2048 779] [2504 1401] [2030 740] [231 -64] [2007 799] [2425 1313] [1995 749] [1980 785] [4120 103] [2402 1283] [1969 812] [1952 766] [2385 1291] [1852 683] [1838 666] [2361 1215] [4082 69] [1755 669] [1607 641] [2335 1201] [4084 913] [1573 627] [1543 595] [2320 1217] [4008 3231] [1519 575] [1500 573] [2302 1215] [4085 274] [1480 569] [1462 552] [2284 1212] [3941 500] [1453 567] [806 -48] [2554 1471] [3890 765] [2274 1080] [1443 564] [1437 643] [3869 2689] [2270 1096] [1430 663] [1400 664] [2256 1137] [1390 652] [1373 689] [2232 1036] [3757 2839] [1360 691] [1851 667] [1337 542] [3397 3176] [2213 1065] [1311 564] [1292 735] [3399 3131] [2192 1019] [1245 659] [2608 1622] [1221 691] [2167 954] [1206 693] [1181 716] [3089 2880] [2114 860] [1170 813] [2388 1366] [1133 848] [2054 792] [1087 878] [2584 1517] [2824 2470] [1051 745] [2026 724] [1038 822] [2288 1148] [1025 794] [1993 787] [1014 953] [2537 1890] [994 985] [1972 767] [983 986] [978 974] [1889 736] [973 1001] [2465 1412] [967 794] [1760 668] [960 774] [1927 783] [3947 438] [937 1017] [1598 624] [924 1033] [2342 1239] [905 764] [1531 586] [892 1022] [2529 1915] [877 1024] [1488 570] [868 762] [2283 1145] [859 241] [1452 606] [853 -7] [1371 542] [847 28] [1437 570] [836 328] [2262 1145] [829 782] [1382 677] [825 749] [946 787] [821 56] [1353 688] [816 780] [2135 878] [811 201] [1317 554] [805 651] [986 746] [799 -63] [1296 568] [792 632] [2004 799] [788 1063] [1236 637] [765 1111] [778 1071] [1200 750] [757 220] [1755 673] [739 572] [1165 828] [725 1088] [810 1074] [709 611] [1070 914] [698 1134] [1462 584] [692 558] [1038 942] [688 573] [684 6] [995 962] [675 555] [1311 724] [656 559] [979 742] [633 519] [584 73] [597 58] [3868 3236] [969 760] [436 23] [1101 877] [355 158] [925 765] [333 99] [2153 939] [313 -37] [896 1020] [281 24] [927 764] [232 -14] [285 6] [40 30] [2557 1485] [855 -12] [847 217] [67 20] [838 -7] [825 194] [832 773] [1856 673] [828 -61] [817 1067] [3248 2902] [826 57] [824 198] [792 663] [820 597] [1394 653] [814 671] [776 46] [811 782] [804 1081] [763 1082] [4090 259] [800 331] [655 456] [796 660] [732 12] [792 1050] [789 1055] [697 428] [3978 414] [783 1062] [787 637] [775 -61] [688 1116] [764 1084] [758 47] [674 602] [3799 3170] [747 363] [1030 791] [735 604] [641 490] [719 1090] [710 654] [614 142] [3335 2991] [703 401] [696 583] [425 30] [693 578] [2611 2230] [690 515] [361 -50] [3156 2983] [686 1127] [823 194] [682 524] [4148 2641] [344 219] [676 423] [2529 1428] [671 534] [322 238] [662 561] [632 522] [307 -36] [614 173] [2279 1090] [595 139] [271 224] [565 89] [811 -19] [543 96] [3924 3362] [233 -56] [454 36] [1977 766] [428 101] [38 11] [392 88] [362 108] [348 96] [1554 615] [342 92] [328 -59] [12 82] [324 91] [316 -58] [1305 593] [3293 -17] [304 220] [4154 276] [285 13] [2409 1267] [275 -24] [4117 2675] [271 25] [1053 740] [265 -2] [4088 2686] [260 -61] [240 -23] [232 -59] [4062 356] [976 980] [207 185] [67 108] [4035 2700] [1582 628] [66 32] [28 25] [4025 316] [810 594] [3970 290] [733 576] [3984 927] [1035 765] [676 545] [873 -17] [3953 277] [380 -36] [637 213] [18 145] [3932 272] [732 -8] [2621 1611] [3292 -64] [3851 3355] [4157 3371] [3743 2993] [4150 92] [3809 3198] [4139 2644] [2608 1642] [4136 3100] [3761 3088] [4134 83] [2595 1511] [4130 257] [3558 3268] [4127 78] [2555 1685] [4123 2719] [3314 2966] [4122 2666] [2538 2096] [4121 2662] [3284 2940] [4119 100] [2511 1455] [4117 72] [3222 2889] [4113 2680] [2414 1300] [4110 2669] [3167 2989] [4108 2656] [1955 745] [4106 249] [3120 2751] [4103 2690] [2371 1285] [4102 2650] [3061 2851] [4099 272] [4101 3105] [4096 280] [2961 2698] [4093 2698] [3990 925] [4092 2691] [2677 2358] [4087 2685] [4006 295] [4083 312] [2340 1205] [4077 907] [3815 2739] [4070 314] [1002 782] [4067 308] [3952 775] [4064 361] [2317 1249] [4062 346] [2979 2572] [4056 2708] [2281 1065] [4045 2704] [3877 672] [4039 2692] [1175 749] [4037 2698] [3098 2730] [4032 307] [2256 1126] [4029 3224] [3824 3366] [4022 315] [2227 998] [4013 3242] [973 914] [4010 2675] [2181 1010] [4007 419] [3747 3074] [4001 2683] [2612 1605] [3997 414] [2131 872] [3995 307] [723 595] [3989 926] [3481 3247] [3983 884] [2041 766] [3981 879] [2526 1928] [3977 443] [1981 802] [3976 295] [3219 2852] [3969 3396] [342 176] [3966 3396] [1943 797] [3962 442] [2413 1253] [3954 3245] [1833 669] [3949 3381] [1532 584] [3944 469] [2324 1239] [3938 495] [1460 554] [3932 3246] [1428 591] [3927 3246] [2119 875] [3921 771] [1350 709] [3919 2680] [1303 568] [3915 531] [1785 686] [3911 555] [1273 599] [3905 3348] [4005 291] [3902 578] [1156 836] [3898 805] [1433 660] [3891 3255] [1020 811] [3881 2676] [3679 3329] [3878 3347] [962 771] [3878 659] [1301 630] [3877 686] [921 1040] [3873 3346] [3882 611] [3867 3235] [1903 749] [3862 2705] [858 175] [3849 3358] [1062 923] [3833 3363] [3769 2878] [3528 3262] [839 28] [3485 3248] [2511 1457] [3820 -43] [800 1075] [3817 3206] [3738 3042] [3811 -55] [963 753] [3799 2739] [779 219] [3787 2747] [1700 652] [3784 2746] [764 216] [3776 2756] [829 1014] [3770 2758] [730 581] [3767 2870] [2216 1006] [3762 2855] [707 609] [3759 3090] [766 1112] [3754 2829] [685 579] [3754 2800] [653 458] [3751 2825] [690 409] [3743 2982] [602 53] [3741 3358] [1822 680] [3726 3347] [461 55] [3642 3316] [600 129] [3490 3250] [354 153] [3438 3211] [334 -55] [3405 3185] [327 221] [3398 3141] [3916 3357] [3383 3151] [391 86] [3348 3011] [295 237] [3312 -44] [958 1012] [3302 6] [260 209] [3297 2950] [322 226] [3295 2945] [70 95] [3290 2947] [632 43] [3282 2939] [27 118] [3276 2928] [245 183] [3269 2914] [426 12] [3262 2915] [46 40] [3256 2906] [39 14] [3238 2881] [1557 612] [3230 2887] [648 46] [3220 2852] [749 214] [3213 2887] [2449 1412] [3211 2877] [1021 807] [3202 3016] [1999 799] [3193 2974] [3256 -64] [3184 2961] [1382 569] [3174 2952] [4154 99] [3166 2964] [2606 1613] [3158 2777] [4146 3357] [3152 2936] [3742 3066] [3142 2908] [4134 2703] [3135 2962] [4135 126] [3130 2765] [4127 2712] [3123 2862] [2627 2238] [3119 2749] [4116 2702] [3113 2948] [4096 3108] [3106 2836] [4108 2684] [3101 2825] [3974 928] [3097 2932] [4103 255] [3095 2816] [4052 66] [3090 2921] [4095 63] [3089 2894] [3938 490] [3088 2879] [4090 281] [3085 2706] [4006 409] [3079 2792] [4082 2647] [3068 2678] [2623 2272] [3060 2667] [4073 310] [3058 2650] [3963 2679] [3046 2742] [4054 335] [3043 2620] [3822 2736] [3041 2827] [4045 312] [3036 2596] [3938 277] [3023 2711] [4037 3232] [3014 2826] [2552 1480] [3004 2579] [4019 296] [3000 2742] [3887 613] [2998 2760] [4005 307] [2996 2775] [2854 2503] [2994 2767] [3995 2676] [2991 2675] [3846 2724] [2987 2578] [3983 394] [2982 2720] [2621 2227] [2977 2717] [3973 3234] [2974 2639] [3734 3354] [2971 2630] [3969 852] [2969 2567] [2620 2259] [2965 2610] [3962 819] [2960 2783] [3395 3089] [2956 2558] [3951 276] [2925 2667] [856 174] [2902 2615] [3939 498] [2880 2572] [3297 2953] [2860 2522] [3930 260] [2836 2478] [2617 2234] [2805 2463] [3922 3247] [2769 2442] [3189 2819] [2753 2427] [3911 3354] [2730 2423] [4091 285] [2694 2383] [3908 538] [2675 2357] [2984 2576] [2660 2220] [3901 3347] [2654 2328] [2616 2229] [2649 2296] [3898 815] [2645 2321] [2522 1468] [2637 2284] [3882 762] [2630 2220] [4160 -64] [2615 2248] [3880 2688] [2614 1630] [2611 1570] [2608 1646] [3876 694] [2432 1397] [2605 1614] [2601 2218] [3866 3345] [731 1083] [2600 1646] [2599 1528] [3849 -64] [2291 1218] [3288 -57] [2597 2213] [3832 -25] [2594 2223] [2199 1018] [2591 2206] [3825 3222] [2590 1590] [2267 1109] [2587 1526] [3818 -47] [2584 1721] [329 95] [2580 1723] [3811 -47] [2574 2184] [2190 1027] [2571 1497] [3803 2742] [2567 1590] [2192 1049] [2561 1487] [3786 2753] [2558 1452] [2127 899] [2556 1723] [3774 3364] [2554 1705] [2552 1766] [2551 1730] [3760 3099] [1999 768] [2551 1468] [2550 1447] [3754 2815] [733 680] [2549 1719] [2548 1718] [3724 3348] [1850 678] [4150 940] [2547 1717] [3832 -49] [2546 1465] [2544 2015] [2543 1584] [3824 3216] [1534 557] [2541 1665] [2539 1898] [3394 3121] [841 26] [2534 2067] [2530 2077] [3382 3149] [1417 667] [4068 3175] [2528 1965] [3309 17] [2525 1474] [2520 1445] [2517 1579] [3298 -7] [1344 707] [2516 1453] [2510 1456] [3282 -22] [2506 1414] [2499 1430] [1182 721] [3267 2911] [2487 1425] [3932 480] [2479 1394] [3237 2882] [2477 1413] [2473 1407] [1012 950] [3220 2888] [2468 1410] [3305 9] [2456 1410] [3198 2982] [415 0] [2450 1405] [2447 1399] [3177 2957] [955 802] [3583 3288] [2444 1415] [3150 2771] [2425 1342] [2621 2214] [2413 1289] [3116 2747] [2405 1365] [890 1035] [2396 1336] [3101 2937] [2392 1309] [825 -22] [2389 1380] [3086 2713] [2386 1310] [855 -2] [2380 1365] [3074 2856] [2377 1294] [2400 1296] [2373 1342] [3051 2843] [2370 1288] [824 1066] [2363 1285] [3040 2598] [2360 1246] [2354 1284] [2346 1207] [3012 2821] [808 1077] [2343 1209] [2339 1228] [2995 2766] [2274 1068] [2335 1226] [2334 1203] [2980 2798] [782 667] [4076 70] [2332 1247] [2971 2622] [2330 1170] [728 349] [2327 1213] [2926 2674] [2323 1239] [743 370] [2318 1260] [2903 2616] [2315 1235] [2102 847] [2309 1200] [2878 2570] [2296 1224] [712 607] [2291 1204] [2796 2446] [2623 1609] [2287 1165] [2284 1163] [2683 2366] [2620 1583] [2282 1159] [695 220] [2645 2221] [2280 1148] [2615 1634] [2278 1198] [1510 566] [2276 1196] [3825 2732] [2612 1566] [2275 1126] [642 28] [2272 1171] [2606 1660] [2271 1134] [2270 1131] [2600 1614] [2268 1096] [604 130] [2267 1075] [2594 1593] [2265 1142] [1007 880] [2257 1129] [3940 471] [2590 1521] [2245 1058] [407 117] [2241 1088] [2584 1521] [2234 1062] [2563 1484] [2231 1039] [2572 1590] [2230 1046] [315 185] [2226 1014] [2562 1588] [2219 1009] [734 8] [2211 1060] [2556 1482] [2209 1017] [261 -6] [2206 1046] [2551 2112] [2202 989] [687 3] [2197 1035] [2550 1719] [2187 1043] [188 168] [2184 1044] [2547 1664] [2163 941] [599 158] [2145 925] [2542 2007] [2131 914] [15 152] [2126 848] [2538 1985] [2117 909] [1808 688] [2109 864] [2535 2066] [2104 827] [2093 803] [2530 1579] [2089 809] [297 235] [2058 804] [2509 1411] [2046 769] [2033 742] [2478 1412] [4130 2646] [2026 806] [2012 760] [2447 1411] [2003 775] [1996 748] [2416 1299] [1992 793] [4110 3474] [1986 784] [2407 1272] [1978 810] [3882 2693] [1974 765] [2392 1340] [1967 813] [4086 3112] [625 139] [1960 758] [2386 1364] [4101 75] [1888 740] [1856 723] [2381 1318] [4075 312] [1850 697] [1842 714] [2366 1290] [1835 699] [1760 655] [2352 1255] [1753 650] [4037 2702] [994 785] [1609 600] [2338 1202] [4021 3447] [1603 600] [1596 634] [2332 1203] [3998 387] [1563 602] [1549 603] [2324 1265] [1536 584] [1523 597] [2316 1255] [1518 563] [3949 282] [1514 573] [2305 1216] [1494 574] [3947 438] [1482 571] [2298 1220] [1477 564] [3927 2677] [1466 585] [2290 1086] [1459 562] [3930 285] [1454 566] [2282 1068] [1449 608] [3881 761] [849 218] [1446 647] [2275 1150] [3877 749] [1444 640] [1442 649] [2272 1194] [3842 -45] [2552 1470] [1438 613] [2271 1042] [1436 645] [1432 592] [2268 1172] [1425 666] [3777 3367] [2270 1023] [1408 658] [2260 1117] [3736 3038] [1398 673] [1393 574] [2247 1099] [3745 3077] [1386 668] [1376 537] [2238 1075] [1370 543] [1363 551] [2231 1023] [1352 693] [3574 3285] [1347 707] [2216 1064] [1330 717] [3285 -29] [1313 733] [2208 1019] [1305 626] [3292 -46] [1297 733] [2197 1055] [1285 577] [3967 3399] [1266 608] [2184 1033] [1241 669] [3178 2812] [886 751] [1225 634] [2173 966] [2633 2222] [1215 765] [1211 766] [2142 919] [3069 2856] [1197 745] [2582 2194] [1185 795] [2117 876] [1174 821] [1173 809] [2108 856] [2910 2622] [1166 816] [1147 838] [2082 820] [1110 856] [2601 1644] [1093 877] [2041 819] [2679 2360] [1069 895] [2355 1291] [1054 740] [4063 66] [2031 757] [1048 928] [2557 1449] [1041 778] [2024 730] [1029 792] [1026 824] [1996 793] [1020 882] [2543 1676] [1017 870] [1983 767] [1010 950] [2231 1079] [997 755] [4149 3097] [1975 819] [990 981] [2526 1475] [985 991] [1957 803] [981 993] [979 747] [1925 780] [977 1003] [2478 1424] [975 1004] [1874 732] [972 981] [2050 784] [967 1006] [4077 68] [1839 680] [966 761] [2432 1386] [963 753] [1744 665] [956 936] [945 949] [1603 598] [932 1014] [2363 1282] [925 1028] [1580 629] [921 1038] [1754 671] [910 766] [3756 3098] [1544 592] [899 761] [2335 1251] [895 -10] [1523 591] [888 997] [564 118] [881 1038] [1514 577] [874 1026] [2318 1180] [871 1044] [1475 563] [865 763] [1437 658] [861 24] [1459 562] [858 769] [2279 1076] [855 175] [1448 615] [851 769] [1990 811] [848 780] [1440 643] [844 329] [2271 1132] [840 228] [1431 662] [834 740] [1269 605] [831 708] [1404 657] [828 750] [2234 1032] [827 60] [1375 676] [824 27] [1300 642] [822 59] [1362 553] [820 1075] [2198 988] [817 1072] [1350 568] [814 1025] [1030 935] [812 1028] [1332 545] [808 612] [2109 850] [806 605] [1309 723] [804 -51] [640 531] [801 1078] [1301 599] [797 -51] [2026 736] [795 629] [1286 736] [791 631] [947 943] [789 1080] [1277 720] [787 -59] [1979 760] [780 355] [1228 634] [768 1108] [774 214] [1211 685] [763 1080] [1842 666] [758 1101] [1188 702] [754 591] [835 190] [746 364] [1172 740] [737 4] [1608 642] [733 10] [1135 840] [721 662] [712 1123] [1090 876] [707 586] [1521 585] [701 362] [1051 750] [697 427] [754 1098] [693 512] [1044 757] [4042 3455] [691 422] [1410 664] [689 417] [1027 819] [687 520] [685 575] [1010 876] [681 617] [1344 566] [677 568] [986 991] [673 556] [674 427] [665 558] [981 743] [2910 2638] [650 481] [1293 733] [637 499] [978 751] [623 38] [609 154] [971 983] [566 79] [1201 691] [449 37] [961 804] [425 30] [455 36] [359 105] [930 765] [3530 3263] [352 153] [1026 793] [338 -46] [916 771] [330 226] [323 241] [899 11] [308 -58] [966 800] [298 -63] [890 -14] [274 -1] [322 211] [252 16] [875 1015] [3982 920] [188 167] [281 4] [62 83] [874 1018] [14 36] [2030 718] [245.5 -64] [862 316] [862 40] [848 1037] [833 771] [845 217] [2395 1332] [840 784] [828 49] [837 -10] [40 30] [833 1013] [4160 3488.5] [823 744] [831 -47] [759 677] [828 762] [819 729] [827 -37] [826 712] [814 -32] [826 -62] [1707 654] [824 744] [808 656] [824 -31] [820 720] [787 662] [817 1079] [4118 267] [1762 675] [816 727] [781 234] [814 600] [812 664] [772 1079] [811 321] [4062 317] [1182 744] [805 319] [767 1105] [804 209] [801 621] [753 1107] [799 334] [3984 396] [696 414] [797 -25] [736 376] [796 626] [794 52] [719 1116] [791 220] [3953 459] [917 1017] [790 222] [700 581] [787 1070] [786 1067] [693 513] [780 227] [3855 -56] [1290 708] [775 364] [690 385] [771 211] [766 1078] [685 558] [763 1111] [3767 2763] [644 539] [760 1087] [677 620] [755 1106] [752 592] [673 571] [745 366] [3373 3034] [737 -5] [647 33] [732 18] [720 601] [631 509] [718 669] [800 -64] [3279 2938] [712 369] [617 133] [708 651] [4006 918] [705 1132] [597 128] [701 429] [3216 2841] [942 780] [697 633] [429 84] [696 217] [2625 1594] [694 -2] [402 97] [2926 2676] [693 513] [690 560] [369 -51] [689 425] [2608 1603] [687 391] [358 108] [686 218] [2073 810] [684 563] [352 108] [4114 97] [678 550] [2583 1591] [677 7] [334 100] [674 558] [673 555] [326 94] [670 537] [2498 1425] [665 552] [320 201] [653 553] [868 1020] [642 32] [314 191] [4015 303] [628 38] [2290 1194] [617 176] [301 240] [603 161] [596 58] [274 10] [594 149] [2233 1101] [567 88] [256 20] [551 87] [544 98] [239 -40] [540 97] [3820 -58] [2099 842] [460 53] [195 175] [447 38] [430 74] [59 49] [426 31] [4020 394] [1958 752] [401 89] [31 29] [391 -23] [760 49] [379 -38] [16 39] [3454 3218] [352 142] [1846 665] [350 138] [345 110] [343 139] [336 -47] [1442 637] [331 182] [327 188] [794 1049] [324 207] [322 186] [1326 721] [4144 130] [318 189] [3287 -25] [313 -52] [4130 273] [2549 1459] [307 -61] [301 225] [4110 64] [1281 592] [296 -61] [280 0] [4101 923] [275 30] [274 32] [1167 824] [4080 2700] [271 31] [270 -53] [2240 1078] [4072 3172] [265 11] [263 -55] [1020 946] [4056 336] [262 -60] [4123 113] [259 18] [4036 3220] [362 116] [251 12] [238 -27] [4033 304] [988 985] [234 -53] [231 -64] [4028 3222] [1999 766] [228 184] [205 184] [4016 298] [861 242] [191 148] [67 40] [3988 311] [2184 1032] [66 38] [63 17] [3981 290] [827 15] [31 101] [11 80] [3960 466] [1448 648] [800 -47] [7 65] [3944 287] [742 -9] [1376 526] [728 1086] [3937 269] [933 767] [684 221] [895 -10] [3901 806] [629 40] [423 9] [3246 2900] [3867 2687] [3246 2901] [738 373] [4158 3360] [3835 3226] [4156 947] [345 110] [4153 2644] [3815 -44] [4148 936] [766 1071] [4145 3358] [3800 2736] [4139 279] [189 166] [4137 934] [3775 3141] [4136 274] [432 19] [4134 2713] [3755 3083] [4132 119] [698 220] [4130 2710] [3743 2798] [4129 275] [43 35] [4128 271] [3399 3180] [4126 77] [2618 1589] [4125 2644] [3339 2996] [4123 2710] [243 197] [4123 2662] [3304 -53] [4122 2661] [3929 3365] [4121 2667] [3295 2946] [4121 71] [2610 1564] [4119 2703] [3280 -63] [4119 72] [2606 1599] [4117 2681] [3224 2856] [4116 68] [2597 1626] [4114 2679] [3209 2994] [4113 96] [2589 1635] [4111 2657] [3173 2996] [4110 2654] [2572 2181] [4109 64] [3164 2801] [4107 2682] [2549 1466] [4107 2654] [3143 2969] [4106 70] [4156 3487] [4104 2699] [3107 2828] [4103 2662] [2542 1877] [4102 3470] [3075 2788] [4100 3106] [4126 3476] [4099 2650] [3022 2593] [4098 263] [2533 1901] [4096 922] [2965 2703] [4096 274] [4073 3140] [4094 263] [2959 2696] [4093 2694] [4077 3459] [4092 2704] [2829 2472] [4091 3110] [4064 904] [4089 2687] [2662 2221] [4086 2687] [3923 253] [4084 2708] [2630 2280] [4081 310] [3985 927] [4077 3126] [2397 1341] [4076 70] [2515 1463] [4072 2700] [2503 1430] [4069 306] [3962 3241] [4068 2699] [2266 1127] [4066 368] [3169 2991] [4064 367] [2423 1310] [4064 308] [3930 264] [4063 338] [2412 1293] [4061 376] [3299 -2] [4059 3201] [1538 603] [4050 2706] [3881 3347] [4048 328] [2388 1383] [4044 2700] [2666 2346] [4042 2700] [2369 1293] [4039 2683] [3873 3347] [4038 310] [1455 574] [4036 3225] [2361 1215] [4033 62] [2326 1207] [4031 3222] [3833 3227] [4031 306] [2320 1172] [4027 3241] [2296 1051] [4025 2687] [1310 725] [4019 300] [3812 -54] [4014 2677] [2283 1160] [4013 3240] [2278 1150] [4011 3241] [742 211] [4009 412] [3756 3360] [4007 3237] [2258 1112] [4005 3237] [2243 1073] [4004 295] [875 760] [3999 2682] [3742 2987] [3999 303] [2228 1077] [3996 306] [3923 3246] [3995 313] [2217 1068] [3994 320] [3579 3287] [3991 311] [-64 -64] [3987 315] [2192 1028] [3984 320] [2160 954] [3983 415] [3382 3052] [3982 416] [756 211] [3980 424] [2135 896] [3978 454] [2591 1633] [3977 296] [3263 -60] [3976 442] [2122 912] [3971 853] [383 -33] [3970 3400] [2087 811] [3969 446] [3158 2792] [3967 439] [2543 2033] [3966 448] [2028 733] [3965 823] [431 72] [3960 445] [2852 2497] [3955 467] [1999 807] [3953 3246] [2479 1428] [3951 475] [1975 764] [3946 498] [1959 804] [3945 468] [2454 1417] [3943 291] [1858 721] [3938 776] [66 112] [3937 496] [1843 715] [3933 269] [2402 1397] [3931 268] [1600 621] [3928 263] [10 46] [3926 3246] [1552 617] [3922 2672] [2336 1170] [3921 535] [3742 3064] [3920 539] [1515 593] [3919 2666] [1490 570] [3918 521] [2275 1116] [3914 3250] [1449 623] [3913 547] [1436 584] [3910 556] [2185 976] [3907 564] [1391 660] [3903 780] [1379 573] [3902 790] [2105 851] [3901 806] [1340 542] [3898 809] [1312 683] [3897 3344] [3977 869] [3894 775] [1957 760] [3890 2687] [1288 576] [3885 3348] [1274 725] [3880 2685] [4028 909] [3879 2686] [1720 657] [3878 727] [1200 695] [3878 699] [2584 1506] [3877 3237] [3928 770] [3877 704] [1166 814] [3877 661] [1470 582] [3875 3344] [1121 855] [3871 2691] [3983 2686] [3868 2678] [1039 935] [3867 2682] [1383 675] [3865 2678] [991 990] [3854 -57] [3828 -49] [3850 -52] [971 759] [3845 -44] [1339 538] [3837 -16] [960 771] [3832 3223] [927 757] [3539 3266] [1281 732] [3828 3227] [869 306] [3499 3253] [2113 844] [3472 3234] [3765 2895] [3821 2734] [862 1010] [3819 3369] [1105 868] [3818 -36] [848 1040] [3816 3203] [3509 3257] [3812 2734] [2591 1636] [3803 2734] [842 1047] [3800 3374] [1020 811] [3797 2742] [3287 -47] [3790 3157] [831 748] [3787 2743] [2006 763] [3786 2742] [807 -24] [3780 2758] [982 745] [3778 2760] [793 1064] [3775 2766] [2416 1288] [3771 2760] [786 48] [3769 2865] [881 -9] [3768 2885] [777 363] [3766 2774] [415 99] [3763 2787] [766 207] [3760 2854] [843 1009] [3759 3100] [756 1102] [3757 2843] [2270 1094] [3755 3096] [734 43] [3754 2824] [812 200] [3754 2804] [720 674] [3754 2773] [729 213] [3753 2774] [710 372] [3751 2802] [778 1064] [3746 2802] [694 1113] [3743 2803] [2147 918] [3742 2796] [690 581] [3740 3030] [745 1116] [3737 3032] [676 622] [3723 3346] [811 49] [3649 3320] [666 546] [3592 3298] [697 585] [3565 3277] [640 530] [3459 3221] [2035 735] [3440 3209] [617 188] [3428 3206] [654 37] [3411 3193] [592 60] [3402 3109] [607 129] [3400 3140] [548 89] [3397 3119] [615 196] [3393 3130] [435 27] [3379 3044] [1456 563] [3367 3028] [364 109] [3342 2998] [567 78] [3316 -36] [349 99] [3304 2959] [901 974] [3303 -46] [342 233] [3302 -33] [400 85] [3298 2952] [326 225] [3297 -8] [1014 859] [3296 -38] [316 -48] [3295 -47] [370 111] [3291 -63] [284 18] [3290 -50] [263 4] [3286 2945] [330 -58] [3280 2938] [258 207] [3277 -34] [842 1057] [3275 2933] [199 176] [3271 2918] [319 204] [3266 -38] [67 84] [3264 2911] [48 53] [3261 2907] [291 238] [3258 2913] [22 124] [3253 -60] [4015 3443] [3241 2898] [597 129] [3237 2892] [302.5 -64] [3235 2888] [231 185] [3228 2890] [59 56] [3223 2853] [391 -23] [3217 2885] [22 124] [3214 2881] [243 178] [3213 2865] [4027 63] [3211 3002] [2606 1616] [3210 3009] [2532 1633] [3206 2832] [1313 560] [3199 2986] [867 268] [3198 2834] [815 673] [3191 3025] [2596 1653] [3185 2812] [4158 2644] [3183 3023] [3826 2735] [3175 3000] [4157 948] [3173 2952] [1629 648] [3167 2965] [4151 275] [3164 2803] [2531 1625] [3160 2959] [4148 939] [3157 2777] [737 373] [3154 2952] [4145 272] [3147 2916] [4055 68] [3143 2909] [4138 130] [3142 2770] [4139 132] [3137 2770] [4133 269] [3133 2892] [2378 1370] [3131 2767] [4129 79] [3127 2762] [4131 80] [3124 2874] [4127 931] [3121 2852] [3314 -42] [3119 2953] [4118 2695] [3118 2848] [4099 256] [3115 2949] [4115 270] [3110 2831] [4134 278] [3108 2940] [4109 2679] [3104 2943] [4094 70] [3103 2833] [4107 77] [3100 2834] [3310 -54] [3099 2833] [4103 274] [3097 2824] [4069 904] [3095 2932] [4100 2657] [3094 2813] [3986 299] [3091 2897] [4097 275] [3090 2900] [4045 75] [3089 2920] [4094 275] [3088 2925] [2186 1000] [3088 2917] [4091 2643] [3087 2921] [4032 3221] [3085 2808] [4089 2662] [3084 2804] [3932 485] [3080 2866] [4083 2645] [3078 2791] [3992 312] [3071 2786] [4078 2703] [3066 2853] [1886 735] [3063 2668] [4076 2656] [3060 2665] [3979 455] [3059 2770] [4066 2707] [3055 2748] [3899 788] [3047 2840] [4063 350] [3045 2835] [3958 808] [3044 2741] [4052 329] [3042 2831] [702 583] [3042 2733] [4047 78] [3039 2829] [3941 283] [3038 2724] [4041 385] [3025 2830] [3742 2998] [3023 2715] [4039 3232] [3021 2708] [3924 515] [3018 2699] [4033 2689] [3010 2691] [1538 583] [3006 2781] [4027 63] [3001 2766] [3898 3349] [3000 2756] [4012 2678] [2999 2766] [3292 -22] [2998 2787] [4007 306] [2998 2738] [3881 3245] [2996 2784] [4001 309] [2996 2767] [1192 785] [2995 2733] [3998 390] [2993 2676] [3852 -64] [2992 2770] [3992 415] [2989 2811] [2598 2221] [2987 2775] [3983 928] [2986 2725] [3830 -24] [2983 2810] [3980 921] [2981 2779] [2628 1601] [2978 2664] [3976 455] [2976 2779] [3758 3086] [2974 2642] [3972 3234] [2973 2778] [2626 2223] [2973 2633] [3970 3237] [2971 2622] [3587 3292] [2970 2709] [3969 283] [2967 2787] [2576 1719] [2966 2573] [3966 2681] [2965 2607] [3468 3227] [2963 2786] [3961 280] [2959 2781] [2624 2229] [2956 2780] [3956 456] [2955 2774] [3371 3031] [2935 2684] [3950 772] [2917 2643] [3287 2946] [2912 2639] [3941 2675] [2900 2612] [3308 -57] [2882 2572] [3939 491] [2877 2558] [2623 1625] [2861 2525] [3931 478] [2859 2520] [3287 2945] [2855 2520] [3928 263] [2813 2461] [4153 94] [2809 2462] [3925 253] [2798 2447] [3211 2868] [2774 2444] [3920 533] [2764 2437] [865 247] [2759 2431] [3915 531] [2746 2425] [3120 2953] [2735 2425] [3911 541] [2706 2419] [2621 2235] [2701 2400] [3909 540] [2690 2381] [3018 2830] [2689 2368] [3906 566] [2664 2344] [2621 1631] [2662 2220] [3903 576] [2658 2335] [2938 2684] [2656 2221] [3900 772] [2653 2221] [4064 70] [2651 2219] [3899 788] [2649 2220] [2799 2448] [2647 2219] [3890 607] [2643 2316] [2533 1980] [2641 2303] [3884 761] [2635 2283] [2621 1581] [2633 2252] [3881 751] [2629 2249] [4160 3488.5] [2620 1648] [3881 613] [2618 1586] [2617 1574] [2524 1575] [3879 3344] [2616 2234] [2616 2221] [835 1012] [3877 678] [2615 2250] [2615 2234] [2515 1434] [3875 744] [2614 1640] [3869 746] [2613 1618] [3871 3346] [2612 1546] [2610 2229] [2451 1417] [3857 -51] [2609 1547] [2608 1566] [742 1082] [3854 -61] [2605 1646] [2604 1621] [2412 1401] [3839 2729] [2602 1590] [4062 3196] [2601 1620] [3834 -15] [2600 1657] [2600 1599] [2353 1294] [3829 3225] [2599 1599] [2599 1524] [691 218] [3827 3220] [2598 1621] [2597 1648] [2286 1061] [3824 -50] [2596 1624] [3029 2596] [2594 1660] [3819 2735] [2592 1658] [2591 1528] [2271 1070] [3814 2741] [2590 1660] [2589 1589] [402 91] [3812 2742] [2588 1636] [2586 1588] [2253 1098] [3810 -57] [2585 1482] [3973 3405] [2584 1517] [3804 3372] [2439 1393] [2581 2193] [2580 1504] [3798 2748] [2215 1054] [2575 1718] [2574 1717] [3792 3159] [323 -44] [2572 1714] [2570 2180] [3779 2761] [2186 992] [2567 2176] [2565 1719] [3776 2759] [760 370] [2561 2167] [2560 2168] [3772 2764] [2133 877] [2558 1489] [2557 1721] [3762 2790] [26 19] [2557 1494] [2556 1688] [3758 3106] [2109 871] [2554 2115] [2554 1684] [3754 3097] [1693 651] [2553 1472] [2552 1751] [3748 3079] [2023 732] [2551 1771] [2551 1700] [3742 2804] [2551 1475] [2550 1773] [1983 804] [3590 3294] [2550 1473] [2549 1783] [742 49] [3833 3225] [2549 1765] [2549 1683] [1900 747] [3830 -27] [2548 1718] [4122 72] [2548 1492] [3825 -51] [2547 1822] [2547 1667] [1839 661] [3470 3230] [2546 1806] [2545 1809] [1016 882] [3398 3091] [2545 1472] [2544 1714] [1589 618] [3393 3123] [2543 1841] [4103 262] [2542 1878] [3387 3143] [2541 1901] [2540 2001] [1464 581] [3334 2989] [2539 2058] [2537 1898] [319 -60] [3312 17] [2536 1899] [2532 2091] [1431 588] [3301 -3] [2531 1903] [4036 392] [2530 1904] [3300 -40] [2529 1945] [2528 1959] [1374 529] [3297 2951] [2526 1940] [2522 1934] [819 -61] [3293 -49] [2520 1574] [2519 1449] [1363 682] [3280 -20] [2518 1438] [3974 923] [2517 1452] [3274 2921] [2516 1575] [2516 1437] [1299 707] [3266 -38] [2511 1394] [2510 1393] [397 -14] [3243 2901] [2508 1397] [2504 1436] [1222 690] [3233 2886] [2500 1426] [3892 600] [2497 1426] [3222 2889] [2490 1425] [2484 1426] [1175 811] [3219 2844] [2480 1411] [2478 1420] [691 1133] [3205 3015] [2477 1427] [2476 1427] [1091 874] [3196 2833] [2474 1424] [3793 3161] [2473 1399] [3182 3020] [2469 1411] [2464 1423] [986 782] [3171 2961] [2459 1416] [2455 1405] [2451 1419] [3156 2954] [2449 1404] [960 1007] [2448 1395] [3140 2967] [2446 1422] [3277 2937] [2445 1416] [3118 2748] [2435 1391] [951 941] [2427 1334] [3107 2837] [2423 1307] [3215 2863] [384 112] [3102 2943] [2415 1294] [2412 1252] [898 -5] [3097 2933] [2408 1270] [3049 2635] [2401 1281] [3092 2812] [2593 1628] [2399 1338] [2394 1339] [3084 2706] [884 1005] [2393 1332] [2391 1392] [3076 2694] [2390 1390] [2388 1365] [861 216] [3067 2675] [2387 1305] [2385 1347] [2417 1301] [3056 2755] [2383 1356] [2380 1319] [845 1043] [3047 2743] [2377 1361] [3898 3351] [2376 1372] [3043 2599] [19 45] [2375 1347] [2372 1340] [3034 2830] [833 746] [2371 1298] [2369 1282] [3016 2829] [2376 1376] [2364 1246] [2363 1213] [3010 2579] [823 -25] [2361 1207] [2360 1204] [2997 2769] [850 15] [2358 1265] [2351 1287] [2989 2779] [816 -16] [2348 1293] [2344 1177] [2984 2671] [2324 1181] [2343 1213] [2342 1233] [2979 2665] [804 321] [2339 1264] [2337 1228] [2971 2630] [2336 1243] [2335 1223] [793 217] [2965 2786] [2334 1227] [2334 1172] [2270 1020] [2963 2604] [2332 1271] [2332 1179] [768 209] [2920 2646] [2330 1265] [4036 60] [2329 1190] [2911 2640] [2327 1237] [2326 1214] [757 372] [2883 2582] [2324 1233] [2323 1204] [2204 1010] [2879 2562] [2320 1232] [2318 1258] [739 47] [2870 2545] [2317 1221] [3993 3426] [2314 1187] [2834 2477] [2309 1208] [2299 1205] [736 45] [2724 2422] [2297 1223] [2296 1202] [1987 803] [2701 2405] [2292 1204] [2625 2231] [2290 1215] [2680 2363] [708 354] [3910 538] [2287 1188] [2648 2290] [2622 1588] [2286 1088] [2285 1087] [2638 2218] [2621 1593] [2284 1059] [696 581] [2283 1038] [2618 2235] [2282 1056] [1829 675] [2280 1204] [2616 1582] [3303 1] [2280 1067] [689 425] [2279 1117] [2615 1605] [2278 1193] [2277 1152] [2613 1649] [2276 1138] [663 611] [2276 1011] [2610 1639] [2274 1191] [1439 569] [2273 1047] [2608 1631] [3765 3121] [2272 1127] [623 133] [2272 1067] [2605 1540] [2271 1109] [769 674] [2271 1031] [2601 1620] [2270 1047] [612 151] [2269 1071] [2599 1657] [2268 1022] [1178 724] [2267 1098] [2596 1659] [2267 1026] [551 108] [2265 1182] [2592 2205] [2264 1083] [2262 1137] [2590 2205] [2254 1130] [435 68] [2246 1063] [2588 1640] [2243 1098] [917 961] [2241 1100] [2586 1642] [3593 3297] [2238 1079] [346 115] [2236 1078] [2582 1722] [2233 1026] [879 756] [2231 1081] [2579 1489] [2231 1021] [329 92] [2230 1049] [2569 2178] [2229 1053] [793 640] [2227 1076] [2564 2174] [2222 1010] [302 235] [2220 1058] [2559 1719] [2217 1062] [2408 1249] [2213 1056] [2557 1687] [2210 1064] [263 -5] [2209 1058] [2554 1456] [2208 1062] [694 411] [2207 1006] [2552 1474] [2205 1028] [253 1] [2203 1013] [2551 1692] [2200 1022] [704 -7] [2198 1021] [2550 1760] [2197 1014] [208 188] [2191 1016] [2550 1462] [2186 1039] [613 174] [2185 1035] [2548 1463] [2180 1018] [69 86] [2166 938] [2545 1684] [2162 944] [2037 776] [2147 925] [2542 2050] [2142 925] [30 21] [2133 895] [2542 1674] [2129 896] [463 40] [2127 909] [2540 2098] [2122 887] [299 -64] [2118 891] [2537 2063] [2116 900] [407 92] [2111 874] [2536 2064] [2107 826] [2104 836] [2535 1899] [2101 844] [342 101] [2093 812] [2531 1973] [2092 814] [2090 802] [2522 1574] [2086 814] [4136 88] [1481 576] [2063 805] [2513 1462] [2050 781] [2046 773] [2506 1412] [2041 759] [4129 259] [64 88] [2039 751] [2492 1428] [2032 738] [2029 741] [2474 1423] [2025 800] [4115 270] [2018 802] [2456 1415] [2008 796] [2004 778] [2432 1390] [2000 804] [1998 756] [4106 65] [2422 1308] [1995 771] [1994 748] [4160 3361.5] [2414 1257] [1992 758] [801 631] [4089 274] [1988 781] [2409 1269] [1985 808] [4112 66] [1979 800] [2403 1366] [1977 771] [4085 2661] [1975 807] [2397 1337] [1970 817] [1968 812] [2389 1338] [1966 812] [1349 697] [4078 3126] [1963 806] [2387 1290] [1955 759] [4088 916] [1933 783] [2385 1312] [1881 737] [4073 3151] [1867 678] [2383 1338] [1853 700] [1851 689] [2377 1353] [1847 717] [60 28] [4051 316] [1843 663] [2370 1283] [1840 682] [4064 362] [1836 700] [2363 1209] [1833 700] [4028 3237] [1761 656] [2356 1253] [1756 660] [1754 669] [2348 1205] [1626 647] [909 969] [4000 420] [1612 644] [2340 1209] [1608 641] [3995 301] [1604 599] [2336 1203] [1602 605] [3989 390] [1599 614] [2333 1197] [1595 633] [1569 622] [2331 1255] [1561 606] [1551 599] [3971 440] [2326 1235] [1547 602] [1539 592] [3974 862] [2322 1232] [1535 602] [1528 596] [3942 497] [2319 1248] [1520 591] [1518 583] [3958 286] [2316 1234] [1517 580] [862 -15] [3929 3247] [1515 579] [2312 1239] [1505 573] [3917 2670] [1496 569] [2304 1222] [1489 576] [3917 540] [1484 578] [2300 1217] [1480 572] [1478 560] [2296 1049] [1477 554] [1472 567] [3904 574] [2291 1087] [1466 552] [1460 582] [3880 766] [2287 1047] [1457 617] [1455 624] [3872 2692] [2284 1043] [1453 612] [1450 562] [3830 2734] [2280 1155] [1448 564] [1447 610] [3855 3228] [2277 1078] [1446 602] [1446 618] [3862 3231] [2274 1193] [2553 1693] [1444 591] [3837 3228] [2274 1013] [2552 1699] [1441 638] [3938 3372] [2272 1192] [2551 2112] [2330 1221] [3803 2736] [1438 636] [2271 1112] [1437 661] [3791 3371] [1437 563] [2270 1168] [1436 604] [3761 3360] [1434 586] [2269 1028] [1431 593] [1429 587] [2267 1028] [1424 619] [70 116] [3755 2803] [1415 666] [2262 1087] [1406 581] [3505 3255] [1399 668] [2259 1138] [1398 521] [3741 3053] [1394 575] [2250 1063] [1391 522] [1387 570] [2245 1071] [1385 669] [1985 768] [3630 3311] [1380 678] [2239 1101] [1374 680] [3298 2944] [1373 538] [2232 1097] [1369 548] [3447 3215] [1364 695] [2231 1091] [1360 697] [1359 690] [2225 1000] [1352 689] [1349 706] [3380 3045] [2217 1058] [1341 697] [1336 710] [3124 2757] [2215 1009] [1318 726] [1314 725] [3270 -39] [2208 1049] [1312 563] [1307 699] [4147 132] [2204 1022] [1301 711] [1062 918] [3220 2855] [1298 695] [2199 1025] [1296 731] [2965 2580] [1291 734] [2194 1024] [1279 714] [3158 2773] [2613 1652] [1271 600] [2190 1027] [1255 633] [1243 639] [2181 1017] [1239 644] [3079 2860] [1231 639] [2175 968] [1224 635] [1217 674] [2171 965] [1215 678] [2595 1659] [3043 2608] [1212 765] [2161 943] [1208 775] [3700 3336] [1205 694] [2132 909] [1194 711] [2963 2593] [829 47] [1189 702] [2126 895] [1184 796] [1176 815] [2116 866] [1174 811] [2897 2599] [2525 1429] [1174 736] [2113 856] [1170 815] [2623 1590] [1167 816] [2104 831] [2708 2421] [1161 821] [1287 658] [1150 833] [2090 808] [1135 837] [2602 1649] [1118 860] [2060 806] [1109 857] [2381 1360] [1100 876] [2050 769] [1090 875] [2593 2223] [1072 904] [2038 748] [1066 923] [349 173] [1056 921] [2032 814] [1052 741] [2571 1497] [1050 751] [2026 803] [1048 775] [2337 1224] [1042 937] [2024 798] [1039 937] [2554 1670] [1037 821] [2019 801] [1027 942] [1070 894] [1027 823] [1997 764] [1025 938] [2549 2108] [1021 824] [1995 753] [1019 945] [2267 1079] [1018 869] [1989 768] [1015 954] [2538 1995] [1012 875] [1981 778] [1007 959] [998 760] [1978 784] [995 959] [2530 2081] [993 968] [1973 761] [988 991] [2227 1015] [987 986] [1962 753] [4037 3216] [984 774] [2524 1936] [982 771] [1951 766] [980 998] [979 1003] [1933 781] [978 991] [2507 1405] [978 741] [1898 746] [977 975] [2095 799] [976 749] [1884 736] [3820 -35] [975 981] [2471 1411] [973 997] [1849 715] [970 999] [969 922] [1842 713] [967 941] [2436 1392] [966 794] [1835 667] [965 789] [2032 762] [963 803] [1755 655] [3940 470] [961 768] [2387 1342] [960 769] [1637 656] [955 937] [949 1012] [1608 639] [940 950] [2376 1293] [933 1018] [1599 623] [931 1019] [1818 682] [927 1037] [1591 615] [3178 3008] [925 765] [2357 1203] [923 1032] [1553 601] [920 766] [913 1022] [1547 599] [907 762] [2339 1260] [902 763] [1534 582] [898 1017] [1531 594] [896 1023] [1527 590] [3161 2987] [894 746] [2332 1261] [890 1034] [1521 585] [887 1017] [745 679] [884 1011] [1517 572] [879 1026] [2323 1179] [875 1043] [1506 572] [873 1015] [1446 571] [871 1048] [1481 571] [870 1010] [2303 1219] [866 1019] [1468 549] [865 215] [2174 1030] [863 175] [1465 554] [860 177] [2280 1204] [859 36] [1455 565] [858 19] [1379 665] [855 235] [1451 563] [854 -9] [2273 1083] [851 1039] [1446 647] [850 770] [2043 800] [849 185] [1443 616] [847 1008] [2272 1044] [845 -3] [1438 567] [844 192] [1367 691] [841 231] [1435 569] [838 29] [2268 1039] [835 738] [1427 599] [833 767] [1029 767] [831 786] [1407 664] [830 50] [2255 1095] [829 -59] [1390 657] [828 186] [1235 642] [827 752] [1378 533] [826 751] [2219 1063] [824 692] [1369 536] [823 1067] [1970 749] [823 11] [1366 575] [822 25] [2200 1041] [821 20] [1356 702] [819 1078] [1051 927] [818 724] [1352 697] [817 725] [2169 956] [815 328] [1343 709] [814 198] [691 382] [813 322] [1335 702] [811 640] [2119 911] [809 643] [1320 551] [807 650] [1015 877] [806 645] [1314 681] [806 -64] [2049 781] [805 327] [1306 617] [804 -59] [836 1037] [802 645] [1303 627] [799 625] [2029 808] [797 1082] [1300 595] [796 1081] [964 754] [795 1050] [1290 574] [793 638] [2023 723] [792 218] [1283 712] [790 1085] [430 100] [790 227] [1278 716] [789 229] [1981 787] [787 1064] [1258 618] [783 237] [895 1020] [781 229] [1233 641] [779 225] [1954 762] [776 -59] [1225 635] [770 1077] [771 1078] [1213 764] [766 1103] [1852 690] [764 1079] [1207 752] [762 1099] [859 20] [759 1080] [1198 746] [758 1078] [1837 671] [756 1099] [1182 720] [753 594] [58 34] [747 580] [1174 733] [740 355] [1753 661] [738 -1] [1169 821] [736 -6] [816 -25] [735 591] [1155 828] [728 32] [1596 632] [722 35] [1126 848] [717 1092] [712 1126] [1109 863] [709 1091] [1550 602] [708 587] [1074 903] [705 646] [808 1030] [701 581] [1055 739] [699 1133] [3911 771] [1474 566] [697 634] [1047 753] [695 426] [694 425] [1045 763] [692 634] [1444 560] [691 633] [1039 940] [690 1132] [740 608] [689 574] [1033 939] [689 386] [4036 324] [1377 536] [688 421] [1025 769] [686 1124] [604 51] [685 1123] [1020 826] [684 1118] [1353 692] [683 9] [1000 887] [681 522] [687 1127] [679 527] [989 989] [677 549] [1323 724] [674 535] [984 995] [670 536] [666 10] [981 996] [664 551] [1303 730] [653 549] [979 1003] [649 466] [642 528] [643 502] [978 997] [634 142] [3805 3183] [1280 684] [630 507] [975 995] [618 185] [2285 1038] [613 172] [973 757] [598 57] [1237 671] [569 77] [970 993] [549 95] [468 55] [470 51] [966 756] [444 37] [1189 784] [426 74] [956 939] [394 88] [367 -53] [940 1015] [356 157] [1043 936] [353 157] [926 1023] [348 113] [448 32] [345 116] [923 1018] [334 179] [3268 -37] [979 754] [332 142] [914 772] [326 220] [1281 675] [324 242] [902 1033] [314 -54] [970 934] [310 -41] [897 -14] [304 217] [354 169] [303 215] [895 -13] [286 11] [936 1021] [274 20] [888 -13] [271 -51] [2611 1620] [253 19] [876 1026] [235 -24] [893 -12] [231 -60] [872 194] [867 1010] [2566 1715] [67 109] [875 16] [48 53] [273 -40] [28 25] [872 208] [1846 715] [1381 523] [865 1049] [1844.6670000000001 714.667] [241 -9] [133 103] [850 1058] [2542 1855] [850 -2] [841 1055] [847 778] [129 105] [846 190] [4160 3361.5] [831 -50] [842 224] [1866 727] [3747 3073] [841 -4] [828 186] [839 786] [56 76] [837 31] [828 -46] [836 -57] [2235 1036] [834 39] [823 783] [833 42] [31 113] [831 741] [822 19] [830 772] [153 108] [829 187] [820 739] [828 52] [15 43] [827 710] [819 199] [827 -42] [1724 658] [826 1062] [815 -22] [826 196] [826 55] [813 781] [825 780] [1774 680] [824 782] [810 603] [824 741] [824 8] [808 644] [823 716] [1627 658] [4093 2644] [822 19] [790 -40] [820 602] [820 56] [786 1088] [817 1072] [723 677] [4075 3130] [816 727] [784 661] [815 323] [814 603] [779 225] [813 1027] [1237 640] [4042 2696] [812 1076] [775 1072] [812 594] [811 662] [771 215] [809 659] [1734 661] [3994 392] [808 604] [768 50] [805 -50] [804 620] [767 230] [804 -59] [1017 846] [3980 319] [802 -57] [757 1092] [801 54] [799 621] [750 1113] [798 1077] [797 648] [3959 3391] [738 3] [796 1076] [796 652] [733 28] [795 1079] [962 779] [794 1058] [3939 289] [727 582] [794 -33] [791 1064] [4160 103] [719 671] [790 1081] [1308 590] [3898 582] [790 223] [702 1098] [789 1086] [789 232] [698 426] [787 637] [873 205] [3819 2739] [786 1068] [697 407] [784 1090] [781 233] [691 426] [777 217] [345 -54] [3785 3152] [775 1086] [690 394] [775 215] [773 367] [689 404] [771 49] [741 581] [3650 3321] [766 1111] [688 559] [766 1077] [764 229] [684 1118] [763 1098] [1192 703] [3401 3182] [762 1077] [681 590] [759 1100] [757 1090] [676 554] [753 1089] [632 491] [3345 3004] [752 599] [674 532] [747 1081] [747 361] [667 437] [742 358] [740 -10] [3305 -60] [653 484] [736 353] [734 580] [643 518] [729 31] [355 -51] [723 34] [3269 2926] [632 491] [720 34] [719 36] [4015 913] [630 39] [718 666] [965 767] [3219 2886] [712 603] [618 181] [711 1128] [709 608] [615 141] [707 1131] [707 609] [3207 3013] [604 155] [704 644] [702 403] [596 141] [700 640] [886 1011] [698 432] [3090 2719] [546 87] [697 576] [2626 2275] [4153 3366] [696 435] [429 18] [695 577] [2837 2479] [695 374] [407 99] [693 635] [2613 1565] [693 518] [393 -29] [692 578] [938 773] [691 224] [372 114] [690 519] [4133 3478] [2609 1617] [689 427] [364 -51] [689 225] [687 581] [359 162] [687 391] [2599 1593] [686 576] [357 156] [685 4] [2294 1197] [684 577] [354 132] [682 596] [4080 3116] [2584 1485] [680 526] [351 145] [678 422] [677 601] [339 234] [676 576] [2533 2092] [675 552] [333 -42] [674 530] [874 299] [673 556] [328 190] [671 605] [4027 318] [2500 1437] [670 544] [324 187] [668 434] [666 549] [320 240] [663 609] [2467 1425] [657 560] [319 227] [651 461] [795 214] [642 537] [316 205] [639 500] [3977 919] [2402 1273] [628 505] [312 -62] [621 138] [618 41] [304 -35] [615 175] [2286 1186] [604 163] [301 217] [598 59] [819 -12] [596 65] [285 13] [595 143] [3833 -51] [2273 1066] [595 127] [272 227] [594 141] [568 86] [269 5] [567 83] [2222 1003] [565 81] [251 26] [550 94] [921 958] [546 90] [240 188] [544 91] [3796 3165] [2211 1006] [543 93] [236 -52] [470 48] [467 57] [228 191] [456 37] [1981 784] [451 39] [193 154] [433 24] [809 -40] [430 93] [66 27] [430 31] [3762 2900] [1973 768] [427 75] [55 39] [409 114] [405 98] [36 12] [393 91] [1953 764] [392 -25] [24 94] [391 -30] [388 78] [21 131] [378 -42] [1864 675] [3382 3146] [353 102] [352 107] [351 101] [350 95] [1841 691] [346 137] [345 93] [3298 -56] [583 125] [343 217] [342 214] [1461 558] [339 175] [3849 -64] [333 137] [3287 -20] [331 210] [4151 3352] [328 209] [1405 661] [327 197] [4143 274] [327 184] [325 200] [324 203] [4132 2714] [1371 532] [323 214] [321 243] [4124 269] [2593 1631] [2863 2537] [318 202] [4116 276] [318 -57] [1310 694] [315 -50] [4109 265] [312 -35] [3852 -64] [166 113] [4105 2657] [309 -57] [305 -43] [1291 572] [4091 296] [302 212] [300 210] [2523 1933] [4087 2689] [298 -63] [287 237] [1275 597] [4080 312] [280 22] [278 232] [983 748] [4073 310] [277 20] [275 14] [1192 704] [4072 305] [275 -24] [274 5] [2244 1104] [4060 3200] [272 -42] [271 29] [1155 828] [4051 2705] [271 25] [269 -11] [267 6] [4044 68] [265 7] [1022 816] [264 212] [4036 308] [262 211] [2223 1004] [262 -52] [4034 326] [261 -6] [1002 955] [259 203] [4032 3224] [257 205] [4107 88] [594 126] [4031 3223] [252 21] [251 -3] [991 988] [4025 3240] [240 -32] [238 -43] [2034 766] [4018 392] [234 189] [232 -20] [977 741] [4005 296] [231 -60] [230 -15] [228 186] [3988 402] [210 184] [890 1040] [206 189] [3985 294] [193 149] [1973 754] [191 170] [3983 292] [190 159] [847 28] [67 44] [3977 428] [67 36] [3770 3135] [332 90] [3968 3239] [66 38] [66 32] [832 1044] [3958 454] [66 17] [58 58] [1524 586] [3952 283] [32 24] [30 27] [824 -34] [3941 776] [26 120] [10 154] [1537 579] [3937 496] [2 160] [802 330] [1442 611] [3936 488] [790 1053] [368 117] [768 1086] [3908 3349] [1388 571] [740 573] [1034 784] [3887 3253] [731 583] [1208 680] [703 1095] [3885 3346] [3824 -64] [573 124] [3247.5 2901.5] [3860 3229] [4160 3360] [687 222] [4159 3092] [3846 -46] [4158 3360] [998 963] [4156 3346] [3828 -47] [4155 3486] [676 560] [4155 101] [3826 -49] [4151 3364] [893 983] [4149 3354] [3813 -46] [4147 91] [630 136] [4146 934] [3808 2734] [4145 935] [869 188] [4139 936] [3793 2732] [4139 277] [453 38] [4137 2709] [3780 3146] [4137 129] [1662 657] [4136 2704] [3770 3362] [4135 2712] [432 30] [4135 87] [3755 3087] [4134 125] [815 600] [4133 121] [3752 3083] [4131 2698] [410 -3] [4131 118] [3752 2800] [4130 262] [827 1060] [4129 2644] [3732 3352] [4129 275] [356 165] [4128 272] [3543 3265] [4127 2713] [713 601] [4126 2647] [3395 3174] [4125 2711] [315 192] [4125 2670] [3355 3015] [4124 2673] [1302 691] [4123 2717] [3318 2969] [4123 2669] [256 26] [4123 2665] [3311 13] [4122 2707] [592 60] [4122 2661] [3303 7] [4122 112] [183 121] [4121 2673] [3296 -37] [4121 2667] [341 -53] [4121 2652] [3291 -51] [4120 2664] [7 157] [4120 2654] [3283 2941] [4119 2653] [308 245] [4119 74] [3275 2920] [4118 2681] [122 114] [4118 73] [3226 2893] [4117 2680] [51 69] [4116 2679] [3224 2853] [4115 2690] [32 32] [4114 2690] [3213 2837] [4114 2668] [588 71] [4113 2654] [3194 3022] [4112 2700] [2625 2217] [4111 2688] [3187 2813] [4111 2655] [2620 1645] [4110 2658] [3168 2808] [4109 2678] [2615 1559] [4109 2655] [3165 2804] [4108 2667] [2612 1644] [4108 269] [3157 2956] [4107 2666] [2609 1643] [4107 2658] [3146 2972] [4106 2660] [2608 1630] [4106 87] [3143 2773] [4105 2695] [2602 2224] [4105 247] [3118 2848] [4104 2661] [4156 272] [4103 2664] [3094 2929] [4103 2657] [3826 -64] [4103 258] [3077 2858] [4102 2656] [4144 2640] [4101 2649] [3071 2683] [4100 2691] [2599 1639] [4099 2658] [3053 2844] [4099 273] [4108 2682] [4098 266] [3001 2818] [4098 255] [2597 1509] [4097 256] [2977 2570] [4096 290] [4073 3142] [4096 280] [2962 2564] [4095 2661] [2594 1661] [4094 275] [2961 2562] [4093 2699] [4069 3456] [4093 2695] [2945 2688] [4093 2692] [2587 1588] [4093 262] [2905 2618] [4092 2700] [4065 314] [4092 301] [2756 2429] [4091 302] [3951 3384] [4090 277] [2670 2353] [4088 310] [4040 2703] [4086 2689] [2651 2222] [4085 3113] [4057 901] [4084 2711] [2632 2248] [4083 2707] [3986 421] [4083 309] [2575 2186] [4079 3118] [3878 2695] [4078 3123] [2557 1457] [4077 2658] [3984 902] [4076 2653] [2552 1720] [4074 2700] [4095 63] [4073 308] [2549 1445] [4072 906] [3973 858] [4069 2700] [2033 816] [4068 2704] [3474 3235] [4068 2700] [2544 1585] [4068 903] [3956 280] [4066 2705] [2539 1881] [4066 309] [3759 3108] [4064 2709] [2587 1526] [4064 367] [3932 478] [4064 308] [2536 1983] [4063 3185] [3136 2963] [4063 3181] [2529 1427] [4062 377] [3897 819] [4061 379] [1285 690] [4061 343] [3928 511] [4060 378] [2518 1572] [4058 2706] [3895 589] [4051 328] [2514 1458] [4049 2705] [2886 2585] [4048 381] [2274 1177] [4047 313] [3879 615] [4044 2702] [2509 1400] [4044 311] [2476 1395] [4043 310] [1554 604] [4042 325] [3877 616] [4039 2687] [2425 1310] [4038 3218] [2421 1304] [4038 2688] [2021 802] [4037 3226] [3852 -53] [4037 2686] [2413 1264] [4035 3234] [2404 1363] [4033 305] [2400 1366] [4032 2688] [3841 3228] [4031 3223] [2374 1321] [4031 393] [1594 612] [4031 306] [2370 1220] [4030 2688] [3831 -8] [4029 2687] [2369 1283] [4027 3238] [1067 899] [4026 3241] [2365 1212] [4024 302] [3821 -42] [4020 2676] [2350 1204] [4018 3240] [1428 617] [4014 3239] [2330 1181] [4013 3244] [3804 3179] [4013 3241] [2325 1218] [4012 3243] [2817 2463] [4011 3242] [2277 1085] [4010 2676] [3761 2781] [4009 3237] [2320 1230] [4008 3236] [2318 1247] [4008 418] [1316 685] [4007 2672] [3756 2835] [4006 3236] [2310 1192] [4005 422] [2293 1150] [4004 2674] [882 16] [4001 2685] [3744 3073] [4000 311] [2286 1213] [3999 2679] [2283 1066] [3999 305] [1242 664] [3997 2679] [3738 3042] [3996 309] [2279 1190] [3996 297] [2275 1059] [3995 415] [852 1057] [3995 308] [3611 3304] [3994 917] [2260 1090] [3993 299] [2258 1093] [3991 406] [943 947] [3991 300] [3522 3260] [3988 925] [2256 1117] [3985 298] [2243 1060] [3984 393] [712 655] [3983 928] [3431 3207] [3983 419] [2229 1067] [3983 394] [2227 1024] [3982 457] [810 607] [3982 292] [3381 3048] [3981 426] [2221 1006] [3979 422] [2212 1055] [3979 293] [2194 1052] [3977 450] [3292 -62] [3977 415] [2189 1036] [3976 866] [785 1061] [3976 448] [2176 1039] [3976 414] [3262 -54] [3973 3241] [2146 930] [3971 431] [544 105] [3970 3400] [2137 917] [3969 3399] [3203 2834] [3969 453] [2602 1618] [3968 455] [2134 894] [3967 831] [749 1085] [3967 439] [3157 2787] [3966 830] [2125 914] [3966 443] [4160 271] [3965 825] [2562 1721] [3964 930] [2921 2665] [3960 461] [2120 863] [3959 467] [187 139] [3957 807] [2099 842] [3955 279] [2700 2397] [3954 285] [2544 2026] [3953 3242] [2086 820] [3952 3245] [558 112] [3951 440] [2032 730] [3947 469] [2541 1869] [3946 493] [2027 802] [3945 471] [356 122] [3944 480] [2026 731] [3943 773] [2521 1430] [3942 492] [1984 784] [3939 492] [393 -18] [3938 504] [1978 785] [3937 3371] [2475 1387] [3936 483] [1971 759] [3934 772] [715 -10] [3933 264] [1960 751] [3931 487] [2456 1413] [3930 3244] [1952 764] [3928 3246] [125 109] [3928 260] [1935 779] [3927 257] [2446 1418] [3926 255] [1857 722] [3923 516] [247 -60] [3921 2679] [1846 715] [3921 537] [2406 1289] [3920 3248] [1837 698] [3920 772] [1759 652] [3919 3355] [2392 1304] [3919 2678] [1600 618] [3919 532] [1561 601] [3918 2674] [2345 1208] [3916 541] [1552 600] [3915 529] [1518 558] [3913 3356] [2331 1198] [3913 561] [1514 563] [3912 559] [1500 573] [3910 3353] [2322 1200] [3910 552] [4114 271] [3907 771] [1466 576] [3906 773] [1454 573] [3905 771] [2263 1138] [3903 776] [4040 904] [3902 799] [1443 564] [3902 769] [1389 576] [3901 808] [1441 573] [3900 809] [3994 921] [3898 3345] [2189 990] [3898 807] [1432 613] [3897 3350] [1403 574] [3896 3349] [4160 95.61500000000001] [3894 3346] [2176 970] [3893 774] [1385 684] [3891 601] [1381 685] [3889 2686] [3968 2682] [3888 2685] [2114 875] [3883 2691] [1360 689] [3881 720] [1340 705] [3880 762] [2099 794] [3880 612] [1335 702] [3879 724] [1316 589] [3878 3345] [1976 759] [3878 725] [3955 797] [3878 705] [1310 685] [3878 659] [1298 644] [3877 3346] [1827 701] [3877 2696] [4005 390] [3877 734] [1284 734] [3877 704] [1279 680] [3877 663] [1758 674] [3876 745] [3883 618] [3876 666] [1274 723] [3874 3345] [1253 636] [3872 2698] [1562 619] [3870 2691] [3602 3301] [3868 2681] [1180 807] [3867 3349] [825 -2] [3867 2686] [1170 823] [3866 3342] [3832 -10] [3865 3344] [1478 576] [3864 2706] [1163 826] [3856 3352] [1133 842] [3852 -61] [3973 2684] [3850 -45] [1438 563] [3850 -62] [1089 887] [3849 -52] [1063 916] [3840 -53] [3804 -55] [3839 -52] [1408 579] [3834 -45] [1020 948] [3556 3267] [994 748] [3550 3264] [1368 540] [3831 -26] [982 981] [3829 3226] [848 1007] [3526 3261] [973 994] [3516 3259] [3768 3130] [3503 3254] [1339 538] [3825 -63] [969 940] [3823 -63] [960 777] [3472 3234] [3672 3327] [3821 3211] [1303 603] [3820 3368] [959 938] [3820 -56] [2400 1339] [3819 3210] [3758 2800] [3818 3209] [951 1011] [3818 -46] [1299 567] [3817 -37] [924 1025] [3816 -55] [870 762] [3812 3373] [1226 687] [3811 2732] [866 1046] [3805 2732] [863 313] [3803 2732] [3478 3239] [3802 2729] [1207 691] [3799 2743] [861 767] [3798 2738] [2594 2220] [3795 2738] [856 32] [3791 3158] [1071 912] [3790 2749] [848 781] [3787 2745] [2213 1039] [3786 2752] [3251 2904] [3786 2744] [846 1035] [3785 2744] [1023 880] [3784 2746] [839 329] [3780 2756] [3745 2966] [3779 2761] [2540 2055] [3776 2760] [833 -59] [3775 3366] [1019 879] [3774 2763] [823 -25] [3771 2766] [695 -4] [3770 2867] [813 596] [3769 2881] [1003 881] [3769 2764] [805 618] [3768 3128] [2426 1397] [3768 2868] [799 633] [3766 2864] [971 939] [3765 2868] [791 1087] [3764 2774] [1713 655] [3762 2858] [790 -44] [3760 3361] [890 990] [3760 2795] [784 46] [3760 2774] [2392 1393] [3759 3095] [777 1089] [3757 3095] [878 15] [3757 2806] [773 48] [3756 2810] [1426 616] [3755 2802] [769 223] [3754 2826] [845 228] [3754 2818] [765 1095] [3754 2806] [2274 1018] [3754 2800] [758 1088] [3754 2775] [836 35] [3753 2823] [755 218] [3753 2774] [1649 659] [3752 2800] [744 363] [3751 2821] [824 -1] [3750 2806] [731 30] [3749 2802] [2248 1068] [3745 2804] [726 36] [3743 2981] [790 53] [3743 2797] [719 658] [3742 3024] [710 1092] [3742 2795] [779 47] [3741 3064] [709 1130] [3739 3357] [2186 981] [3737 3032] [696 426] [3736 3039] [770 1072] [3725 3347] [694 428] [3697 3332] [704 366] [3655 3324] [692 413] [3647 3320] [759 1105] [3641 3314] [687 401] [3574 3285] [3936 479] [3566 3278] [2127 849] [3560 3271] [680 628] [3472 3231] [733 39] [3446 3214] [674 574] [3443 3213] [1318 587] [3439 3209] [667 547] [3435 3208] [719 664] [3423 3204] [664 548] [3412 3197] [2043 768] [3408 3186] [651 482] [3403 3093] [694 221] [3402 3099] [635 497] [3401 3134] [628 513] [3400 3092] [630 520] [3398 3117] [684 523] [3396 3129] [616 43] [3394 3088] [1980 773] [3388 3162] [597 156] [3381 3148] [649 477] [3379 3044] [579 71] [3370 3030] [552 93] [3367 3028] [624 37] [3345 3004] [540 92] [3329 2983] [1644 661] [3316 2968] [446 28] [3315 -37] [612 44] [3311 18] [431 26] [3304 -62] [335 212] [3303 -42] [398 111] [3302 2956] [594 149] [3302 0] [360 106] [3302 -52] [3460 3222] [3299 2951] [1439 651] [3298 2951] [349 143] [3297 2943] [444 41] [3297 -59] [349 99] [3296 -9] [807 -57] [3296 -60] [345 -46] [3295 -2] [424 102] [3294 2944] [335 138] [3292 2945] [1160 821] [3291 -63] [326 231] [3290 -50] [398 96] [3289 -13] [320 213] [3287 2942] [316 204] [3285 2944] [378 -42] [3282 -26] [306 243] [3278 -33] [997 961] [3277 2930] [285 6] [3276 2931] [343 144] [3276 2923] [276 28] [3274 2931] [758 1076] [3273 2928] [272 22] [3269 2920] [339 145] [3267 2919] [261 -53] [3265 2917] [4126 271] [3264 2915] [847 1009] [3263 2914] [260 16] [3261 2914] [323 183] [3261 -55] [252 6] [3260 -56] [208 192] [3257 2907] [321 -58] [3256 -64] [190 158] [3247 2902] [821 16] [3242 2898] [68 102] [3239 2892] [318 246] [3238 2879] [65 46] [3236 2884] [49 67] [3235 2896] [299 210] [3235 2886] [39 27] [3228 2895] [737 1114] [3226 2857] [4009 3439] [3223 2888] [24 122] [3221 2886] [251 12] [3218 2861] [21 131] [3217 2883] [1842 714] [3216 2882] [243 194] [3214 2864] [797.5 -64] [3213 2882] [439 65] [3212 2885] [4160 3091] [3211 3004] [224 193] [3211 2997] [71 89] [3211 2873] [402 115] [3208 2991] [50 60] [3207 2831] [34 41] [3204 2989] [318 -46] [3200 2987] [17 149] [3198 3018] [3835 3224] [3198 2979] [273 230] [3197 3020] [50 41] [3192 2829] [1381 530] [3190 2824] [2609 1658] [3189 2821] [4160 3486] [3184 3024] [2275 1078] [3184 2813] [4158 133] [3181 3019] [4082 75] [3177 3003] [4157 3371] [3175 2954] [2118 867] [3174 2811] [4154 2645] [3171 2810] [1440 597] [3170 2956] [4152 98] [3167 2961] [2290 1195] [3165 2804] [4151 93] [3163 2800] [3747 3087] [3161 2803] [4148 939] [3158 2782] [1257 629] [3157 2785] [4148 90] [3157 2777] [662 219] [3155 2953] [4145 3098] [3154 2927] [858 176] [3150 2918] [4144 3360] [3147 2772] [3756 2911] [3145 2772] [4138 270] [3142 2968] [4156 3094] [3142 2908] [4134 2714] [3140 2901] [1675 655] [3139 2898] [4134 267] [3136 2894] [4139 89] [3135 2771] [4133 265] [3133 2768] [3384 3071] [3131 2889] [4131 2711] [3130 2886] [4134 271] [3128 2882] [4128 259] [3126 2761] [2599 1507] [3124 2876] [4127 2643] [3123 2871] [4129 932] [3122 2859] [4124 2716] [3120 2953] [4002 3433] [3120 2850] [4119 72] [3119 2750] [4124 929] [3118 2952] [4117 265] [3118 2846] [4142 2641] [3117 2842] [4115 2655] [3114 2841] [4098 3468] [3110 2943] [4115 265] [3109 2941] [3308 2962] [3108 2941] [4112 94] [3106 2842] [4096 2660] [3105 2841] [4108 2699] [3104 2840] [4105 3104] [3104 2825] [4107 265] [3102 2944] [4093 258] [3100 2936] [4107 71] [3100 2828] [753 365] [3099 2935] [4103 3472] [3099 2727] [4081 911] [3097 2932] [4103 262] [3097 2729] [3991 296] [3096 2931] [4101 253] [3095 2929] [4065 3177] [3094 2817] [4100 73] [3093 2932] [2582 1494] [3092 2930] [4097 2649] [3090 2931] [4048 314] [3090 2908] [4097 260] [3090 2897] [3950 2675] [3089 2926] [4094 3109] [3089 2910] [4043 326] [3089 2811] [4094 260] [3088 2923] [3953 440] [3088 2919] [4091 2702] [3088 2911] [4035 3219] [3088 2810] [4091 278] [3086 2809] [3934 3242] [3086 2708] [4089 3111] [3085 2707] [4009 305] [3084 2869] [4088 272] [3084 2701] [2539 1654] [3082 2698] [4083 2660] [3080 2797] [3994 2687] [3079 2699] [4083 273] [3078 2699] [3915 3249] [3075 2696] [4079 3123] [3068 2855] [3991 3423] [3067 2785] [4078 2659] [3066 2674] [748 587] [3063 2781] [4076 3128] [3060 2850] [3979 457] [3060 2665] [4075 3128] [3060 2661] [3902 799] [3059 2770] [4070 309] [3059 2652] [3973 451] [3055 2846] [4066 303] [3055 2649] [2477 1384] [3054 2751] [4063 373] [3046 2839] [3962 3394] [3046 2601] [4063 349] [3045 2610] [3892 769] [3044 2833] [4053 2707] [3043 2738] [3953 794] [3043 2607] [4051 332] [3042 2830] [1362 554] [3042 2820] [4047 3210] [3042 2599] [3941 478] [3040 2821] [4046 63] [3039 2597] [3786 3370] [3038 2827] [4044 68] [3038 2595] [3941 275] [3026 2829] [4041 311] [3024 2832] [2446 1424] [3023 2718] [4040 387] [3023 2714] [3934 265] [3022 2833] [4038 2683] [3019 2704] [3741 3029] [3019 2592] [4034 61] [3015 2828] [3917 2675] [3013 2580] [4032 396] [3009 2819] [662 444] [3008 2578] [4031 324] [3004 2581] [3903 784] [3001 2778] [4026 2688] [3000 2781] [3302 -51] [3000 2764] [4013 302] [3000 2746] [3897 776] [2999 2815] [4009 415] [2999 2759] [2352 1204] [2999 2682] [4007 3229] [2998 2761] [3886 762] [2998 2752] [4007 298] [2997 2812] [2963 2601] [2997 2766] [4003 421] [2996 2779] [3880 2696] [2996 2771] [4000 395] [2996 2767] [647 21] [2995 2778] [3999 2677] [2994 2783] [3854 2719] [2993 2768] [3996 418] [2993 2582] [2262 1148] [2992 2772] [3992 2688] [2991 2781] [3851 2721] [2990 2581] [3992 391] [2989 2778] [444 63] [2988 2579] [3989 418] [2987 2676] [3830 3223] [2986 2776] [3983 418] [2984 2810] [2029 723] [2984 2671] [3983 293] [2982 2807] [3814 2741] [2981 2806] [3979 878] [2981 2666] [4103 925] [2978 2718] [3977 458] [2977 2795] [3772 2770] [2976 2794] [3974 441] [2976 2658] [856 324] [2974 2655] [3973 925] [2974 2640] [3750 3080] [2974 2636] [3972 927] [2973 2710] [1886 742] [2973 2652] [3971 438] [2971 2792] [3698 3333] [2971 2626] [3969 852] [2971 2619] [1853 676] [2970 2777] [3969 450] [2970 2613] [3552 3265] [2968 2789] [3967 449] [2967 2576] [2221 1012] [2966 2611] [3966 3240] [2966 2566] [3494 3251] [2965 2609] [3963 822] [2964 2702] [1622 643] [2964 2566] [3961 816] [2962 2784] [3415 3199] [2960 2561] [3960 814] [2959 2562] [1517 562] [2957 2560] [3956 462] [2956 2560] [3376 3037] [2955 2777] [3953 461] [2954 2775] [325 -57] [2937 2683] [3950 3382] [2926 2671] [3326 2977] [2924 2666] [3947 496] [2914 2638] [1288 737] [2912 2642] [3943 2676] [2909 2620] [3308 8] [2901 2613] [3940 271] [2883 2571] [2611 1602] [2882 2574] [3939 496] [2881 2580] [3305 2960] [2880 2571] [3937 774] [2872 2555] [2604 1596] [2861 2532] [3932 274] [2860 2524] [3293 -6] [2859 2521] [3931 263] [2859 2519] [1126 848] [2856 2519] [3928 281] [2853 2501] [3285 -29] [2816 2462] [3927 278] [2812 2462] [2597 2211] [2811 2462] [3926 512] [2807 2464] [3265 2916] [2802 2454] [3924 771] [2783 2447] [806 -64] [2777 2445] [3920 2673] [2772 2443] [3193 2830] [2766 2440] [3919 2676] [2763 2434] [4097 80] [2760 2432] [3916 2673] [2755 2428] [3129 2959] [2750 2426] [3912 548] [2745 2426] [2629 1600] [2740 2425] [3911 551] [2733 2424] [3110 2744] [2707 2420] [3910 3351] [2704 2418] [2628 1597] [2701 2417] [3909 554] [2698 2384] [3045 2628] [2691 2373] [3908 3252] [2690 2370] [2593 1509] [2689 2378] [3907 2681] [2676 2357] [3016 2582] [2673 2356] [3905 781] [2663 2342] [4077 2652] [2662 2339] [3904 3350] [2660 2336] [2947 2690] [2659 2219] [3902 786] [2658 2220] [2627 2221] [2657 2333] [3901 782] [2655 2330] [2890 2589] [2653 2223] [3899 3349] [2653 2219] [2625 2247] [2652 2218] [3899 804] [2650 2325] [2831 2474] [2649 2221] [3898 3350] [2648 2324] [874 1050] [2647 2300] [3892 3256] [2646 2302] [2624 2234] [2645 2303] [3885 3341] [2643 2315] [3999 919] [2642 2312] [3884 3247] [2639 2215] [2624 1593] [2637 2255] [3883 616] [2635 2218] [2553 1447] [2634 2251] [3881 2681] [2630 2251] [2623 1628] [2629 2279] [3881 722] [2629 2241] [2622 2238] [2622 1627] [3881 617] [2621 2229] [2538 1581] [2621 2225] [3880 3243] [2621 1620] [863 36] [2621 1591] [3880 612] [2620 2265] [2533 1901] [2620 2225] [3879 655] [2619 2256] [3897 3254] [2618 2223] [3877 678] [2618 1561] [2527 1577] [2617 2232] [3877 616] [2617 1555] [851 1043] [2616 2236] [3876 665] [2616 2231] [2523 1610] [2616 2222] [3874 3346] [2616 1613] [4120 3102] [2616 1562] [3873 3338] [2615 2250] [2515 1589] [2615 2248] [3867 2683] [2615 1551] [826 740] [2614 1642] [3865 2678] [2614 1638] [2511 1437] [2614 1604] [3856 -49] [2613 1545] [3350 3010] [2612 1620] [3854 -57] [2611 1628] [2501 1420] [2611 1547] [3849 -47] [2610 1619] [782 353] [2609 1549] [3840 3229] [2608 1659] [2436 1401] [2608 1569] [3838 3362] [2607 1625] [4025 3449] [2605 1658] [3835 -44] [2605 1617] [2428 1333] [2605 1532] [3832 2731] [2604 1539] [732 34] [2602 1648] [3831 -8] [2602 1530] [2401 1277] [2601 2218] [3829 -27] [2601 1614] [3151 2978] [2600 2217] [3828 3222] [2600 1655] [2368 1291] [2600 1617] [3826 -50] [2599 2216] [722 581] [2599 1618] [3825 3217] [2599 1592] [2318 1179] [2599 1526] [3824 -57] [2598 1663] [4049 380] [2598 1640] [3820 -51] [2598 1594] [2287 1189] [2597 1662] [3819 -49] [2596 2221] [648 471] [2596 1654] [3815 -52] [2595 1654] [2283 1185] [2594 2207] [3813 2737] [2594 1655] [3003 2685] [2410 1340] [3813 2734] [2592 2224] [2592 1629] [2272 1135] [3812 2742] [2591 1528] [2590 2205] [593 148] [3810 -49] [2590 1660] [2590 1657] [2268 1042] [3809 -53] [2589 2200] [2589 1530] [2540 1876] [3807 3189] [2588 1640] [2588 1527] [2259 1117] [3804 2734] [2586 1588] [2586 1516] [347 121] [3801 2737] [2586 1481] [2584 1722] [2244 1075] [3798 2742] [2584 1521] [2583 1513] [889 13] [3795 3373] [2582 1501] [2581 1490] [2223 1012] [3789 3155] [2580 1504] [2579 1721] [328 -43] [3785 2747] [2575 1722] [2575 1492] [2206 1061] [3779 2756] [2574 1721] [2574 1493] [2386 1367] [3776 2760] [2572 1718] [2571 1502] [2189 1017] [3775 2758] [2571 1495] [2570 1503] [173 117] [3774 2768] [2568 1718] [2567 1719] [2169 962] [3769 2878] [2566 2175] [2563 2173] [811 331] [3762 3092] [2561 2170] [2561 2159] [2160 947] [3761 3096] [2560 2168] [2559 1714] [26 44] [3759 2778] [2558 1495] [2558 1489] [2130 848] [3758 3104] [2557 2124] [2557 1720] [1935 790] [3755 2844] [2557 1497] [2556 2145] [2120 846] [3754 3085] [2556 1715] [2556 1455] [9 54] [3752 2804] [2555 1686] [2554 1720] [2104 827] [3746 3085] [2554 1687] [2554 1668] [681 226] [3742 2981] [2553 1703] [2553 1459] [2030 811] [3741 3064] [2552 1752] [2552 1692] [2552 1465] [3633 3312] [2551 1755] [2007 788] [2551 1715] [3577 3286] [2551 1691] [1391 522] [2551 1479] [3564 3275] [2551 1471] [1992 773] [2550 2111] [3833 -20] [2550 1749] [4122 2650] [2550 1691] [3830 3228] [2550 1461] [1971 751] [2549 1786] [3828 3365] [2549 1782] [2549 1768] [2549 1735] [3826 3219] [1912 758] [2549 1685] [2549 1493] [3824 3221] [2548 1775] [4119 2703] [2548 1718] [3822 2733] [1883 740] [2548 1587] [2548 1473] [3443 3210] [1030 820] [3258.333 -64] [2548 1444] [3403 3098] [2547 1793] [1839 694] [2547 1685] [3397 3130] [2547 1479] [4111 267] [2546 1834] [3393 3172] [2546 1692] [1838 710] [2545 1822] [3392 3169] [2545 1689] [628 212] [2545 1483] [3389 3129] [2544 2104] [1606 636] [2544 1835] [3383 3069] [2544 1683] [4093 918] [2543 2012] [3368 3029] [2543 1672] [1540 593] [2542 2099] [3331 2988] [2542 1673] [848 3] [2541 2055] [3314 -42] [2541 1665] [1516 561] [2540 2057] [3310 11] [2540 1882] [4043 3214] [2539 2060] [3303 -60] [2539 1900] [1448 624] [2538 2000] [3301 -35] [2537 1897] [728 -11] [2536 2064] [3300 -5] [2535 1645] [1436 665] [2533 1904] [3298 -4] [2531 2074] [4033 3219] [2531 1976] [3298 -47] [2531 1425] [1426 620] [2530 1971] [3297 -40] [2529 2080] [837 6] [2529 1955] [3293 2947] [2528 1965] [1402 660] [2528 1959] [3289 -27] [2527 1943] [3987 3420] [2527 1615] [3281 -28] [2526 1614] [1373 562] [2524 1431] [3279 -24] [2522 1934] [2521 1573] [2520 1467] [3274 2928] [1365 694] [2520 1442] [2519 1440] [3274 2919] [2518 1450] [3955 3388] [2518 1432] [3267 -62] [1363 577] [2517 1456] [2517 1434] [3266 -53] [787 352] [3388 3077] [2516 1583] [3251 -64] [2516 1460] [1340 702] [2516 1453] [3237 2883] [2516 1436] [3894 3347] [2515 1574] [3235 2885] [2510 1456] [1297 730] [2510 1409] [3231 2895] [2508 1417] [722 1115] [2508 1402] [3228 2890] [2507 1403] [1263 610] [2506 1406] [3222 2850] [2503 1402] [3865 2705] [2502 1429] [3219 2885] [2499 1434] [1209 753] [2499 1430] [3215 2839] [2496 1430] [740 575] [2491 1426] [3210 2835] [2489 1427] [1182 717] [2485 1422] [3200 3017] [2483 1427] [3811 3200] [2481 1410] [3196 2976] [2479 1414] [1169 811] [2479 1392] [3191 2827] [2478 1416] [2478 1389] [2477 1426] [3188 2819] [1115 858] [2477 1391] [2476 1383] [3180 3017] [2474 1427] [3782 3148] [2474 1403] [3176 3001] [1084 883] [2473 1402] [2473 1397] [3167 2806] [669 432] [3283 -28] [2470 1406] [3159 2986] [2468 1424] [1001 885] [2466 1425] [3155 2773] [2462 1410] [3389 3165] [2460 1414] [3148 2772] [2459 1414] [982 969] [2455 1411] [3127 2958] [2453 1418] [345 222] [2452 1404] [3121 2954] [2450 1408] [967 1002] [2449 1409] [3116 2950] [2448 1422] [3259 -63] [2448 1402] [3107 2841] [2447 1421] [957 935] [2447 1393] [3106 2826] [2446 1415] [392 78] [2446 1394] [3103 2838] [2444 1423] [953 938] [2435 1402] [3102 2939] [2434 1401] [3148 2974] [2429 1337] [3098 2826] [2426 1315] [948 793] [2423 1396] [3096 2725] [2420 1394] [2391 1285] [2416 1395] [3092 2930] [2414 1293] [911 767] [2412 1267] [3087 2875] [2411 1268] [2840 2482] [2617 1590] [3085 2870] [2409 1250] [2407 1393] [891 747] [3083 2867] [2403 1287] [2400 1396] [355 129] [3076 2698] [2399 1367] [2399 1298] [886 1000] [3075 2696] [2395 1326] [2394 1333] [2592 1527] [3073 2685] [2394 1299] [2393 1301] [878 -11] [3058 2849] [2392 1302] [2391 1392] [2391 1339] [3056 2847] [2389 1389] [862 25] [2389 1308] [3055 2642] [2388 1344] [2553 1478] [2387 1387] [3050 2744] [2386 1343] [858 1] [2385 1365] [3046 2604] [2384 1307] [4160 134] [117 119] [3043 2620] [2383 1369] [2382 1355] [854 1006] [3041 2731] [2380 1350] [2379 1349] [2405 1270] [3039 2826] [2378 1295] [2377 1353] [844 5] [3032 2829] [2377 1290] [2376 1362] [1283 585] [3019 2584] [2375 1374] [2375 1295] [840 -55] [3014 2581] [2373 1299] [2372 1322] [2383 1354] [3010 2820] [2371 1326] [2370 1290] [832 187] [3000 2816] [2369 1292] [2369 1276] [2364 1248] [2998 2771] [2364 1211] [823 -5] [2363 1276] [2995 2811] [2362 1209] [2337 1205] [2361 1279] [2994 2583] [2360 1250] [822 -4] [2360 1206] [2987 2810] [2359 1262] [4091 77] [2358 1286] [2985 2809] [2355 1282] [817 726] [2354 1256] [2982 2778] [2350 1292] [2327 1220] [2349 1202] [2979 2778] [2348 1293] [809 -22] [2345 1251] [2977 2660] [2344 1175] [3615 3305] [2343 1229] [2972 2631] [2343 1211] [807 206] [2342 1234] [2971 2626] [2342 1210] [2320 1262] [2340 1229] [2969 2790] [2339 1232] [800 636] [2338 1163] [2965 2564] [2337 1173] [4052 332] [819 679] [2963 2700] [2336 1248] [2336 1223] [797 1072] [2931 2679] [2335 1223] [2335 1205] [2273 1059] [2921 2665] [2335 1164] [2334 1205] [792 -36] [2918 2644] [2334 1199] [2333 1256] [2333 1167] [2913 2642] [2332 1268] [779 1070] [2332 1198] [2910 2638] [2331 1266] [2249 1101] [2331 1171] [2898 2613] [2330 1197] [767 1093] [2329 1263] [2882 2577] [2328 1220] [4027 301] [792 347] [2881 2581] [2327 1266] [2327 1219] [757 1105] [2878 2571] [2327 1200] [2326 1204] [2226 1000] [2873 2556] [2325 1205] [2324 1175] [755 1097] [2862 2533] [2323 1234] [2322 1240] [2321 1172] [2854 2513] [2319 1261] [743 369] [2318 1260] [2827 2471] [2318 1184] [2149 936] [2317 1225] [2767 2441] [2317 1218] [738 579] [2315 1186] [2722 2423] [2313 1235] [3966 930] [46 52] [2701 2414] [2312 1190] [2309 1201] [736 376] [2690 2377] [2301 1208] [2298 1217] [2001 764] [2682 2364] [2298 1048] [2297 1218] [732 20] [2656 2331] [2296 1204] [2294 1147] [2293 1149] [2650 2222] [2628 2239] [2292 1148] [710 610] [2648 2220] [2290 1216] [2623 1637] [2289 1192] [2638 2218] [1947 800] [2288 1052] [2622 1593] [2634 2220] [2287 1167] [3882 635] [702 641] [2286 1166] [2622 1588] [2286 1046] [2285 1147] [2621 1623] [2285 1064] [700 406] [2284 1086] [2620 2216] [2284 1055] [1841 683] [2283 1210] [2620 1576] [2282 1184] [3970 287] [696 436] [2282 1087] [2618 1575] [2282 1054] [2281 1072] [2616 2217] [2280 1182] [691 1115] [2280 1115] [2616 1552] [2279 1197] [1814 685] [2279 1153] [2615 1616] [2279 1072] [3769 2776] [686 586] [2278 1195] [2615 1587] [2278 1154] [2277 1194] [2614 1571] [2277 1091] [678 599] [2276 1152] [2612 1628] [2276 1091] [1463 550] [2276 1013] [2611 1603] [2275 1174] [2892 2592] [650 540] [2275 1123] [2610 1630] [2273 1172] [2273 1113] [2610 1549] [2272 1175] [633 494] [2272 1153] [2608 1544] [2272 1114] [1426 668] [2272 1089] [2605 1648] [2271 1191] [3762 3115] [620 40] [2271 1127] [2604 1655] [2271 1097] [2407 1337] [2271 1033] [2603 1592] [2270 1168] [613 174] [2270 1073] [2601 1598] [2269 1108] [1204 778] [2269 1085] [2600 1529] [2269 1021] [610 172] [2268 1030] [2599 1595] [2267 1171] [2267 1103] [2598 1638] [2267 1098] [600 56] [2267 1028] [2595 1656] [2266 1107] [1157 827] [2265 1184] [2593 1510] [2265 1178] [3726 3349] [546 97] [2265 1126] [2592 1656] [2263 1173] [1009 779] [2262 1174] [2591 1522] [2258 1115] [442 25] [2255 1125] [2590 1532] [2253 1136] [988 896] [2249 1098] [2589 1638] [2245 1060] [421 6] [2243 1104] [2588 1522] [2243 1076] [2242 1061] [2586 2196] [2241 1097] [397 83] [2239 1080] [2586 1509] [2237 1104] [866 310] [2237 1075] [2584 1514] [2235 1043] [3290 -12] [336 178] [2234 1027] [2582 1511] [2232 1094] [865 8] [2231 1091] [2580 2191] [2231 1040] [329 185] [2231 1023] [2573 1715] [2230 1086] [823 1018] [2230 1054] [2571 1494] [2230 1047] [324 91] [2229 1085] [2567 1484] [2229 1020] [2548 1673] [2228 1053] [2565 1485] [2226 1066] [311 193] [2225 1067] [2562 2171] [2221 1009] [785 235] [2221 1004] [2559 2154] [2220 1054] [278 26] [2218 1064] [2558 2152] [2217 1055] [816 1024] [2214 1009] [2557 2136] [2212 1059] [266 213] [2211 1058] [2556 1491] [2210 1006] [705 358] [2209 1059] [2554 1458] [2209 1052] [262 14] [2209 1007] [2552 2114] [2207 1045] [2262 1120] [2207 1012] [2552 1691] [2206 1051] [256 20] [2206 1013] [2552 1448] [2205 988] [673 571] [2203 1061] [2551 1733] [2203 991] [244 190] [2201 1023] [2551 1460] [2198 1057] [734 583] [2198 1026] [2550 1761] [2198 1019] [210 190] [2197 1034] [2550 1759] [2196 1054] [644 25] [2192 1049] [2550 1667] [2188 1017] [206 189] [2187 1041] [2549 1776] [2186 1038] [2037 785] [2185 1045] [2548 1792] [2185 1009] [180 118] [2181 1021] [2547 1799] [2180 975] [606 169] [2167 937] [2546 1482] [2164 939] [50 55] [2162 948] [2544 2015] [2160 947] [666 550] [2148 926] [2543 2100] [2146 916] [31 43] [2144 921] [2542 2035] [2136 881] [542 90] [2134 877] [2542 1859] [2132 851] [29 116] [2131 875] [2541 2003] [2129 847] [1849 668] [2128 869] [2541 1475] [2127 868] [14 36] [2123 874] [2538 2061] [2120 886] [406 -6] [2118 893] [2538 1885] [2118 874] [2117 886] [2537 1997] [2116 861] [636 507] [2112 845] [2536 2095] [2110 848] [2107 838] [2536 1999] [2106 855] [352 122] [4149 97] [2106 827] [2535 1901] [2104 829] [2103 839] [2533 1580] [2098 840] [1636 659] [4136 2645] [2094 795] [2531 2084] [2093 809] [2092 834] [2530 1905] [2090 829] [317 225] [4130 3477] [2090 802] [2529 2080] [2089 825] [2087 815] [2519 1605] [2067 807] [2064 808] [4129 3101] [2516 1586] [2059 805] [2057 796] [2510 1406] [2049 780] [237 -49] [2047 768] [4121 270] [2506 1417] [2046 771] [2045 773] [4076 3126] [2504 1424] [2040 819] [1043 771] [4115 928] [2039 784] [2502 1429] [2037 785] [2033 740] [2486 1421] [2031 710] [30 105] [4114 3475] [2030 731] [2476 1421] [2028 723] [2026 725] [2474 1406] [2025 735] [2022 723] [4110 2679] [2467 1422] [2017 803] [2011 759] [2453 1424] [2008 789] [2005 798] [2443 1399] [4097 72] [2004 759] [2002 774] [2425 1340] [3308 -64] [2000 763] [802 618] [1998 809] [4090 259] [2423 1286] [1997 753] [1995 791] [4154 943] [2418 1289] [1995 753] [1994 794] [4088 308] [2414 1292] [1993 757] [1992 786] [2411 1290] [1989 810] [2590 1643] [1988 782] [4086 2710] [2410 1251] [1986 806] [1985 812] [4102 85] [2408 1396] [1984 806] [1980 777] [4085 73] [2406 1395] [1979 770] [1978 807] [2402 1368] [1977 755] [760 222] [1976 770] [4079 3122] [2399 1281] [1974 808] [1972 767] [4091 3464] [2395 1338] [1970 758] [1969 763] [4078 910] [2390 1287] [1968 762] [1967 756] [2389 1289] [1966 809] [1917 772] [1963 810] [4073 3163] [2387 1340] [1961 808] [1956 761] [4085 313] [2386 1381] [1955 748] [1936 782] [4072 308] [2385 1339] [1914 769] [1888 738] [2385 1306] [1881 737] [591 126] [1869 679] [4060 3456] [2384 1368] [1859 724] [1855 672] [4073 3457] [2383 1313] [1852 718] [1851 719] [4046 70] [2378 1291] [1850 717] [1848 714] [2377 1294] [1847 661] [1030 818] [1844 662] [4030 3220] [2371 1274] [1843 659] [1841 667] [4049 3209] [2370 1279] [1840 668] [1837 671] [4020 306] [2364 1279] [1836 699] [1834 699] [2361 1249] [1826 702] [1762 659] [2358 1251] [4001 2675] [1761 654] [1758 669] [2355 1278] [4001 388] [1756 657] [1754 672] [2350 1203] [3998 2679] [1753 670] [1627 644] [2343 1249] [4092 2687] [1626 647] [1826 702] [1613 643] [3992 407] [2341 1230] [1611 643] [1609 596] [3990 404] [2339 1269] [1608 601] [1607 600] [3987 399] [2338 1174] [1603 634] [1602 633] [2336 1163] [1601 606] [1599 623] [2334 1166] [3971 929] [1597 635] [1596 626] [2332 1258] [3978 3233] [1587 622] [1570 625] [2331 1262] [3955 2676] [1566 620] [1562 603] [2330 1189] [4053 3207] [1554 603] [872 768] [1552 598] [3946 290] [2328 1265] [1550 596] [1548 601] [3948 470] [2326 1217] [1545 600] [1543 591] [3942 289] [2323 1241] [1536 593] [1536 584] [2322 1173] [1535 595] [1532 556] [2320 1182] [3930 260] [1524 592] [1523 590] [2317 1249] [3919 520] [1519 584] [1519 573] [2316 1248] [3927 3245] [1518 579] [1517 592] [2316 1185] [3955 441] [1517 562] [2558 1498] [1515 593] [3923 2671] [2315 1246] [1515 569] [1513 576] [3914 526] [2308 1211] [1504 574] [1500 571] [3916 2673] [2305 1210] [1495 570] [1493 573] [2304 1211] [1489 572] [1485 579] [2302 1210] [3905 3352] [1482 578] [1481 573] [2300 1206] [3885 3249] [1480 572] [1478 563] [2296 1147] [3900 786] [1477 577] [1477 556] [2295 1146] [3841 2728] [1475 557] [817 731] [1473 568] [3877 742] [2293 1203] [1469 579] [1466 582] [3878 3239] [2291 1051] [1464 555] [1461 583] [3872 743] [2290 1053] [1459 564] [1458 618] [2285 1162] [1456 618] [1456 569] [2284 1183] [3868 746] [1455 611] [1453 625] [2284 1036] [3874 2680] [1453 608] [1452 566] [2281 1181] [3842 3360] [1449 629] [1449 560] [2280 1154] [3744 2797] [1448 562] [2262 1124] [1447 615] [3839 -52] [2278 1181] [1446 650] [1446 628] [3827 -33] [2275 1176] [1445 629] [2554 1458] [3827 2735] [2275 1083] [1445 598] [1444 640] [2274 1114] [2553 1478] [1445 592] [2274 1050] [3815 2736] [1443 561] [2552 1716] [2273 1115] [3813 3372] [2552 1692] [1442 562] [2272 1194] [3803 -59] [1441 612] [2552 1469] [2272 1085] [3014 2694] [1440 636] [683 630] [1438 642] [3767 2890] [2271 1169] [1438 615] [1438 601] [3780 3368] [2271 1048] [1437 661] [1437 568] [3761 2793] [2270 1173] [1436 659] [1436 609] [2270 1152] [1435 591] [2286 1190] [1434 589] [3755 2832] [2269 1099] [1432 659] [1431 658] [3626 3309] [2269 1025] [1430 665] [1429 595] [3753 3359] [2268 1073] [1427 592] [1425 617] [2265 1079] [1424 619] [823 330] [1422 665] [3743 3068] [2263 1134] [1413 663] [1408 582] [3450 3216] [2261 1120] [1401 661] [1399 670] [3740 2980] [2260 1110] [1399 668] [1398 523] [2259 1115] [1396 663] [1989 781] [1395 662] [3669 3326] [2255 1115] [1393 650] [1391 651] [3301 -38] [2248 1100] [1391 520] [1389 668] [3599 3300] [2247 1070] [1386 687] [1385 682] [2245 1061] [1384 671] [1382 678] [2242 1079] [3480 3244] [1378 572] [1374 691] [2238 1103] [3294 -64] [1373 689] [1373 686] [2235 1077] [3402 3101] [1371 675] [1370 533] [2232 1092] [3981 3414] [1368 681] [1972 809] [1366 546] [3393 3142] [2232 1024] [1363 694] [1360 699] [3280 2941] [2231 1032] [1360 693] [1359 700] [3305 -63] [2227 1024] [1356 699] [1352 693] [2221 1071] [1351 698] [1350 543] [2219 1070] [3291 -49] [1349 702] [1347 700] [2217 1008] [3111 2944] [1337 704] [1336 713] [2215 1067] [3269 -52] [1336 541] [1321 730] [2214 1052] [3357 3017] [1318 552] [1259 615] [1314 732] [3248 2903] [2208 1062] [1314 688] [1313 691] [3047 2631] [2208 1044] [1311 732] [1310 731] [3219 2859] [2206 1024] [1306 702] [1302 729] [2204 990] [1301 630] [1298 709] [2202 1059] [3159 2776] [1298 693] [1296 734] [2199 1013] [2941 2686] [1296 731] [2615 1646] [1291 734] [3113 2746] [2197 1044] [1286 659] [1284 689] [3749 3077] [2193 1050] [1278 728] [1020 773] [3086 2872] [1276 721] [2191 1034] [1267 607] [1259 623] [2188 986] [1249 637] [2609 1647] [3070 2680] [1245 640] [2183 1008] [1242 646] [1240 670] [2181 1011] [1236 672] [1232 640] [3064 2669] [2177 974] [1230 635] [1224 636] [2174 1025] [1222 678] [2599 1624] [1217 678] [3020 2587] [2172 1026] [1216 675] [1215 690] [3995 408] [2168 958] [1213 759] [867 212] [2967 2612] [1213 686] [2163 942] [1212 687] [1209 693] [2159 953] [1206 751] [2591 1642] [2963 2593] [1205 752] [2135 916] [1202 698] [1196 695] [2130 911] [1191 703] [1190 701] [2897 2609] [2128 911] [1186 790] [1185 792] [2119 894] [1182 804] [2538 2059] [1177 725] [2871 2547] [2116 878] [1176 726] [1174 817] [3320 2971] [2114 907] [1174 748] [793 -58] [2801 2451] [1174 739] [2114 845] [1173 822] [1172 816] [2109 850] [1170 813] [2459 1426] [2691 2382] [1167 827] [2106 830] [1166 830] [2616 2240] [1162 825] [2097 795] [1160 831] [2639 2220] [245.5 -64] [1152 832] [2090 813] [1149 834] [2603 1652] [1146 837] [2086 814] [1135 837] [2382 1311] [1123 860] [2071 808] [1111 855] [2602 1609] [1109 867] [2055 794] [1108 862] [439 37] [1102 869] [2050 776] [1095 878] [2599 2214] [1090 884] [2048 779] [1089 879] [2359 1283] [1080 887] [2040 791] [1070 913] [2593 1593] [1067 896] [2037 743] [1066 897] [2416 1302] [1060 922] [2036 773] [1055 929] [2582 1494] [1052 753] [2032 761] [1051 745] [2355 1272] [1050 925] [2031 741] [1049 752] [2562 1486] [1048 926] [2026 798] [1047 755] [27 95] [1045 763] [2025 796] [1042 761] [2556 2139] [1040 779] [2024 798] [1038 936] [2320 1245] [1038 821] [2022 731] [1035 940] [2554 1483] [1028 821] [2008 796] [1027 940] [866 252] [1027 878] [2007 797] [1026 935] [2550 1724] [1025 952] [1997 760] [1025 936] [2267 1185] [1022 823] [1996 768] [1021 815] [2545 1469] [1019 946] [1994 756] [1019 881] [1019 827] [1990 772] [1018 830] [2539 1879] [1016 882] [1984 781] [1015 870] [2232 1080] [1014 869] [1982 811] [1011 949] [4131 263] [2538 1651] [1007 965] [1980 778] [1007 952] [713 1122] [998 958] [1979 756] [998 758] [2532 2072] [996 891] [1976 806] [994 987] [2229 1026] [994 967] [1974 771] [993 964] [2528 1919] [989 980] [1972 809] [988 991] [988 967] [1970 749] [985 993] [2526 1430] [985 979] [1959 749] [983 994] [2214 1040] [982 988] [1953 804] [981 1000] [3965 931] [2518 1602] [981 970] [1945 799] [980 996] [1352 544] [980 750] [1933 789] [979 977] [2516 1458] [978 1002] [1931 784] [978 989] [2198 989] [978 752] [1916 770] [977 1004] [2501 1425] [977 976] [1891 743] [977 763] [976 764] [1888 738] [976 736] [2474 1384] [975 983] [1880 735] [975 768] [2052 788] [973 998] [1849 718] [972 990] [3945 274] [2469 1409] [971 942] [1849 666] [970 997] [969 933] [1845 663] [968 761] [2452 1414] [967 1002] [1842 657] [967 797] [2041 796] [966 1008] [1838 670] [966 761] [3968 838] [2434 1388] [966 754] [1832 671] [965 755] [964 772] [1757 651] [963 767] [2390 1336] [962 775] [1753 670] [960 933] [1974 766] [960 772] [1642 662] [957 935] [3898 2685] [2385 1346] [956 936] [1636 654] [954 940] [951 798] [1620 643] [947 1013] [2376 1350] [942 1015] [1604 635] [938 1016] [1876 733] [934 1020] [1602 602] [933 1016] [2844 2485] [2363 1282] [931 1026] [1599 604] [931 955] [928 766] [1598 606] [926 1020] [2361 1247] [925 1019] [1585 623] [924 1036] [1781 684] [923 1038] [1555 602] [923 1032] [3711 3344] [2349 1254] [921 762] [1552 604] [920 763] [2535 1898] [916 1018] [1548 597] [913 770] [2341 1176] [908 761] [1545 590] [906 1027] [1730 659] [903 1031] [1535 580] [900 760] [2338 1229] [898 1024] [1534 561] [898 760] [897 750] [1529 595] [896 756] [2335 1243] [895 -13] [1525 598] [894 -15] [1531 589] [892 -13] [1521 592] [888 1021] [2953 2694] [2330 1183] [887 1047] [1519 564] [886 1048] [885 1047] [1518 565] [883 1006] [2324 1180] [879 1044] [1515 571] [877 1028] [1447 646] [877 1016] [1507 570] [875 1025] [3747 2944] [2321 1246] [874 15] [1497 567] [873 196] [2286 1146] [872 1027] [1486 578] [871 1047] [2316 1250] [871 304] [1477 557] [869 761] [1442 642] [866 1019] [1468 577] [866 1016] [2293 1050] [865 311] [1468 545] [864 173] [2340 1260] [863 1013] [1466 546] [861 174] [2281 1157] [860 215] [1460 560] [860 44] [1425 589] [859 39] [1458 566] [859 29] [2280 1146] [858 30] [1452 623] [857 1044] [2005 779] [857 175] [1451 623] [855 232] [2276 1081] [854 178] [1450 607] [853 -5] [1372 676] [852 231] [1447 559] [851 769] [2273 1016] [850 1042] [1445 634] [850 768] [849 1057] [1444 573] [849 14] [2272 1110] [848 186] [1442 649] [847 188] [1369 560] [845 328] [1439 611] [844 1044] [3980 914] [2271 1156] [844 218] [1437 603] [843 328] [1305 566] [842 229] [1436 599] [841 -51] [2269 1077] [840 193] [1434 611] [836 744] [1333 543] [835 787] [1431 658] [835 36] [2262 1177] [833 788] [1426 594] [832 1047] [1355 575] [832 768] [1414 664] [831 784] [2258 1112] [830 782] [1407 656] [829 785] [1247 641] [829 749] [1396 524] [828 784] [2235 1058] [828 708] [1387 575] [828 48] [976 769] [827 774] [1379 531] [827 194] [2227 1064] [827 53] [1376 571] [825 777] [1210 691] [824 714] [1373 674] [824 195] [2216 1045] [824 23] [1367 549] [823 687] [823 16] [1366 684] [822 784] [2207 1052] [822 59] [1362 691] [821 717] [1178 798] [821 54] [1357 698] [820 1077] [3742 3007] [2199 1058] [820 599] [1354 689] [819 1073] [842 783] [818 730] [1353 573] [818 -13] [2181 974] [817 729] [1351 572] [817 -31] [1042 777] [816 327] [1348 699] [815 -17] [2145 920] [814 330] [1342 544] [813 1078] [873 283] [813 1075] [1336 710] [813 -33] [2133 874] [811 782] [1335 539] [811 331] [1023 798] [810 661] [1322 729] [809 642] [2116 883] [808 320] [1318 680] [807 646] [660 12] [807 616] [1315 687] [806 641] [2050 776] [806 208] [1310 695] [805 1083] [995 751] [805 610] [1307 723] [804 321] [2034 732] [804 -56] [1305 609] [803 1081] [1856 723] [803 -50] [1304 607] [802 639] [2031 727] [800 53] [1302 601] [799 52] [971 918] [798 634] [1300 595] [797 643] [2027 726] [797 -56] [1299 704] [796 1071] [634 518] [795 1077] [1294 569] [795 661] [2023 724] [795 -28] [1287 710] [793 631] [963 785] [792 630] [1284 734] [792 -57] [2006 802] [791 -37] [1281 718] [790 1083] [791 1081] [790 1057] [1278 730] [789 1084] [1992 758] [789 1078] [1278 594] [789 229] [899 978] [787 1085] [1258 619] [787 53] [1979 773] [784 236] [1256 631] [783 46] [429 84] [781 354] [1235 639] [780 1066] [1964 755] [779 361] [1233 638] [779 -56] [883 1043] [776 1083] [1227 683] [774 1085] [1891 741] [773 1082] [1224 673] [770 1091] [771 214] [1219 677] [770 1070] [1854 692] [767 1075] [1211 693] [766 218] [863 4] [764 1096] [1209 774] [763 1104] [1844 660] [763 228] [1201 781] [762 205] [254 -59] [759 1108] [1200 702] [758 1104] [1838 674] [758 1078] [1197 694] [757 1100] [841 12] [756 1104] [1187 785] [755 1097] [1789 687] [753 1112] [1181 795] [749 1115] [748 364] [1178 719] [747 576] [1754 649] [743 363] [1172 816] [739 574] [829 790] [738 352] [1171 821] [737 1082] [1753 651] [4053 331] [736 607] [1167 831] [735 602] [735 597] [1161 830] [734 590] [1606 597] [728 36] [1144 836] [727 591] [815 197] [722 676] [1131 849] [721 1089] [1588 621] [4114 3103] [721 660] [1123 857] [717 597] [744 606] [714 604] [1112 856] [712 1123] [1556 620] [711 368] [1108 860] [709 653] [808 1077] [709 373] [1076 888] [708 372] [1535 587] [706 373] [1074 896] [705 373] [703 365] [1066 897] [701 432] [1479 572] [700 576] [1053 742] [699 575] [789 638] [698 578] [1048 754] [697 433] [1467 548] [4036 3454] [695 436] [1046 931] [694 576] [694 437] [1045 775] [694 221] [1453 612] [693 510] [1045 755] [692 579] [746 368] [692 396] [1040 762] [691 513] [1429 585] [3120 2954] [691 420] [1039 822] [690 225] [689 1131] [1036 941] [689 520] [1380 676] [689 395] [1028 934] [688 580] [712 211] [688 424] [1026 878] [687 578] [1376 674] [3996 3230] [687 396] [1024 950] [686 225] [686 221] [1021 815] [685 1117] [1353 704] [685 219] [1017 955] [684 574] [688 519] [683 521] [1008 951] [682 593] [1347 565] [3278 -64] [681 597] [998 758] [681 10] [679 529] [993 750] [679 527] [1332 714] [677 551] [989 784] [676 546] [678 624] [675 552] [986 966] [674 533] [1323 722] [3840 -49] [672 544] [984 988] [669 537] [2394 1369] [666 438] [981 1005] [665 608] [1306 612] [665 550] [981 993] [658 38] [654 555] [654 488] [980 978] [652 459] [1300 702] [650 462] [979 973] [648 489] [646 519] [978 998] [642 516] [1280 713] [635 508] [978 756] [633 520] [598 153] [632 520] [977 748] [629 501] [1279 719] [3663 3325] [620 137] [974 978] [618 140] [567 76] [614 142] [973 980] [611 153] [1260 624] [605 168] [972 996] [597 138] [554 110] [570 78] [971 983] [566 82] [1213 763] [565 81] [969 1007] [543 104] [539 95] [967 759] [468 45] [1190 713] [445 27] [962 940] [438 66] [459 38] [428 17] [958 936] [426 74] [1179 745] [3289 -42] [420 5] [952 800] [379 -44] [2190 987] [368 -52] [941 1017] [366 -53] [1071 904] [357 109] [930 1028] [356 110] [448 57] [355 109] [928 761] [353 105] [1043 760] [352 152] [925 1034] [346 120] [345 118] [924 1031] [344 117] [985 779] [334 211] [921 1037] [333 231] [395 92] [333 95] [914 1023] [332 96] [975 1002] [3259 2912] [329 225] [912 1020] [326 198] [1330 576] [325 221] [905 1029] [324 212] [973 984] [316 -58] [901 759] [314 -60] [356 119] [311 -40] [897 757] [308 -45] [970 921] [305 -53] [897 -16] [304 -40] [304 -52] [895 1016] [298 -60] [959 774] [297 -59] [892 1033] [283 19] [354 144] [275 -31] [888 1045] [274 13] [930 1016] [2711 2424] [273 33] [886 -12] [267 -3] [2031 723] [254 18] [880 1042] [252 21] [907 1024] [237 -26] [875 1023] [234 -21] [304 232] [231 -19] [873 1028] [201 179] [892 986] [189 166] [893 983] [188 135] [2032 715] [68 22] [880 1045] [67 26] [879 1048] [59 81] [878 15] [43 35] [2572 1714] [31 104] [875 1021] [15 43] [275 -36] [9 56] [873 205] [1286 662] [873 -17] [797.5 -64] [253 22] [866 1046] [2563 1484] [863 313] [1845 715] [245 -7] [853 -5] [863 37] [852 1057] [4160 949.667] [2031 710] [4160 3485.5] [851 771] [856 -15] [852 -3] [4160 3488.25] [137 101] [3746.667 3072.667] [850 1038] [4160 3486] [842 1052] [848 776] [2543 1849] [849 218] [834 768] [847 188] [133 103] [847 216] [834 -51] [843 222] [1391 520] [844 -3] [830 768] [842 -2] [69 16] [842 783] [831 187] [840 784] [2396 1326] [839 -9] [831 48] [838 29] [58 80] [839 -9] [831 -47] [837 -55] [1873 731] [837 -10] [828 193] [835 37] [42 34] [835 1012] [826 784] [834 40] [2236 1042] [833 771] [826 745] [833 740] [33 109] [832 -49] [823 16] [832 773] [1344 566] [831 768] [824 597] [830 189] [30 21] [829 764] [821 742] [829 50] [2011 759] [829 -59] [820 726] [828 708] [19 45] [828 -39] [822 198] [828 -40] [1864 674] [828 -44] [818 1070] [827 1060] [827 710] [816 -25] [827 194] [1730 659] [828 58] [817 -31] [827 53] [828 -61] [816 780] [826 778] [769 674] [827 775] [4121 270] [815 784] [825 780] [826 745] [813 602] [826 740] [1713 655] [825 196] [4096 2647] [809 659] [825 6] [825 -29] [809 647] [824 714] [1781 684] [824 195] [4093 262] [795 662] [823 21] [821 718] [791 -37] [821 600] [1633 659] [822 596] [4078 3127] [790 663] [821 54] [819 1078] [787 1085] [819 1073] [166 113] [819 779] [4065 314] [788 -60] [817 729] [817 725] [787 662] [816 325] [1395 659] [815 673] [4045 2699] [782 237] [816 602] [815 598] [780 222] [814 1025] [1769 679] [815 197] [4001 393] [779 47] [813 1078] [814 665] [778 1071] [813 596] [1243 639] [813 781] [3997 395] [773 1082] [812 664] [813 322] [774 214] [810 661] [733 680] [811 201] [3987 399] [771 218] [810 603] [807 320] [771 49] [806 -48] [1188 745] [805 1083] [3983 322] [768 1108] [805 618] [806 208] [768 227] [805 -57] [1741 665] [803 649] [3981 417] [764 1079] [804 -56] [802 619] [760 1091] [803 53] [1018 840] [802 330] [3962 3394] [754 1110] [801 622] [800 332] [753 1112] [800 1078] [755 -64] [800 626] [3956 456] [742 1082] [798 646] [799 -24] [739 0] [798 1077] [998 892] [797 658] [3942 292] [737 373] [797 654] [798 625] [734 25] [796 1081] [1382 569] [796 -49] [3941 283] [733 15] [795 1056] [796 51] [730 581] [795 -31] [963 785] [794 1049] [3901 579] [722 1115] [793 1063] [792 218] [720 674] [791 1079] [721 349] [791 1051] [3858 -53] [707 651] [791 225] [791 220] [703 1095] [791 1087] [923 1018] [790 1057] [3822 2736] [701 578] [790 230] [789 1071] [699 423] [789 638] [1316 589] [788 57] [3802 3173] [700 429] [787 1070] [787 1065] [700 406] [786 1089] [874 199] [785 1061] [3788 3155] [696 512] [782 231] [781 229] [694 425] [778 219] [662 444] [779 -57] [3770 2760] [691 578] [776 1088] [777 363] [693 395] [776 217] [793 638] [776 -59] [3653 3324] [691 382] [774 365] [772 213] [690 407] [773 48] [1298 709] [769 223] [3564 3275] [691 1115] [768 1110] [768 1077] [691 558] [768 1076] [747 580] [765 1086] [3404 3185] [688 559] [766 230] [765 1110] [685 1121] [764 1096] [355 -51] [764 1084] [3376 3037] [686 586] [763 1079] [762 1088] [682 593] [761 1099] [650 540] [759 49] [3348 3007] [680 619] [758 1088] [756 1104] [677 551] [754 1091] [1200 702] [754 595] [3338 2994] [677 601] [753 597] [753 594] [675 529] [749 1082] [638 490] [749 362] [3308 -57] [674 574] [749 362] [746 364] [668 434] [744 359] [706 400] [743 570] [3282 2941] [666 554] [742 -9] [738 -3] [654 487] [738 352] [368 117] [736 606] [3272 2929] [650 34] [736 579] [733 16] [646 519] [731 30] [1034 784] [728 1086] [3260 -58] [644 489] [724 32] [722 600] [633 494] [722 35] [361 -50] [721 1089] [3222 2889] [634 508] [720 34] [719 671] [633 40] [719 664] [716 601] [625 139] [3219 2844] [713 601] [713 371] [619 178] [712 1126] [806 -64] [712 655] [620 134] [3210 3010] [710 606] [709 653] [618 140] [4015 913] [709 1130] [966 759] [709 1091] [3159 2986] [615 145] [709 608] [707 1131] [607 154] [706 645] [705 400] [600 129] [3093 2722] [703 401] [702 431] [597 138] [702 641] [700 640] [578 68] [700 431] [2929 2679] [698 631] [549 86] [699 577] [4158 3369] [697 585] [430 87] [697 433] [2840 2482] [698 218] [432 19] [697 576] [4028 909] [946 787] [696 512] [428 31] [2653 2216] [696 372] [2628 1597] [695 -4] [4153 2644] [408 102] [695 634] [695 577] [2629 2278] [405 98] [694 516] [2616 1568] [694 515] [394 -26] [693 576] [895 1016] [693 223] [390 83] [693 223] [2614 2233] [4138 3481] [692 559] [375 113] [692 518] [691 513] [372 -50] [691 428] [2612 1620] [691 426] [367 -52] [691 224] [942 780] [690 394] [364 -51] [688 583] [2611 1606] [4119 100] [689 390] [360 159] [688 393] [687 1125] [359 105] [687 578] [2602 1596] [687 220] [360 157] [687 3] [685 579] [355 135] [685 575] [2597 2213] [685 561] [4085 3113] [355 129] [683 594] [684 523] [355 109] [682 525] [2587 1482] [679 548] [4160 134] [354 144] [680 421] [886 1016] [679 11] [345 222] [678 599] [2586 1588] [4050 78] [679 8] [342 233] [678 577] [678 422] [337 101] [676 550] [2536 2095] [676 559] [336 -43] [675 528] [832 189] [674 602] [333 99] [674 558] [2532 1425] [4032 321] [675 554] [329 193] [673 604] [673 533] [329 95] [672 543] [2503 1434] [672 536] [327 188] [669 432] [875 291] [668 608] [323 241] [667 547] [2501 1422] [4020 306] [666 554] [321 243] [665 608] [664 562] [323 200] [659 561] [2470 1428] [654 555] [322 226] [652 459] [2082 820] [649 477] [322 186] [643 539] [2409 1401] [3980 914] [644 33] [319 204] [640 502] [634 521] [315 188] [629 503] [2405 1270] [630 39] [315 -61] [622 140] [872 1027] [623 133] [310 -35] [620 40] [2293 1197] [3929 3365] [618 178] [307 -36] [617 176] [615 175] [302 237] [605 165] [2289 1189] [604 163] [302 220] [600 60] [804 209] [598 153] [301 217] [597 63] [2282 1087] [3838 -54] [598 57] [286 16] [596 141] [596 137] [275 7] [597 128] [2276 1063] [595 151] [273 230] [595 139] [823 -5] [579 71] [272 227] [569 84] [2236 1104] [3823 -63] [568 86] [272 4] [569 84] [567 88] [259 19] [566 79] [2225 1000] [552 85] [254 27] [552 93] [2305 1210] [551 85] [254 -59] [548 89] [2218 1064] [3799 3170] [546 97] [241 185] [546 90] [544 98] [240 -37] [544 91] [2214 1009] [541 99] [237 -49] [471 50] [815 -12] [470 48] [234 -53] [468 55] [2102 839] [3798 2748] [461 55] [229 188] [458 38] [456 37] [198 176] [453 38] [1984 781] [449 37] [194 151] [435 23] [432 30] [195 175] [432 94] [1980 769] [431 76] [3765 2895] [67 30] [431 29] [430 100] [60 52] [429 74] [1976 771] [428 32] [4030 396] [56 36] [410 112] [813 -33] [410 103] [39 14] [407 99] [1961 755] [3459 3221] [402 91] [37 15] [395 92] [393 90] [32 32] [394 -26] [1956 761] [392 -25] [27 95] [393 -29] [933 952] [391 85] [22 134] [389 80] [1933 789] [3387 3143] [380 -36] [22 134] [379 -44] [364 109] [19 40] [354 104] [1867 678] [354 141] [353 105] [768 50] [352 142] [353 102] [1849 668] [351 140] [351 97] [3296 -12] [350 95] [348 138] [1844 688] [346 108] [347 94] [3852 -64] [346 230] [344 219] [1557 612] [4156 274] [345 138] [343 216] [344 93] [4153 3350] [341 176] [3290 -15] [1464 555] [4146 132] [338 -46] [335 138] [591 126] [4145 272] [334 179] [3300 -46] [333 211] [4138 270] [1445 634] [332 180] [330 210] [4134 2716] [330 -58] [3292 -22] [329 196] [4132 275] [1408 658] [328 190] [329 185] [4126 271] [326 209] [326 198] [1408 579] [4119 2673] [325 205] [2599 1502] [4118 278] [326 92] [2866 2542] [324 212] [4112 66] [1374 529] [324 187] [322 245] [4111 267] [287 237] [4160 3091] [323 221] [4110 2669] [320 201] [1329 718] [319 187] [4107 2655] [320 -58] [2596 1626] [317 -60] [4103 925] [316 -48] [1313 691] [314 -54] [4093 298] [313 -37] [2017 803] [312 -56] [4090 2688] [311 -56] [1308 590] [309 -60] [4089 2691] [306 -41] [2554 1456] [305 218] [4082 2702] [303 214] [1294 569] [302 223] [4082 310] [302 211] [173 117] [300 210] [4078 2700] [299 -61] [1284 595] [297 -59] [4075 312] [289 238] [2526 1928] [286 11] [4074 3170] [282 23] [1278 594] [281 2] [4074 307] [280 233] [702 1099] [279 19] [4064 358] [278 22] [1247 653] [276 28] [4062 3198] [276 16] [2412 1262] [276 -22] [4058 338] [276 -26] [1195 707] [275 30] [4053 2707] [275 7] [274 5] [273 -40] [4048 381] [1170 827] [272 33] [272 27] [4046 70] [2247 1099] [272 27] [272 23] [4038 3218] [1158 831] [271 -51] [271 -12] [4038 310] [993 750] [4129 118] [270 -1] [4037 2702] [269 5] [1056 737] [266 9] [4036 324] [266 9] [2243 1073] [267 -3] [4035 306] [266 213] [1025 819] [264 -57] [4034 3226] [264 212] [263 4] [264 -53] [4034 395] [1023 943] [264 -59] [263 -5] [4033 3221] [2228 1001] [262 -60] [260 205] [4030 3220] [1005 952] [260 16] [258 207] [4027 3238] [24 94] [4112 94] [256 26] [4027 318] [253 19] [1000 887] [252 10] [4020 394] [253 -2] [2127 868] [241 -25] [4018 296] [241 -30] [994 985] [240 -26] [4007 298] [239 -41] [240 -46] [236 188] [4005 307] [991 982] [236 -52] [234 -21] [3990 404] [2037 771] [233 -57] [232 -62] [3990 309] [980 744] [232 -62] [232 -14] [3987 296] [372 114] [3976 295] [231 183] [3986 925] [229 188] [979 977] [229 182] [3985 294] [211 186] [2004 763] [209 184] [3983 292] [208 188] [893 1037] [207 185] [3979 430] [194 151] [193 154] [192 172] [3973 448] [864 245] [193 149] [192 160] [3970 3237] [1976 759] [68 106] [68 42] [3962 464] [850 31] [68 42] [68 34] [3960 456] [607 129] [3775 3141] [68 24] [3955 279] [67 40] [841 -4] [67 36] [3954 285] [68 33] [1585 623] [67 30] [3946 289] [67 15] [835 1041] [65 18] [3943 774] [59 56] [2189 1038] [38 11] [3940 279] [34 25] [830 12] [32 99] [3939 498] [31 29] [1529 583] [30 26] [3939 271] [27 118] [827 -37] [12 82] [3938 490] [11 152] [342 92] [11 80] [3934 270] [4 159] [813 597] [1451 643] [3910 3351] [805 327] [1543 584] [803 -50] [3903 804] [1445 606] [793 1050] [808 1030] [3889 3255] [774 1066] [1429 585] [771 1089] [3888 2685] [1542 595] [745 -6] [3247.5 2901.5] [3887 3344] [3826 -64] [1393 574] [3294 -64] [3869 2689] [3249 2902] [743 570] [3247.5 2901.5] [3862 3231] [4160 3361.5] [736 573] [4160 3360] [3853 3353] [4160 3091] [1381 523] [4159 3361] [3848 -48] [4159 3359] [734 580] [4158 3372] [3837 3228] [4157 3345] [1040 779] [4157 948] [3830 -49] [4156 3487] [731 1083] [4156 3094] [3828 3223] [4156 102] [1211 685] [4154 2645] [3828 -47] [4152 3365] [706 1092] [4151 93] [3817 -42] [4150 3353] [10 78] [4149 937] [3815 -44] [4148 90] [698 631] [4147 3364] [3811 3200] [4147 935] [1040 762] [4146 3357] [3810 2732] [4146 934] [690 219] [4140 2643] [3802 2734] [4140 935] [938 773] [4140 278] [3795 2734] [4140 278] [3744 2983] [4139 2710] [3787 2747] [4138 2710] [687 224] [4138 935] [3782 3148] [4138 130] [1003 966] [4137 3099] [3777 3143] [4137 2705] [679 563] [4137 275] [3772 3364] [4136 2711] [583 125] [4136 2702] [3763 3090] [4136 88] [679 548] [4135 2712] [3757 3089] [4135 126] [898 -5] [4135 84] [3757 3085] [4134 122] [633 139] [4133 120] [3754 3085] [4132 2697] [899 978] [4132 260] [3754 2826] [4132 119] [632 43] [4131 2711] [3754 2798] [4131 263] [872 193] [4131 258] [3745 2800] [4130 2645] [456 41] [4130 276] [3734 3354] [4130 274] [384 112] [4130 274] [3560 3270] [4129 273] [451 39] [4129 272] [3545 3263] [4128 2712] [859 241] [4128 79] [3401 3182] [4127 2646] [435 27] [4127 78] [3397 3176] [4126 2710] [878 -11] [4126 2695] [3386 3154] [4126 2669] [426 12] [4126 2643] [3357 3017] [4125 2674] [820 597] [4124 2718] [3341 2998] [4124 2716] [413 0] [4124 2711] [3320 2971] [4124 2668] [383 -33] [4124 2667] [3316 2968] [4124 2666] [743 370] [4124 2661] [3313 15] [4123 2708] [359 162] [4123 2667] [3306 -51] [4123 2662] [832 1054] [4123 2660] [3305 9] [4123 113] [348 113] [4122 2695] [3300 -37] [4122 2674] [718 598] [4122 2668] [3298 -35] [4122 2666] [318 189] [4122 2661] [3297 2944] [4122 2651] [1675 655] [4122 72] [3293 -49] [4121 2665] [274 -15] [4121 2660] [3286 2942] [4121 2653] [642 216] [4120 2702] [3285 2943] [4120 2652] [259 23] [4120 101] [3282 -61] [4120 73] [772 1066] [4120 73] [3277 2922] [4119 2682] [3937 3371] [4119 2660] [3235 2888] [4119 74] [192 163] [4118 2682] [3228 2895] [4118 2681] [597 63] [4118 73] [3226 2858] [4117 2680] [186 124] [4117 69] [3226 2855] [4116 2691] [1310 685] [4116 2679] [3224 2891] [4115 2689] [21 142] [4115 2680] [3215 2839] [4115 2667] [437 22] [4114 2681] [3211 2996] [4114 2655] [10 154] [4114 97] [3196 3020] [4113 2701] [347 -48] [4113 2669] [3190 2821] [4112 2689] [313 248] [4112 2656] [3189 2815] [4112 2656] [269 -11] [4111 2670] [3175 2998] [4111 2657] [256 -63] [4111 2655] [3170 2810] [4110 2679] [125 109] [4110 2659] [3169 2991] [4110 2654] [628 212] [4110 63] [3167 2806] [4109 2666] [46 40] [4109 2657] [3166 2803] [4109 270] [56 75] [4108 2683] [3159 2958] [4108 2665] [35 37] [4108 2662] [3154 2947] [4108 2657] [745 -6] [4108 2655] [3148 2974] [4107 2661] [596 65] [4107 250] [3145 2971] [4107 88] [2627 2219] [4107 71] [3145 2775] [4106 2696] [2623 1609] [4106 2693] [3122 2753] [4106 248] [4160 3486] [4105 2698] [3120 2850] [4105 2660] [2622 1643] [4104 2691] [3109 2830] [4104 2665] [4160 271] [4104 2661] [3096 2931] [4104 2658] [4160 -64] [4104 280] [3095 2822] [4104 257] [4160 103] [4103 3471] [3079 2860] [4103 2657] [2620 1591] [4103 2651] [3077 2790] [4102 2650] [4148 2641] [4101 3105] [3073 2685] [4101 2692] [2617 1561] [4101 270] [3063 2853] [4100 2657] [4130 3477] [4100 2649] [3055 2846] [4100 272] [712 211] [4100 271] [3024 2595] [4099 267] [4112 2683] [4099 262] [3003 2820] [4099 256] [2616 1561] [4098 278] [2999 2682] [4098 255] [4105 3104] [4097 923] [2979 2572] [4097 291] [2614 1646] [4097 281] [2967 2705] [4097 279] [4074 3146] [4097 275] [2964 2566] [4096 2660] [2612 1566] [4095 2700] [2963 2700] [4095 274] [4074 3136] [4095 262] [2963 2564] [4094 2700] [2611 1641] [4094 2699] [2961 2698] [4094 2696] [4073 3457] [4094 2693] [2947 2690] [4094 2693] [2610 1640] [4094 277] [2935 2684] [4094 263] [4072 305] [4093 2703] [2907 2620] [4093 2701] [3994 921] [4093 2692] [2831 2474] [4093 300] [4069 313] [4092 3109] [2758 2431] [4092 301] [4084 3462] [4091 2707] [2679 2360] [4091 278] [4068 903] [4090 2688] [2672 2355] [4089 311] [3955 3388] [4088 2686] [2664 2223] [4087 2688] [4044 2704] [4087 2686] [2653 2220] [4086 3112] [2610 1628] [4086 2710] [2646 2285] [4085 2710] [4010 294] [4085 2709] [2634 2250] [4084 2708] [3927 257] [4084 313] [2632 2282] [4084 310] [3990 420] [4082 309] [2608 1601] [4080 3117] [4064 904] [4080 2699] [2604 2226] [4079 3122] [3989 926] [4078 3125] [251 203] [4078 2659] [3882 2691] [4078 908] [2604 1657] [4077 2652] [3985 898] [4077 69] [2601 1637] [4075 2699] [2599 1624] [4074 2700] [2599 1507] [4074 307] [3986 3230] [4073 2699] [2597 1509] [4073 907] [3786 2755] [4071 313] [2596 1659] [4070 2699] [3974 862] [4070 307] [2591 1633] [4069 2703] [3822 2736] [4069 2702] [2589 1586] [4069 2701] [3966 3240] [4069 2700] [2588 1639] [4069 904] [3478 3239] [4068 307] [2577 2188] [4067 2704] [3960 279] [4067 369] [2574 2183] [4067 308] [2559 1455] [4065 3177] [2557 1687] [4065 2708] [3953 779] [4065 368] [2554 1722] [4065 366] [3173 2995] [4065 360] [2551 1468] [4065 309] [3936 479] [4065 307] [2551 1447] [4064 3184] [3762 3115] [4064 3184] [2549 2108] [4064 3180] [3931 268] [4064 339] [2546 1587] [4063 378] [3140 2967] [4063 347] [2544 1879] [4062 378] [3898 815] [4062 377] [2541 1879] [4062 344] [4106 70] [4062 342] [2040 819] [4061 379] [3898 813] [4060 3200] [2540 2098] [4059 2707] [2983 2576] [4057 2707] [2538 1985] [4052 329] [3896 585] [4051 2705] [2591 1522] [4050 2706] [3302 5] [4050 78] [2535 1899] [4049 380] [3885 3346] [4049 327] [2531 1425] [4048 314] [2890 2589] [4046 2705] [2523 1609] [4045 2701] [3883 616] [4045 2699] [2520 1574] [4045 312] [3935 504] [4044 383] [2368 1216] [4044 311] [3878 676] [4043 2699] [2517 1465] [4043 326] [2670 2350] [4040 2693] [2516 1460] [4040 2686] [3881 617] [4040 2684] [1753 661] [4039 3217] [2513 1457] [4039 2692] [2511 1398] [4039 2687] [3877 3346] [4039 311] [2278 1181] [4038 3227] [2505 1432] [4038 2697] [2478 1393] [4038 2685] [3853 -57] [4037 3226] [2476 1383] [4036 3233] [3849 -64] [4034 3220] [2427 1312] [4034 306] [3855 3228] [4034 61] [2270 1131] [4033 2689] [2425 1312] [4033 308] [2423 1306] [4032 3224] [3845 3229] [4032 3221] [1561 601] [4032 392] [2416 1302] [4032 323] [2415 1262] [4032 307] [3837 3228] [4032 305] [2025 806] [4031 2687] [2414 1295] [4030 3223] [2406 1361] [4030 2686] [3832 -12] [4028 3242] [2410 1340] [4028 3237] [3105 2737] [4028 3222] [2405 1272] [4027 3240] [3828 3365] [4026 2688] [2402 1364] [4025 301] [1959 749] [4023 316] [2390 1381] [4021 2677] [3822 -38] [4020 299] [2376 1319] [4019 3241] [1545 600] [4015 3242] [2373 1287] [4015 3240] [3816 -55] [4015 2676] [2372 1222] [4014 3243] [1598 608] [4014 3243] [2371 1295] [4014 3242] [3805 3183] [4014 3239] [2371 1285] [4013 3244] [2371 1272] [4013 302] [2367 1214] [4012 3243] [3803 -59] [4012 3240] [1459 578] [4011 2677] [2363 1213] [4011 2674] [2352 1206] [4010 3238] [3765 2782] [4010 413] [1074 896] [4009 3235] [2342 1207] [4009 2672] [2332 1179] [4009 417] [3760 3361] [4008 3238] [1432 613] [4008 2673] [2328 1205] [4008 418] [2327 1220] [4007 3237] [3757 2839] [4006 3236] [1300 697] [4006 421] [2824 2470] [4006 295] [2325 1200] [4005 2673] [3748 3078] [4005 294] [2322 1232] [4002 2684] [1341 697] [4002 2682] [2322 1174] [4001 310] [3745 3077] [4000 2683] [2320 1245] [4000 2678] [1009 779] [4000 311] [2319 1251] [4000 304] [3743 2983] [4000 304] [2312 1190] [3998 2678] [1320 681] [3998 415] [2298 1049] [3997 310] [3739 3038] [3997 305] [2295 1148] [3997 298] [2291 1050] [3996 2676] [2288 1215] [3996 414] [3641 3314] [3996 312] [1314 729] [3996 309] [2285 1162] [3996 306] [2285 1064] [3995 918] [3615 3305] [3995 319] [889 13] [3994 300] [2283 1063] [3993 919] [2281 1192] [3992 407] [3583 3288] [3992 312] [1246 660] [3992 299] [2280 1148] [3990 925] [2277 1061] [3989 924] [3526 3261] [3988 314] [2290 1086] [3986 299] [3932 3242] [3985 421] [2269 1077] [3985 392] [3485 3248] [3985 319] [2262 1088] [3984 927] [1179 745] [3984 885] [2260 1110] [3984 420] [3435 3208] [3984 416] [2260 1091] [3984 393] [749 214] [3983 884] [2258 1128] [3983 458] [3383 3056] [3983 415] [2258 1119] [3983 293] [947 943] [3982 880] [2245 1071] [3982 425] [3382 3052] [3981 423] [2245 1058] [3980 421] [861 1053] [3980 420] [2233 1090] [3980 292] [3345 3003] [3979 455] [2231 1065] [3978 451] [879 756] [3978 444] [2230 1079] [3978 416] [3293 -58] [3978 295] [2229 1026] [3977 867] [719 658] [3977 450] [2229 996] [3977 447] [3267 -59] [3977 443] [2223 1004] [3977 415] [814 603] [3977 296] [2219 1070] [3974 3242] [3266 -53] [3972 854] [2214 1053] [3972 432] [-64 4160] [3972 430] [2200 1027] [3971 3401] [3220 2848] [3971 3401] [2196 1054] [3970 3400] [809 49] [3970 3397] [2194 1026] [3970 452] [3207 2835] [3970 445] [2191 1034] [3969 454] [682 611] [3969 446] [2183 1008] [3968 832] [3159 2796] [3968 440] [2178 1041] [3968 438] [789 1057] [3967 3397] [2162 956] [3967 831] [3158 2791] [3967 449] [2148 932] [3967 444] [779 -56] [3966 3396] [2145 928] [3966 824] [2953 2694] [3966 824] [2613 1609] [3965 931] [2139 919] [3963 443] [760 215] [3961 462] [2922 2661] [3961 446] [2137 894] [3960 466] [2603 1614] [3960 456] [2136 892] [3958 808] [2853 2501] [3956 466] [551 108] [3956 280] [2133 874] [3955 3244] [2592 1629] [3955 286] [2701 2393] [3954 3245] [2127 912] [3954 3243] [753 1089] [3954 470] [2124 914] [3953 3244] [2566 1720] [3952 474] [2122 865] [3952 441] [832 706] [3950 3382] [2106 843] [3948 470] [2548 1492] [3947 499] [2101 844] [3947 494] [727 591] [3946 483] [2089 809] [3946 472] [2545 2022] [3946 469] [2088 818] [3945 481] [390 -30] [3945 470] [2043 768] [3944 772] [2544 2029] [3944 292] [2034 732] [3943 491] [562 116] [3941 494] [2030 735] [3940 493] [2542 1865] [3939 777] [2029 804] [3939 503] [191 148] [3939 496] [2029 741] [3938 3372] [2527 1924] [3938 495] [2028 733] [3937 484] [435 68] [3937 269] [2001 805] [3935 771] [2525 1429] [3934 270] [1986 786] [3934 265] [359 115] [3933 3245] [1983 804] [3932 488] [2483 1427] [3932 269] [1980 787] [3931 3243] [397 -14] [3931 257] [1977 766] [3929 3247] [2476 1391] [3929 264] [1973 761] [3929 261] [1966 809] [3928 3245] [2465 1412] [3928 258] [1962 753] [3927 3245] [249 -3] [3927 256] [1961 806] [3924 2677] [2460 1414] [3924 515] [1954 762] [3923 2671] [349 173] [3922 2678] [1945 799] [3922 770] [2458 1416] [3922 536] [1937 781] [3922 536] [129 105] [3921 3247] [3756 2911] [3921 2679] [1860 723] [3921 771] [2450 1417] [3921 538] [1859 724] [3920 3356] [1852 700] [3920 2679] [2414 1257] [3920 2679] [1848 717] [3920 2665] [70 116] [3920 533] [1845 717] [3919 3354] [2410 1290] [3919 2673] [1839 696] [3919 520] [254 -63] [3917 540] [1835 667] [3916 530] [2406 1398] [3916 530] [1761 654] [3915 3249] [1602 619] [3914 3357] [3746.667 3072.667] [3914 3250] [2393 1308] [3914 560] [1602 616] [3914 548] [728 -11] [3913 558] [1598 629] [3912 554] [2369 1274] [3911 3354] [1563 599] [3911 555] [1554 615] [3911 551] [2349 1207] [3908 3252] [1554 598] [3908 772] [13 39] [3908 563] [1534 582] [3907 774] [4116 276] [3906 3347] [2337 1166] [3906 772] [1520 556] [3904 779] [1517 595] [3904 777] [2332 1202] [3904 769] [1516 561] [3903 800] [1510 566] [3903 791] [2328 1238] [3903 768] [4010 293] [3903 577] [1502 571] [3902 807] [1492 568] [3902 807] [2323 1204] [3901 808] [1468 574] [3900 812] [1462 552] [3899 3346] [2279 1117] [3899 808] [1456 571] [3899 808] [3999 919] [3899 804] [1451 625] [3898 3351] [2264 1134] [3898 3345] [1445 562] [3897 3350] [4049 901] [3897 3254] [987 896] [3895 3347] [1444 574] [3895 776] [2210 1043] [3894 775] [3979 874] [3892 3256] [1443 575] [3892 600] [1438 586] [3891 2686] [2193 989] [3890 2687] [4160 103] [3890 765] [1434 611] [3889 2686] [1430 589] [3886 3349] [2186 980] [3884 2690] [3973 2684] [3882 2677] [1405 576] [3882 719] [1393 662] [3881 2684] [2177 974] [3881 761] [1387 686] [3881 721] [1386 687] [3881 613] [2123 874] [3880 2685] [1383 683] [3880 723] [3963 2679] [3879 3348] [1381 575] [3879 3344] [2118 874] [3879 726] [1362 691] [3879 726] [4091 3464] [3879 724] [1352 707] [3879 706] [2106 855] [3879 700] [1342 707] [3879 660] [3957 802] [3879 658] [1342 544] [3878 3347] [2103 793] [3878 3238] [1337 704] [3878 2695] [3688 3332] [3878 736] [1321 733] [3878 733] [2042 760] [3878 705] [1318 587] [3878 703] [3933 772] [3878 685] [1314 681] [3878 662] [1977 755] [3878 662] [1312 683] [3877 746] [4012 392] [3877 669] [1305 566] [3877 667] [1961 761] [3876 3345] [1300 642] [3875 3344] [3885 623] [3874 3345] [1290 574] [3873 2697] [1831 702] [3872 2690] [1286 736] [3871 2690] [4040 904] [3870 2700] [1285 579] [3869 2680] [1789 687] [3869 2679] [1281 678] [3868 3348] [3887 613] [3868 3236] [1276 727] [3868 2685] [1762 675] [3868 2681] [1276 721] [3867 3343] [3990 2688] [3867 2677] [1275 597] [3866 3343] [1724 658] [3866 2679] [1255 634] [3865 2705] [3834 -15] [3863 2706] [1202 697] [3857 3351] [1566 620] [3855 -56] [1182 805] [3853 -60] [3611 3304] [3851 3356] [1405 580] [3851 -44] [1178 719] [3851 -51] [1519 575] [3851 -61] [3833 -51] [3850 3357] [1172 825] [3850 -53] [1168 812] [3846 -45] [1479 572] [3841 -54] [3980 2686] [3840 3230] [1165 828] [3840 -53] [1158 834] [3838 -17] [1471 578] [3835 -44] [3809 -53] [3834 3362] [1135 840] [3558 3268] [1123 857] [3834 -19] [1442 562] [3552 3265] [1091 885] [3832 -25] [2593 1509] [3550 3264] [1089 887] [3541 3267] [1434 664] [3831 -26] [3804 3179] [3530 3263] [1065 918] [3829 3228] [1041 937] [3528 3262] [1409 583] [3518 3260] [3771 2871] [3827 3220] [1022 950] [3505 3255] [1022 813] [3826 -64] [1384 671] [3501 3254] [3770 3135] [3487 3249] [996 750] [3825 3217] [993 988] [3474 3235] [1369 536] [3823 2734] [984 979] [3823 -37] [835 6] [3822 3212] [982 1003] [3822 2733] [1347 700] [3821 3367] [3767 2890] [3821 -42] [975 992] [3821 -55] [973 757] [3820 3368] [1340 542] [3820 3211] [3679 3329] [3820 -43] [971 942] [3819 3210] [964 769] [3819 -35] [1340 534] [3819 -45] [3760 2795] [3818 3207] [962 779] [3818 -36] [962 769] [3817 3204] [1304 607] [3817 -54] [961 940] [3816 3203] [857 1004] [3813 3372] [960 932] [3813 2735] [1302 634] [3812 2731] [3740 3047] [3812 -54] [953 1013] [3806 2733] [929 759] [3804 2733] [1303 568] [3804 2731] [3516 3259] [3803 3372] [926 1023] [3803 2730] [2407 1337] [3801 3373] [923 1038] [3800 2742] [3480 3244] [3800 2740] [1285 731] [3799 2739] [872 764] [3798 2743] [871 304] [3796 2737] [1227 683] [3793 2751] [868 1044] [3792 3159] [231 -64] [3791 3158] [866 185] [3791 2750] [3289 -42] [3788 2746] [1211 766] [3788 2746] [865 311] [3788 2744] [864 1008] [3787 2751] [1208 687] [3787 2750] [863 765] [3787 2745] [2397 1341] [3787 2743] [860 177] [3786 2743] [3256 2906] [3785 2747] [1109 867] [3785 2745] [858 30] [3781 2757] [2596 2215] [3781 2757] [850 1042] [3781 2755] [1075 911] [3780 2760] [850 779] [3779 2759] [856 324] [3777 2759] [2648 2290] [3777 2757] [850 773] [3776 3367] [1066 924] [3776 2765] [848 1037] [3775 2762] [2593 1631] [3775 2758] [844 1045] [3772 2765] [1027 881] [3772 2759] [841 327] [3771 2868] [2215 1046] [3771 2759] [841 26] [3770 2880] [1021 807] [3770 2866] [835 -57] [3770 2765] [2542 2050] [3770 2758] [833 746] [3769 3129] [1020 875] [3769 2884] [825 -27] [3769 2867] [1912 758] [3768 2869] [823 744] [3767 2865] [1020 773] [3767 2775] [815 598] [3766 2867] [2513 1462] [3766 2774] [809 -22] [3765 2773] [1007 880] [3764 2786] [807 616] [3763 2859] [2013 761] [3763 2856] [802 1077] [3761 3360] [986 746] [3761 2853] [801 631] [3761 2794] [2431 1395] [3761 2781] [795 1066] [3761 2773] [972 943] [3760 3099] [793 1089] [3760 3094] [704 -7] [3760 3091] [793 635] [3758 3094] [967 752] [3758 2844] [792 -46] [3758 2805] [2421 1286] [3757 2847] [788 50] [3757 2811] [891 986] [3756 3095] [786 48] [3756 2801] [1720 657] [3755 2830] [781 221] [3755 2825] [885 -8] [3755 2825] [779 1091] [3755 2817] [2397 1395] [3755 2814] [779 361] [3755 2805] [882 16] [3755 2803] [775 46] [3755 2801] [2129 847] [3755 2799] [772 367] [3755 2776] [857 1042] [3755 2774] [771 221] [3754 2824] [2385 1308] [3754 2806] [768 209] [3754 2775] [849 229] [3754 2773] [767 1093] [3753 2801] [1707 654] [3752 2824] [766 218] [3752 2822] [847 1008] [3752 2801] [760 1090] [3751 2807] [2276 1013] [3750 2803] [758 1104] [3750 2801] [837 31] [3747 2803] [757 220] [3746 2803] [424 102] [3744 2981] [751 365] [3744 2980] [833 1013] [3744 2804] [746 361] [3744 2798] [2272 1089] [3744 2797] [736 45] [3743 3023] [825 3] [3743 2797] [733 28] [3743 2796] [1656 657] [3742 3359] [732 579] [3742 3065] [816 199] [3741 3029] [728 34] [3740 3358] [2250 1063] [3740 3030] [722 676] [3738 3033] [794 52] [3738 3033] [721 660] [3737 3040] [1435 607] [3727 3348] [719 1090] [3726 3348] [792 -57] [3724 3347] [712 1094] [3698 3333] [2221 1004] [3692 3333] [712 374] [3656 3325] [783 46] [3650 3321] [711 1128] [3648 3321] [736 211] [3643 3317] [709 611] [3642 3315] [782 1063] [3593 3297] [698 424] [3575 3284] [2188 986] [3575 3284] [696 1111] [3567 3279] [774 1071] [3566 3278] [696 430] [3561 3272] [695 374] [3491 3251] [770 1113] [3473 3232] [694 411] [3460 3222] [2149 923] [3447 3215] [692 579] [3445 3211] [763 1104] [3444 3214] [689 403] [3441 3210] [711 368] [3440 3210] [687 581] [3439 3210] [749 1115] [3436 3209] [682 630] [3429 3207] [2132 851] [3424 3203] [3944 484] [3421 3200] [678 624] [3413 3198] [734 43] [3412 3194] [676 576] [3409 3187] [674 614] [3406 3186] [723 595] [3404 3094] [669 545] [3403 3108] [2104 829] [3403 3098] [668 544] [3402 3138] [723 663] [3402 3135] [666 546] [3401 3139] [672 616] [3401 3093] [655 456] [3399 3140] [701 586] [3399 3116] [653 484] [3398 3118] [2045 773] [3397 3130] [3747 2944] [3395 3130] [642 528] [3395 3089] [698 220] [3394 3131] [637 499] [3389 3163] [635 141] [3384 3152] [691 413] [3382 3149] [632 522] [3380 3045] [2037 740] [3380 3043] [619 186] [3380 3043] [688 522] [3371 3031] [618 41] [3368 3029] [630 520] [3368 3027] [604 51] [3349 3010] [658 38] [3346 3003] [599 158] [3343 2999] [1985 775] [3330 2984] [3924 3362] [3329 2983] [594 58] [3317 2969] [650 481] [3317 -35] [581 73] [3316 -36] [823 53] [3313 -43] [564 118] [3312 17] [630 136] [3305 2960] [554 91] [3305 -63] [1827 678] [3304 2958] [550 87] [3304 -43] [628 38] [3304 -45] [542 90] [3303 2957] [614 131] [3303 7] [463 57] [3303 1] [616 200] [3303 -34] [448 30] [3303 -53] [1649 659] [3301 -37] [437 25] [3300 2950] [616 43] [3299 2953] [433 24] [3299 2952] [402 115] [3298 2951] [604 130] [3298 2944] [400 113] [3298 -7] [1458 558] [3298 -58] [366 111] [3297 -2] [595 145] [3297 -8] [362 108] [3297 -39] [342 214] [3297 -59] [356 151] [3296 2944] [571 79] [3296 -1] [351 145] [3296 -46] [1441 646] [3295 2945] [3468 3227] [3294 -42] [351 101] [3293 2946] [448 42] [3292 -62] [351 97] [3292 -64] [1330 576] [3291 2948] [349 143] [3291 -49] [431 72] [3291 -51] [347 -48] [3290 -12] [1400 574] [3289 2945] [344 231] [3288 2943] [428 101] [3287 2946] [337 140] [3286 2945] [341 -53] [3283 2940] [329 223] [3283 -25] [401 89] [3281 2939] [328 229] [3279 -32] [1162 826] [3278 2931] [328 227] [3278 2931] [402 97] [3278 -33] [322 211] [3277 2932] [909 969] [3277 2929] [319 227] [3277 2922] [395 87] [3276 2934] [318 202] [3275 2932] [1016 854] [3275 2931] [318 -46] [3274 2929] [379 -38] [3272 2919] [308 245] [3270 2921] [297 235] [3270 2915] [374 112] [3268 2920] [287 8] [3267 -39] [1002 959] [3266 2918] [286 16] [3266 2911] [347 145] [3265 2916] [278 26] [3265 2912] [819 -61] [3264 2915] [276 -17] [3263 2916] [345 -46] [3262 2915] [274 20] [3262 2908] [960 1007] [3262 -54] [4130 277] [3261 2912] [265 6] [3261 -55] [343 144] [3259 2912] [263 -55] [3258 2908] [262 211] [3257 2907] [334 -57] [3257 -63] [262 14] [3254 -61] [852 1007] [3248 2903] [260 209] [3244 2901] [327 184] [3243 2899] [254 4] [3242 2897] [766 1071] [3240 2893] [230 -15] [3239 2880] [326 225] [3239 2880] [210 190] [3238 2891] [847 1055] [3237 2883] [4021 3447] [3237 2882] [201 178] [3236 2895] [325 -57] [3236 2887] [192 156] [3236 2887] [72 93] [3231 2886] [323 203] [3229 2896] [70 100] [3229 2889] [823 11] [3227 2858] [69 86] [3224 2892] [322 245] [3224 2889] [67 44] [3224 2854] [58 34] [3222 2887] [315 192] [3221 2851] [51 69] [3219 2860] [799 -62] [3218 2884] [50 55] [3218 2884] [4015 3443] [3217 2887] [300 214] [3217 2883] [41 25] [3215 2882] [29 116] [3215 2863] [295 237] [3214 2886] [26 120] [3214 2881] [742 1116] [3214 2864] [24 122] [3213 2886] [4160 949.667] [3213 2837] [252 16] [3212 3003] [23 129] [3212 3003] [7 157] [3212 2998] [246 187] [3212 2876] [1844.6670000000001 714.667] [3212 2874] [602 131] [3211 3008] [305 -63] [3209 2992] [3945 499] [3208 2835] [244 190] [3208 2832] [800 -64] [3207 2831] [232 189] [3205 2990] [444 63] [3203 3015] [228 192] [3201 2988] [224 193] [3200 2987] [428 17] [3199 3017] [4106 64] [3199 2980] [72 93] [3199 2980] [60 52] [3199 2835] [407 117] [3198 3019] [51 64] [3194 2975] [50 41] [3193 2830] [393 -18] [3192 3024] [35 37] [3191 2825] [3841 3228] [3191 2822] [3258.333 -64] [3190 2822] [23 128] [3186 2813] [4160 3488.25] [3185 3025] [323 -44] [3185 2962] [4159 2642] [3185 2812] [18 145] [3184 3024] [4160 134] [3182 3020] [4149 3487] [3182 2814] [4159 3485] [3178 3004] [648 46] [3176 3001] [4158 3369] [3176 2955] [8 59] [3175 2953] [4159 949] [3175 2812] [318 246] [3174 2953] [4156 2644] [3172 2811] [3832 2731] [3171 2962] [4155 101] [3171 2957] [278 232] [3168 2964] [4154 99] [3168 2962] [245 183] [3167 2965] [4153 276] [3166 2803] [55 39] [3165 2804] [4153 94] [3164 2801] [4091 77] [3163 2798] [4151 275] [3162 2804] [41 19] [3161 2960] [4150 940] [3159 2781] [2613 1652] [3159 2776] [4149 937] [3158 2784] [2610 1610] [3158 2778] [4149 92] [3158 2776] [3751 3093] [3158 2774] [4148 3356] [3156 2954] [2279 1072] [3155 2953] [4147 3097] [3155 2928] [1396 524] [3153 2935] [4147 273] [3151 2919] [1561 606] [3148 2917] [4145 3362] [3148 2771] [2534 1642] [3146 2774] [4140 2708] [3146 2771] [1444 591] [3144 2910] [4140 271] [3143 2969] [2129 873] [3143 2909] [4139 132] [3143 2907] [4159 3092] [3143 2771] [4135 2716] [3141 2902] [3746 3072] [3141 2770] [4136 2704] [3140 2899] [4142 130] [3138 2769] [4136 268] [3137 2893] [1317 554] [3136 2963] [4134 271] [3136 2770] [4142 91] [3134 2893] [4134 267] [3134 2769] [4064 70] [3133 2962] [4133 265] [3132 2890] [4137 129] [3132 2768] [4132 2713] [3131 2887] [2296 1202] [3131 2766] [4131 80] [3129 2883] [4136 274] [3128 2763] [4129 257] [3127 2762] [3388 3077] [3126 2879] [4128 2710] [3125 2875] [4134 82] [3125 2875] [4129 2644] [3124 2872] [1263 625] [3124 2863] [4129 932] [3123 2860] [4132 934] [3122 2853] [4125 2714] [3121 2954] [3762 2900] [3121 2852] [4122 110] [3121 2851] [4126 2715] [3120 2954] [4121 71] [3120 2751] [940 950] [3120 2748] [4120 2694] [3119 2953] [4127 931] [3119 2847] [4118 267] [3119 2847] [3318 -36] [3119 2845] [4118 2703] [3118 2843] [4102 258] [3116 2950] [4117 2654] [3115 2842] [4147 2642] [3114 2949] [4116 272] [3111 2944] [4101 3470] [3111 2832] [4116 267] [3110 2942] [4009 3439] [3109 2942] [4113 2683] [3109 2942] [4099 3106] [3109 2941] [4113 96] [3107 2841] [4139 279] [3107 2837] [4111 2680] [3106 2842] [4099 2658] [3105 2944] [4110 2700] [3105 2841] [3314 2966] [3105 2835] [4109 2686] [3105 2826] [4097 72] [3104 2834] [4108 267] [3103 2945] [4110 3103] [3102 2824] [4108 75] [3101 2937] [4096 256] [3101 2835] [4108 73] [3101 2829] [4045 75] [3101 2727] [4105 247] [3100 2936] [4092 281] [3100 2834] [4104 3474] [3100 2728] [4075 3131] [3098 2933] [4104 276] [3098 2933] [4084 913] [3098 2825] [4104 260] [3098 2730] [3297 2952] [3098 2727] [4104 257] [3097 2932] [4072 906] [3096 2931] [4103 254] [3096 2930] [3996 297] [3096 2815] [4101 2655] [3095 2816] [4068 3175] [3095 2814] [4101 75] [3094 2933] [3980 921] [3094 2819] [4101 274] [3093 2929] [4055 68] [3092 2896] [4099 2650] [3091 2932] [3991 300] [3091 2922] [4098 277] [3091 2907] [4051 316] [3091 2899] [4099 261] [3091 2898] [1693 651] [3091 2895] [4097 62] [3090 2925] [4047 78] [3090 2919] [4096 3108] [3090 2909] [3955 2676] [3090 2893] [4095 277] [3090 2812] [4045 329] [3089 2924] [4095 262] [3089 2924] [3316 -43] [3089 2921] [4093 2704] [3089 2918] [4038 3229] [3089 2918] [4092 2704] [3089 2910] [3943 491] [3089 2880] [4093 2644] [3089 2811] [4038 3217] [3088 2920] [4092 276] [3087 2810] [862 182] [3087 2716] [4091 283] [3087 2709] [4035 3219] [3086 2809] [4091 3110] [3086 2708] [3939 3241] [3086 2707] [4091 2661] [3085 2870] [4012 303] [3085 2805] [4089 274] [3085 2702] [3962 442] [3083 2802] [4089 70] [3083 2699] [4009 411] [3081 2867] [4085 2661] [3081 2798] [3937 484] [3080 2793] [4084 2643] [3080 2698] [3997 2685] [3079 2792] [4085 274] [3079 2700] [659 40] [3077 2858] [4083 2645] [3076 2697] [3995 310] [3072 2787] [4080 3121] [3069 2854] [3920 3248] [3069 2679] [4079 2701] [3068 2786] [3993 3426] [3067 2854] [4080 2660] [3067 2675] [819 679] [3066 2673] [4080 312] [3064 2782] [3993 320] [3064 2669] [4077 3126] [3061 2851] [3917 3353] [3061 2666] [4077 2658] [3061 2666] [3982 459] [3061 2664] [4076 3126] [3061 2662] [2600 1502] [3060 2775] [4075 309] [3060 2771] [3982 457] [3060 2769] [4071 311] [3060 2653] [3903 794] [3059 2651] [4067 2705] [3056 2847] [3976 453] [3056 2747] [4068 304] [3056 2648] [1684 653] [3055 2752] [4066 372] [3055 2750] [3966 2681] [3048 2841] [4064 371] [3047 2840] [3900 793] [3047 2743] [4064 352] [3047 2602] [3965 3396] [3046 2836] [4064 347] [3046 2609] [2597 1648] [3046 2601] [4056 336] [3045 2834] [3960 811] [3045 2742] [4055 2708] [3044 2739] [3893 774] [3044 2619] [4053 331] [3044 2608] [3955 797] [3043 2832] [4052 334] [3043 2829] [757 371] [3043 2825] [4051 328] [3043 2821] [3945 274] [3043 2734] [4049 3209] [3043 2600] [3827 2735] [3042 2826] [4049 79] [3041 2820] [3944 480] [3040 2828] [4048 64] [3040 2598] [2583 1499] [3039 2831] [4047 313] [3039 2826] [3943 286] [3039 2725] [4045 66] [3039 2596] [3791 3371] [3037 2595] [4043 384] [3027 2828] [3944 277] [3026 2829] [4043 310] [3025 2831] [873 283] [3025 2721] [4042 2696] [3024 2719] [3941 275] [3024 2716] [4041 385] [3024 2713] [3743 2993] [3024 2712] [4041 3231] [3023 2834] [3936 268] [3022 2709] [4039 2685] [3020 2703] [2550 1724] [3020 2701] [4039 3231] [3020 2593] [3926 512] [3019 2700] [4036 60] [3016 2829] [3742 3024] [3015 2827] [4035 2690] [3014 2581] [3919 2678] [3011 2692] [4034 395] [3010 2820] [4160 3360] [3009 2691] [4033 323] [3009 2579] [3907 2681] [3007 2782] [4032 326] [3005 2580] [3722 3347] [3005 2580] [4029 62] [3002 2779] [3905 781] [3002 2765] [4028 2687] [3001 2782] [755 218] [3001 2779] [4020 298] [3001 2765] [3901 3351] [3001 2757] [4015 303] [3001 2745] [3303 -46] [3001 2743] [4014 2677] [3000 2816] [3900 774] [3000 2767] [4010 413] [3000 2758] [2540 1659] [3000 2750] [4010 3238] [3000 2683] [3890 611] [2999 2788] [4008 3231] [2999 2762] [3293 -17] [2999 2759] [4009 305] [2999 2751] [3889 764] [2999 2739] [4009 299] [2998 2813] [1636 654] [2998 2782] [4007 306] [2998 2765] [3884 3247] [2997 2785] [4005 422] [2997 2780] [2964 2596] [2997 2774] [4003 310] [2997 2772] [3882 2693] [2997 2768] [4001 393] [2997 2766] [2532 1630] [2997 2763] [4002 299] [2996 2779] [3872 3339] [2996 2734] [4000 2675] [2995 2784] [2855 2508] [2995 2766] [3999 388] [2994 2767] [3856 2716] [2994 2677] [3998 417] [2994 2583] [754 591] [2993 2783] [3996 2678] [2993 2771] [3854 -61] [2993 2769] [3994 2687] [2992 2782] [2478 1389] [2992 2676] [3993 417] [2991 2582] [3854 2719] [2990 2812] [3994 392] [2990 2777] [2454 1411] [2990 2731] [3993 419] [2989 2580] [3849 2722] [2988 2774] [3990 420] [2988 2677] [743 369] [2988 2579] [3985 927] [2987 2775] [3833 3225] [2987 2726] [3984 416] [2985 2809] [2451 1425] [2985 2723] [3984 396] [2985 2672] [3832 -21] [2984 2809] [3985 294] [2983 2808] [1369 560] [2983 2721] [3982 920] [2982 2807] [3817 2739] [2982 2778] [3981 879] [2982 2667] [2383 1369] [2980 2798] [3979 293] [2979 2719] [3804 2745] [2979 2665] [3979 457] [2978 2796] [666 438] [2978 2716] [3977 457] [2977 2795] [3774 2767] [2977 2778] [3976 442] [2977 2659] [2357 1203] [2976 2713] [3974 3236] [2975 2656] [3761 3088] [2975 2641] [3974 923] [2975 2641] [681 226] [2975 2638] [3973 3236] [2975 2637] [3752 3083] [2974 2779] [3973 925] [2974 2711] [2341 1176] [2974 2654] [3973 858] [2974 2651] [3737 3356] [2974 2634] [3973 437] [2972 2793] [620 206] [2972 2631] [3971 3235] [2972 2627] [3700 3336] [2972 2623] [3971 853] [2972 2620] [2267 1149] [2972 2569] [3970 850] [2971 2778] [3590 3294] [2971 2710] [3970 452] [2971 2614] [1023 798] [2970 2568] [3970 285] [2969 2790] [3555 3267] [2968 2788] [3969 450] [2968 2575] [4115 928] [2968 2575] [3967 3399] [2967 2612] [3539 3266] [2967 2574] [3968 3239] [2967 2567] [2187 1005] [2966 2611] [3968 2682] [2966 2608] [3497 3253] [2966 2608] [3965 823] [2965 2703] [448 57] [2965 2607] [3963 821] [2965 2567] [3470 3230] [2964 2785] [3962 818] [2963 2783] [2030 718] [2961 2784] [3962 282] [2961 2562] [3418 3201] [2960 2782] [3961 816] [2960 2563] [2000 804] [2958 2782] [3959 467] [2958 2561] [3398 3091] [2957 2781] [3958 461] [2957 2561] [1891 741] [2957 2559] [3958 457] [2956 2778] [3378 3040] [2956 2775] [3955 462] [2955 2776] [862 317] [2955 2774] [3953 277] [2938 2684] [3373 3034] [2936 2683] [3951 3384] [2927 2672] [1891 734] [2926 2668] [3951 774] [2925 2667] [3328 2980] [2918 2644] [3948 494] [2915 2639] [1858 675] [2914 2638] [3946 493] [2913 2643] [3315 -39] [2913 2640] [3945 2675] [2910 2621] [660 12] [2903 2616] [3943 2676] [2902 2614] [3310 11] [2901 2613] [3942 272] [2884 2570] [1774 680] [2883 2579] [3940 500] [2883 2575] [3310 -54] [2883 2571] [3941 497] [2882 2579] [1627 644] [2881 2573] [3941 492] [2881 2572] [3308 2962] [2878 2559] [3938 776] [2873 2556] [711 581] [2869 2544] [3936 2675] [2862 2533] [3300 2955] [2862 2524] [3934 273] [2861 2525] [1543 584] [2861 2523] [3932 480] [2860 2522] [3295 -3] [2860 2521] [3933 264] [2860 2520] [1522 561] [2859 2521] [3931 262] [2857 2520] [3290 2947] [2856 2521] [3929 283] [2854 2502] [2228 1022] [2837 2479] [3929 261] [2817 2463] [3288 -27] [2814 2462] [3928 280] [2813 2463] [3297 2953] [2813 2462] [3928 770] [2812 2463] [3277 -36] [2810 2461] [3928 511] [2808 2465] [1387 570] [2806 2464] [3926 255] [2803 2455] [3267 2919] [2799 2448] [3926 770] [2784 2448] [4160 95.61500000000001] [2782 2447] [3924 3246] [2778 2446] [3213 2865] [2775 2445] [3922 2672] [2773 2444] [1293 736] [2770 2443] [3921 535] [2767 2441] [3195 2833] [2765 2438] [3920 2678] [2764 2435] [2614 1604] [2763 2434] [3919 2676] [2761 2433] [3191 2822] [2760 2432] [3917 2675] [2756 2429] [334 -55] [2754 2428] [3917 532] [2751 2427] [3132 2961] [2747 2426] [3913 550] [2746 2425] [4102 85] [2744 2426] [3912 3356] [2741 2426] [3123 2955] [2736 2426] [3913 550] [2734 2425] [2608 1610] [2731 2424] [3912 543] [2708 2421] [3113 2746] [2707 2420] [3912 3352] [2705 2419] [1197 784] [2703 2411] [3911 559] [2702 2418] [3055 2641] [2702 2401] [3910 552] [2699 2385] [2606 1599] [2695 2384] [3911 541] [2692 2374] [3047 2631] [2691 2382] [3910 3251] [2691 2371] [4096 290] [2690 2380] [3909 540] [2690 2377] [3020 2833] [2690 2369] [3909 2680] [2677 2358] [2601 2223] [2676 2358] [3907 564] [2674 2357] [3019 2584] [2665 2345] [3906 779] [2664 2343] [1131 849] [2664 2222] [3906 569] [2663 2340] [2987 2578] [2663 2221] [3906 3351] [2661 2337] [2599 2214] [2661 2221] [3904 574] [2660 2220] [2949 2693] [2659 2336] [3903 784] [2659 2219] [4082 2647] [2659 2218] [3903 3348] [2658 2334] [2941 2686] [2657 2222] [3903 781] [2656 2331] [2598 1638] [2655 2329] [3901 770] [2654 2222] [2892 2592] [2654 2220] [3901 3350] [2654 2218] [2629 1600] [2654 2215] [3901 3347] [2653 2217] [2852 2497] [2652 2218] [3900 802] [2651 2326] [2629 1596] [2650 2295] [3900 786] [2650 2222] [2833 2477] [2650 2219] [3900 3351] [2649 2325] [4071 71] [2649 2292] [3899 813] [2648 2299] [2801 2451] [2648 2220] [3894 3255] [2647 2301] [1017 849] [2646 2322] [3891 605] [2646 2302] [2628 2239] [2644 2317] [3887 3342] [2644 2316] [2628 2220] [2644 2283] [3886 2688] [2643 2313] [2596 1507] [2642 2302] [3885 3249] [2640 2216] [2627 2222] [2638 2283] [3886 762] [2638 2254] [2626 2248] [2636 2284] [3884 614] [2636 2217] [4006 918] [2635 2255] [3884 761] [2635 2252] [2626 2237] [2634 2253] [3882 2679] [2631 2252] [2625 2233] [2631 2221] [3882 753] [2630 2280] [2579 1721] [2630 2250] [3882 720] [2630 2240] [4160 4160] [2630 2220] [3882 635] [2630 1599] [2625 2230] [2625 1594] [3883 618] [879 1049] [2624 2273] [2624 1627] [3883 614] [2556 1449] [2624 1626] [2623 2239] [3881 3245] [2623 2224] [3949 282] [2623 1628] [3882 2687] [2554 1483] [2622 2236] [2622 2228] [3882 611] [866 252] [2622 2228] [2622 2224] [3881 3343] [2541 1583] [2622 1632] [2622 1619] [3881 654] [2622 1616] [4160 3488.5] [2622 1592] [3879 655] [2535 1983] [2622 1580] [2621 2264] [3878 680] [864 31] [2621 2260] [2621 2226] [3878 676] [2535 1898] [2621 1647] [2620 2257] [3879 615] [767 -62] [3904 3253] [2619 2253] [3877 696] [2619 2224] [2531 1623] [2619 1585] [3877 663] [2619 1560] [861 175] [2618 2235] [3877 743] [2618 2233] [2530 1579] [2618 1575] [3876 3345] [2618 1556] [2617 2245] [2617 2235] [3876 2696] [2527 1577] [2617 2233] [2617 2230] [3875 3337] [856 1044] [2617 2230] [2617 2223] [3873 3347] [2526 1612] [2617 2220] [2617 1612] [3869 2684] [2617 1590] [3876 745] [2617 1563] [3868 3346] [2524 1471] [2616 2251] [2616 2249] [3866 2676] [840 1011] [2616 2249] [2616 2247] [3858 -53] [2517 1592] [2616 2233] [2616 1552] [3857 -51] [2616 1547] [4129 3101] [2615 1641] [3856 -48] [2517 1431] [2615 1641] [2615 1637] [3855 -59] [831 741] [2615 1631] [2615 1605] [3855 -59] [2514 1435] [2614 1617] [2614 1546] [3850 -45] [2613 1643] [3355 3015] [2613 1619] [3850 -62] [2508 1397] [2613 1545] [2612 1627] [3842 3230] [796 1071] [2612 1569] [2612 1546] [3841 2728] [2504 1418] [2611 2230] [2611 1620] [3840 3361] [2611 1609] [4063 66] [2610 1550] [3839 -22] [2454 1415] [2610 1546] [2609 1658] [3837 -45] [787 352] [2609 1647] [2609 1568] [3836 -16] [2439 1399] [2609 1567] [2608 1626] [3834 2730] [2606 2228] [3293 -52] [2606 1659] [3833 -23] [2434 1394] [2606 1645] [2606 1616] [3832 -10] [747 1081] [2606 1613] [2606 1533] [3831 3226] [2430 1336] [2605 1620] [2605 1540] [3830 -25] [2605 1530] [4063 3187] [2603 1647] [3830 -27] [2414 1398] [2603 1589] [2603 1529] [3830 3223] [733 39] [2602 2219] [3828 3222] [2403 1274] [2602 1621] [2602 1613] [3828 -49] [2601 2218] [3156 2983] [2601 2218] [3827 3223] [2372 1223] [2601 1656] [3826 3219] [736 1082] [2601 1645] [2601 1616] [3826 -49] [2370 1288] [2601 1598] [2600 2217] [3825 -55] [2600 1646] [4036 3454] [2600 1617] [3824 3366] [2355 1291] [2600 1598] [2600 1591] [3821 -53] [727 582] [2600 1529] [2600 1525] [3821 2734] [2320 1182] [2600 1525] [2599 1662] [3821 -50] [2599 1662] [3036 2597] [2599 1639] [3819 -49] [2293 1221] [2599 1620] [2599 1595] [3817 -51] [696 217] [2598 2214] [2598 1663] [3815 2739] [2289 1192] [2598 1647] [2597 2222] [3815 2736] [2597 2219] [4058 381] [2597 1655] [3815 2735] [2288 1058] [2597 1623] [2596 1653] [3814 2732] [649 466] [2595 2222] [2595 2208] [3814 2741] [2285 1188] [2595 1659] [2595 1654] [3814 2741] [662 219] [3008 2690] [2594 1660] [3813 -46] [2593 2223] [2280 1146] [2593 1657] [3811 -47] [2593 1628] [607 132] [2592 2205] [3811 -55] [2592 1529] [2274 1138] [2592 1527] [3810 -51] [2591 2206] [2545 1822] [2591 2203] [3809 3196] [2591 1659] [2274 1068] [2591 1659] [3808 3191] [2591 1656] [594 143] [2591 1591] [3806 3373] [2590 2201] [2270 1045] [2590 1590] [3806 2735] [2590 1531] [2208 1019] [2589 2199] [3804 2744] [2589 1639] [2270 1111] [2589 1635] [3803 2736] [2589 1528] [407 92] [2588 1527] [3800 2747] [2587 1589] [2261 1120] [2587 1587] [3800 2741] [2587 1517] [2541 1869] [2587 1516] [3798 2738] [2587 1482] [2255 1095] [2586 1481] [3797 3374] [2585 1721] [352 122] [2585 1720] [3793 3161] [2585 1520] [2246 1072] [2585 1516] [3790 3157] [2584 1514] [2583 1723] [2583 1500] [3787 2755] [2229 1067] [2582 2194] [2582 1489] [3786 2749] [334 94] [2581 1724] [2581 1505] [3780 2759] [2226 1014] [2581 1503] [2580 1722] [3780 2754] [2446 1394] [3981 3414] [2579 2191] [3779 3144] [2576 1723] [2217 1051] [2576 1719] [3778 2761] [2576 1491] [333 -42] [2575 2185] [3777 2757] [2575 1722] [2208 1058] [2575 1718] [3776 2756] [2575 1492] [898 12] [2574 1591] [3775 3366] [2573 1719] [2192 1030] [2573 1715] [3775 2766] [2572 1501] [328 -43] [2572 1496] [3774 2763] [2572 1496] [2192 1019] [2571 2181] [3770 2880] [2571 1502] [2393 1368] [2570 1590] [3770 3362] [2569 1717] [2189 990] [2568 2177] [3763 3090] [2568 1718] [178 118] [2568 1589] [3763 2788] [2567 2176] [2171 965] [2566 1720] [3762 3094] [2564 2174] [2425 1342] [2563 1713] [3761 3097] [2562 2171] [2167 954] [2562 2166] [3760 2780] [2562 2160] [62 88] [2562 1486] [3759 3108] [2561 2169] [2162 944] [2561 2167] [3759 3102] [2560 1713] [2197 1044] [2559 2133] [3759 3090] [2559 1494] [2135 880] [2559 1490] [3757 2845] [2559 1488] [31 43] [2559 1453] [3755 3095] [2558 2125] [2133 850] [2558 1722] [3755 3087] [2558 1719] [769 369] [2558 1688] [3755 2817] [2558 1498] [2130 897] [2558 1495] [3754 2803] [2557 2146] [27 24] [2557 1724] [3750 3080] [2557 1714] [2123 848] [2557 1689] [3747 3087] [2557 1454] [1940 795] [2556 2119] [3745 2967] [2556 1687] [2111 874] [2555 2116] [3743 2983] [2555 1721] [10 49] [2555 1706] [3744 2805] [2555 1686] [2107 825] [2555 1685] [3742 3066] [2555 1669] [823 330] [2554 1717] [3726 3349] [2554 1704] [2102 837] [1445 626] [3635 3313] [1445 619] [1445 617] [1446 599] [3592 3295] [2032 814] [1445 641] [1445 639] [3579 3287] [1700 652] [1444 627] [1444 620] [3574 3282] [2025 735] [1444 593] [1445 590] [3565 3277] [1444 560] [4154 943] [1443 650] [3834 3226] [2010 786] [1442 617] [1442 578] [3833 3224] [690 225] [1442 565] [1443 561] [3833 -48] [2001 771] [1442 637] [1442 611] [3831 3227] [1440 585] [4126 2647] [1439 644] [3830 3227] [1995 771] [1439 635] [1440 583] [3829 3364] [1398 521] [1439 641] [2551 1692] [3829 3225] [1986 806] [2551 1472] [2551 1460] [3827 -35] [2551 1448] [4126 75] [2550 1785] [3826 -50] [1973 754] [2550 1784] [2550 1781] [3825 3222] [2550 1772] [2550 1769] [1958 752] [3824 -64] [2550 1764] [2550 1734] [2550 1718] [3473 3232] [2550 1686] [4122 2707] [1914 761] [3472 3231] [2550 1684] [2550 1494] [1376 688] [3445 3211] [2550 1447] [4160 95.61500000000001] [2549 1776] [3415 3199] [1903 749] [2549 1719] [3404 3096] [2549 1717] [4119 278] [2549 1588] [3400 3092] [1886 742] [2549 1493] [2549 1474] [3399 3131] [677 7] [2549 1445] [3396 3120] [1852 675] [2548 1823] [2548 1792] [3395 3173] [2548 1718] [4114 271] [2548 1686] [3394 3121] [1841 691] [2548 1666] [2548 1478] [3393 3171] [1037 821] [2548 1470] [2547 1835] [3394 3088] [1841 658] [2547 1805] [2547 1693] [3391 3130] [2547 1466] [4107 265] [2546 1821] [3389 3142] [1841 712] [2546 1808] [2546 1690] [3384 3071] [745 679] [2546 1487] [2546 1482] [3383 3151] [1829 675] [2546 1471] [2545 2105] [3370 3030] [2545 2014] [4096 922] [2545 1834] [3335 2991] [1608 639] [2545 1715] [2545 1684] [3333 2989] [1023 883] [2545 1664] [2544 2013] [3331 2987] [1591 615] [2544 1840] [2544 1673] [3316 -43] [2544 1585] [4072 3172] [2543 2100] [3313 15] [1543 591] [2543 1879] [2543 1672] [3311 13] [637 213] [2543 1663] [2542 2054] [3311 18] [1536 560] [2542 1900] [2542 1666] [3304 -62] [2542 1664] [4046 3210] [2541 2056] [3302 -1] [1518 558] [2541 2002] [2541 1881] [3302 -33] [853 -2] [2541 1475] [2540 2059] [3302 2956] [1466 578] [2540 2057] [2540 1901] [3301 -3] [2540 1899] [4040 389] [2539 2001] [3301 -38] [1450 627] [2538 1897] [2538 1896] [3299 -2] [757 47] [2537 2065] [2537 2063] [3299 -5] [1440 585] [2537 1898] [2536 1646] [3300 -46] [2535 2066] [4037 3216] [2534 1905] [3299 2952] [1438 662] [2533 2092] [2532 2073] [3298 -42] [848 27] [2532 1977] [2532 1975] [3297 -42] [1434 586] [2532 1902] [2532 1424] [3295 2946] [2531 2076] [3992 920] [2531 1972] [3294 -47] [1428 617] [2531 1903] [2530 2081] [3290 -29] [328 -59] [2530 1971] [2530 1954] [3283 -24] [1420 665] [2530 1946] [2529 1966] [3282 -26] [2529 1964] [3991 3423] [2529 1960] [3281 -18] [1404 657] [2529 1958] [2528 1944] [3280 -22] [844 5] [2528 1922] [2528 1616] [3280 -63] [1376 526] [2527 1941] [2527 1615] [3275 2926] [2526 1475] [3977 919] [2525 1430] [3275 2923] [1375 565] [2523 1935] [2523 1933] [3276 2920] [740 -10] [2523 1432] [2522 1574] [3268 2913] [1371 685] [2521 1573] [2521 1468] [3269 -63] [2521 1444] [3959 3391] [2521 1443] [3268 -37] [1367 691] [2520 1448] [2520 1441] [3268 -52] [826 -62] [2519 1466] [2519 1449] [3265 2917] [1366 684] [2519 1439] [2519 1431] [3252 -62] [2518 1578] [3936 483] [2518 1455] [3245 2900] [1366 575] [2518 1451] [2518 1433] [3238 2881] [2518 1429] [2517 1584] [1346 704] [3238 2880] [2517 1576] [2517 1461] [2517 1454] [3236 2883] [2517 1452] [3898 3350] [1342 699] [3235 2885] [2517 1438] [2517 1435] [792 347] [3233 2894] [2516 1586] [3392 3085] [2516 1575] [3230 2887] [1302 709] [2512 1395] [2511 1457] [3230 2891] [2511 1455] [3895 596] [2511 1408] [3223 2891] [1300 728] [2511 1394] [2509 1418] [3224 2851] [2509 1415] [2509 1401] [1284 689] [3222 2889] [2509 1396] [2508 1402] [2507 1415] [3221 2886] [2507 1407] [3868 2701] [1266 608] [3220 2846] [2505 1437] [2504 1403] [762 205] [3216 2841] [2504 1401] [3278 -64] [2503 1430] [3214 2888] [1225 688] [2501 1425] [2500 1433] [3212 2836] [2500 1431] [3861 2713] [2500 1429] [3207 3014] [1211 756] [2498 1425] [2497 1429] [3202 3016] [2492 1427] [2492 1425] [1185 719] [3199 2984] [2491 1424] [2490 1426] [2488 1426] [3197 2978] [2486 1421] [3815 3203] [1185 715] [3198 2834] [2485 1425] [2484 1426] [747 576] [3192 2829] [2483 1410] [3309 17] [2482 1409] [3192 2967] [1177 814] [2481 1410] [2480 1413] [3189 2821] [2480 1393] [3796 3165] [2480 1393] [3183 3022] [1172 809] [2479 1421] [2479 1415] [3181 3019] [406 -6] [2479 1394] [2479 1390] [3179 2958] [1134 845] [2478 1428] [2478 1425] [3177 3003] [2478 1412] [3785 3152] [2478 1392] [3172 2959] [1118 860] [2477 1426] [2477 1384] [3168 2808] [698 1134] [2476 1395] [2475 1426] [3165 2961] [1093 877] [2475 1425] [2475 1404] [3161 2987] [2474 1406] [3587 3291] [2474 1403] [3157 2956] [1087 885] [2474 1398] [2474 1396] [3157 2774] [2472 1399] [2471 1405] [1014 953] [3152 2772] [2470 1412] [2469 1423] [2469 1409] [3150 2771] [2467 1424] [3392 3169] [1003 882] [3142 2968] [2465 1422] [2463 1409] [674 427] [3129 2959] [2462 1410] [3287 -20] [2461 1413] [3123 2859] [989 784] [2460 1415] [3123 2955] [2457 1409] [3280 2941] [2456 1410] [3120 2747] [985 967] [2456 1404] [2454 1417] [3118 2951] [737 1114] [2453 1424] [2453 1403] [3118 2748] [978 1001] [2452 1418] [2451 1407] [3109 2840] [2451 1404] [3263 -60] [2450 1408] [3108 2839] [970 1000] [2450 1405] [2449 1423] [3107 2828] [420 5] [2449 1404] [2449 1401] [3106 2739] [962 1004] [2449 1394] [2448 1422] [3104 2840] [2448 1398] [3256 -64] [2448 1392] [3103 2941] [960 933] [2447 1421] [2447 1414] [3103 2941] [2447 1400] [2447 1393] [958 804] [3102 2939] [2446 1417] [2445 1424] [2445 1416] [3100 2827] [2436 1401] [3151 2978] [956 936] [3099 2934] [2436 1392] [2435 1402] [397 83] [3098 2726] [2433 1401] [3219 2855] [2430 1336] [3096 2724] [953 938] [2428 1335] [2427 1316] [3093 2932] [2426 1341] [3053 2638] [2424 1397] [3094 2813] [950 796] [2424 1308] [2421 1395] [3088 2877] [354 230] [2420 1394] [2417 1394] [3087 2715] [933 952] [2416 1295] [2415 1294] [3086 2872] [2625 2217] [2844 2485] [2414 1288] [3085 2704] [2413 1266] [913 770] [2413 1253] [3084 2869] [2412 1267] [391 111] [2411 1293] [3084 2701] [2410 1251] [900 -2] [2409 1269] [3078 2699] [2408 1394] [2621 1593] [2406 1364] [3077 2692] [2404 1288] [894 745] [2402 1282] [3076 2694] [2401 1397] [2399 1281] [2400 1394] [3076 2857] [2400 1366] [893 1037] [2400 1339] [3075 2686] [2400 1297] [2596 1624] [2397 1337] [3068 2677] [2396 1325] [888 997] [2395 1338] [3060 2850] [2395 1332] [356 122] [2395 1326] [3058 2763] [2395 1298] [886 1002] [2394 1331] [3058 2848] [2394 1300] [2596 1524] [2393 1308] [3058 2756] [2393 1301] [881 -9] [2392 1393] [3056 2644] [2392 1391] [2392 1340] [2392 1338] [3053 2844] [865 1049] [2391 1389] [2390 1390] [3052 2743] [2595 1656] [2390 1381] [2390 1307] [3049 2744] [864 28] [2389 1364] [2389 1343] [3047 2602] [312 -62] [4160 4160] [2389 1338] [3045 2611] [2388 1386] [864 218] [2388 1304] [3044 2622] [2387 1342] [2556 1482] [2387 1309] [3045 2600] [2386 1364] [861 3] [2386 1348] [3042 2733] [2385 1306] [1332 545] [2385 1291] [3042 2599] [2384 1368] [857 1] [2384 1355] [3040 2824] [2383 1354] [2421 1304] [2381 1364] [3036 2831] [2381 1351] [857 1004] [2381 1318] [3034 2830] [2380 1350] [122 114] [2380 1293] [3029 2596] [2379 1294] [847 1040] [2378 1360] [3020 2586] [2378 1352] [2409 1267] [2378 1295] [3018 2830] [2378 1289] [847 3] [2377 1371] [3016 2582] [2377 1361] [2376 1375] [2376 1373] [3013 2823] [843 1009] [2376 1348] [2376 1294] [3012 2821] [2403 1292] [2374 1343] [2374 1298] [3012 2580] [842 -52] [2373 1341] [2373 1321] [3001 2818] [26 44] [4082 75] [2372 1331] [2999 2815] [2372 1327] [836 744] [2372 1299] [2999 2769] [2371 1289] [2386 1350] [2371 1287] [2998 2771] [2370 1291] [834 190] [2370 1281] [2997 2812] [2370 1275] [1287 593] [2370 1220] [2996 2764] [2365 1247] [826 1063] [2365 1247] [2996 2584] [2365 1212] [2380 1379] [2364 1286] [2990 2781] [2364 1275] [825 -2] [2364 1212] [2989 2811] [2363 1210] [2363 1208] [2362 1278] [2989 2730] [825 -22] [2362 1208] [2361 1249] [2987 2810] [2340 1209] [2361 1247] [2361 1207] [2985 2669] [824 -1] [2361 1203] [2360 1261] [2984 2777] [835 -11] [4097 80] [2360 1248] [2981 2800] [2359 1285] [823 194] [2359 1264] [2981 2779] [2356 1281] [2334 1227] [2355 1283] [2981 2666] [2355 1255] [819 723] [2352 1286] [2978 2662] [2351 1291] [2350 1206] [2350 1203] [2974 2794] [818 -13] [2349 1294] [2349 1292] [2973 2633] [2330 1224] [2347 1206] [2346 1252] [2972 2628] [811 -19] [2345 1176] [2972 2624] [858 19] [4082 73] [2344 1233] [2972 2620] [2344 1230] [810 1074] [2344 1214] [2970 2792] [2344 1212] [2327 1177] [2344 1208] [2967 2787] [2343 1233] [809 203] [2343 1232] [2966 2566] [2343 1211] [2342 1233] [2341 1230] [2965 2580] [806 324] [2340 1263] [2340 1233] [2964 2702] [2324 1265] [2340 1229] [2339 1162] [2964 2606] [802 639] [2338 1229] [2338 1174] [2932 2681] [2338 1163] [4058 335] [2337 1247] [2927 2672] [802 -57] [2337 1244] [2337 1224] [2923 2666] [2277 1064] [2336 1225] [2336 1224] [2921 2648] [799 1075] [2336 1222] [2336 1206] [2920 2645] [2336 1170] [3626 3309] [2336 1163] [2917 2643] [795 214] [2335 1228] [2335 1206] [2915 2641] [2276 1063] [2335 1204] [2335 1200] [2912 2642] [794 -33] [2335 1171] [2334 1255] [2911 2640] [823 687] [4042 63] [2334 1248] [2904 2618] [2334 1166] [784 664] [2333 1270] [2900 2612] [2333 1267] [2273 1016] [2333 1248] [2884 2584] [2333 1197] [781 1067] [2333 1178] [2883 2575] [2332 1265] [2332 1198] [2332 1170] [2884 2565] [771 211] [2331 1266] [2331 1198] [2883 2582] [2253 1098] [2331 1171] [2330 1264] [2881 2563] [770 1091] [2330 1189] [2329 1221] [2880 2572] [2329 1197] [4033 304] [2328 1265] [2880 2571] [770 -60] [2328 1238] [2328 1220] [2874 2558] [2249 1068] [2328 1212] [2328 1199] [2871 2547] [759 1108] [2327 1213] [2327 1203] [2863 2535] [2326 1235] [3915 3358] [2326 1204] [2862 2524] [760 370] [2325 1234] [2325 1176] [2855 2515] [2229 996] [2324 1238] [2324 1235] [2836 2478] [758 1095] [2324 1205] [2323 1239] [2829 2472] [736 353] [3986 315] [2323 1234] [2798 2447] [2322 1173] [746 368] [2321 1233] [2769 2442] [2320 1262] [2207 1006] [2319 1261] [2726 2423] [2319 1259] [745 366] [2319 1259] [2724 2422] [2319 1183] [2318 1258] [2318 1224] [2703 2410] [742 49] [2318 1222] [2318 1217] [2702 2412] [2153 939] [2316 1234] [2316 1185] [2702 2403] [741 581] [2315 1186] [2314 1234] [2691 2375] [2313 1245] [3972 927] [2313 1189] [2684 2368] [741 569] [2310 1207] [2310 1202] [2683 2366] [2105 851] [2310 1199] [2302 1209] [2682 2364] [738 373] [2300 1206] [2299 1218] [2657 2333] [2299 1146] [4002 3433] [2299 1047] [2653 2327] [739 47] [2298 1224] [2298 1219] [2652 2223] [2005 761] [2297 1223] [2297 1203] [2649 2292] [734 23] [2297 1203] [2295 1146] [2650 2219] [50 60] [3916 541] [2294 1222] [2647 2222] [2294 1148] [714 604] [2293 1203] [2640 2219] [2293 1149] [1990 807] [2292 1203] [2640 2217] [2626 2233] [2291 1217] [712 607] [2635 2218] [2291 1214] [2624 1639] [2290 1193] [2632 2243] [2289 1057] [2624 1607] [2289 1053] [2629 2241] [711 352] [2288 1189] [2623 1595] [2288 1168] [1950 804] [2288 1166] [2623 1590] [2287 1167] [704 644] [3885 629] [2287 1087] [2623 1586] [2287 1047] [799 334] [2286 1189] [2623 1586] [2286 1148] [704 359] [2286 1088] [2623 1624] [2286 1063] [1868 678] [2285 1164] [2622 1595] [2285 1087] [702 403] [2285 1058] [2621 2214] [2285 1054] [2285 1051] [2622 1584] [2284 1211] [698 578] [2284 1039] [2621 1578] [2283 1185] [1844 687] [2283 1160] [2620 2234] [2283 1086] [698 433] [3831 2729] [2283 1057] [2620 1576] [2283 1053] [2282 1158] [2619 1558] [2282 1071] [698 218] [2281 1205] [2618 2216] [2281 1183] [1832 671] [2281 1147] [2618 1581] [2281 1116] [694 1113] [3308 8] [2281 1066] [2617 1554] [2280 1196] [2616 1632] [2280 1154] [691 422] [2280 1116] [2617 1617] [2280 1071] [1818 682] [2279 1197] [2616 1607] [2279 1194] [688 583] [3772 2770] [2279 1194] [2616 1589] [2279 1155] [2279 1152] [2616 1548] [2278 1193] [684 574] [2278 1153] [2615 1573] [2278 1090] [1514 563] [2277 1195] [2614 1647] [2277 1151] [681 597] [3981 290] [2277 1139] [2614 1627] [2277 1090] [2277 1089] [2613 1568] [2277 1012] [665 614] [2277 1012] [2612 1605] [2276 1173] [1466 546] [2276 1125] [2611 1641] [2276 1124] [653 542] [3768 3127] [2275 1190] [2612 1629] [2274 1173] [2274 1139] [2611 1628] [2274 1114] [644 25] [2274 1048] [2611 1547] [2273 1176] [1442 565] [2273 1172] [2610 1630] [2273 1152] [635 497] [2897 2599] [2273 1126] [2609 1546] [2273 1115] [2273 1094] [2608 1659] [2273 1088] [626 135] [2273 1066] [2606 1650] [2272 1192] [1430 665] [2272 1135] [2607 1541] [2272 1126] [623 38] [3765 3121] [2272 1110] [2605 1653] [2272 1096] [2272 1085] [2605 1591] [2272 1032] [617 133] [2272 1032] [2605 1591] [2271 1169] [1372 571] [2271 1130] [2602 1618] [2271 1072] [615 177] [4160 271] [2271 1048] [2602 1596] [2270 1109] [2270 1094] [2601 1616] [2270 1086] [615 149] [2270 1070] [2602 1530] [2270 1020] [1208 775] [2269 1095] [2600 1655] [2269 1031] [613 174] [3757 3104] [2269 1021] [2600 1597] [2268 1172] [2254 1061] [2268 1150] [2599 2216] [2268 1102] [607 132] [2268 1097] [2600 1637] [2268 1097] [1182 721] [2268 1074] [2597 1657] [2268 1027] [602 53] [2268 1027] [2596 1654] [2267 1108] [2267 1076] [2596 1592] [2266 1185] [554 110] [2266 1181] [2595 1511] [2266 1179] [1160 831] [2266 1143] [2594 2206] [2266 1127] [549 95] [3732 3352] [2265 1082] [2594 1655] [2264 1172] [2264 1083] [2592 1593] [2263 1173] [455 53] [2263 1136] [2592 1520] [2259 1116] [1010 876] [2258 1128] [2591 2203] [2256 1126] [445 27] [3949 478] [2255 1129] [2592 1531] [2254 1137] [2253 1060] [2592 1520] [2250 1097] [438 66] [2247 1062] [2590 1636] [2246 1059] [992 893] [2246 1059] [2589 1642] [2244 1105] [423 9] [3599 3300] [2244 1099] [2590 1521] [2244 1075] [1016 774] [2243 1101] [2589 1586] [2243 1060] [409 114] [2242 1099] [2588 2197] [2242 1098] [921 958] [2242 1089] [2588 1643] [2240 1079] [400 85] [2239 1080] [2587 1511] [2238 1103] [2238 1078] [2586 1522] [2238 1074] [349 117] [2237 1077] [2586 1515] [2236 1042] [869 306] [2235 1063] [2584 1721] [2235 1028] [338 175] [3293 -6] [2234 1027] [2583 1513] [2233 1095] [782 667] [2233 1062] [2583 1506] [2232 1092] [337 234] [2232 1080] [2581 2193] [2232 1041] [854 178] [2232 1038] [2581 1490] [2232 1024] [331 182] [2232 1020] [2574 1717] [2231 1087] [2569 1481] [2231 1081] [2574 1589] [2231 1055] [332 90] [2231 1050] [2573 1493] [2231 1046] [827 1015] [2231 1045] [2570 2180] [2230 1084] [326 94] [2230 1054] [2569 1483] [2230 1021] [886 751] [2229 1057] [2567 1590] [2229 1052] [318 183] [2228 1077] [2567 1484] [2227 1065] [797 643] [2227 1015] [2566 2175] [2226 1066] [314 191] [2223 1011] [2563 2173] [2222 1010] [2554 1670] [2222 1008] [2564 1589] [2222 1003] [304 232] [2221 1057] [2560 2156] [2221 1055] [789 232] [2220 1010] [2560 1721] [2219 1063] [281 24] [2218 1061] [2559 2154] [2218 1054] [874 15] [2216 1007] [2559 2132] [2215 1008] [271 218] [2214 1055] [2558 2134] [2213 1058] [737 4] [2212 1059] [2559 1688] [2212 1057] [269 215] [2211 1065] [2557 1493] [2211 1005] [2411 1255] [2210 1060] [2557 1484] [2210 1058] [265 -2] [2210 1057] [2556 1457] [2210 1053] [708 354] [2210 1018] [2556 1455] [2210 1006] [265 12] [2209 1061] [2554 2115] [2208 1044] [823 1019] [2208 1023] [2554 1705] [2208 1011] [264 -8] [2208 1007] [2553 1693] [2207 1052] [697 407] [2207 1045] [2553 1472] [2207 1012] [259 18] [2206 1027] [2554 1449] [2206 987] [2265 1126] [2205 1017] [2552 2114] [2204 1062] [255 4] [2204 1014] [2552 1731] [2204 990] [677 568] [2203 988] [2552 1694] [2202 1022] [246 187] [2201 1023] [2553 1459] [2199 1058] [2425 1340] [2199 1037] [2552 1770] [2199 1025] [236 -9] [2199 1022] [2551 1763] [2199 1018] [654 37] [2198 1036] [2552 1761] [2198 1033] [213 192] [2198 1013] [2551 1757] [2197 1055] [2184 1044] [2197 1014] [2552 1720] [2193 1050] [211 186] [2192 1015] [2552 1668] [2189 1016] [647 21] [2188 1042] [2551 1464] [2188 1042] [208 192] [2187 1040] [2550 1778] [2187 1039] [694 -2] [2187 1038] [2550 1738] [2186 1046] [191 170] [2186 1036] [2549 1790] [2186 1008] [616 178] [2185 1045] [2549 1465] [2182 1020] [183 120] [2181 1017] [2548 1797] [2181 974] [2040 791] [2176 1028] [2548 1666] [2168 938] [71 89] [2167 937] [2547 1480] [2165 938] [610 172] [2164 940] [2547 1685] [2163 949] [53 57] [2163 943] [2545 2017] [2161 948] [715 -10] [2149 934] [2545 1676] [2149 925] [51 64] [2148 926] [2544 2102] [2147 915] [603 161] [2146 926] [2543 2048] [2145 920] [34 41] [2143 926] [2543 2033] [2137 880] [2040 782] [2136 881] [2543 2009] [2135 878] [32 24] [2134 894] [2543 1861] [2133 850] [546 87] [2132 913] [2543 1676] [2132 876] [31 113] [2130 895] [2542 2005] [2130 848] [673 555] [2129 909] [2543 1584] [2129 870] [17 149] [2128 908] [2543 1474] [2128 869] [467 43] [2127 849] [2542 2099] [2124 873] [16 39] [2123 886] [2539 2059] [2121 887] [1852 674] [2120 889] [2539 1987] [2119 894] [302.5 -64] [2119 890] [2539 1883] [2119 873] [410 -3] [2118 910] [2538 2061] [2118 887] [2117 899] [2538 1995] [2117 862] [748 587] [2116 909] [2538 1649] [2113 844] [2112 875] [2538 2096] [2111 849] [380 -47] [2110 863] [4152 98] [2537 2062] [2108 837] [2108 825] [2538 2000] [2107 856] [1814 685] [2107 828] [4145 3098] [2536 2064] [2107 826] [2105 837] [2536 1899] [2105 828] [356 119] [2105 828] [4139 2644] [2536 1897] [2104 840] [2102 845] [2535 1581] [2099 839] [414 97] [2096 793] [4139 89] [2534 1478] [2095 794] [2094 811] [2532 2086] [2094 810] [346 104] [2094 802] [4133 3478] [2532 1975] [2093 835] [2093 813] [2531 1907] [2091 828] [1642 662] [2091 827] [4133 2645] [2532 1580] [2091 803] [2091 801] [2530 2078] [2090 826] [321 222] [2090 808] [4132 3100] [2524 1575] [2088 816] [2087 815] [2520 1607] [2068 808] [647 504] [2066 807] [4130 262] [2518 1599] [2065 807] [2064 806] [2517 1584] [2060 806] [301 232] [2059 805] [4124 269] [2515 1463] [2058 797] [2051 780] [2511 1408] [2050 781] [1484 570] [2049 780] [4121 106] [2510 1409] [2048 767] [2047 772] [2507 1415] [2047 772] [241 -46] [2047 768] [4118 929] [2507 1410] [2046 774] [2042 760] [2505 1422] [2041 820] [2041 759] [2506 1400] [4116 267] [2040 783] [2040 752] [2503 1431] [2038 784] [67 84] [2034 743] [2493 1430] [4117 3476] [2034 741] [2033 739] [2487 1423] [4079 3118] [2032 709] [1046 765] [2031 741] [4113 3475] [2480 1411] [2031 732] [2030 742] [2477 1419] [2029 724] [33 109] [2027 805] [4113 2680] [2476 1422] [2027 726] [2026 801] [2475 1404] [2026 736] [2023 732] [2473 1403] [4109 64] [2023 724] [2019 801] [2469 1423] [2018 802] [2013 761] [2458 1414] [2012 760] [4100 73] [2009 795] [2454 1426] [2009 790] [3251 -64] [999 756] [2008 798] [2448 1409] [4098 3468] [2006 797] [2005 779] [2445 1398] [3749 3077] [2005 760] [2004 776] [2433 1392] [4093 258] [2003 775] [2001 805] [2426 1338] [2001 764] [2000 758] [2426 1315] [1999 808] [4090 277] [1999 757] [2424 1288] [1998 754] [4156 947] [1997 749] [2423 1310] [1996 790] [4089 305] [1996 770] [2420 1288] [1996 752] [3269 2926] [805 612] [1996 750] [2417 1301] [4089 3111] [1995 793] [1995 749] [2415 1290] [4116 68] [1994 756] [1993 794] [2415 1259] [4089 2709] [1993 787] [1993 757] [2413 1289] [1990 809] [345 -54] [1989 783] [2412 1257] [4088 2662] [1989 783] [1989 780] [2412 1252] [4106 87] [1987 805] [1987 785] [2411 1268] [4088 72] [1986 811] [1986 809] [2410 1397] [1985 807] [804 625] [1981 784] [2408 1270] [4085 68] [1981 778] [1980 801] [2408 1396] [4105 77] [1980 769] [1979 811] [2405 1365] [4080 3119] [1979 808] [1978 770] [2403 1366] [1978 754] [2598 1640] [1977 773] [2403 1285] [4079 3123] [1977 771] [1976 808] [2400 1279] [4095 3466] [1975 807] [1975 764] [2399 1338] [4081 911] [1973 768] [1971 818] [2396 1336] [1971 759] [763 228] [1970 813] [2394 1339] [4078 313] [1970 764] [1969 811] [2391 1285] [4092 918] [1969 763] [1968 812] [2390 1336] [4074 3166] [1968 757] [1967 811] [2390 1287] [1967 810] [245.5 -64] [1967 763] [2389 1389] [4074 3148] [1964 811] [1964 807] [2389 1339] [4089 311] [1962 807] [1961 757] [2389 1289] [4075 309] [1957 760] [1956 758] [2388 1380] [1956 749] [631 142] [1953 765] [2388 1363] [4066 3456] [1937 781] [1934 782] [2387 1340] [4088 915] [1915 770] [1889 739] [2386 1310] [4063 3455] [1889 739] [1882 738] [2387 1305] [1882 736] [1352 689] [1874 732] [2387 1290] [4054 317] [1870 678] [1868 679] [2386 1367] [4077 3459] [1860 723] [1857 722] [2385 1339] [4047 73] [1856 673] [1854 699] [2385 1312] [1853 717] [597 129] [1853 682] [2382 1316] [4040 2703] [1852 720] [1852 690] [2379 1289] [4066 366] [1851 716] [1851 696] [2378 1355] [4033 3219] [1849 715] [1848 718] [2378 1292] [1848 662] [1925 780] [1847 714] [2372 1327] [4031 3236] [1845 663] [1844 662] [2372 1272] [4053 3207] [1844 660] [1843 715] [2371 1285] [4021 309] [1842 666] [1841 683] [2371 1277] [1841 667] [63 22] [1839 665] [2368 1291] [4011 3232] [1838 670] [1837 699] [2365 1277] [4025 3449] [1837 698] [1836 700] [2364 1211] [4004 2674] [1835 698] [1834 699] [2363 1248] [1827 701] [1038 821] [1763 664] [2362 1213] [4003 421] [1763 660] [1762 657] [2359 1249] [4005 390] [1762 655] [1761 656] [2358 1252] [3999 2682] [1759 668] [1757 659] [2356 1280] [1757 658] [1756 668] [2354 1256] [1755 673] [4001 388] [1755 668] [2352 1204] [1754 669] [3999 303] [1754 649] [2349 1203] [1628 643] [3995 408] [1627 648] [2344 1251] [1627 646] [4097 2691] [1617 645] [2344 1248] [1614 642] [3992 391] [1613 643] [2343 1229] [1612 644] [3994 406] [1610 599] [2342 1210] [1610 595] [3988 402] [1609 642] [2340 1267] [1609 600] [3898 2685] [1608 642] [2339 1204] [1608 601] [3985 893] [1605 600] [2340 1175] [1604 635] [3989 390] [1604 599] [2337 1205] [1603 634] [3974 928] [1603 604] [2338 1162] [1602 605] [4089 279] [1002 782] [1602 602] [2337 1202] [3974 441] [1600 624] [1600 613] [2335 1164] [3982 3231] [1598 634] [1597 635] [2334 1199] [3958 2677] [1597 625] [1596 634] [2333 1256] [1588 621] [1574 628] [2334 1204] [1571 626] [3952 283] [1570 623] [2332 1264] [1567 621] [3976 866] [1564 601] [2332 1253] [1563 602] [3949 289] [1562 605] [2331 1187] [1555 602] [4057 3202] [917 961] [1553 601] [2330 1172] [3945 498] [1553 597] [1552 598] [2329 1263] [3950 474] [1551 597] [1550 602] [2327 1237] [3945 290] [1549 600] [1548 601] [2327 1219] [1546 599] [1544 594] [2326 1266] [1544 590] [3944 499] [1540 591] [2324 1239] [1537 592] [3951 440] [1537 585] [2324 1233] [1537 583] [3931 257] [1536 603] [2323 1175] [1536 594] [3963 290] [875 760] [1534 590] [2322 1218] [3932 3246] [1533 557] [1529 595] [2322 1181] [3921 516] [1525 591] [1524 598] [2320 1246] [3930 3244] [1524 591] [1521 592] [2319 1248] [1520 583] [1520 574] [2317 1257] [1520 574] [3930 2676] [1519 582] [2318 1247] [1519 580] [3919 2666] [1519 564] [2317 1232] [1518 593] [3924 2668] [1518 579] [2318 1184] [1518 563] [3960 445] [1838 710] [1517 565] [2316 1254] [3920 539] [1516 592] [1516 580] [2316 1248] [3916 522] [1516 568] [1515 574] [2313 1237] [3917 2670] [1514 577] [1506 572] [2309 1209] [1505 573] [1501 574] [2306 1218] [1501 570] [3911 771] [1497 568] [2307 1211] [1496 569] [3892 769] [1495 573] [2306 1221] [1494 574] [3908 3353] [1490 575] [2305 1213] [1490 573] [3935 289] [870 -18] [1489 569] [2303 1217] [3905 571] [1486 578] [1485 579] [2304 1211] [3887 3253] [1483 577] [1483 570] [2301 1215] [3901 783] [1482 572] [1481 573] [2301 1208] [1481 571] [1481 568] [2299 1222] [1479 562] [3882 758] [1479 561] [2298 1146] [1478 578] [3882 762] [1478 563] [2298 1048] [1478 555] [3878 739] [1478 555] [2297 1145] [1476 558] [3846 2724] [2568 1503] [1476 554] [2295 1204] [3873 2695] [1474 569] [1473 566] [2294 1205] [3880 3243] [1470 578] [1467 584] [2292 1085] [3875 744] [1467 583] [1467 551] [2293 1050] [1465 554] [1463 551] [2292 1085] [1462 584] [3872 2690] [1461 583] [2291 1051] [1460 563] [3881 751] [1460 563] [2288 1049] [1459 619] [3869 743] [1458 616] [2287 1163] [1457 619] [3835 2730] [820 739] [1457 614] [2286 1211] [3858 3229] [1457 568] [1456 623] [2285 1185] [3876 2676] [1456 612] [1455 565] [2285 1045] [3845 3359] [1454 624] [1454 611] [2285 1038] [1454 609] [1454 566] [2283 1066] [1453 567] [3845 -44] [1451 563] [2282 1183] [1450 628] [3866 3233] [1450 607] [2281 1157] [1450 561] [3840 -49] [1449 563] [2281 1156] [1449 563] [3748 2802] [1448 648] [2281 1181] [1448 614] [3840 3229] [1448 611] [2280 1182] [1447 649] [3829 -29] [1447 646] [2278 1076] [1447 629] [3830 2734] [1447 603] [2276 1174] [1446 630] [4160 3485.5] [1446 627] [2276 1148] [1446 618] [3826 -36] [2553 1767] [2276 1081] [2553 1753] [3825 -63] [2553 1752] [2276 1192] [1444 630] [3818 2735] [1445 629] [2276 1115] [1445 626] [3276 2918] [809 -40] [1445 619] [2275 1078] [3806 2735] [2552 1770] [2552 1754] [2275 1052] [3817 3370] [2552 1731] [1442 646] [2275 1011] [3804 -56] [1443 647] [1443 616] [2275 1116] [1443 577] [2552 1495] [2274 1193] [2552 1480] [3780 3368] [2552 1474] [2273 1196] [1440 637] [3795 3373] [1441 638] [2274 1191] [1441 586] [3768 2887] [1440 643] [2273 1083] [2551 1772] [3018 2699] [860 220] [2551 1750] [2273 1053] [3764 3361] [2551 1705] [1439 635] [2272 1171] [3784 3370] [1439 614] [2272 1114] [3762 2790] [1439 600] [1438 662] [2272 1050] [1438 660] [2334 1226] [1438 642] [2272 1044] [3758 2842] [1438 567] [1438 564] [2271 1175] [3738 3034] [1437 660] [1437 644] [2271 1166] [3756 2835] [1437 610] [1437 603] [2271 1150] [1436 590] [691 633] [1435 665] [2271 1094] [3758 2802] [1435 588] [1435 587] [2271 1098] [3630 3311] [1433 660] [1433 591] [2270 1030] [3756 3360] [1432 659] [1432 592] [2270 1023] [1431 664] [2290 1195] [1431 664] [2270 1173] [3746 3080] [1430 594] [1430 586] [2269 1071] [3509 3257] [1428 591] [1426 665] [2268 1030] [3744 3071] [1426 616] [1425 620] [2266 1077] [1425 618] [1425 589] [2266 1171] [1423 666] [3742 3056] [1416 667] [2264 1132] [1414 664] [3454 3218] [1409 657] [2263 1085] [1409 583] [3743 2981] [1407 582] [2262 1122] [1402 660] [3949 3381] [2274 1018] [1401 663] [2262 1118] [3711 3344] [1400 669] [2262 1109] [3399 3180] [1400 667] [1399 672] [2261 1137] [3672 3327] [1399 522] [2260 1117] [1397 664] [78 119] [1396 663] [2258 1138] [3633 3312] [1396 661] [1395 576] [2256 1117] [3303 -34] [1394 651] [1394 575] [2251 1061] [3602 3301] [1392 650] [1392 521] [2249 1098] [1392 521] [1994 785] [1391 651] [2248 1097] [3577 3286] [1390 667] [1388 571] [2248 1068] [3300 2948] [1387 686] [1387 667] [2247 1070] [3481 3247] [1386 681] [1386 668] [2247 1062] [1385 670] [834 328] [1384 681] [2243 1098] [3450 3216] [1383 679] [1381 679] [2243 1077] [3296 -60] [1379 573] [1377 536] [2240 1099] [3403 3104] [1375 692] [1375 681] [2239 1101] [1374 690] [1990 772] [1374 688] [2239 1077] [3400 3134] [1374 687] [1374 537] [2236 1075] [3287 -25] [1372 674] [1371 542] [2233 1095] [3396 3141] [1371 532] [1370 547] [2233 1090] [1369 682] [1367 549] [2233 1034] [1367 545] [3381 3048] [1365 694] [2233 1026] [1364 695] [3284 2943] [1364 550] [2232 1093] [1361 698] [3308 -64] [1361 698] [2232 1034] [1361 692] [3987 3420] [1976 814] [1361 692] [2233 1022] [3293 -43] [1360 699] [1360 691] [2228 1022] [3126 2761] [1357 698] [1353 694] [2226 998] [3292 -46] [1353 692] [1353 688] [2223 1070] [1352 697] [2273 1138] [1351 700] [2221 1012] [3271 -42] [1351 542] [1350 705] [2221 1071] [3113 2948] [1350 701] [1348 706] [2218 1060] [3270 -49] [1348 699] [1342 698] [2219 1009] [1338 705] [1855 672] [1338 541] [2217 1062] [3268 -59] [1337 712] [1337 711] [2217 1068] [3108 2743] [1337 542] [1331 716] [2217 1008] [3251 2904] [1322 729] [1319 727] [2215 1050] [1319 551] [1316 725] [2215 1064] [1315 731] [3221 2852] [1315 726] [2209 1064] [1315 687] [3049 2635] [1314 732] [2209 1047] [1314 690] [3220 2856] [1313 562] [2210 1043] [1312 733] [3973 3405] [1263 610] [1312 563] [2210 1018] [3181 2813] [1311 732] [1308 698] [2208 1023] [2967 2576] [1307 701] [1306 625] [2205 1020] [3162 2775] [1303 730] [1302 712] [2205 988] [1302 629] [1300 711] [2205 987] [1299 710] [3161 2774] [1299 696] [2203 1061] [1299 692] [2945 2688] [1298 732] [2201 1024] [1297 733] [3116 2747] [1297 732] [2200 1011] [1297 730] [4158 133] [1066 923] [1293 734] [2198 1057] [3090 2883] [1292 735] [1292 733] [2198 1042] [2637 2220] [1287 658] [2619 1648] [1286 576] [3087 2875] [2195 1022] [1285 690] [1280 713] [2194 1052] [1279 729] [1279 717] [2194 1020] [3080 2863] [1277 720] [1272 599] [2192 1032] [1268 606] [2615 1648] [1267 607] [2192 1028] [3071 2683] [1260 624] [1256 632] [2190 987] [3755 3083] [1250 636] [1025 769] [1246 660] [3072 2857] [2185 1035] [1246 641] [1244 640] [2185 1009] [1243 647] [2613 1649] [1242 668] [3065 2672] [2182 1015] [1241 669] [1240 645] [2182 1013] [1237 671] [1236 638] [2182 1019] [3044 2611] [1233 641] [1232 640] [2179 975] [1231 636] [2610 1626] [1226 633] [2176 970] [3021 2590] [1225 635] [1225 634] [2175 1027] [3366 3028] [1223 677] [891 747] [1222 690] [3014 2826] [2175 967] [1218 677] [1218 673] [2173 1028] [1217 674] [2603 1622] [1216 764] [2970 2613] [2173 966] [1216 691] [1216 677] [2169 956] [1214 760] [1214 687] [2169 953] [2964 2596] [1214 687] [1213 764] [2165 941] [1213 686] [2597 1655] [1212 765] [2162 941] [2964 2590] [1210 692] [1209 774] [2160 951] [3706 3342] [1207 752] [872 208] [1207 692] [2911 2625] [2143 921] [1206 751] [1206 693] [2137 917] [1203 697] [2595 1640] [1198 746] [2898 2606] [2133 911] [1197 694] [1195 710] [2131 909] [1192 704] [1192 703] [2131 874] [2898 2602] [1191 702] [1190 701] [2129 909] [1187 789] [2586 2196] [1186 794] [2128 896] [2872 2550] [1186 793] [1185 795] [2121 895] [4006 409] [1183 805] [833 42] [1182 717] [2827 2471] [2119 875] [1178 724] [1177 814] [2117 876] [1177 725] [2540 2055] [1175 820] [2802 2454] [2118 867] [1175 818] [1175 810] [2116 906] [1175 749] [1175 743] [2116 861] [2709 2424] [1175 740] [1175 735] [2116 846] [1174 821] [2529 1427] [1174 808] [2114 858] [2694 2383] [1173 815] [1171 814] [2110 848] [3326 2977] [1171 814] [797 -63] [1171 812] [2680 2363] [2110 855] [1168 828] [2624 1593] [1168 815] [2107 828] [1167 831] [2463 1424] [2642 2221] [1167 815] [2106 830] [1163 826] [2617 2243] [1162 822] [2099 794] [1161 830] [1154 836] [2093 800] [1153 833] [2605 1614] [1151 832] [2092 814] [1150 833] [2455 1405] [1148 837] [2091 806] [1147 838] [2604 1655] [3824 -64] [1136 838] [2087 812] [1136 836] [597 156] [1134 847] [2084 821] [1124 859] [2603 1652] [1119 861] [2072 810] [1112 856] [2384 1307] [1111 855] [2062 805] [1110 866] [2603 1612] [1110 856] [2057 795] [1109 863] [1104 870] [2056 793] [1103 868] [2602 1641] [1101 877] [2051 778] [1096 877] [2383 1356] [1094 878] [2051 771] [1091 885] [2600 2217] [3312 -44] [1091 874] [2049 781] [1090 880] [444 41] [1088 879] [2043 818] [1081 886] [2594 2220] [1073 905] [2041 793] [1071 912] [2361 1279] [1070 894] [2039 750] [1068 895] [2594 1596] [1067 924] [2038 745] [1067 896] [2399 1367] [1066 919] [2037 775] [1061 923] [2585 1520] [1057 922] [2037 771] [1056 928] [2357 1287] [1055 739] [2033 816] [1053 752] [2583 1491] [1053 740] [2033 759] [1052 746] [354 169] [1052 744] [2033 758] [1051 926] [2572 1500] [1051 750] [2033 742] [1050 751] [2357 1268] [1049 929] [2027 805] [1049 927] [2565 1485] [1049 774] [2027 800] [1048 754] [2422 1308] [1046 931] [2028 723] [1046 762] [2558 1452] [1043 936] [2026 798] [1043 760] [2339 1228] [1042 777] [2025 800] [1041 778] [2557 2136] [1040 938] [2025 796] [1039 937] [32 99] [1039 823] [2026 731] [1039 822] [2557 1669] [1038 822] [2024 730] [1036 941] [2322 1241] [1030 791] [2021 802] [1029 820] [2555 1486] [1028 943] [2009 798] [1028 941] [1028 881] [2010 786] [1028 879] [2554 1470] [1028 822] [2009 798] [1027 934] [2292 1150] [1027 823] [1998 762] [1026 953] [2551 1727] [4077 68] [1026 939] [1998 762] [1026 935] [1026 793] [1998 794] [1023 824] [2550 2111] [1022 823] [1997 766] [1022 816] [2271 1187] [1021 881] [1996 755] [1020 947] [2546 1466] [4155 3095] [1020 946] [1996 755] [1020 882] [1076 888] [1020 875] [1994 789] [1020 826] [2544 1679] [1019 870] [1992 773] [1019 829] [2269 1083] [1018 871] [1990 766] [1017 881] [2540 1876] [1016 955] [1986 780] [1016 871] [1015 954] [1985 766] [1015 870] [2539 1992] [1013 876] [1984 812] [1012 950] [2236 1078] [1011 949] [1982 780] [1008 964] [2539 1654] [4133 269] [1008 960] [1981 780] [1008 951] [867 263] [1007 965] [1981 767] [999 957] [2538 1887] [999 761] [1980 754] [999 759] [2235 1077] [998 756] [1980 785] [997 890] [2533 2069] [996 958] [1978 805] [995 986] [1976 817] [995 966] [2531 2084] [994 967] [1976 772] [994 963] [2231 1030] [991 982] [1974 759] [990 981] [2529 1916] [4043 3214] [989 992] [1974 808] [989 990] [719 1116] [989 989] [1974 766] [989 968] [2529 1476] [988 985] [1971 751] [986 992] [2229 1019] [986 990] [1964 754] [986 980] [2529 1429] [985 775] [1960 751] [984 995] [984 987] [1959 804] [983 987] [2525 1939] [983 772] [1955 803] [982 999] [2216 1044] [982 992] [1952 764] [982 969] [2519 1605] [3971 929] [981 997] [1947 800] [981 997] [1298 644] [981 970] [1942 797] [981 749] [2521 1430] [980 1002] [1935 790] [980 978] [2215 1009] [980 746] [1934 779] [979 1003] [2517 1461] [979 990] [1933 783] [979 990] [979 973] [1926 782] [979 753] [2510 1406] [979 742] [1917 772] [978 1005] [2202 991] [978 1002] [1900 747] [978 977] [2504 1424] [3953 440] [978 974] [1893 744] [978 762] [977 1006] [1891 735] [977 763] [2479 1421] [977 748] [1889 736] [977 737] [2097 795] [976 1005] [1886 735] [976 984] [2475 1387] [4085 66] [976 980] [1881 737] [976 769] [974 1000] [1876 733] [974 999] [2472 1408] [974 996] [1851 719] [973 991] [2054 792] [973 980] [1851 716] [972 943] [2470 1406] [3951 276] [971 998] [1851 667] [971 998] [971 995] [1849 665] [970 934] [2468 1411] [970 921] [1846 665] [969 760] [2052 788] [968 1007] [1844 714] [968 1003] [2455 1413] [3829 -29] [968 940] [1843 659] [968 796] [968 795] [1840 682] [967 1009] [2439 1393] [967 795] [1839 668] [967 762] [2043 800] [967 760] [1837 666] [967 753] [2435 1391] [3946 472] [966 790] [1833 669] [966 756] [965 800] [1762 667] [965 771] [2433 1383] [964 802] [1759 652] [964 768] [2034 766] [964 754] [1756 657] [963 774] [2391 1333] [3970 846] [962 767] [1754 672] [961 932] [961 775] [1746 664] [961 771] [2390 1341] [961 768] [1644 661] [958 934] [1976 770] [957 935] [1638 658] [957 935] [2386 1343] [3904 2683] [956 936] [1637 656] [955 941] [1366 546] [955 937] [1629 645] [952 799] [2385 1365] [950 1011] [1621 645] [948 1012] [1931 781] [946 948] [1609 641] [943 1014] [2379 1349] [941 949] [1606 636] [939 1015] [938 1016] [1605 597] [935 1021] [2377 1290] [934 1019] [1603 600] [934 1015] [1880 735] [933 1013] [1600 621] [932 1025] [2364 1285] [3758 3104] [932 1020] [1601 603] [932 954] [929 1035] [1600 625] [929 765] [2364 1279] [928 1036] [1599 604] [927 1021] [1822 680] [926 1029] [1592 613] [926 1020] [2364 1246] [3180 3016] [926 766] [1587 622] [925 1037] [925 1034] [1582 628] [924 1037] [2360 1204] [924 1033] [1556 600] [924 1031] [1785 686] [922 1037] [1555 600] [922 761] [2352 1255] [3717 3346] [921 765] [1554 603] [921 764] [921 762] [1550 597] [917 1017] [2343 1242] [914 1023] [1550 596] [914 771] [1758 669] [911 767] [1548 597] [909 762] [2344 1177] [2850 2494] [908 761] [1546 592] [907 1028] [906 763] [1546 593] [904 1032] [2340 1263] [903 762] [1537 579] [901 759] [1734 661] [900 760] [1535 580] [899 1023] [2339 1232] [3167 2989] [899 1018] [1536 560] [899 761] [2537 1890] [899 11] [1532 584] [898 751] [2336 1248] [897 1024] [1531 594] [897 757] [1533 590] [896 -11] [1529 589] [896 -14] [2336 1246] [895 747] [1527 597] [895 -16] [893 1023] [1524 593] [893 -12] [2333 1264] [891 1033] [1523 591] [889 1022] [1535 587] [889 996] [1522 583] [888 1046] [2331 1186] [2959 2696] [888 1018] [1521 565] [887 1047] [299 -64] [887 1017] [1519 592] [886 1048] [2328 1174] [885 1010] [1520 566] [884 1005] [1460 554] [882 1037] [1519 573] [880 1045] [2325 1177] [880 1027] [1517 572] [878 1029] [2342 1239] [878 1025] [1515 579] [878 1017] [2324 1176] [876 1044] [1508 568] [876 1026] [1449 642] [875 1025] [1507 570] [875 16] [2322 1243] [874 1016] [1499 568] [874 197] [2531 1907] [873 1050] [1489 572] [873 1028] [2319 1183] [872 1049] [1487 576] [872 1046] [1448 567] [872 1045] [1482 569] [872 303] [2319 1251] [871 1011] [1478 559] [870 762] [2292 1148] [869 761] [1476 561] [867 1020] [2304 1222] [867 1018] [1469 575] [867 1015] [1444 638] [866 762] [1469 547] [866 310] [2296 1051] [866 214] [1469 543] [865 174] [573 124] [864 1015] [1469 550] [864 1012] [2286 1146] [864 174] [1467 544] [862 173] [1439 654] [862 25] [1466 552] [861 216] [2282 1160] [861 176] [1461 558] [861 43] [2176 1036] [860 242] [1460 560] [860 38] [2281 1201] [860 37] [1459 564] [860 30] [1429 587] [859 768] [1456 563] [859 29] [2283 1145] [859 20] [1453 625] [858 1043] [2342 1252] [858 1043] [1453 608] [858 176] [2280 1073] [856 236] [1452 625] [856 233] [1381 669] [856 174] [1452 565] [855 177] [2277 1078] [855 -10] [1452 606] [854 -6] [2007 785] [854 -6] [1449 613] [853 230] [2274 1080] [852 1040] [1449 558] [852 770] [1374 680] [852 768] [1447 645] [851 1043] [2274 1013] [851 771] [1446 632] [851 767] [759 677] [851 32] [1445 597] [850 1058] [2275 1124] [850 184] [1446 572] [850 15] [1373 538] [849 779] [1444 618] [849 185] [2273 1113] [848 1007] [1443 647] [848 187] [1996 809] [848 27] [1442 642] [846 327] [2273 1047] [846 -2] [1441 612] [845 1043] [1373 562] [845 328] [1439 565] [845 217] [2272 1153] [845 191] [1438 601] [844 329] [2045 808] [843 328] [1439 569] [843 228] [2272 1129] [842 230] [1438 598] [842 -52] [1369 687] [841 227] [1437 568] [841 192] [2270 1074] [839 28] [1436 612] [837 743] [1311 564] [837 329] [1432 660] [836 786] [2269 1036] [836 739] [1432 660] [836 35] [1335 539] [835 739] [1428 597] [834 787] [2265 1178] [834 768] [1427 592] [833 1046] [833 789] [1426 595] [833 767] [2265 1144] [832 785] [1415 666] [832 785] [1271 601] [832 707] [1409 663] [831 783] [2259 1115] [3984 904] [831 49] [1409 657] [830 784] [1035 765] [830 783] [1406 656] [830 748] [2258 1094] [830 -58] [1398 523] [829 785] [1249 637] [829 749] [1391 659] [829 709] [2236 1061] [829 187] [1389 576] [829 47] [1363 577] [828 1014] [1383 675] [828 773] [2235 1035] [828 753] [1381 530] [828 193] [1239 644] [828 59] [1379 531] [828 52] [2228 1061] [827 752] [1378 572] [826 778] [982 771] [826 750] [1376 674] [825 713] [2220 1060] [825 693] [1374 676] [825 194] [1212 687] [825 26] [1370 534] [825 24] [2217 1048] [824 1066] [1369 548] [824 688] [824 597] [1368 543] [824 15] [2209 1052] [824 10] [1367 686] [823 783] [1201 782] [823 60] [1368 574] [823 58] [2208 1055] [3752 2927] [823 26] [1363 693] [822 716] [948 793] [822 55] [1363 551] [822 53] [2201 1038] [822 21] [1358 700] [821 1076] [1180 802] [821 1076] [1357 704] [821 598] [2202 1059] [820 1077] [1355 687] [820 1074] [1302 634] [820 780] [1355 687] [819 729] [2201 989] [819 723] [1354 575] [819 -12] [1053 931] [818 1071] [1353 695] [818 730] [2184 975] [818 724] [1353 573] [818 -30] [848 781] [817 779] [1351 570] [817 326] [2170 953] [816 327] [1349 697] [816 -16] [1046 775] [815 1024] [1344 707] [815 329] [2146 917] [815 199] [1344 545] [814 1079] [1974 759] [814 1076] [1339 534] [814 1074] [2138 879] [814 323] [1338 709] [814 -32] [1032 939] [813 1027] [1337 701] [812 783] [2134 877] [812 639] [1336 541] [812 330] [693 376] [812 200] [1333 543] [811 662] [2122 912] [810 642] [1324 728] [810 641] [1025 794] [809 611] [1321 549] [809 321] [2117 886] [808 649] [1320 681] [808 647] [875 291] [808 644] [1318 552] [808 615] [2110 853] [807 646] [1316 685] [807 642] [1017 881] [807 604] [1316 680] [807 207] [2051 773] [807 -63] [1311 697] [806 1084] [666 10] [806 650] [1311 724] [806 609] [2050 784] [806 326] [1308 725] [805 320] [997 755] [805 -50] [1307 615] [805 -57] [2035 735] [805 -60] [1306 611] [804 1080] [804 651] [1306 702] [804 -51] [2032 737] [803 644] [1305 609] [803 640] [990 748] [802 1077] [1305 626] [801 54] [2032 730] [3743 3021] [800 626] [1303 603] [800 53] [642 537] [800 -64] [1302 601] [799 633] [2030 811] [798 1083] [1301 597] [798 644] [973 914] [798 -50] [1301 593] [798 -55] [2028 729] [797 1082] [1300 702] [797 1072] [844 1035] [797 648] [1298 567] [796 1076] [2027 739] [796 1051] [1296 568] [796 660] [966 758] [796 628] [1291 572] [796 -27] [2026 725] [794 637] [1288 708] [794 630] [640 516] [793 633] [1288 737] [793 631] [2026 724] [793 217] [1285 732] [793 -58] [965 789] [792 632] [1285 711] [792 -38] [2007 799] [791 1084] [1282 720] [791 1084] [1866 727] [791 1072] [1281 718] [791 1058] [2007 798] [791 226] [1279 732] [790 1085] [951 941] [790 1081] [1279 714] [790 1077] [1995 757] [790 230] [1280 593] [790 228] [432 94] [789 1062] [1279 719] [788 1084] [1982 784] [788 1063] [1259 621] [788 52] [901 974] [788 -60] [1259 616] [785 235] [1980 776] [784 236] [1257 629] [784 45] [793 1089] [783 1062] [1238 638] [782 353] [1980 763] [782 230] [1237 640] [781 1067] [899 1018] [781 354] [1235 642] [780 360] [1967 756] [780 226] [1235 637] [780 -57] [431 78] [779 1070] [1230 635] [777 1084] [1955 759] [777 -58] [1228 681] [775 1086] [885 1047] [775 215] [1227 634] [774 1083] [1894 742] [772 1079] [1226 672] [771 1112] [772 213] [1221 692] [771 1090] [1855 696] [771 1078] [1221 678] [771 1069] [874 299] [769 1109] [1215 765] [768 1076] [1855 695] [767 1104] [1213 694] [767 219] [339 145] [766 1112] [1213 686] [765 1095] [1853 693] [765 1078] [1210 772] [764 1103] [865 8] [764 1079] [1209 753] [764 229] [1847 661] [763 1098] [1202 779] [763 204] [188 135] [762 1110] [1202 751] [760 1109] [1843 663] [760 1081] [1202 701] [759 1105] [861 24] [759 1100] [1199 748] [759 1079] [1839 677] [759 1077] [1199 693] [758 1101] [260 -61] [758 221] [1190 703] [757 1105] [1838 674] [757 1100] [1189 784] [756 1098] [845 14] [755 592] [1183 718] [754 1111] [1792 688] [754 595] [1183 796] [750 1114] [822 -4] [749 1082] [1179 795] [749 363] [1758 674] [748 579] [1180 720] [748 577] [839 192] [747 363] [1175 735] [744 362] [1757 648] [741 356] [1174 817] [740 575] [60 28] [740 573] [1174 739] [739 353] [1756 660] [739 0] [1173 822] [738 1081] [831 786] [738 3] [1170 823] [737 608] [1754 654] [737 -5] [1168 829] [736 601] [736 600] [1166 830] [736 596] [1611 643] [736 592] [1162 828] [735 591] [818 -29] [734 9] [1157 827] [729 37] [1609 596] [729 31] [4060 335] [1146 837] [728 590] [726 1087] [1136 838] [723 677] [1597 629] [723 34] [1133 848] [722 1088] [819 199] [722 663] [1127 850] [722 661] [1589 618] [718 1093] [4120 3102] [1124 859] [718 598] [716 592] [1123 855] [715 603] [1578 629] [713 1125] [1113 858] [713 1124] [814 1072] [713 1122] [1110 865] [712 369] [1559 619] [710 1092] [3308 -64] [1109 858] [710 654] [710 610] [1091 878] [710 372] [1551 599] [709 588] [1078 887] [709 373] [810 1081] [708 587] [1076 902] [707 372] [1538 586] [706 645] [4048 3456] [1076 897] [706 374] [705 358] [1071 916] [704 366] [1524 586] [702 582] [1067 899] [702 431] [812 1028] [702 363] [1056 737] [701 577] [1480 569] [700 1132] [3919 772] [1054 740] [700 576] [699 1133] [1052 748] [699 577] [1475 563] [698 635] [1050 753] [698 432] [793 640] [698 426] [1049 752] [696 435] [1468 545] [696 427] [4042 3455] [1048 930] [695 575] [752 599] [695 510] [1047 760] [695 436] [1465 585] [695 426] [1047 774] [695 220] [756 1102] [694 511] [1046 765] [694 511] [1454 609] [693 635] [1046 753] [693 578] [693 559] [1045 755] [693 395] [1447 559] [692 634] [1042 761] [692 512] [748 364] [692 421] [1040 938] [692 421] [1432 584] [691 1133] [4042 325] [1040 824] [691 224] [691 218] [1039 940] [690 1132] [1413 663] [690 575] [1038 942] [690 519] [744 606] [690 416] [1035 940] [690 396] [1381 673] [690 385] [3127 2958] [1030 935] [689 581] [689 574] [1029 818] [689 423] [1378 533] [689 422] [1027 880] [688 579] [716 213] [688 519] [1027 768] [688 397] [1377 671] [687 1125] [4002 3229] [1025 952] [687 224] [153 108] [687 222] [1024 882] [687 220] [1367 681] [686 1124] [1022 813] [686 1116] [696 414] [686 576] [1021 824] [686 218] [1354 707] [685 1117] [1019 954] [685 573] [685 5] [1012 875] [684 520] [1354 689] [684 8] [1010 950] [683 594] [690 515] [682 616] [1001 885] [682 596] [1350 566] [682 521] [3874 3237] [999 756] [682 9] [681 576] [997 961] [680 528] [1347 565] [680 528] [995 751] [680 526] [689 1131] [678 567] [991 988] [678 550] [1335 713] [678 548] [2911 2630] [991 785] [677 547] [676 554] [988 990] [676 553] [1324 727] [675 534] [988 967] [675 534] [680 628] [674 555] [985 993] [673 543] [1326 721] [671 535] [3846 -50] [986 989] [670 536] [612 44] [668 8] [984 774] [667 437] [1314 725] [667 9] [982 1003] [666 607] [676 423] [666 559] [982 998] [666 549] [1307 615] [665 552] [982 995] [659 39] [657 560] [982 745] [655 487] [1306 731] [654 550] [981 980] [653 458] [656 559] [651 482] [980 1005] [651 461] [1303 701] [650 465] [3806 3189] [980 971] [649 488] [2402 1368] [648 489] [981 743] [647 520] [1296 734] [644 503] [979 1000] [643 517] [646 526] [638 500] [980 996] [636 507] [1283 712] [635 141] [979 754] [634 521] [634 518] [980 750] [633 519] [1281 687] [631 508] [979 747] [630 500] [602 155] [624 37] [976 993] [621 138] [1282 720] [619 184] [3669 3326] [976 977] [619 139] [616 178] [975 992] [615 141] [1280 684] [614 173] [974 978] [612 152] [588 71] [610 153] [974 755] [606 169] [1263 625] [599 56] [3292 -64] [973 994] [598 137] [598 57] [973 984] [571 79] [1240 670] [570 78] [972 981] [567 83] [558 112] [567 78] [971 995] [566 82] [1216 762] [550 94] [3536 3264] [971 1006] [544 105] [2286 1046] [543 104] [971 759] [540 96] [1202 694] [471 50] [968 757] [469 46] [470 51] [450 36] [968 757] [446 28] [1193 712] [445 38] [964 941] [439 65] [437 22] [963 803] [429 18] [1192 785] [427 75] [959 938] [427 73] [463 40] [426 31] [957 937] [421 6] [1182 744] [395 87] [3290 -36] [953 802] [380 -45] [575 69] [375 113] [952 796] [369 -51] [1104 876] [368 -52] [942 1015] [367 -52] [459 38] [360 106] [941 1017] [358 108] [1074 903] [357 156] [931 1026] [357 109] [356 157] [932 766] [356 110] [1044 933] [354 158] [929 759] [354 104] [452 55] [353 154] [927 1021] [353 153] [1044 757] [349 114] [3274 -38] [927 1035] [347 121] [2198 988] [346 137] [927 764] [346 119] [1029 792] [346 115] [926 1030] [345 118] [450 36] [339 -45] [925 1019] [335 212] [986 782] [335 178] [923 1036] [334 232] [334 100] [917 769] [334 94] [982 753] [333 143] [916 1022] [333 95] [397 96] [331 227] [916 771] [330 226] [978 1001] [327 221] [3260 2906] [913 1022] [327 197] [797.5 -64] [326 240] [908 1022] [326 220] [975 752] [325 241] [907 1030] [325 211] [392 78] [324 242] [904 1032] [317 -57] [976 985] [315 -55] [903 758] [315 -61] [314 -38] [900 9] [312 -39] [971 937] [311 -40] [898 755] [309 -46] [358 115] [309 -57] [899 -15] [306 -54] [971 918] [305 218] [3045 2628] [899 -15] [305 -41] [2160 943] [305 -43] [897 1022] [305 -53] [967 797] [304 216] [897 1017] [299 -61] [356 165] [299 -64] [896 -11] [298 -60] [960 777] [287 10] [894 1034] [284 18] [282 23] [892 -13] [276 -30] [937 1018] [275 19] [889 1043] [275 14] [356 148] [275 0] [890 -14] [274 32] [931 1019] [272 -50] [2717 2423] [888 -13] [268 -2] [262 -52] [883 1039] [255 19] [928 761] [254 18] [881 1040] [253 22] [324 207] [253 17] [877 1028] [238 -27] [908 1027] [236 -25] [3992 917] [235 -22] [2612 1626] [233 -13] [877 1016] [894 -15] [232 -59] [874 1026] [202 180] [306 228] [873 196] [187 136] [-64 -64] [877 1024] [4160 949.667] [302.5 -64] [755 -64] [137 101] [232 -20] [3294 -64] [815 -12] [186 127] [333 143] [872 303] [1854 699] [1219 693] [770 1113] [68 15] [869 1011] [67 21] [866 185] [66 110] [868 186] [66 27] [864 1012] [61 82] [865 1010] [58 80] [864 1008] [47 52] [866 1007] [42 34] [864 245] [39 29] [865 247] [30 105] [863 220] [27 24] [864 218] [14 42] [862 182] [13 37] [864 183] [8 57] [861 1053] [1844.6670000000001 714.667] [863 1052] [4159 949] [861 176] [3258.333 -64] [863 175] [4159 3485] [861 42] [4159 3361] [862 40] [797 -63] [861 3] [245 -63] [863 4] [4159 3488] [859 1009] [1844 714] [861 1010] [3746 3072] [859 768] [3247.5 2901.5] [861 767] [4160 3485.5] [853 231] [3746.667 3072.667] [855 232] [1844.6670000000001 714.667] [852 1007] [4160 3488.25] [854 1006] [-64 4160] [852 -3]] diff --git a/planar/triangulate/gdey/quadedge/testdata/fifth.points b/planar/triangulate/gdey/quadedge/testdata/fifth.points new file mode 100644 index 00000000..2c8230f5 --- /dev/null +++ b/planar/triangulate/gdey/quadedge/testdata/fifth.points @@ -0,0 +1 @@ +{{66.103648384371410884341457858681679, 68.588612471664760050771292299032211}, {146.68071346210041383528732694685459, 121.68071346210042804614204214885831}, {128.86889656046744789819058496505022, 117.26179755904141188693756703287363}, {66.103648384371439306050888262689114, 68.588612471664774261626007501035929}, {169.55213966757199273160949815064669, 146.13377653827689073295914568006992}, {126.62939224605088384123519062995911, 181.11140466039208263282489497214556}, {74.434448280233709738240577280521393, 78.630898779520691732614068314433098}, {121.11140466039205421111546456813812, 153.37060775394911615876480937004089}, {98.888595339607888945465674623847008, 186.62939224605085541952576022595167}, {52.66066896814022157968793180771172, 63.178539267712423566081270109862089}, {85.321337936280443159375863615423441, 86.357078535424832921307825017720461}, {129.61570560806461571701220236718655, 173.90180644032261625397950410842896}, {91.52240934977427855301357340067625, 162.34633135269814374623820185661316}, {137.24095128280055178038310259580612, 112.2409512828005375695283873938024}, {93.370607753949116158764809370040894, 158.88859533960791736717510502785444}, {175, 150}, {124.14213562373090837809286313131452, 184.1421356237309794323664391413331}, {96.208227592327205002220580354332924, 94.083258291328988320856296923011541}, {98.88859533960798842144868103787303, 153.37060775394905931534594856202602}, {117.98200690442070026620058342814445, 109.53561780313727069824381032958627}, {116.19447026430383118622557958588004, 108.267043413376910621082060970366}, {54.324378061245710114235407672822475, 62.306334965997713482011022279039025}, {30.886889656046740526562643935903907, 47.726179755904141188693756703287363}, {107.09511724837395263421058189123869, 101.8094380472331295095500536262989}, {38.8922619486326652804564218968153, 52.594841299088443520304281264543533}, {146.68071346210041383528732694685459, 121.68071346210039962443261174485087}, {95.857864376269077411052421666681767, 155.8578643762690205676335608586669}, {54.324378061245703008808050071820617, 62.306334965997706376583664678037167}, {137.24095128280055178038310259580612, 112.24095128280055178038310259580612}, {161.52956552860769079416058957576752, 140.440336826753821242164121940732}, {90.384294391935398493842512834817171, 166.09819355967738374602049589157104}, {113.22072967687428501903923461213708, 93.717722494332946325812372379004955}, {77.882918707497154287011653650552034, 74.870889977331813724958919920027256}, {50, 60}, {85.321337936280457370230578817427158, 86.357078535424847132162540219724178}, {41.773779312093481053125287871807814, 55.452359511808289482814871007576585}, {89.662189030622869267972419038414955, 81.153167482998867399146547541022301}, {101.44145935374857003807846922427416, 87.435444988665906862479459960013628}, {124.14213562373096522151172393932939, 155.85786437626904898934299126267433}, {172.41645518465438158273173030465841, 148.16651658265794822000316344201565}, {63.547558624186912368259072536602616, 70.9047190236165221222108812071383}, {150.64267587256094316217058803886175, 132.71415707084969426432508043944836}, {109.99999999999992894572642398998141, 190}, {128.47759065022572144698642659932375, 177.65366864730182783205236773937941}, {90, 169.99999999999994315658113919198513}, {128.47759065022574986869585700333118, 162.34633135269820058965706266462803}, {156.12047564140027589019155129790306, 131.12047564140027589019155129790306}, {90.384294391935384282987797632813454, 173.90180644032250256714178249239922}, {95.857864376268992145924130454659462, 184.1421356237308941672381479293108}, {77.882918707497140076156938448548317, 74.870889977331799514104204718023539}, {139.75578621651419553018058650195599, 124.98797731494555307563132373616099}, {130, 170}, {102.34633135269812953538348665460944, 188.47759065022569302527699619531631}, {41.773779312093481053125287871807814, 55.452359511808282377387513406574726}, {91.522409349774235920449427794665098, 177.65366864730171414521464612334967}, {27.784523897265298586489734589122236, 45.189682598176865724326489726081491}, {126.62939224605091226294462103396654, 158.88859533960797421059396583586931}, {106.09819355967735532431106548756361, 189.61570560806458729530277196317911}, {52.660668968140200263405859004706144, 63.178539267712395144371839705854654}, {74.434448280233681316531146876513958, 78.63089877952067752175935311242938}, {106.09819355967746901114878710359335, 150.38429439193538428298779763281345}, {117.65366864730172835606936132535338, 188.47759065022574986869585700333118}, {125, 100}, {38.892261948632565804473415482789278, 52.594841299088379571458062855526805}, {52.660668968140228685115289408713579, 63.17853926771241646065391250886023}, {129.61570560806461571701220236718655, 166.09819355967744058943935669958591}, {20, 40}, {117.65366864730181362119765253737569, 151.52240934977427855301357340067625}, {161.52956552860766237245115917176008, 140.440336826753821242164121940732}, {63.547558624186969211677933344617486, 70.904719023616564754775026813149452}, {127.80118910350067551462416304275393, 102.80118910350067551462416304275393}, {89.66218903062284084626298863440752, 81.153167482998853188291832339018583}, {102.34633135269824322222120827063918, 151.52240934977425013130414299666882}, {93.370607753949059315345948562026024, 181.11140466039196894598717335611582}, {113.90180644032250256714178249239922, 189.61570560806461571701220236718655}, {121.11140466039199736769660376012325, 186.62939224605094068465405143797398}, {113.90180644032258783227007370442152, 150.38429439193538428298779763281345}, {110.00000000000002842170943040400743, 150}, {165.56023782070013794509577564895153, 140.56023782070013794509577564895153}}) diff --git a/planar/triangulate/gdey/quadedge/testdata/first.points b/planar/triangulate/gdey/quadedge/testdata/first.points new file mode 100644 index 00000000..ea3e3c8f --- /dev/null +++ b/planar/triangulate/gdey/quadedge/testdata/first.points @@ -0,0 +1 @@ +{516, 661}, {369, 793}, {426, 539}, {273, 525}, {204, 694}, {747, 750}, {454, 390}, diff --git a/planar/triangulate/gdey/quadedge/testdata/forth.points b/planar/triangulate/gdey/quadedge/testdata/forth.points new file mode 100644 index 00000000..c26cdb07 --- /dev/null +++ b/planar/triangulate/gdey/quadedge/testdata/forth.points @@ -0,0 +1 @@ +{{0, 0}, {0, 0}, {1, 0}, {1, 1}, {1, 0}, {1, 1}} \ No newline at end of file diff --git a/planar/triangulate/gdey/quadedge/testdata/second.points b/planar/triangulate/gdey/quadedge/testdata/second.points new file mode 100644 index 00000000..dbf8555e --- /dev/null +++ b/planar/triangulate/gdey/quadedge/testdata/second.points @@ -0,0 +1 @@ +{382, 302}, {382, 328}, {382, 205}, {623, 175}, {382, 188}, {382, 284}, {623, 87}, {623, 341}, {141, 227}, diff --git a/planar/triangulate/gdey/quadedge/testdata/seven.points b/planar/triangulate/gdey/quadedge/testdata/seven.points new file mode 100644 index 00000000..7a339ff9 --- /dev/null +++ b/planar/triangulate/gdey/quadedge/testdata/seven.points @@ -0,0 +1 @@ +{{54.324378061245710114235407672822475, 62.306334965997713482011022279039025}, {63.547558624186912368259072536602616, 70.9047190236165221222108812071383}, {63.547558624186969211677933344617486, 70.904719023616564754775026813149452}, {90.384294391935398493842512834817171, 166.09819355967738374602049589157104}, {90, 169.99999999999994315658113919198513}}) diff --git a/planar/triangulate/gdey/quadedge/testdata/sixth.points b/planar/triangulate/gdey/quadedge/testdata/sixth.points new file mode 100644 index 00000000..6cffcaa4 --- /dev/null +++ b/planar/triangulate/gdey/quadedge/testdata/sixth.points @@ -0,0 +1 @@ +{{63.547558624186912368259072536602616, 70.9047190236165221222108812071383}, {63.547558624186969211677933344617486, 70.904719023616564754775026813149452}, {66.103648384371410884341457858681679, 68.588612471664760050771292299032211}, {77.882918707497154287011653650552034, 74.870889977331813724958919920027256}, {128.47759065022572144698642659932375, 177.65366864730182783205236773937941}}) diff --git a/planar/triangulate/gdey/quadedge/testdata/third.points b/planar/triangulate/gdey/quadedge/testdata/third.points new file mode 100644 index 00000000..89abe700 --- /dev/null +++ b/planar/triangulate/gdey/quadedge/testdata/third.points @@ -0,0 +1 @@ +{4, 1}, {3.7974166882130675, 2.0837249985614585}, {3.2170267516619773, 3.0210869309396715}, {2.337215067329615, 3.685489874065187}, {1.276805078389906, 3.9872025288851036}, {0.17901102978375127, 3.885476929518457}, {-0.8079039091377689, 3.3940516818407187}, {-1.550651407188842, 2.5792964886320684}, {-1.9489192990517052, 1.5512485534497125}, {-1.9489192990517057, 0.44875144655029087}, {-1.5506514071888438, -0.5792964886320653}, {-0.8079039091377715, -1.394051681840717}, {0.17901102978374794, -1.8854769295184561}, {1.276805078389902, -1.987202528885104}, {2.337215067329611, -1.6854898740651891}, {3.217026751661974, -1.021086930939675}, {3.7974166882130653, -0.08372499856146409}} diff --git a/planar/triangulate/gdey/quadedge/triangulate.go b/planar/triangulate/gdey/quadedge/triangulate.go new file mode 100644 index 00000000..c1a0f0ba --- /dev/null +++ b/planar/triangulate/gdey/quadedge/triangulate.go @@ -0,0 +1,35 @@ +package qetriangulate + +import ( + "context" + + "github.com/go-spatial/geom" + "github.com/go-spatial/geom/planar/triangulate/gdey/quadedge/subdivision" +) + +// Triangulator represents a delaunay triangulation +type Triangulator struct { + points [][2]float64 +} + +// New creates new Triangulator that can be use to create a delaunay triangulation based +// on the provided points +func New(pts ...[2]float64) *Triangulator { + return &Triangulator{ + points: pts, + } +} + +// Triangles returns the Triangles from the triangulation. If includeFrame is true the frame triangle will be included +func (t *Triangulator) Triangles(ctx context.Context, includeFrame bool) ([]geom.Triangle, error) { + sd := subdivision.NewForPoints(ctx, t.points) + tris, err := sd.Triangles(includeFrame) + if err != nil { + return nil, err + } + triangles := make([]geom.Triangle, len(tris)) + for i := range tris { + triangles[i] = geom.Triangle{tris[i][0], tris[i][1], tris[i][2]} + } + return triangles, nil +} diff --git a/triangle.go b/triangle.go index cbff182d..0e1330a0 100644 --- a/triangle.go +++ b/triangle.go @@ -35,6 +35,11 @@ func (t Triangle) Center() (pt [2]float64) { return pt } +// LinearRings returns the coordinates of the linear rings +func (t Triangle) LinearRings() [][][2]float64 { + return [][][2]float64{t[:]} +} + // ThirdPoint takes 2 points and checks which point is the 3rd in the Triangle func (t Triangle) ThirdPoint(p1, p2 [2]float64) [2]float64 { switch {