Skip to content

Commit

Permalink
finished the improved logging
Browse files Browse the repository at this point in the history
  • Loading branch information
CryptoSax committed Aug 5, 2020
1 parent 5f44a55 commit 2a2a317
Show file tree
Hide file tree
Showing 18 changed files with 67 additions and 49 deletions.
6 changes: 0 additions & 6 deletions transports/Dust/v3/Dust.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,18 +29,12 @@ import (
"github.com/kataras/golog"
"golang.org/x/net/proxy"
"net"
"os"
"time"

"github.com/OperatorFoundation/shapeshifter-ipc/v2"
"github.com/blanu/Dust/go/v2/interface"
)

func MakeLog() {
golog.SetLevel("debug")
golog.SetOutput(os.Stderr)
}

type dustClient struct {
serverPubkey *Dust.ServerPublic
dialer proxy.Dialer
Expand Down
7 changes: 7 additions & 0 deletions transports/Dust/v3/Dust_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@ package Dust
// Package Dust provides a PT 2.1 Go API wrapper around the Dust transport

import (
"github.com/kataras/golog"
"golang.org/x/net/proxy"
"os"
"testing"
)

Expand Down Expand Up @@ -154,3 +156,8 @@ func TestDustV3(t *testing.T) {
return
}
}

func MakeLog() {
golog.SetLevel("debug")
golog.SetOutput(os.Stderr)
}
18 changes: 18 additions & 0 deletions transports/Optimizer/v3/Optimizer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"github.com/OperatorFoundation/shapeshifter-transports/transports/obfs2/v3"
"github.com/OperatorFoundation/shapeshifter-transports/transports/obfs4/v3"
"github.com/OperatorFoundation/shapeshifter-transports/transports/shadow/v3"
"github.com/kataras/golog"
"golang.org/x/net/proxy"
"io/ioutil"
"net"
Expand Down Expand Up @@ -44,6 +45,7 @@ func acceptConnections(listener net.Listener) {
}

