diff options
| author | Christine Dodrill <me@christine.website> | 2018-10-05 14:30:43 -0700 |
|---|---|---|
| committer | Christine Dodrill <me@christine.website> | 2018-10-05 14:31:22 -0700 |
| commit | a37fe34bc17f2f3d122da6b121ed83ef8ee7b0fa (patch) | |
| tree | ac3be2cf3f091ec3cec4aa247f1b9cb264c1bee5 | |
| parent | 2c85a708989624df6bb9eca0a77ceeda8cf05f28 (diff) | |
| download | x-a37fe34bc17f2f3d122da6b121ed83ef8ee7b0fa.tar.xz x-a37fe34bc17f2f3d122da6b121ed83ef8ee7b0fa.zip | |
automate xena/xperimental build
58 files changed, 25 insertions, 5207 deletions
diff --git a/docker.go b/docker.go new file mode 100644 index 0000000..420177a --- /dev/null +++ b/docker.go @@ -0,0 +1,23 @@ +//+build ignore + +// Makes the docker image xena/xperimental. +package main + +import ( + "context" + "log" + + "github.com/Xe/x/internal" +) + +func main() { + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + tag := "xena/xperimental:" + internal.DateTag + + internal.ShouldWork(ctx, nil, internal.WD, "docker", "build", "-t", tag, ".") + internal.ShouldWork(ctx, nil, internal.WD, "docker", "push", tag) + + log.Printf("use %s", tag) +} @@ -1,7 +1,7 @@ module github.com/Xe/x require ( - github.com/GeertJohan/yubigo v0.0.0-20140521141543-b1764f04aa9b + github.com/GeertJohan/yubigo v0.0.0-20140521141543-b1764f04aa9b // indirect github.com/McKael/madon v2.3.0+incompatible github.com/Xe/ln v0.1.2 github.com/aclements/go-moremath v0.0.0-20180329182055-b1aff36309c7 // indirect @@ -26,7 +26,6 @@ require ( github.com/google/gops v0.3.5 github.com/gorilla/websocket v1.4.0 // indirect github.com/hullerob/go.farbfeld v0.0.0-20160317142651-b572f0728b69 - github.com/hypersleep/easyssh v0.0.0-20170212134900-70879c819ea1 github.com/jaytaylor/html2text v0.0.0-20180606194806-57d518f124b0 github.com/joeshaw/envdecode v0.0.0-20180312135643-c9e015854467 github.com/joho/godotenv v1.3.0 @@ -35,8 +34,7 @@ require ( github.com/klauspost/cpuid v0.0.0-20180405133222-e7e905edc00e // indirect github.com/klauspost/crc32 v0.0.0-20170628072449-bab58d77464a // indirect github.com/klauspost/reedsolomon v0.0.0-20180704173009-925cb01d6510 // indirect - github.com/kr/pretty v0.1.0 - github.com/mzohreva/GoGraphviz v0.0.0-20180226085351-533f4a37d9c6 + github.com/mzohreva/GoGraphviz v0.0.0-20180226085351-533f4a37d9c6 // indirect github.com/olekukonko/tablewriter v0.0.0-20180912035003-be2c049b30cc // indirect github.com/pborman/uuid v1.2.0 github.com/peterh/liner v1.1.0 @@ -55,8 +53,6 @@ require ( golang.org/x/oauth2 v0.0.0-20181003184128-c57b0facaced golang.org/x/sys v0.0.0-20181004145325-8469e314837c // indirect google.golang.org/appengine v1.2.0 // indirect - gopkg.in/gcfg.v1 v1.2.3 gopkg.in/irc.v1 v1.3.0 - gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v2 v2.2.1 // indirect ) @@ -73,8 +73,6 @@ github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoA github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/hullerob/go.farbfeld v0.0.0-20160317142651-b572f0728b69 h1:oVHYt/ne+aIKsvK4QhnDeCNz9PNn1FbXLtdsX8qZG34= github.com/hullerob/go.farbfeld v0.0.0-20160317142651-b572f0728b69/go.mod h1:mQEoc766DxPTAwQ54neWTK/lFqIeSO7OU6bqZsceglw= -github.com/hypersleep/easyssh v0.0.0-20170212134900-70879c819ea1 h1:dF6rYzan4BixdI4y84azrhnk+XMxyeAPZw8lmOglhBM= -github.com/hypersleep/easyssh v0.0.0-20170212134900-70879c819ea1/go.mod h1:3hqqigaRGbAy6sYHeVLQcGLIBtYmwARNWSn4/TqH8SA= github.com/jaytaylor/html2text v0.0.0-20180606194806-57d518f124b0 h1:xqgexXAGQgY3HAjNPSaCqn5Aahbo5TKsmhp8VRfr1iQ= github.com/jaytaylor/html2text v0.0.0-20180606194806-57d518f124b0/go.mod h1:CVKlgaMiht+LXvHG173ujK6JUhZXKb2u/BQtjPDIvyk= github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1/go.mod h1:E0B/fFc00Y+Rasa88328GlI/XbtyysCtTHZS8h7IrBU= @@ -194,13 +192,9 @@ google.golang.org/genproto v0.0.0-20180731170733-daca94659cb5/go.mod h1:JiN7NxoA google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/gcfg.v1 v1.2.3 h1:m8OOJ4ccYHnx2f4gQwpno8nAX5OGOh7RLaaz0pj3Ogs= -gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/irc.v1 v1.3.0 h1:28A0njDuHNueatbQZsRB78CaU8sueA8JWIXVvue60sg= gopkg.in/irc.v1 v1.3.0/go.mod h1:yXDeqklL7+ht3OdUIo0r8WaraGQyjyD+/92R1YxNZxM= -gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= -gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.2.1 h1:mUhvW9EsL+naU5Q3cakzfE91YhliOondGd6ZrsDBHQE= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o= diff --git a/tools/dokku/.gitignore b/tools/dokku/.gitignore deleted file mode 100644 index ae9366d..0000000 --- a/tools/dokku/.gitignore +++ /dev/null @@ -1 +0,0 @@ -dokku diff --git a/tools/dokku/README.md b/tools/dokku/README.md deleted file mode 100644 index a017917..0000000 --- a/tools/dokku/README.md +++ /dev/null @@ -1,55 +0,0 @@ -Dokku -===== - -This is a simple command line tool to interface with Dokku servers. This is -a port of my shell extension -[`dokku.zsh`](https://github.com/Xe/dotfiles/blob/master/.zsh/dokku.zsh) to -a nice Go binary. - -This takes a configuration file for defining multiple servers: - -```ini -[server "default"] -user = dokku -host = panel.apps.xeserv.us -sshkey = /.ssh/id_rsa -``` - -By default it will imply that the SSH key is `~/.ssh/id_rsa` and that the -username is `dokku`. By default the server named `default` will be used for -command execution. - -TODO ----- - -- [ ] Allow interactive commands -- [ ] Directly pipe stdin and stdout to the ssh connection - ---- - -``` -This is free and unencumbered software released into the public domain. - -Anyone is free to copy, modify, publish, use, compile, sell, or -distribute this software, either in source code form or as a compiled -binary, for any purpose, commercial or non-commercial, and by any -means. - -In jurisdictions that recognize copyright laws, the author or authors -of this software dedicate any and all copyright interest in the -software to the public domain. We make this dedication for the benefit -of the public at large and to the detriment of our heirs and -successors. We intend this dedication to be an overt act of -relinquishment in perpetuity of all present and future rights to this -software under copyright law. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -For more information, please refer to <http://unlicense.org/> -``` diff --git a/tools/dokku/config.go b/tools/dokku/config.go deleted file mode 100644 index 74c5e0b..0000000 --- a/tools/dokku/config.go +++ /dev/null @@ -1,11 +0,0 @@ -package main - -type Config struct { - Server map[string]*Server -} - -type Server struct { - SSHKey string // if blank default key will be used. - Host string // hostname of the dokku server - User string // if blank username will be dokku -} diff --git a/tools/dokku/dokku.cfg.sample b/tools/dokku/dokku.cfg.sample deleted file mode 100644 index b914ebe..0000000 --- a/tools/dokku/dokku.cfg.sample +++ /dev/null @@ -1,2 +0,0 @@ -[server "default"] -host = panel.apps.xeserv.us diff --git a/tools/dokku/main.go b/tools/dokku/main.go deleted file mode 100644 index 796083d..0000000 --- a/tools/dokku/main.go +++ /dev/null @@ -1,64 +0,0 @@ -package main // christine.website/go/tools/dokku - -import ( - "flag" - "fmt" - "log" - "os" - "strings" - - "github.com/hypersleep/easyssh" - gcfg "gopkg.in/gcfg.v1" -) - -var ( - cfgPath = flag.String("cfg", "", "configuration path, default is ~/.dokku.cfg") - serverName = flag.String("server", "default", "server to use out of dokku config") -) - -func main() { - flag.Parse() - - if *cfgPath == "" { - *cfgPath = os.Getenv("HOME") + "/.dokku.cfg" - } - - var cfg Config - err := gcfg.ReadFileInto(&cfg, *cfgPath) - if err != nil { - log.Fatal(err) - } - - var server *Server - var ok bool - - if server, ok = cfg.Server[*serverName]; !ok { - log.Fatalf("server %s not defined in configuration file %s", *serverName, *cfgPath) - } - - if server.User == "" { - server.User = "dokku" - } - - if server.SSHKey == "" { - server.SSHKey = "/.ssh/id_rsa" - } - - ssh := &easyssh.MakeConfig{ - User: server.User, - Server: server.Host, - Key: server.SSHKey, - } - - command := strings.Join(flag.Args(), " ") - - stdout, stderr, _, err := ssh.Run(command, 360) - if err != nil { - log.Fatal(err) - } - - fmt.Print(stdout) - fmt.Println() - fmt.Print(stderr) - fmt.Println() -} diff --git a/tools/graphirot/README.md b/tools/graphirot/README.md deleted file mode 100644 index beb7f7b..0000000 --- a/tools/graphirot/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# graphirot - -A really, really bad idea to find out what happens when you translate the tree of life to graphviz. diff --git a/tools/graphirot/main.go b/tools/graphirot/main.go deleted file mode 100644 index bf0964a..0000000 --- a/tools/graphirot/main.go +++ /dev/null @@ -1,100 +0,0 @@ -package main - -import ( - "os" - - "github.com/mzohreva/GoGraphviz/graphviz" -) - -func main() { - g := graphviz.Graph{} - - keter := g.AddNode("Keter") - binah := g.AddNode("Binah") - chokmah := g.AddNode("Chokmah") - daat := g.AddNode("Da'at") - gevurah := g.AddNode("Gevurah") - hesed := g.AddNode("Hesed") - tiferet := g.AddNode("Tilferet") - hod := g.AddNode("Hod") - netzah := g.AddNode("Netzah") - yesod := g.AddNode("Yesod") - malkhut := g.AddNode("Malkhut") - - g.NodeAttribute(keter, "group", "g1") - g.NodeAttribute(binah, "group", "g2") - g.NodeAttribute(chokmah, "group", "g2") - g.NodeAttribute(daat, "group", "g3") - g.NodeAttribute(gevurah, "group", "g4") - g.NodeAttribute(hesed, "group", "g4") - g.NodeAttribute(tiferet, "group", "g5") - g.NodeAttribute(hod, "group", "g6") - g.NodeAttribute(netzah, "group", "g6") - g.NodeAttribute(yesod, "group", "g7") - g.NodeAttribute(malkhut, "group", "g8") - - invisLink := func(a, b int) { - e := g.AddEdge(a, b, "") - g.EdgeAttribute(e, "style", "invis") - } - invisLink(daat, keter) - invisLink(daat, binah) - invisLink(daat, chokmah) - invisLink(daat, tiferet) - - g.AddEdge(keter, binah, "") - g.AddEdge(keter, chokmah, "") - g.AddEdge(keter, tiferet, "") - - g.AddEdge(binah, chokmah, "") - g.AddEdge(binah, keter, "") - g.AddEdge(binah, gevurah, "") - g.AddEdge(binah, tiferet, "") - g.AddEdge(binah, hesed, "") - - g.AddEdge(chokmah, keter, "") - g.AddEdge(chokmah, binah, "") - g.AddEdge(chokmah, tiferet, "") - g.AddEdge(chokmah, hesed, "") - - g.AddEdge(gevurah, binah, "") - g.AddEdge(gevurah, chokmah, "") - g.AddEdge(gevurah, hesed, "") - g.AddEdge(gevurah, tiferet, "") - g.AddEdge(gevurah, hod, "") - - g.AddEdge(hesed, chokmah, "") - g.AddEdge(hesed, binah, "") - g.AddEdge(hesed, gevurah, "") - g.AddEdge(hesed, hod, "") - g.AddEdge(hesed, netzah, "") - - g.AddEdge(tiferet, keter, "") - g.AddEdge(tiferet, binah, "") - g.AddEdge(tiferet, gevurah, "") - g.AddEdge(tiferet, hesed, "") - g.AddEdge(tiferet, hod, "") - g.AddEdge(tiferet, netzah, "") - g.AddEdge(tiferet, yesod, "") - - g.AddEdge(hod, gevurah, "") - g.AddEdge(hod, tiferet, "") - g.AddEdge(hod, netzah, "") - g.AddEdge(hod, yesod, "") - - g.AddEdge(netzah, hesed, "") - g.AddEdge(netzah, tiferet, "") - g.AddEdge(netzah, hod, "") - g.AddEdge(netzah, yesod, "") - - g.AddEdge(yesod, hod, "") - g.AddEdge(yesod, tiferet, "") - g.AddEdge(yesod, netzah, "") - g.AddEdge(yesod, malkhut, "") - - g.MakeSameRank(binah, chokmah) - g.MakeSameRank(gevurah, hesed) - g.MakeSameRank(hod, netzah) - - g.GenerateDOT(os.Stdout) -} diff --git a/tools/graphirot/tree.svg b/tools/graphirot/tree.svg deleted file mode 100644 index 9eeff5b..0000000 --- a/tools/graphirot/tree.svg +++ /dev/null @@ -1,198 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" - "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<!-- Generated by graphviz version 2.40.1 (20161225.0304) - --> -<!-- Title: %0 Pages: 1 --> -<svg width="296pt" height="548pt" - viewBox="0.00 0.00 295.63 548.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> -<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 544)"> -<title>%0</title> -<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-544 291.6333,-544 291.6333,4 -4,4"/> -<!-- n0 --> -<g id="node1" class="node"> -<title>n0</title> -<ellipse fill="none" stroke="#000000" cx="183.2815" cy="-450" rx="32.4595" ry="18"/> -<text text-anchor="middle" x="183.2815" y="-445.8" font-family="Times,serif" font-size="14.00" fill="#000000">Keter</text> -</g> -<!-- n1 --> -<g id="node2" class="node"> -<title>n1</title> -<ellipse fill="none" stroke="#000000" cx="102.2815" cy="-378" rx="34.2084" ry="18"/> -<text text-anchor="middle" x="102.2815" y="-373.8" font-family="Times,serif" font-size="14.00" fill="#000000">Binah</text> -</g> -<!-- n0--n1 --> -<g id="edge5" class="edge"> -<title>n0--n1</title> -<path fill="none" stroke="#000000" d="M165.7057,-434.3771C152.1193,-422.3003 133.4008,-405.6616 119.823,-393.5924"/> -</g> -<!-- n2 --> -<g id="node3" class="node"> -<title>n2</title> -<ellipse fill="none" stroke="#000000" cx="203.2815" cy="-378" rx="48.6791" ry="18"/> -<text text-anchor="middle" x="203.2815" y="-373.8" font-family="Times,serif" font-size="14.00" fill="#000000">Chokmah</text> -</g> -<!-- n0--n2 --> -<g id="edge6" class="edge"> -<title>n0--n2</title> -<path fill="none" stroke="#000000" d="M188.2253,-432.2022C191.2792,-421.2085 195.1867,-407.1413 198.2556,-396.0931"/> -</g> -<!-- n6 --> -<g id="node7" class="node"> -<title>n6</title> -<ellipse fill="none" stroke="#000000" cx="209.2815" cy="-234" rx="39.9799" ry="18"/> -<text text-anchor="middle" x="209.2815" y="-229.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tilferet</text> -</g> -<!-- n0--n6 --> -<g id="edge7" class="edge"> -<title>n0--n6</title> -<path fill="none" stroke="#000000" d="M209.8356,-439.5523C227.9361,-430.8627 250.5036,-416.5704 261.2815,-396 287.1914,-346.5491 246.5007,-281.816 223.4268,-251.3194"/> -</g> -<!-- n1--n2 --> -<g id="edge8" class="edge"> -<title>n1--n2</title> -<path fill="none" stroke="#000000" d="M136.6057,-378C142.5961,-378 148.5865,-378 154.5769,-378"/> -</g> -<!-- n4 --> -<g id="node5" class="node"> -<title>n4</title> -<ellipse fill="none" stroke="#000000" cx="44.2815" cy="-306" rx="44.0641" ry="18"/> -<text text-anchor="middle" x="44.2815" y="-301.8" font-family="Times,serif" font-size="14.00" fill="#000000">Gevurah</text> -</g> -<!-- n1--n4 --> -<g id="edge9" class="edge"> -<title>n1--n4</title> -<path fill="none" stroke="#000000" d="M88.8294,-361.3008C79.5932,-349.8352 67.3697,-334.6612 58.0635,-323.1086"/> -</g> -<!-- n5 --> -<g id="node6" class="node"> -<title>n5</title> -<ellipse fill="none" stroke="#000000" cx="141.2815" cy="-306" rx="35.3315" ry="18"/> -<text text-anchor="middle" x="141.2815" y="-301.8" font-family="Times,serif" font-size="14.00" fill="#000000">Hesed</text> -</g> -<!-- n1--n5 --> -<g id="edge11" class="edge"> -<title>n1--n5</title> -<path fill="none" stroke="#000000" d="M111.7223,-360.5708C117.809,-349.3339 125.6963,-334.7727 131.7925,-323.5182"/> -</g> -<!-- n1--n6 --> -<g id="edge10" class="edge"> -<title>n1--n6</title> -<path fill="none" stroke="#000000" d="M129.2611,-366.7881C147.6562,-357.8085 171.1549,-343.4853 185.2815,-324 200.848,-302.5286 206.3195,-271.6314 208.2418,-252.1971"/> -</g> -<!-- n2--n5 --> -<g id="edge13" class="edge"> -<title>n2--n5</title> -<path fill="none" stroke="#000000" d="M188.273,-360.5708C178.3817,-349.0841 165.4993,-334.1239 155.7248,-322.7729"/> -</g> -<!-- n2--n6 --> -<g id="edge12" class="edge"> -<title>n2--n6</title> -<path fill="none" stroke="#000000" d="M209.6763,-359.7647C212.9661,-349.4187 216.6257,-336.1474 218.2815,-324 221.6748,-299.1055 217.3109,-270.1729 213.5607,-251.9742"/> -</g> -<!-- n3 --> -<g id="node4" class="node"> -<title>n3</title> -<ellipse fill="none" stroke="#000000" cx="213.2815" cy="-522" rx="32.4595" ry="18"/> -<text text-anchor="middle" x="213.2815" y="-517.8" font-family="Times,serif" font-size="14.00" fill="#000000">Da'at</text> -</g> -<!-- n3--n0 --> -<!-- n3--n1 --> -<!-- n3--n2 --> -<!-- n3--n6 --> -<!-- n4--n2 --> -<g id="edge14" class="edge"> -<title>n4--n2</title> -<path fill="none" stroke="#000000" d="M73.8933,-319.4091C101.9034,-332.093 143.7792,-351.0556 172.2473,-363.9468"/> -</g> -<!-- n4--n5 --> -<g id="edge15" class="edge"> -<title>n4--n5</title> -<path fill="none" stroke="#000000" d="M88.6135,-306C94.3741,-306 100.1347,-306 105.8952,-306"/> -</g> -<!-- n4--n6 --> -<g id="edge16" class="edge"> -<title>n4--n6</title> -<path fill="none" stroke="#000000" d="M74.545,-292.7941C104.6885,-279.6406 150.6371,-259.5903 180.3164,-246.6393"/> -</g> -<!-- n7 --> -<g id="node8" class="node"> -<title>n7</title> -<ellipse fill="none" stroke="#000000" cx="81.2815" cy="-162" rx="27.8306" ry="18"/> -<text text-anchor="middle" x="81.2815" y="-157.8" font-family="Times,serif" font-size="14.00" fill="#000000">Hod</text> -</g> -<!-- n4--n7 --> -<g id="edge17" class="edge"> -<title>n4--n7</title> -<path fill="none" stroke="#000000" d="M48.8928,-288.0535C55.9829,-260.4592 69.4871,-207.9026 76.6121,-180.1727"/> -</g> -<!-- n5--n7 --> -<g id="edge18" class="edge"> -<title>n5--n7</title> -<path fill="none" stroke="#000000" d="M133.9243,-288.3428C122.4087,-260.7053 100.2514,-207.5278 88.6989,-179.8017"/> -</g> -<!-- n8 --> -<g id="node9" class="node"> -<title>n8</title> -<ellipse fill="none" stroke="#000000" cx="165.2815" cy="-162" rx="38.2607" ry="18"/> -<text text-anchor="middle" x="165.2815" y="-157.8" font-family="Times,serif" font-size="14.00" fill="#000000">Netzah</text> -</g> -<!-- n5--n8 --> -<g id="edge19" class="edge"> -<title>n5--n8</title> -<path fill="none" stroke="#000000" d="M144.2726,-288.0535C148.8716,-260.4592 157.6311,-207.9026 162.2527,-180.1727"/> -</g> -<!-- n6--n5 --> -<g id="edge20" class="edge"> -<title>n6--n5</title> -<path fill="none" stroke="#000000" d="M193.4404,-250.7729C182.3772,-262.4869 167.6836,-278.0448 156.7118,-289.6621"/> -</g> -<!-- n6--n7 --> -<g id="edge21" class="edge"> -<title>n6--n7</title> -<path fill="none" stroke="#000000" d="M183.9928,-219.7751C160.0955,-206.3329 124.6639,-186.4026 102.2837,-173.8137"/> -</g> -<!-- n6--n8 --> -<g id="edge22" class="edge"> -<title>n6--n8</title> -<path fill="none" stroke="#000000" d="M198.6303,-216.5708C191.7633,-205.3339 182.8648,-190.7727 175.9871,-179.5182"/> -</g> -<!- |
