Skip to content

Instantly share code, notes, and snippets.

@sks
Last active July 11, 2018 21:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sks/86cff171ec34b15261ae534e8353dc14 to your computer and use it in GitHub Desktop.
Save sks/86cff171ec34b15261ae534e8353dc14 to your computer and use it in GitHub Desktop.
fileupload_error stream error: stream ID
uploads/
.DS_Store

Sample app to show the stream error

Starting the app

go run main.go

On browser

  1. goto index page
  2. Change the network connection to Fast 3G. how to do on chrome
  3. Select a big file to upload (~20MB) sample file. Thanks to thinkbroadband.com
  4. Try uploading.

Error reported

On terminal

2018/07/11 14:35:32 Error while uploading stream error: stream ID 9; INTERNAL_ERROR

On the web page

TypeError: Failed to fetch

Attaching the har to this gist.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Upload error </title>
</head>
<body>
<ul>
Select a file below
</ul>
<div>
<input type="file" id="selected_file" name="selected_file">
<button onclick="tryUploading()">Upload</button>
</div>
</body>
<script>
function tryUploading(){
var selectedFiles = document.getElementById("selected_file").files
if (selectedFiles.length==0){
alert("Please select a file");
return;
}
var formData = new FormData();
formData.append("file", selectedFiles[0]);
fetch('/upload', {
method: 'POST',
body: formData
}).then(
response => response.text()
).then(
success => alert(success)
).catch(
error => alert(error)
);
};
</script>
</html>
{
"log": {
"version": "1.2",
"creator": {
"name": "WebInspector",
"version": "537.36"
},
"pages": [
{
"startedDateTime": "2018-07-11T21:33:28.099Z",
"id": "page_1",
"title": "https://localhost:8080/",
"pageTimings": {
"onContentLoad": 2071.4680000091903,
"onLoad": 2124.819999997271
}
}
],
"entries": [
{
"startedDateTime": "2018-07-11T21:33:28.098Z",
"time": 2023.175329008008,
"request": {
"method": "GET",
"url": "https://localhost:8080/",
"httpVersion": "http/2.0",
"headers": [
{
"name": ":method",
"value": "GET"
},
{
"name": ":authority",
"value": "localhost:8080"
},
{
"name": ":scheme",
"value": "https"
},
{
"name": ":path",
"value": "/"
},
{
"name": "cache-control",
"value": "max-age=0"
},
{
"name": "upgrade-insecure-requests",
"value": "1"
},
{
"name": "user-agent",
"value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
},
{
"name": "accept",
"value": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"
},
{
"name": "accept-encoding",
"value": "gzip, deflate, br"
},
{
"name": "accept-language",
"value": "en-US,en;q=0.9,ml;q=0.8"
},
{
"name": "cookie",
"value": "_ga=GA1.1.1248768246.1527108509"
}
],
"queryString": [],
"cookies": [
{
"name": "_ga",
"value": "GA1.1.1248768246.1527108509",
"expires": null,
"httpOnly": false,
"secure": false
}
],
"headersSize": -1,
"bodySize": 0
},
"response": {
"status": 200,
"statusText": "",
"httpVersion": "http/2.0",
"headers": [
{
"name": "status",
"value": "200"
},
{
"name": "accept-ranges",
"value": "bytes"
},
{
"name": "content-type",
"value": "text/html; charset=utf-8"
},
{
"name": "last-modified",
"value": "Wed, 11 Jul 2018 21:22:59 GMT"
},
{
"name": "content-length",
"value": "1044"
},
{
"name": "date",
"value": "Wed, 11 Jul 2018 21:33:30 GMT"
}
],
"cookies": [],
"content": {
"size": 1044,
"mimeType": "text/html",
"text": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\">\n <title>Upload error </title>\n</head>\n<body>\n <ul>\n Select a file below\n </ul>\n <div>\n <input type=\"file\" id=\"selected_file\" name=\"selected_file\">\n <button onclick=\"tryUploading()\">Upload</button>\n </div>\n</body>\n<script>\n function tryUploading(){\n var selectedFiles = document.getElementById(\"selected_file\").files\n if (selectedFiles.length==0){\n alert(\"Please select a file\");\n return;\n }\n var formData = new FormData();\n formData.append(\"file\", selectedFiles[0]);\n\n\n fetch('/upload', {\n method: 'POST',\n body: formData\n }).then(\n response => response.text()\n ).then(\n success => alert(success)\n ).catch(\n error => alert(error)\n );\n };\n</script>\n</html>"
},
"redirectURL": "",
"headersSize": -1,
"bodySize": -1,
"_transferSize": 1145
},
"cache": {},
"timings": {
"blocked": 2006.3773290000022,
"dns": 0.004000000000132786,
"ssl": 4.455999999999904,
"connect": 4.710000000000036,
"send": 0.6430000000000291,
"wait": 5.5580000027362075,
"receive": 5.883000005269423,
"_blocked_queueing": 0.32900000223889947,
"_blocked_proxy": 0.37999999999988177
},
"serverIPAddress": "[::1]",
"connection": "110068",
"pageref": "page_1"
},
{
"startedDateTime": "2018-07-11T21:33:35.926Z",
"time": 958.6055259772908,
"request": {
"method": "POST",
"url": "https://localhost:8080/upload",
"httpVersion": "http/2.0",
"headers": [
{
"name": ":path",
"value": "/upload"
},
{
"name": "origin",
"value": "https://localhost:8080"
},
{
"name": "accept-encoding",
"value": "gzip, deflate, br"
},
{
"name": "accept-language",
"value": "en-US,en;q=0.9,ml;q=0.8"
},
{
"name": "user-agent",
"value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
},
{
"name": "content-type",
"value": "multipart/form-data; boundary=----WebKitFormBoundaryx2QAUHJWqsjuWHm5"
},
{
"name": "accept",
"value": "*/*"
},
{
"name": "referer",
"value": "https://localhost:8080/"
},
{
"name": ":authority",
"value": "localhost:8080"
},
{
"name": ":scheme",
"value": "https"
},
{
"name": "content-length",
"value": "57246047"
},
{
"name": ":method",
"value": "POST"
}
],
"queryString": [],
"cookies": [],
"headersSize": -1,
"bodySize": 0,
"postData": {
"mimeType": "multipart/form-data; boundary=----WebKitFormBoundaryx2QAUHJWqsjuWHm5",
"text": "------WebKitFormBoundaryx2QAUHJWqsjuWHm5\r\nContent-Disposition: form-data; name=\"file\"; filename=\"mqttfx-1.7.1-demo1-macos.dmg\"\r\nContent-Type: application/octet-stream\r\n\r\n\r\n------WebKitFormBoundaryx2QAUHJWqsjuWHm5--\r\n"
}
},
"response": {
"status": 200,
"statusText": "",
"httpVersion": "http/2.0",
"headers": [
{
"name": "status",
"value": "200"
},
{
"name": "date",
"value": "Wed, 11 Jul 2018 21:33:36 GMT"
},
{
"name": "content-length",
"value": "14"
},
{
"name": "content-type",
"value": "text/plain; charset=utf-8"
}
],
"cookies": [],
"content": {
"size": 14,
"mimeType": "text/plain",
"text": "ALL IZZ WELL!!"
},
"redirectURL": "",
"headersSize": -1,
"bodySize": -1,
"_transferSize": 84
},
"cache": {},
"timings": {
"blocked": 20.763525999988897,
"dns": 0.0019999999999988916,
"ssl": 4.116999999999997,
"connect": 4.267999999999997,
"send": 841.1790000000001,
"wait": 89.97999999715012,
"receive": 2.4129999801516533,
"_blocked_queueing": 0.5259999888949096,
"_blocked_proxy": 0.38000000000000256
},
"serverIPAddress": "[::1]",
"connection": "110099",
"pageref": "page_1"
},
{
"startedDateTime": "2018-07-11T21:33:50.594Z",
"time": 15.022663000010652,
"request": {
"method": "POST",
"url": "https://localhost:8080/upload",
"httpVersion": "",
"headers": [
{
"name": "Referer",
"value": "https://localhost:8080/"
},
{
"name": "Origin",
"value": "https://localhost:8080"
},
{
"name": "User-Agent",
"value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
},
{
"name": "Content-Type",
"value": "multipart/form-data; boundary=----WebKitFormBoundarycak6MZwTZFOADBmB"
}
],
"queryString": [],
"cookies": [],
"headersSize": -1,
"bodySize": 0,
"postData": {
"mimeType": "multipart/form-data; boundary=----WebKitFormBoundarycak6MZwTZFOADBmB",
"text": "------WebKitFormBoundarycak6MZwTZFOADBmB\r\nContent-Disposition: form-data; name=\"file\"; filename=\"mqttfx-1.7.1-demo1-macos.dmg\"\r\nContent-Type: application/octet-stream\r\n\r\n\r\n------WebKitFormBoundarycak6MZwTZFOADBmB--\r\n"
}
},
"response": {
"status": 0,
"statusText": "",
"httpVersion": "",
"headers": [],
"cookies": [],
"content": {
"size": 0,
"mimeType": "x-unknown"
},
"redirectURL": "",
"headersSize": -1,
"bodySize": -1,
"_transferSize": 0,
"_error": "net::ERR_SPDY_PROTOCOL_ERROR"
},
"cache": {},
"timings": {
"blocked": 15.022663000010652,
"dns": -1,
"ssl": -1,
"connect": -1,
"send": 0,
"wait": 0,
"receive": 0,
"_blocked_queueing": -1
},
"serverIPAddress": "",
"pageref": "page_1"
},
{
"startedDateTime": "2018-07-11T21:34:16.554Z",
"time": 15.020352999999886,
"request": {
"method": "POST",
"url": "https://localhost:8080/upload",
"httpVersion": "",
"headers": [
{
"name": "Referer",
"value": "https://localhost:8080/"
},
{
"name": "Origin",
"value": "https://localhost:8080"
},
{
"name": "User-Agent",
"value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
},
{
"name": "Content-Type",
"value": "multipart/form-data; boundary=----WebKitFormBoundaryTccrnsbJ6AP8stDO"
}
],
"queryString": [],
"cookies": [],
"headersSize": -1,
"bodySize": 0,
"postData": {
"mimeType": "multipart/form-data; boundary=----WebKitFormBoundaryTccrnsbJ6AP8stDO",
"text": "------WebKitFormBoundaryTccrnsbJ6AP8stDO\r\nContent-Disposition: form-data; name=\"file\"; filename=\"20MB.zip\"\r\nContent-Type: application/zip\r\n\r\n\r\n------WebKitFormBoundaryTccrnsbJ6AP8stDO--\r\n"
}
},
"response": {
"status": 0,
"statusText": "",
"httpVersion": "",
"headers": [],
"cookies": [],
"content": {
"size": 0,
"mimeType": "x-unknown"
},
"redirectURL": "",
"headersSize": -1,
"bodySize": -1,
"_transferSize": 0,
"_error": "net::ERR_SPDY_PROTOCOL_ERROR"
},
"cache": {},
"timings": {
"blocked": 15.020352999999886,
"dns": -1,
"ssl": -1,
"connect": -1,
"send": 0,
"wait": 0,
"receive": 0,
"_blocked_queueing": -1
},
"serverIPAddress": "",
"pageref": "page_1"
},
{
"startedDateTime": "2018-07-11T21:34:46.226Z",
"time": 13430.77856400903,
"request": {
"method": "POST",
"url": "https://localhost:8080/upload",
"httpVersion": "http/2.0",
"headers": [
{
"name": ":path",
"value": "/upload"
},
{
"name": "origin",
"value": "https://localhost:8080"
},
{
"name": "accept-encoding",
"value": "gzip, deflate, br"
},
{
"name": "accept-language",
"value": "en-US,en;q=0.9,ml;q=0.8"
},
{
"name": "user-agent",
"value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
},
{
"name": "content-type",
"value": "multipart/form-data; boundary=----WebKitFormBoundaryrIRwAYWunn672nku"
},
{
"name": "accept",
"value": "*/*"
},
{
"name": "referer",
"value": "https://localhost:8080/"
},
{
"name": ":authority",
"value": "localhost:8080"
},
{
"name": ":scheme",
"value": "https"
},
{
"name": "content-length",
"value": "1109222"
},
{
"name": ":method",
"value": "POST"
}
],
"queryString": [],
"cookies": [],
"headersSize": -1,
"bodySize": 0,
"postData": {
"mimeType": "multipart/form-data; boundary=----WebKitFormBoundaryrIRwAYWunn672nku",
"text": "------WebKitFormBoundaryrIRwAYWunn672nku\r\nContent-Disposition: form-data; name=\"file\"; filename=\"4. Cracking the Code.pdf\"\r\nContent-Type: application/pdf\r\n\r\n\r\n------WebKitFormBoundaryrIRwAYWunn672nku--\r\n"
}
},
"response": {
"status": 200,
"statusText": "",
"httpVersion": "http/2.0",
"headers": [
{
"name": "status",
"value": "200"
},
{
"name": "date",
"value": "Wed, 11 Jul 2018 21:34:59 GMT"
},
{
"name": "content-length",
"value": "14"
},
{
"name": "content-type",
"value": "text/plain; charset=utf-8"
}
],
"cookies": [],
"content": {
"size": 14,
"mimeType": "text/plain",
"text": "ALL IZZ WELL!!"
},
"redirectURL": "",
"headersSize": -1,
"bodySize": -1,
"_transferSize": 59
},
"cache": {},
"timings": {
"blocked": 16.33356400001631,
"dns": -1,
"ssl": -1,
"connect": -1,
"send": 12842.096,
"wait": 568.5000000083855,
"receive": 3.8490000006277114,
"_blocked_queueing": 0.5640000163111836,
"_blocked_proxy": 0.34299999999999997
},
"serverIPAddress": "[::1]",
"connection": "110099",
"pageref": "page_1"
},
{
"startedDateTime": "2018-07-11T21:35:17.711Z",
"time": 15.02043699999922,
"request": {
"method": "POST",
"url": "https://localhost:8080/upload",
"httpVersion": "",
"headers": [
{
"name": "Referer",
"value": "https://localhost:8080/"
},
{
"name": "Origin",
"value": "https://localhost:8080"
},
{
"name": "User-Agent",
"value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
},
{
"name": "Content-Type",
"value": "multipart/form-data; boundary=----WebKitFormBoundary6yESNcsNtfwcA8tS"
}
],
"queryString": [],
"cookies": [],
"headersSize": -1,
"bodySize": 0,
"postData": {
"mimeType": "multipart/form-data; boundary=----WebKitFormBoundary6yESNcsNtfwcA8tS",
"text": "------WebKitFormBoundary6yESNcsNtfwcA8tS\r\nContent-Disposition: form-data; name=\"file\"; filename=\"20MB.zip\"\r\nContent-Type: application/zip\r\n\r\n\r\n------WebKitFormBoundary6yESNcsNtfwcA8tS--\r\n"
}
},
"response": {
"status": 0,
"statusText": "",
"httpVersion": "",
"headers": [],
"cookies": [],
"content": {
"size": 0,
"mimeType": "x-unknown"
},
"redirectURL": "",
"headersSize": -1,
"bodySize": -1,
"_transferSize": 0,
"_error": "net::ERR_SPDY_PROTOCOL_ERROR"
},
"cache": {},
"timings": {
"blocked": 15.02043699999922,
"dns": -1,
"ssl": -1,
"connect": -1,
"send": 0,
"wait": 0,
"receive": 0,
"_blocked_queueing": -1
},
"serverIPAddress": "",
"pageref": "page_1"
},
{
"startedDateTime": "2018-07-11T21:35:52.922Z",
"time": 15.020149999996647,
"request": {
"method": "POST",
"url": "https://localhost:8080/upload",
"httpVersion": "",
"headers": [
{
"name": "Referer",
"value": "https://localhost:8080/"
},
{
"name": "Origin",
"value": "https://localhost:8080"
},
{
"name": "User-Agent",
"value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
},
{
"name": "Content-Type",
"value": "multipart/form-data; boundary=----WebKitFormBoundary38ABpMSVr45B1Rrn"
}
],
"queryString": [],
"cookies": [],
"headersSize": -1,
"bodySize": 0,
"postData": {
"mimeType": "multipart/form-data; boundary=----WebKitFormBoundary38ABpMSVr45B1Rrn",
"text": "------WebKitFormBoundary38ABpMSVr45B1Rrn\r\nContent-Disposition: form-data; name=\"file\"; filename=\"20MB.zip\"\r\nContent-Type: application/zip\r\n\r\n\r\n------WebKitFormBoundary38ABpMSVr45B1Rrn--\r\n"
}
},
"response": {
"status": 0,
"statusText": "",
"httpVersion": "",
"headers": [],
"cookies": [],
"content": {
"size": 0,
"mimeType": "x-unknown"
},
"redirectURL": "",
"headersSize": -1,
"bodySize": -1,
"_transferSize": 0,
"_error": "net::ERR_SPDY_PROTOCOL_ERROR"
},
"cache": {},
"timings": {
"blocked": 15.020149999996647,
"dns": -1,
"ssl": -1,
"connect": -1,
"send": 0,
"wait": 0,
"receive": 0,
"_blocked_queueing": -1
},
"serverIPAddress": "",
"pageref": "page_1"
}
]
}
}
package main
import (
"fmt"
"io"
"log"
"net/http"
"os"
"path/filepath"
"time"
)
var uploadDir string
func init() {
currentDir, err := os.Getwd()
if err != nil {
panic(err)
}
uploadDir = filepath.Join(currentDir, "uploads")
err = os.MkdirAll(uploadDir, os.ModePerm)
if err != nil {
panic(err)
}
}
func main() {
mux := http.NewServeMux()
mux.Handle("/", http.FileServer(http.Dir(".")))
mux.Handle("/upload", fileuploader)
srv := &http.Server{
Addr: ":8080",
WriteTimeout: time.Second * 15,
ReadTimeout: time.Second * 15,
IdleTimeout: time.Second * 60,
Handler: mux,
}
fmt.Println("Please visit https://localhost:8080 on a web browser")
log.Fatal(srv.ListenAndServeTLS("./server.crt", "./server.key"))
}
var fileuploader http.HandlerFunc = func(w http.ResponseWriter, r *http.Request) {
err := saveFile(r, "file", uploadDir)
if err != nil {
log.Println("Error while uploading", err)
w.WriteHeader(http.StatusInternalServerError)
w.Write([]byte(err.Error()))
return
}
w.WriteHeader(http.StatusOK)
w.Write([]byte("ALL IZZ WELL!!"))
}
func saveFile(req *http.Request, formName string, saveDir string) error {
err := req.ParseMultipartForm(32 << 20)
if err != nil {
return err
}
defer req.MultipartForm.RemoveAll()
file, fileHeader, err := req.FormFile(formName)
if err != nil {
return err
}
defer file.Close()
saveAs := filepath.Join(saveDir, fileHeader.Filename)
f, err := os.OpenFile(saveAs, os.O_WRONLY|os.O_CREATE, os.ModePerm)
if err != nil {
return err
}
defer f.Close()
_, err = io.Copy(f, file)
if err != nil {
return err
}
return nil
}
-----BEGIN CERTIFICATE-----
MIIDJDCCAgwCCQDJQzIc1f9V2jANBgkqhkiG9w0BAQUFADBUMQswCQYDVQQGEwJV
UzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5zaXNjbzEY
MBYGA1UEAwwPd3d3LmV4YW1wbGUuY29tMB4XDTE4MDcxMTIxNDM0MVoXDTE5MDcx
MTIxNDM0MVowVDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAU
BgNVBAcMDVNhbiBGcmFuc2lzY28xGDAWBgNVBAMMD3d3dy5leGFtcGxlLmNvbTCC
ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALTWbWV6JixrJx8wy7gfyGeC
3qVR7dbfXnZCOCea7i71i21WPc6UriCv2krpZIiw4VU8508RulOe5sB2qDsxaZp0
QbHpkBp17ffdgR7KTrWKzGPALSl18XZEu3UNTdZc8Ph4I0wMP/P5IGFkZfroav61
tNEXHloTqh93M91rK8YT8ThLWF0KvofXBbslYk5eIHQQ9LmqPm+PTQKsgU0RJdqu
g4M0WMBz3cWRqTS14JxJPpEG6hsAXO2CpYMdfXyJ9ZCqQUb2tzrMdHx+OcgiZnPP
Fi9WzQSMb0ePR1SFmQ/10OqxsHv4avniJteDKzHv12UEytF7UjDI/8Y/W8PcTP8C
AwEAATANBgkqhkiG9w0BAQUFAAOCAQEArrHrqEwpKaqtJqQgn/RJw02M362SS4A9
iq2xRO3w04N5G0cX9OiXuk8t3yoBO99CyzHItdA9dZ89EJ+qx4JemUU3uYCW4Igr
2aXHVA3P8uXrj3inwLSCzDzmyvsxjAI00TfgigbTXdGvdzM6YEyx3Pm9A/fL2qqL
/nmwe6RqaAXykRw8J8yTpl2ijglhFzWmToInhj6WwyVqsZwYIodOFFSusgHNyzwT
UiceZPs0gY1Icg2acRmbGEzS6dI2+dvKAsKlraRkRqdIjWFSxcvHMWysoqOztu00
/goJA4+IPtmSm1Lzdh70ZJ6r9mTShIYadBH/P6pEdlulcCarJYiCHw==
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAtNZtZXomLGsnHzDLuB/IZ4LepVHt1t9edkI4J5ruLvWLbVY9
zpSuIK/aSulkiLDhVTznTxG6U57mwHaoOzFpmnRBsemQGnXt992BHspOtYrMY8At
KXXxdkS7dQ1N1lzw+HgjTAw/8/kgYWRl+uhq/rW00RceWhOqH3cz3WsrxhPxOEtY
XQq+h9cFuyViTl4gdBD0uao+b49NAqyBTREl2q6DgzRYwHPdxZGpNLXgnEk+kQbq
GwBc7YKlgx19fIn1kKpBRva3Osx0fH45yCJmc88WL1bNBIxvR49HVIWZD/XQ6rGw
e/hq+eIm14MrMe/XZQTK0XtSMMj/xj9bw9xM/wIDAQABAoIBAQCUnIs2k9V/N2fl
KBKi8+ubtV8HeXb92H8mrHC9i4MmMEAu0GrmtCUNU7cPTRKDiukDRZPJ1QXM5o83
p8vFKWxhtByw+wKj3Dp+MhiElzlr0+74Itx6cCTJTt7G6PIIskSNzR0kyARemWNU
5k8wjYQwYl+AXYFiATsTtMB4vDQzCJqR5zjeLj5ZAq71RQCFdqtCQuRKDj36jP+H
2kRbzwAG1EMsOo7tTNMV3b7n5vAdNpnG9rfz/lljP7GBnYSgpOJqp5JQfxwP3fP0
Lkq2B0Ws1EwhEWfMb6beaRhSPxaUuLarT/iCBs3JetAP0NtxW5euwApML6d1O9ld
ufdcH3fBAoGBAN+hr5UAOfR7LOt6XLhnq/Itd0NgL62nPQcMhE9FxFmOyPlN9aid
zP1oIAMOLZ1SAetxaD0BFj5aIQ9TxBqNfT/VioYRT4964dm5XlA6kJ/1gdNBL9uu
MOd0zQBdZH8Yd3/UwSjfISEPBToHtPNAUNo+6eDZFkJATURhD32m51OPAoGBAM8D
FBBgnOZ/FF2686mYQJzoY/M0tvXGjGyNxt34y9Cc/ExikERjvAHra1VC9RfMGu8q
OglFzfRludda7AhCnSpSE9Cn55GK6vAohQTdFOstqwATAF7txRWVZ3yh7159icPz
zupp3Gni6agJ88qqc1vSfzip8pFiiS5K55z72feRAoGAHBcLHwQwQ21Vbx6nluIu
zvS3Dld+palkGQaReAOjbjxpMieAu/VWUl5J5xhY0nICm7hbB46jZKGdlXdIIq2z
FdmU1NJH1BXzWI3YMuuoTu9fp1GA2W8/5VLejTUt8mj4Wa43tRKR7r0cQvXE3Okv
Prq4Ve3uxdOd4QDwGTBlzjECgYEAzqOpBIwcMq2Jm+KBVbpoTPhgxSXKuF2AUN/Z
Mjwm30/FPU5p6gqQYm4oTwyucRnJjRFeq2DlrF9a+hCFad1s2xDhPLhOHGdKC363
AVrahcOpXUKabSf1Qo1Hpw5STcUMnvChjDct0Piz+owsshIhYvglDGAAhYWRoAcf
WgHA2zECgYEAtdQdrDO5cDBU4Uw8fnfnbdMH/xjfG88Zjp6jUhF9ndgj1aWE8qDE
/Rg4OwX/kr/dxEjkpgO7RohlL8YfAR7YawRh9qtQIWlHWrN2bIXj9xGjdNy5hlck
iBQsiRvkON08Tvft0oGZ3i+7aPLSaFYAwjn4VGLMebtk0zi7WygL0QY=
-----END RSA PRIVATE KEY-----
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment