From: qydysky Date: Thu, 19 Nov 2020 04:46:19 +0000 (+0800) Subject: 可在gtk界面切换房间 X-Git-Tag: v0.5.2~2^2~5 X-Git-Url: http://127.0.0.1:8081/?a=commitdiff_plain;h=388d15fc1a70e4f08afcafdf26e5bfb1259217a0;p=bili_danmu%2F.git 可在gtk界面切换房间 --- diff --git a/CV/Var.go b/CV/Var.go index d5842e7..fbc5191 100644 --- a/CV/Var.go +++ b/CV/Var.go @@ -2,8 +2,10 @@ package cv import ( "time" + mq "github.com/qydysky/part/msgq" ) + var ( Live []string//直播链接 Live_qn string @@ -15,6 +17,9 @@ var ( Liveing bool//是否在直播 ) +//消息队列 +var Danmu_Main_mq = mq.New() + //from player-loader-2.0.11.min.js /* customAuthParam diff --git a/README.md b/README.md index ff734d2..6b3fb0e 100644 --- a/README.md +++ b/README.md @@ -160,11 +160,14 @@ ctrl+c退出,会同时追加记录到文件danmu.log中(文件记录完整 ![](_Screenshot/Screenshot_20200926_173834.png) [截图地址](//zdir.ntsdtt.bid/ALL/Admin/Remote/%E5%9B%BE%E7%89%87/Screenshot_20200926_173834.png) -Gtk弹幕窗(Linux Only) +- Gtk弹幕窗(Linux Only) ![](_Screenshot/Screenshot_20201023_232029.png) [截图地址](//zdir.ntsdtt.bid/ALL/Admin/Remote/%E5%9B%BE%E7%89%87/Screenshot_20201023_232029.png) +![](_Screenshot/Screenshot_20201119_124329.png) + +[截图地址](//zdir.ntsdtt.bid/ALL/Admin/Remote/%E5%9B%BE%E7%89%87/Screenshot_20201119_124329.png) 更多内容详见注释,如有疑问请发issues,欢迎pr diff --git a/Reply/0Init.go b/Reply/0Init.go index 972f53a..039ec6d 100644 --- a/Reply/0Init.go +++ b/Reply/0Init.go @@ -7,7 +7,7 @@ import ( //从config.json初始化 func init(){ buf := s.New() - buf.Load("config_F.json") + buf.Load("config/config_F.json") for k,v := range buf.B { AllF[k] = v.(bool) } diff --git a/Reply/Reply.go b/Reply/Reply.go index 1dacbf4..04bbb44 100644 --- a/Reply/Reply.go +++ b/Reply/Reply.go @@ -565,7 +565,7 @@ func Msg_showdanmu(auth interface{}, m ...string) { if auth != nil { Gui_show(fmt.Sprint(auth) +`: `+ msg, m[1]) } else { - Gui_show(msg) + Gui_show(m...) } } diff --git a/Reply/gtk.go b/Reply/gtk.go index dca144c..65341d2 100644 --- a/Reply/gtk.go +++ b/Reply/gtk.go @@ -5,6 +5,7 @@ package reply import ( "container/list" "errors" + "strconv" "time" "log" "fmt" @@ -15,6 +16,7 @@ import ( p "github.com/qydysky/part" F "github.com/qydysky/bili_danmu/F" c "github.com/qydysky/bili_danmu/CV" + s "github.com/qydysky/part/buf" ) const ( max = 50 @@ -57,11 +59,22 @@ var ( func init(){ if!IsOn("Gtk") {return} go func(){ + {//加载特定信息驻留时长 + buf := s.New() + buf.Load("config/config_gtk_keep_key.json") + for k,v := range buf.B { + keep_key[k] = int(v.(float64)) + } + } go Gtk_danmu() + var ( + sig = Danmu_mq.Sig() + data interface{} + ) for { - o := Danmu_mq.Pull().(Danmu_mq_t) - Gtk_danmuChan_uid <- o.uid - Gtk_danmuChan <- o.msg + data,sig = Danmu_mq.Pull(sig) + Gtk_danmuChan_uid <- data.(Danmu_mq_t).uid + Gtk_danmuChan <- data.(Danmu_mq_t).msg } }() } @@ -76,6 +89,8 @@ func Gtk_danmu() { var viewport0 *gtk.Viewport var w2_textView0 *gtk.TextView var w2_textView1 *gtk.TextView + var w2_Entry0 *gtk.Entry + var w2_Entry0_editting bool application, err := gtk.ApplicationNew(appId, glib.APPLICATION_FLAGS_NONE) if err != nil {log.Println(err);return} @@ -127,6 +142,39 @@ func Gtk_danmu() { w2_textView1 = tmp }else{log.Println("cant find #t1 in .glade");return} } + {//房间id + obj, err := builder2.GetObject("want_room_id") + if err != nil {log.Println(err);return} + if tmp,ok := obj.(*gtk.Entry); ok { + w2_Entry0 = tmp + tmp.Connect("focus-in-event", func() { + w2_Entry0_editting = true + }) + tmp.Connect("focus-out-event", func() { + w2_Entry0_editting = false + }) + }else{log.Println("cant find #want_room_id in .glade");return} + } + {//房间id click + obj, err := builder2.GetObject("want_click") + if err != nil {log.Println(err);return} + if tmp,ok := obj.(*gtk.Button); ok { + tmp.Connect("clicked", func() { + if t,e := w2_Entry0.GetText();e != nil { + y("读取错误",load_face("0room")) + } else if t != `` { + if i,e := strconv.Atoi(t);e != nil { + y(`输入错误`,load_face("0room")) + } else { + c.Roomid = i + c.Danmu_Main_mq.Push(`change_room`) + } + } else { + y(`房间号输入为空`,load_face("0room")) + } + }) + }else{log.Println("cant find #want_click in .glade");return} + } { obj, err := builder.GetObject("scrolledwindow0") if err != nil {log.Println(err);return} @@ -302,6 +350,13 @@ func Gtk_danmu() { b.SetText(fmt.Sprintf("%02d:%02d:%02d", h, m, s)) } } + {//房间id + if !w2_Entry0_editting { + if t,e := w2_Entry0.GetText();e == nil && t == `` && c.Roomid != 0{ + w2_Entry0.SetText(strconv.Itoa(c.Roomid)) + } + } + } if gtkGetList.Len() == 0 {return} el := gtkGetList.Front() if el == nil {return} diff --git a/_Screenshot/Screenshot_20201119_124329.png b/_Screenshot/Screenshot_20201119_124329.png new file mode 100644 index 0000000..aa9ceb1 Binary files /dev/null and b/_Screenshot/Screenshot_20201119_124329.png differ diff --git a/bili_danmu.go b/bili_danmu.go index 8810836..3d2b6de 100644 --- a/bili_danmu.go +++ b/bili_danmu.go @@ -47,16 +47,31 @@ func Demo(roomid ...int) { } else { fmt.Print(strconv.Itoa(room), "\n") } + c.Roomid = room + + var exit_sign bool + var change_room_chan = make(chan bool) + + go func(){ + var ( + sig = c.Danmu_Main_mq.Sig() + data interface{} + ) + for { + data,sig = c.Danmu_Main_mq.Pull(sig) + if data.(string) != `change_room` {continue} + change_room_chan <- true + } + }() - var break_sign bool - for !break_sign { + for !exit_sign { //获取房间相关信息 - api := F.New_api(room).Get_host_Token().Get_live() + api := F.New_api(c.Roomid).Get_host_Token().Get_live() if len(api.Url) == 0 || api.Roomid == 0 || api.Token == "" || api.Uid == 0 || api.Locked { danmulog.E("some err") return } - danmulog.I("连接到房间", room) + danmulog.I("连接到房间", c.Roomid) //对每个弹幕服务器尝试 for _, v := range api.Url { @@ -68,9 +83,12 @@ func Demo(roomid ...int) { danmulog.I("连接", v) ws.SendChan <- F.HelloGen(api.Roomid, api.Token) if F.HelloChe(<- ws.RecvChan) { - danmulog.I("已连接到房间", room) - danmulog.I(c.Title) - + danmulog.I("已连接到房间", c.Roomid) + reply.Gui_show(`进入直播间: `+strconv.Itoa(c.Roomid), `0room`) + if c.Title != `` { + danmulog.I(c.Title) + reply.Gui_show(`房间标题: `+c.Title, `0room`) + } //30s获取一次人气 go func(){ danmulog.I("获取人气") @@ -101,6 +119,7 @@ func Demo(roomid ...int) { } var isclose bool + var break_sign bool for !isclose { select { case i := <- ws.RecvChan: @@ -113,6 +132,11 @@ func Demo(roomid ...int) { ws.Close() danmulog.I("停止,等待服务器断开连接") break_sign = true + exit_sign = true + case <- change_room_chan: + ws.Close() + danmulog.I("停止,等待服务器断开连接") + break_sign = true } } diff --git a/bili_danmu_test.go b/bili_danmu_test.go deleted file mode 100644 index 709ebf1..0000000 --- a/bili_danmu_test.go +++ /dev/null @@ -1,10 +0,0 @@ -package bili_danmu - -import ( - "testing" -) - -func Test_bili_danmu(t *testing.T) { - -} - diff --git a/demo/config/config_F.json b/demo/config/config_F.json new file mode 100644 index 0000000..ea13ad6 --- /dev/null +++ b/demo/config/config_F.json @@ -0,0 +1,16 @@ +{ + "ShowRev":true, + "Gtk": true, + "Qtd": false, + "Saveflv": false, + "Ass": true, + "Obs": false, + "Autoban": false, + "Jiezou": true, + "Danmuji": true, + "Danmuji_auto": false, + "Autoskip": true, + "Lessdanmu": true, + "Moredanmu": false, + "Shortdanmu": true +} \ No newline at end of file diff --git a/demo/config/config_gtk_keep_key.json b/demo/config/config_gtk_keep_key.json new file mode 100644 index 0000000..99b5688 --- /dev/null +++ b/demo/config/config_gtk_keep_key.json @@ -0,0 +1,11 @@ +{ + "face/0default":0, + "face/0room":0, + "face/0buyguide":9, + "face/0gift":8, + "face/0jiezou":8, + "face/0level1":5, + "face/0level2":3, + "face/0level3":1, + "face/0superchat":13 +} \ No newline at end of file diff --git a/demo/go.mod b/demo/go.mod index bcaf5f0..8402bc6 100644 --- a/demo/go.mod +++ b/demo/go.mod @@ -3,12 +3,14 @@ module github.com/qydysky/bili_danmu/demo go 1.14 require ( + github.com/christopher-dG/go-obs-websocket v0.0.0-20200720193653-c4fed10356a5 // indirect + github.com/gorilla/websocket v1.4.2 // indirect github.com/gotk3/gotk3 v0.5.0 // indirect github.com/klauspost/compress v1.11.2 // indirect github.com/miekg/dns v1.1.35 // indirect github.com/mitchellh/mapstructure v1.3.3 // indirect github.com/qydysky/bili_danmu v0.4.0 - github.com/qydysky/part v0.2.2-0.20201118040602-e0a4255270c5 // indirect + github.com/qydysky/part v0.2.2-0.20201119032922-a6f2c3476095 // indirect github.com/shirou/gopsutil v3.20.10+incompatible // indirect golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897 // indirect golang.org/x/net v0.0.0-20201110031124-69a78807bb2b // indirect diff --git a/demo/go.sum b/demo/go.sum index 65284af..ee15fe0 100644 --- a/demo/go.sum +++ b/demo/go.sum @@ -50,6 +50,10 @@ github.com/qydysky/part v0.2.2-0.20201117231944-b989fc77f39b h1:YxwA2XVfF3/6mWwO github.com/qydysky/part v0.2.2-0.20201117231944-b989fc77f39b/go.mod h1:93s9ohLtzULet5ZPEUUWrT9BELC30oDZgRpgGSiDye4= github.com/qydysky/part v0.2.2-0.20201118040602-e0a4255270c5 h1:VqAQccFpYPRNvrF6NECzMokcJkt1URo9voUiO5SKf1s= github.com/qydysky/part v0.2.2-0.20201118040602-e0a4255270c5/go.mod h1:93s9ohLtzULet5ZPEUUWrT9BELC30oDZgRpgGSiDye4= +github.com/qydysky/part v0.2.2-0.20201118201147-5c672b694ad4 h1:ROhlxKQCiWfC/d4qnbC6E5v+HuY/01csmbH39OPQncM= +github.com/qydysky/part v0.2.2-0.20201118201147-5c672b694ad4/go.mod h1:93s9ohLtzULet5ZPEUUWrT9BELC30oDZgRpgGSiDye4= +github.com/qydysky/part v0.2.2-0.20201119032922-a6f2c3476095 h1:xMahJIwZcpiRWg3Lm2eBmDS6rB4aXdOX5nJXfF4AlME= +github.com/qydysky/part v0.2.2-0.20201119032922-a6f2c3476095/go.mod h1:93s9ohLtzULet5ZPEUUWrT9BELC30oDZgRpgGSiDye4= github.com/shirou/gopsutil v2.20.7+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shirou/gopsutil v2.20.8+incompatible h1:8c7Atn0FAUZJo+f4wYbN0iVpdWniCQk7IYwGtgdh1mY= github.com/shirou/gopsutil v2.20.8+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= diff --git a/demo/ui/2.glade b/demo/ui/2.glade index e2bd81e..c59ee50 100644 --- a/demo/ui/2.glade +++ b/demo/ui/2.glade @@ -26,38 +26,115 @@ True False + 2 + 2 vertical 3 2 - + True - False - 项目 - 16 - - - 0 - 0 - - - - - True - False + True + 2 + 2 True - 值 - - - 1 - 0 - - - - - True - False - 营收(启动后) + False + True + + + True + False + True + True + 3 + 2 + + + True + False + 直播时长 + + + 0 + 1 + + + + + True + False + 营收 + + + 0 + 2 + + + + + True + True + False + right + False + False + + + 1 + 1 + + + + + True + True + natural + False + right + False + False + + + 1 + 2 + + + + + True + False + 项目 + 16 + + + 0 + 0 + + + + + True + False + True + 值 + + + 1 + 0 + + + + + + + + True + False + 本次直播 + + 0 @@ -65,42 +142,62 @@ - - True - True - natural - False - right - False - False - - - 1 - 2 - - - - + True False - 直播时长 + + + True + False + 7 + 7 + 1 + 1 + 房间id + + + 0 + 0 + + + + + True + True + True + number + + + 1 + 0 + + + + + 进入 + True + True + True + + + 2 + 0 + + 0 - 1 + 0 - + True - True - False - right - False - False + False + 2 - 1 + 0 1 diff --git a/go.mod b/go.mod index b2e1f64..4469acd 100644 --- a/go.mod +++ b/go.mod @@ -1,17 +1,3 @@ module github.com/qydysky/bili_danmu -go 1.14 - -require ( - github.com/christopher-dG/go-obs-websocket v0.0.0-20200720193653-c4fed10356a5 - github.com/gorilla/websocket v1.4.2 - github.com/klauspost/compress v1.11.0 // indirect - github.com/qydysky/part v0.0.6 - github.com/shirou/gopsutil v2.20.8+incompatible // indirect - github.com/therecipe/qt v0.0.0-20200904063919-c0c124a5770d - golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a // indirect - golang.org/x/net v0.0.0-20200904194848-62affa334b73 // indirect - golang.org/x/sys v0.0.0-20200917061948-648f2a039071 // indirect -) - -//replace github.com/qydysky/part => ../part +go 1.15 diff --git a/go.sum b/go.sum deleted file mode 100644 index b94f2cb..0000000 --- a/go.sum +++ /dev/null @@ -1,97 +0,0 @@ -github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d h1:G0m3OIz70MZUWq3EgK3CesDbo8upS2Vm9/P3FtgI+Jk= -github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= -github.com/christopher-dG/go-obs-websocket v0.0.0-20200720193653-c4fed10356a5 h1:UFBgEMSPv6a2vgzowHOPphVit+ZBNQ3+4Q+dEBgwIww= -github.com/christopher-dG/go-obs-websocket v0.0.0-20200720193653-c4fed10356a5/go.mod h1:P5w+dDqQEbCMFAkmucNcEQ6xgAt/NP+Aw58OQfY/H/o= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/go-ole/go-ole v1.2.4 h1:nNBDSCOigTSiarFpYE9J/KtEA1IOW4CNeqT9TQDqCxI= -github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM= -github.com/gopherjs/gopherjs v0.0.0-20190411002643-bd77b112433e/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/klauspost/compress v1.10.10 h1:a/y8CglcM7gLGYmlbP/stPE5sR3hbhFRUjCBfd/0B3I= -github.com/klauspost/compress v1.10.10/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.11.0 h1:wJbzvpYMVGG9iTI9VxpnNZfd4DzMPoCWze3GgSqz8yg= -github.com/klauspost/compress v1.11.0/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/miekg/dns v1.1.31 h1:sJFOl9BgwbYAWOGEwr61FU28pqsBNdpRBnhGXtO06Oo= -github.com/miekg/dns v1.1.31/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= -github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/qydysky/part v0.0.0-20200912061031-0f3a305b4afb h1:p2R5IUkza8POjdulQWSJrFSxhpjIzSWLX4KMt/YyS9E= -github.com/qydysky/part v0.0.0-20200912061031-0f3a305b4afb/go.mod h1:+8N3UgJBVyJj8ar31eZtucwrKpLpay854Y5qq0xk3x0= -github.com/qydysky/part v0.0.0-20200914123330-afade058e33d h1:um1WzsGzwD6h+1W3jqGcWJPVr4kT5gmRRaXXVwO7nb4= -github.com/qydysky/part v0.0.0-20200914123330-afade058e33d/go.mod h1:+8N3UgJBVyJj8ar31eZtucwrKpLpay854Y5qq0xk3x0= -github.com/qydysky/part v0.0.0-20200914222559-436abc80976a h1:Wurgg5wiPemdfbO9lzOywZWst0DyEI610gUo3HV/ros= -github.com/qydysky/part v0.0.0-20200914222559-436abc80976a/go.mod h1:+8N3UgJBVyJj8ar31eZtucwrKpLpay854Y5qq0xk3x0= -github.com/qydysky/part v0.0.0-20200914225111-80645055bc83 h1:iAqwOKLRNeJ2kwgFOWRifJGEomYPKvCpygSQqSXzdSM= -github.com/qydysky/part v0.0.0-20200914225111-80645055bc83/go.mod h1:+8N3UgJBVyJj8ar31eZtucwrKpLpay854Y5qq0xk3x0= -github.com/qydysky/part v0.0.0-20200915003959-bbc60ec9e47e h1:/APS+qy3b5k432eh1W5lFIHUWC4mTV0i0neDTtanI0A= -github.com/qydysky/part v0.0.0-20200915003959-bbc60ec9e47e/go.mod h1:+8N3UgJBVyJj8ar31eZtucwrKpLpay854Y5qq0xk3x0= -github.com/qydysky/part v0.0.0-20200915060427-df3e1d541451 h1:0cLySh/YtFFzKapmgeZttO6qMH8gcixXvrIvswbVYeo= -github.com/qydysky/part v0.0.0-20200915060427-df3e1d541451/go.mod h1:+8N3UgJBVyJj8ar31eZtucwrKpLpay854Y5qq0xk3x0= -github.com/qydysky/part v0.0.0-20200915064846-d3f2213b9508 h1:RQgjB7cwDWinNOVRkstHrYaZUydCwyZFvoiVtZX7rKo= -github.com/qydysky/part v0.0.0-20200915064846-d3f2213b9508/go.mod h1:+8N3UgJBVyJj8ar31eZtucwrKpLpay854Y5qq0xk3x0= -github.com/qydysky/part v0.0.0-20200917071511-9f829642b501 h1:KYRfCW7+5t3Sj2+j8nn+WWIRhEyyYG/n8N500oEp6yU= -github.com/qydysky/part v0.0.0-20200917071511-9f829642b501/go.mod h1:+8N3UgJBVyJj8ar31eZtucwrKpLpay854Y5qq0xk3x0= -github.com/qydysky/part v0.0.4 h1:MN1SXuP0korwTAFPG+hJmQHGFs9Aj7XBC4zAq6yEjsc= -github.com/qydysky/part v0.0.4/go.mod h1:+8N3UgJBVyJj8ar31eZtucwrKpLpay854Y5qq0xk3x0= -github.com/qydysky/part v0.0.6 h1:DEIziO8d9PT+E1OIij3Ua0H8vO9Z5yqCJGb3m8BOGL0= -github.com/qydysky/part v0.0.6/go.mod h1:+8N3UgJBVyJj8ar31eZtucwrKpLpay854Y5qq0xk3x0= -github.com/shirou/gopsutil v2.20.7+incompatible h1:Ymv4OD12d6zm+2yONe39VSmp2XooJe8za7ngOLW/o/w= -github.com/shirou/gopsutil v2.20.7+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= -github.com/shirou/gopsutil v2.20.8+incompatible h1:8c7Atn0FAUZJo+f4wYbN0iVpdWniCQk7IYwGtgdh1mY= -github.com/shirou/gopsutil v2.20.8+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/thedevsaddam/gojsonq v2.3.0+incompatible h1:i2lFTvGY4LvoZ2VUzedsFlRiyaWcJm3Uh6cQ9+HyQA8= -github.com/thedevsaddam/gojsonq v2.3.0+incompatible/go.mod h1:RBcQaITThgJAAYKH7FNp2onYodRz8URfsuEGpAch0NA= -github.com/thedevsaddam/gojsonq/v2 v2.5.2 h1:CoMVaYyKFsVj6TjU6APqAhAvC07hTI6IQen8PHzHYY0= -github.com/thedevsaddam/gojsonq/v2 v2.5.2/go.mod h1:bv6Xa7kWy82uT0LnXPE2SzGqTj33TAEeR560MdJkiXs= -github.com/therecipe/qt v0.0.0-20200904063919-c0c124a5770d h1:T+d8FnaLSvM/1BdlDXhW4d5dr2F07bAbB+LpgzMxx+o= -github.com/therecipe/qt v0.0.0-20200904063919-c0c124a5770d/go.mod h1:SUUR2j3aE1z6/g76SdD6NwACEpvCxb3fvG82eKbD6us= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190418165655-df01cb2cc480/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de h1:ikNHVSjEfnvz6sxdSPCaPt572qowuyMDMJLLm3Db3ig= -golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a h1:vclmkQCjlDX5OydZ9wv8rBCcS0QyQY66Mpf/7BZbInM= -golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190420063019-afa5a82059c6/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200707034311-ab3426394381 h1:VXak5I6aEWmAXeQjA+QSZzlgNrpq9mjcfDemuexIKsU= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200904194848-62affa334b73 h1:MXfv8rhZWmFeqX3GNZRsd6vOLoaCHjYEX3qkRo3YBUA= -golang.org/x/net v0.0.0-20200904194848-62affa334b73/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed h1:WBkVNH1zd9jg/dK4HCM4lNANnmd12EHC9z+LmcCG4ns= -golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200909081042-eff7692f9009 h1:W0lCpv29Hv0UaM1LXb9QlBHLNP8UFfcKjblhVCWftOM= -golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200915050820-6d893a6b696e h1:RGS7MuoO4EeRp68J5OWuANAi5oVYtLRl+3LoD5fkMns= -golang.org/x/sys v0.0.0-20200915050820-6d893a6b696e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200917061948-648f2a039071 h1:t0H7WMwCt9t0LnLSYz5zdZ/OiAtROxc5cHb5iHt3Xyw= -golang.org/x/sys v0.0.0-20200917061948-648f2a039071/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=