func TestMeekliteDial(t *testing.T) {
MakeLog()
unparsedURL := "https://d2zfqthxsdq309.cloudfront.net/"
URL, parseErr := url.Parse(unparsedURL)
if parseErr != nil {
Expand All @@ -57,6 +59,7 @@ func TestMeekliteDial(t *testing.T) {
}

func TestOptimizerMeekliteDial(t *testing.T) {
MakeLog()
unparsedURL := "https://d2zfqthxsdq309.cloudfront.net/"
URL, parseErr := url.Parse(unparsedURL)
if parseErr != nil {
Expand All @@ -73,6 +76,7 @@ func TestOptimizerMeekliteDial(t *testing.T) {
}

func TestShadowDial(t *testing.T) {
MakeLog()
shadowTransport := shadow.Transport{Password: "1234", CipherName: "CHACHA20-IETF-POLY1305", Address: "127.0.0.1:1235"}
_, err := shadowTransport.Dial()
if err != nil {
Expand All @@ -81,6 +85,7 @@ func TestShadowDial(t *testing.T) {
}

func TestOptimizerShadowDial(t *testing.T) {
MakeLog()
shadowTransport := shadow.NewTransport("1234", "CHACHA20-IETF-POLY1305", "127.0.0.1:1235")
transports := []TransportDialer{&shadowTransport}
strategy := NewFirstStrategy(transports)
Expand All @@ -92,6 +97,7 @@ func TestOptimizerShadowDial(t *testing.T) {
}

func TestOptimizerObfs2Dial(t *testing.T) {
MakeLog()
obfs2Transport := obfs2.New("127.0.0.1:1237", proxy.Direct)
transports := []TransportDialer{obfs2Transport}
strategy := NewFirstStrategy(transports)
Expand All @@ -103,6 +109,7 @@ func TestOptimizerObfs2Dial(t *testing.T) {
}

func TestObfs4Transport_Dial(t *testing.T) {
MakeLog()
obfs4Transport, transportErr := obfs4.RunObfs4Client()
if transportErr != nil {
t.Fail()
Expand All @@ -115,6 +122,7 @@ func TestObfs4Transport_Dial(t *testing.T) {
}

func TestOptimizerObfs4Transport_Dial(t *testing.T) {
MakeLog()
dialer := proxy.Direct
certstring, certError := getObfs4CertString()
if certError != nil {
Expand All @@ -136,6 +144,7 @@ func TestOptimizerObfs4Transport_Dial(t *testing.T) {
}

func TestOptimizerTransportFirstDial(t *testing.T) {
MakeLog()
dialer := proxy.Direct
certstring, certError := getObfs4CertString()
if certError != nil {
Expand All @@ -160,6 +169,7 @@ func TestOptimizerTransportFirstDial(t *testing.T) {
}

func TestOptimizerTransportRandomDial(t *testing.T) {
MakeLog()
dialer := proxy.Direct
certstring, certError := getObfs4CertString()
if certError != nil {
Expand All @@ -186,6 +196,7 @@ func TestOptimizerTransportRandomDial(t *testing.T) {
}

func TestOptimizerTransportRotateDial(t *testing.T) {
MakeLog()
dialer := proxy.Direct
certstring, certError := getObfs4CertString()
if certError != nil {
Expand All @@ -212,6 +223,7 @@ func TestOptimizerTransportRotateDial(t *testing.T) {
}

func TestOptimizerTransportTrackDial(t *testing.T) {
MakeLog()
dialer := proxy.Direct
certstring, certError := getObfs4CertString()
if certError != nil {
Expand All @@ -238,6 +250,7 @@ func TestOptimizerTransportTrackDial(t *testing.T) {
}

func TestOptimizerTransportMinimizeDialDurationDial(t *testing.T) {
MakeLog()
dialer := proxy.Direct
certstring, certError := getObfs4CertString()
if certError != nil {
Expand Down Expand Up @@ -327,4 +340,9 @@ func RunLocalObfs2Server() {
}
}
}()
}

func MakeLog() {
golog.SetLevel("debug")
golog.SetOutput(os.Stderr)
}
8 changes: 4 additions & 4 deletions transports/Optimizer/v3/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ module github.com/OperatorFoundation/shapeshifter-transports/transports/Optimize
go 1.12

require (
github.com/OperatorFoundation/shapeshifter-transports/transports/meeklite/v3 v3.0.10
github.com/OperatorFoundation/shapeshifter-transports/transports/obfs2/v3 v3.0.10
github.com/OperatorFoundation/shapeshifter-transports/transports/obfs4/v3 v3.0.10
github.com/OperatorFoundation/shapeshifter-transports/transports/shadow/v3 v3.0.10
github.com/OperatorFoundation/shapeshifter-transports/transports/meeklite/v3 v3.0.11
github.com/OperatorFoundation/shapeshifter-transports/transports/obfs2/v3 v3.0.11
github.com/OperatorFoundation/shapeshifter-transports/transports/obfs4/v3 v3.0.11
github.com/OperatorFoundation/shapeshifter-transports/transports/shadow/v3 v3.0.11
github.com/kataras/golog v0.0.18
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b
)
2 changes: 1 addition & 1 deletion transports/Replicant/v3/ReplicantClientConfig.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"config":"M/+BAwEBDENsaWVudENvbmZpZwH/ggABAgEJVG9uZWJ1cnN0ARAAAQZQb2xpc2gBEAAAAP+8/4IBZmdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL3NoYXBlc2hpZnRlci10cmFuc3BvcnRzL3RyYW5zcG9ydHMvUmVwbGljYW50L3YzL3RvbmVidXJzdC5Nb25vdG9uZUNvbmZpZ/+NAwEBDk1vbm90b25lQ29uZmlnAf+OAAEDAQxBZGRTZXF1ZW5jZXMB/5AAAQ9SZW1vdmVTZXF1ZW5jZXMB/5IAAQpTcGVha0ZpcnN0AQIAAAAq/48DAQEISW5zdGFuY2UB/5AAAQIBBERlc2MB/5IAAQRBcmdzAf+WAAAAJP+RAwEBC0Rlc2NyaXB0aW9uAf+SAAEBAQVQYXJ0cwH/lAAAACH/kwIBARNbXW1vbm9saXRoLk1vbm9saXRoAf+UAAEQAAAo/5UDAQEEQXJncwH/lgABAgEGVmFsdWVzAf+YAAEFSW5kZXgBBAAAABz/lwIBAQ5bXWludGVyZmFjZSB7fQH/mAABEAAA/gG5/45jAQEBATxnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5CeXRlc1BhcnT/mQMBAQlCeXRlc1BhcnQB/5oAAQEBBUl0ZW1zAf+cAAAAIf+bAgEBE1tdbW9ub2xpdGguQnl0ZVR5cGUB/5wAARAAAHn/mmcBAUBnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5GaXhlZEJ5dGVUeXBl/50DAQENRml4ZWRCeXRlVHlwZQH/ngABAQEEQnl0ZQEGAAAAB/+eAwETAAAAAQAAAgEAAW1naXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9zaGFwZXNoaWZ0ZXItdHJhbnNwb3J0cy90cmFuc3BvcnRzL1JlcGxpY2FudC92My9wb2xpc2guU2lsdmVyUG9saXNoQ2xpZW50Q29uZmln/4cDAQEYU2lsdmVyUG9saXNoQ2xpZW50Q29uZmlnAf+IAAECAQ9TZXJ2ZXJQdWJsaWNLZXkBCgABCUNodW5rU2l6ZQEEAAAATP+ISAFBBK/Bwa0RrYc3813sA8lIx2uT7pcwEOCIYvjy/7khB1uU8eiUOlAyZdhLmkJRGzXRzoub27HOkYDK2qX35o4GhHoB/goQAAA="}
{"config":"P/+BAwEBDENsaWVudENvbmZpZwH/ggABAwEJVG9uZWJ1cnN0ARAAAQZQb2xpc2gBEAABB0FkZHJlc3MBDAAAAP+8/4IBZmdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL3NoYXBlc2hpZnRlci10cmFuc3BvcnRzL3RyYW5zcG9ydHMvUmVwbGljYW50L3YzL3RvbmVidXJzdC5Nb25vdG9uZUNvbmZpZ/+NAwEBDk1vbm90b25lQ29uZmlnAf+OAAEDAQxBZGRTZXF1ZW5jZXMB/5AAAQ9SZW1vdmVTZXF1ZW5jZXMB/5IAAQpTcGVha0ZpcnN0AQIAAAAq/48DAQEISW5zdGFuY2UB/5AAAQIBBERlc2MB/5IAAQRBcmdzAf+WAAAAJP+RAwEBC0Rlc2NyaXB0aW9uAf+SAAEBAQVQYXJ0cwH/lAAAACH/kwIBARNbXW1vbm9saXRoLk1vbm9saXRoAf+UAAEQAAAo/5UDAQEEQXJncwH/lgABAgEGVmFsdWVzAf+YAAEFSW5kZXgBBAAAABz/lwIBAQ5bXWludGVyZmFjZSB7fQH/mAABEAAA/gG5/45jAQEBATxnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5CeXRlc1BhcnT/mQMBAQlCeXRlc1BhcnQB/5oAAQEBBUl0ZW1zAf+cAAAAIf+bAgEBE1tdbW9ub2xpdGguQnl0ZVR5cGUB/5wAARAAAHn/mmcBAUBnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5GaXhlZEJ5dGVUeXBl/50DAQENRml4ZWRCeXRlVHlwZQH/ngABAQEEQnl0ZQEGAAAAB/+eAwETAAAAAQAAAgEAAW1naXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9zaGFwZXNoaWZ0ZXItdHJhbnNwb3J0cy90cmFuc3BvcnRzL1JlcGxpY2FudC92My9wb2xpc2guU2lsdmVyUG9saXNoQ2xpZW50Q29uZmln/4cDAQEYU2lsdmVyUG9saXNoQ2xpZW50Q29uZmlnAf+IAAECAQ9TZXJ2ZXJQdWJsaWNLZXkBCgABCUNodW5rU2l6ZQEEAAAATP+ISAFBBLd8zoUelx+g4T0o6OU6EZrDFXIEgD7seIX+0bIoFQbFw35nkA+/gLTvfifR7p1kTFXd060zD+099p2oqSV6OaMB/glaAAA="}
2 changes: 1 addition & 1 deletion transports/Replicant/v3/ReplicantClientConfig1.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"config":"M/+BAwEBDENsaWVudENvbmZpZwH/ggABAgEJVG9uZWJ1cnN0ARAAAQZQb2xpc2gBEAAAAP+8/4IBZmdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL3NoYXBlc2hpZnRlci10cmFuc3BvcnRzL3RyYW5zcG9ydHMvUmVwbGljYW50L3YzL3RvbmVidXJzdC5Nb25vdG9uZUNvbmZpZ/+NAwEBDk1vbm90b25lQ29uZmlnAf+OAAEDAQxBZGRTZXF1ZW5jZXMB/5AAAQ9SZW1vdmVTZXF1ZW5jZXMB/5IAAQpTcGVha0ZpcnN0AQIAAAAq/48DAQEISW5zdGFuY2UB/5AAAQIBBERlc2MB/5IAAQRBcmdzAf+WAAAAJP+RAwEBC0Rlc2NyaXB0aW9uAf+SAAEBAQVQYXJ0cwH/lAAAACH/kwIBARNbXW1vbm9saXRoLk1vbm9saXRoAf+UAAEQAAAo/5UDAQEEQXJncwH/lgABAgEGVmFsdWVzAf+YAAEFSW5kZXgBBAAAABz/lwIBAQ5bXWludGVyZmFjZSB7fQH/mAABEAAA/gUJ/45jAQEBAjxnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5CeXRlc1BhcnT/mQMBAQlCeXRlc1BhcnQB/5oAAQEBBUl0ZW1zAf+cAAAAIf+bAgEBE1tdbW9ub2xpdGguQnl0ZVR5cGUB/5wAARAAAP4Dx/+a/4YBAktnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5SYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGX/nwMBARhSYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGUB/6AAAQEBDVJhbmRvbU9wdGlvbnMBCgAAAGH/oAcBBBESExQAS2dpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL21vbm9saXRoLWdvL21vbm9saXRoLlJhbmRvbUVudW1lcmF0ZWRCeXRlVHlwZf+gBwEEERITFAAAPGdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL21vbm9saXRoLWdvL21vbm9saXRoLkJ5dGVzUGFydP+a/68BAktnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5SYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGX/oAcBBBESExQAS2dpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL21vbm9saXRoLWdvL21vbm9saXRoLlJhbmRvbUVudW1lcmF0ZWRCeXRlVHlwZf+gBwEEERITFAAAAAEAAAEBAjxnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5CeXRlc1BhcnT/mv+vAQJLZ2l0aHViLmNvbS9PcGVyYXRvckZvdW5kYXRpb24vbW9ub2xpdGgtZ28vbW9ub2xpdGguUmFuZG9tRW51bWVyYXRlZEJ5dGVUeXBl/6AHAQQREhMUAEtnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5SYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGX/oAcBBBESExQAADxnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5CeXRlc1BhcnT/mv+vAQJLZ2l0aHViLmNvbS9PcGVyYXRvckZvdW5kYXRpb24vbW9ub2xpdGgtZ28vbW9ub2xpdGguUmFuZG9tRW51bWVyYXRlZEJ5dGVUeXBl/6AHAQQREhMUAEtnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5SYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGX/oAcBBBESExQAAAABAQABbWdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL3NoYXBlc2hpZnRlci10cmFuc3BvcnRzL3RyYW5zcG9ydHMvUmVwbGljYW50L3YzL3BvbGlzaC5TaWx2ZXJQb2xpc2hDbGllbnRDb25maWf/hwMBARhTaWx2ZXJQb2xpc2hDbGllbnRDb25maWcB/4gAAQIBD1NlcnZlclB1YmxpY0tleQEKAAEJQ2h1bmtTaXplAQQAAABM/4hIAUEEQn3x8ZubAgf6TspbDBmwaJRz7rCM4sDzcP/012t8cRwlHLdOdbYUx6N7gUBEgKpY6e5utXOkAXJSDFrXDAzQnwH+CZgAAA=="}
{"config":"P/+BAwEBDENsaWVudENvbmZpZwH/ggABAwEJVG9uZWJ1cnN0ARAAAQZQb2xpc2gBEAABB0FkZHJlc3MBDAAAAP+8/4IBZmdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL3NoYXBlc2hpZnRlci10cmFuc3BvcnRzL3RyYW5zcG9ydHMvUmVwbGljYW50L3YzL3RvbmVidXJzdC5Nb25vdG9uZUNvbmZpZ/+NAwEBDk1vbm90b25lQ29uZmlnAf+OAAEDAQxBZGRTZXF1ZW5jZXMB/5AAAQ9SZW1vdmVTZXF1ZW5jZXMB/5IAAQpTcGVha0ZpcnN0AQIAAAAq/48DAQEISW5zdGFuY2UB/5AAAQIBBERlc2MB/5IAAQRBcmdzAf+WAAAAJP+RAwEBC0Rlc2NyaXB0aW9uAf+SAAEBAQVQYXJ0cwH/lAAAACH/kwIBARNbXW1vbm9saXRoLk1vbm9saXRoAf+UAAEQAAAo/5UDAQEEQXJncwH/lgABAgEGVmFsdWVzAf+YAAEFSW5kZXgBBAAAABz/lwIBAQ5bXWludGVyZmFjZSB7fQH/mAABEAAA/gUJ/45jAQEBAjxnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5CeXRlc1BhcnT/mQMBAQlCeXRlc1BhcnQB/5oAAQEBBUl0ZW1zAf+cAAAAIf+bAgEBE1tdbW9ub2xpdGguQnl0ZVR5cGUB/5wAARAAAP4Dx/+a/4YBAktnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5SYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGX/nwMBARhSYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGUB/6AAAQEBDVJhbmRvbU9wdGlvbnMBCgAAAGH/oAcBBBESExQAS2dpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL21vbm9saXRoLWdvL21vbm9saXRoLlJhbmRvbUVudW1lcmF0ZWRCeXRlVHlwZf+gBwEEERITFAAAPGdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL21vbm9saXRoLWdvL21vbm9saXRoLkJ5dGVzUGFydP+a/68BAktnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5SYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGX/oAcBBBESExQAS2dpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL21vbm9saXRoLWdvL21vbm9saXRoLlJhbmRvbUVudW1lcmF0ZWRCeXRlVHlwZf+gBwEEERITFAAAAAEAAAEBAjxnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5CeXRlc1BhcnT/mv+vAQJLZ2l0aHViLmNvbS9PcGVyYXRvckZvdW5kYXRpb24vbW9ub2xpdGgtZ28vbW9ub2xpdGguUmFuZG9tRW51bWVyYXRlZEJ5dGVUeXBl/6AHAQQREhMUAEtnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5SYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGX/oAcBBBESExQAADxnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5CeXRlc1BhcnT/mv+vAQJLZ2l0aHViLmNvbS9PcGVyYXRvckZvdW5kYXRpb24vbW9ub2xpdGgtZ28vbW9ub2xpdGguUmFuZG9tRW51bWVyYXRlZEJ5dGVUeXBl/6AHAQQREhMUAEtnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5SYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGX/oAcBBBESExQAAAABAQABbWdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL3NoYXBlc2hpZnRlci10cmFuc3BvcnRzL3RyYW5zcG9ydHMvUmVwbGljYW50L3YzL3BvbGlzaC5TaWx2ZXJQb2xpc2hDbGllbnRDb25maWf/hwMBARhTaWx2ZXJQb2xpc2hDbGllbnRDb25maWcB/4gAAQIBD1NlcnZlclB1YmxpY0tleQEKAAEJQ2h1bmtTaXplAQQAAABM/4hIAUEEPy7UR8K4ws8wBa9BqC31wmpjgPEPUkogCxrL1/9FouyyVG6bs7LTkFcjlK1e16ySbrqrOiDw9Ph2mF/kacL57gH+Cp4AAA=="}
2 changes: 1 addition & 1 deletion transports/Replicant/v3/ReplicantServerConfig.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"Replicant":{"config":"M/+JAwEBDFNlcnZlckNvbmZpZwH/igABAgEJVG9uZWJ1cnN0ARAAAQZQb2xpc2gBEAAAAP+8/4oBZmdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL3NoYXBlc2hpZnRlci10cmFuc3BvcnRzL3RyYW5zcG9ydHMvUmVwbGljYW50L3YzL3RvbmVidXJzdC5Nb25vdG9uZUNvbmZpZ/+NAwEBDk1vbm90b25lQ29uZmlnAf+OAAEDAQxBZGRTZXF1ZW5jZXMB/5AAAQ9SZW1vdmVTZXF1ZW5jZXMB/5IAAQpTcGVha0ZpcnN0AQIAAAAq/48DAQEISW5zdGFuY2UB/5AAAQIBBERlc2MB/5IAAQRBcmdzAf+WAAAAJP+RAwEBC0Rlc2NyaXB0aW9uAf+SAAEBAQVQYXJ0cwH/lAAAACH/kwIBARNbXW1vbm9saXRoLk1vbm9saXRoAf+UAAEQAAAo/5UDAQEEQXJncwH/lgABAgEGVmFsdWVzAf+YAAEFSW5kZXgBBAAAABz/lwIBAQ5bXWludGVyZmFjZSB7fQH/mAABEAAA/gHI/45iAgEBPGdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL21vbm9saXRoLWdvL21vbm9saXRoLkJ5dGVzUGFydP+ZAwEBCUJ5dGVzUGFydAH/mgABAQEFSXRlbXMB/5wAAAAh/5sCAQETW11tb25vbGl0aC5CeXRlVHlwZQH/nAABEAAAdP+aZwEBQGdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL21vbm9saXRoLWdvL21vbm9saXRoLkZpeGVkQnl0ZVR5cGX/nQMBAQ1GaXhlZEJ5dGVUeXBlAf+eAAEBAQRCeXRlAQYAAAAH/54DARMAAAAAAW1naXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9zaGFwZXNoaWZ0ZXItdHJhbnNwb3J0cy90cmFuc3BvcnRzL1JlcGxpY2FudC92My9wb2xpc2guU2lsdmVyUG9saXNoU2VydmVyQ29uZmln/4sDAQEYU2lsdmVyUG9saXNoU2VydmVyQ29uZmlnAf+MAAEDAQ9TZXJ2ZXJQdWJsaWNLZXkBCgABEFNlcnZlclByaXZhdGVLZXkBCgABCUNodW5rU2l6ZQEEAAAAbv+MagFBBK/Bwa0RrYc3813sA8lIx2uT7pcwEOCIYvjy/7khB1uU8eiUOlAyZdhLmkJRGzXRzoub27HOkYDK2qX35o4GhHoBIO70TnPmS+W3C3MogewTb33cx692J4C1q+hGwpx7yIwYAf4KEAAA"}}
{"Replicant":{"config":"M/+JAwEBDFNlcnZlckNvbmZpZwH/igABAgEJVG9uZWJ1cnN0ARAAAQZQb2xpc2gBEAAAAP+8/4oBZmdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL3NoYXBlc2hpZnRlci10cmFuc3BvcnRzL3RyYW5zcG9ydHMvUmVwbGljYW50L3YzL3RvbmVidXJzdC5Nb25vdG9uZUNvbmZpZ/+NAwEBDk1vbm90b25lQ29uZmlnAf+OAAEDAQxBZGRTZXF1ZW5jZXMB/5AAAQ9SZW1vdmVTZXF1ZW5jZXMB/5IAAQpTcGVha0ZpcnN0AQIAAAAq/48DAQEISW5zdGFuY2UB/5AAAQIBBERlc2MB/5IAAQRBcmdzAf+WAAAAJP+RAwEBC0Rlc2NyaXB0aW9uAf+SAAEBAQVQYXJ0cwH/lAAAACH/kwIBARNbXW1vbm9saXRoLk1vbm9saXRoAf+UAAEQAAAo/5UDAQEEQXJncwH/lgABAgEGVmFsdWVzAf+YAAEFSW5kZXgBBAAAABz/lwIBAQ5bXWludGVyZmFjZSB7fQH/mAABEAAA/gHI/45iAgEBPGdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL21vbm9saXRoLWdvL21vbm9saXRoLkJ5dGVzUGFydP+ZAwEBCUJ5dGVzUGFydAH/mgABAQEFSXRlbXMB/5wAAAAh/5sCAQETW11tb25vbGl0aC5CeXRlVHlwZQH/nAABEAAAdP+aZwEBQGdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL21vbm9saXRoLWdvL21vbm9saXRoLkZpeGVkQnl0ZVR5cGX/nQMBAQ1GaXhlZEJ5dGVUeXBlAf+eAAEBAQRCeXRlAQYAAAAH/54DARMAAAAAAW1naXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9zaGFwZXNoaWZ0ZXItdHJhbnNwb3J0cy90cmFuc3BvcnRzL1JlcGxpY2FudC92My9wb2xpc2guU2lsdmVyUG9saXNoU2VydmVyQ29uZmln/4sDAQEYU2lsdmVyUG9saXNoU2VydmVyQ29uZmlnAf+MAAEDAQ9TZXJ2ZXJQdWJsaWNLZXkBCgABEFNlcnZlclByaXZhdGVLZXkBCgABCUNodW5rU2l6ZQEEAAAAbv+MagFBBLd8zoUelx+g4T0o6OU6EZrDFXIEgD7seIX+0bIoFQbFw35nkA+/gLTvfifR7p1kTFXd060zD+099p2oqSV6OaMBIPq/E8xDxstEZNB05fQ2J5zpkEoNbfr8vjhobT6cmFVcAf4JWgAA"}}
Loading

0 comments on commit 2a2a317

Please sign in to comment.