2018-08-06 15:15:27 +03:00
|
|
|
|
// Code generated by vfsgen; DO NOT EDIT.
|
|
|
|
|
|
2018-09-02 01:06:50 +03:00
|
|
|
|
// +build !debugwebui
|
2018-08-06 15:15:27 +03:00
|
|
|
|
|
|
|
|
|
package webui
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"bytes"
|
|
|
|
|
"compress/gzip"
|
|
|
|
|
"fmt"
|
|
|
|
|
"io"
|
|
|
|
|
"io/ioutil"
|
|
|
|
|
"net/http"
|
|
|
|
|
"os"
|
|
|
|
|
pathpkg "path"
|
|
|
|
|
"time"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
// WebUIAssets statically implements the virtual filesystem provided to vfsgen.
|
|
|
|
|
var WebUIAssets = func() http.FileSystem {
|
|
|
|
|
fs := vfsgen۰FS{
|
|
|
|
|
"/": &vfsgen۰DirInfo{
|
|
|
|
|
name: "/",
|
2018-09-02 01:06:50 +03:00
|
|
|
|
modTime: time.Date(2018, 9, 1, 22, 4, 2, 592936474, time.UTC),
|
2018-08-06 15:15:27 +03:00
|
|
|
|
},
|
|
|
|
|
"/asset-manifest.json": &vfsgen۰CompressedFileInfo{
|
|
|
|
|
name: "asset-manifest.json",
|
2018-09-02 01:06:50 +03:00
|
|
|
|
modTime: time.Date(2018, 9, 1, 22, 4, 2, 444935452, time.UTC),
|
2018-08-06 15:15:27 +03:00
|
|
|
|
uncompressedSize: 96,
|
|
|
|
|
|
2018-09-02 01:06:50 +03:00
|
|
|
|
compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xaa\xe6\x52\x50\x50\xca\x4d\xcc\xcc\xd3\xcb\x2a\x56\xb2\x52\x50\x2a\x2e\x49\x2c\xc9\x4c\xd6\xcf\x2a\xd6\x07\x0b\xa6\x9a\x19\x5a\x58\x98\xa7\x9a\x81\x64\x75\x90\x94\xea\xe5\x26\x16\xe0\x57\x0e\x56\xc1\x55\x0b\x08\x00\x00\xff\xff\x18\x4b\x33\x4e\x60\x00\x00\x00"),
|
2018-08-06 15:15:27 +03:00
|
|
|
|
},
|
|
|
|
|
"/favicon.ico": &vfsgen۰CompressedFileInfo{
|
|
|
|
|
name: "favicon.ico",
|
2018-09-02 01:06:50 +03:00
|
|
|
|
modTime: time.Date(2018, 9, 1, 22, 3, 49, 112843421, time.UTC),
|
2018-08-06 15:15:27 +03:00
|
|
|
|
uncompressedSize: 3870,
|
|
|
|
|
|
|
|
|
|
compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x95\x67\x50\x13\xe8\xbb\xc5\x5f\x3a\x2a\x28\xee\x2a\xd6\xdd\x45\x52\x08\xa4\x10\x7a\x09\x21\x1d\x08\x04\x08\x21\x84\x10\x42\x42\x94\x22\xab\x80\xac\x80\x22\x52\x55\x02\x28\x4d\x40\x8a\x62\xa1\x17\x05\xe9\x52\xa4\x28\x08\x22\xbd\x0b\xa2\x22\x2c\x58\xa8\x8a\x8a\xfd\x0e\xeb\xfd\x70\x67\xee\xff\xce\xce\x7d\xe6\x3d\xf3\xce\xf3\xf9\x9c\xdf\x79\x00\x90\x00\xd2\x40\x49\x69\xe3\x57\x01\x33\x12\x00\x98\x01\x00\x76\xef\xfe\xb9\x2b\x48\x01\xa0\x2e\x09\x80\x8a\xca\xcf\xdd\x48\x0a\x00\x3d\x19\x00\x88\xc4\x9f\xfb\x6d\x59\x00\x7c\xe4\x01\x88\x61\xda\x98\x2b\x6e\xde\xbb\x19\x00\xa0\x48\xb7\xa0\xb2\x00\x00\x4a\x1b\x92\x97\x02\x00\x20\xd0\xdb\xec\x01\x00\xb3\x4c\x06\x9b\xa6\xfa\xbf\x46\x9b\xc9\xc5\xff\x15\xae\x6e\x80\xd3\x30\x36\xb5\x48\xcc\x45\x93\xcd\x69\xd1\x99\x86\x6e\xbe\x7a\xdc\x83\xfa\xce\xee\x56\x19\xa5\x56\x99\x65\x5a\xd6\x0e\x46\x9e\xc7\x75\xec\xf9\xf4\xe4\x02\x63\x4f\x7f\x35\xac\x0e\x31\xf8\x3c\xa7\x6e\x98\x5d\xd5\x47\x0a\x89\xe3\x34\x8c\x12\x83\x62\xf4\xf9\x1e\x16\x17\xf3\xd1\x14\x3a\x3d\xa5\x90\x16\x7d\x19\x89\x23\x1a\x08\xbd\x0c\x84\x7f\x9a\xc5\x66\x59\x5e\x2a\xb1\xba\x7c\xdb\x22\x31\x07\x4d\xb6\x10\x4d\x7c\x41\x11\xcd\x28\x67\x52\x18\x59\x95\x70\x0c\xd6\xf1\xee\x63\x9b\x9c\x7a\x7a\x72\x21\x54\x1d\x49\x8e\x48\xb2\x4c\x2d\x66\x95\x75\x12\x02\xa3\x4c\x8f\x47\x98\x06\x9c\xb5\x2f\xef\xc2\xfb\x85\x31\x8b\x5a\x99\x85\x2d\xcc\x82\x66\x14\x81\xaa\xeb\x20\x80\x21\xd1\xd6\xd7\x6b\xac\xd2\x4b\x61\x48\x94\xb6\x2d\x17\x69\x42\x62\x5c\xa9\x80\xc0\xe1\xd4\xa8\x74\x18\x0a\x43\x4f\x2d\x0a\x5c\x63\x7f\x00\x00\xc8\xf8\xb3\x6c\xec\xe9\x73\xf3\x96\xb3\xee\x2d\xee\xf9\x00\x80\x22\x3a\x95\xc4\x3e\x29\x61\x1d\x5f\xcd\xa3\x91\x14\xce\xfe\x78\x5c\xb9\x69\x69\x09\xc6\xba\xb1\xfc\x6c\x9a\xcd\x3e\xdc\x61\x7e\xae\x01\xd5\x5a\xda\x8e\x97\xaa\x50\x1e\x0c\x5b\xf2\x5e\xf4\x58\xf4\xf6\xf1\xb8\x48\xba\x04\x7d\x21\x36\x3d\x20\x95\xef\x59\xbf\x66\xe1\x79\x37\x91\xf6\x2c\xe1\x49\x75\x88\xe4\x26\xd9\xa9\x86\x6f\xe2\xfa\xc6\x23\x4a\x6e\xbf\x7e\x2e\x28\xb3\xf4\xdd\x9e\x96\xd1\xab\x33\xc7\x50\xb5\xac\xbb\x7e\xb9\x7b\xe4\xab\x9d\x18\xfa\x62\xbe\xad\xf1\x0f\x0f\x8f\x6a\xd4\xab\x70\x3d\x2f\x23\xc9\x3d\xdd\xd7\xca\x2c\x0a\xf7\x6b\x7a\x93\x25\xa3\xc4\x27\x7a\x9e\x9c\xc0\x51\x15\xc7\x91\xf0\x48\xc7\x92\x9d\xc5\x75\x85\xd4\x35\xdf\x1d\xc4\xae\x2a\x16\xbd\xa8\x9f\x7c\xc3\xd7\x7b\x2f\x46\x6e\xb2\x52\xae\x05\x00\x00\xe8\x34\x1b\x6a\x29\xd9\x35\xf2\x3f\x58\xbc\x7b\x43\xff\x58\x3c\x56\xd4\xd3\x05\x80\x84\xfb\x7f\xb6\xf8\xbf\x8d\x66\xf1\x6c\xb2\xeb\x2c\x2f\x95\xe8\xb0\x9c\x2d\xd3\x6e\xaa\xeb\x19\x39\xb5\x3e\xc5\x5a\xd9\xeb\x3a\xba\xda\x95\xb4\x31\xae\x54\xc0\x90\x68\xac\x25\x4b\x5d\xdf\xd8\xd8\xd3\x9f\x12\x99\xac\x0a\x81\x10\x02\xa3\x1c\x6a\x07\x08\x27\xa2\x4c\x7c\x82\xe1\x68\x4d\xa7\x7b\xcf\xf0\x7e\x61\xc6\x5e\x01\xe4\xb0\x44\x52\x48\x1c\x29\xf8\x02\x39\x22\x49\x93\xce\x64\x16\x34\xe3\xfd\xc2\xad\x32\x4a\x85\xc3\xef\x18\x59\x95\x50\x84\x3a\xee\xe8\x29\x56\xd9\x43\xd1\xc4\x17\x7a\x72\x21\xef\xc1\x8c\x8e\x83\x40\xcb\xda\x41\x87\xed\xc2\x6b\x7f\x41\x4f\x2e\xe0\x36\x3f\x31\x3b\x7f\x15\x4d\x36\x67\x16\xb6\xe8\x3b\xbb\xa3\x88\x34\x3d\x9e\x9b\x6d\x41\x33\x9a\x6c\xc1\x6d\x9e\x44\xe2\x49\x8e\x4d\x13\x28\xa2\x99\x63\xe3\xb8\x5d\xf1\x7d\x42\xe0\x39\xc7\xc6\x31\xa4\x09\x89\x18\x14\xad\x0a\x81\xf2\xbb\x5f\xeb\x3a\x8a\xf8\xdd\x6f\xec\x2b\xba\xa1\x08\x0d\x0c\x8d\x21\x18\x58\xe5\xd4\x8f\xe8\xbb\x1c\x86\x40\x61\xe6\xf1\x37\x20\x70\x35\xdc\x9f\x27\x38\x75\xc3\x68\x0a\x9d\x71\xb9\x9c\xd7\x36\x2d\xe8\x5f\xde\xc8\xd2\xed\x2e\x4d\x0b\x1b\xeb\xeb\xb5\xc2\x91\xf7\xfc\x47\xaf\xac\xaf\xd7\x18\xba\xf9\x52\xcf\xa5\x51\xa3\xd2\x4d\xfd\xcf\x20\xf1\x64\xe7\xce\x39\x94\x29\xc5\xd4\x3f\xd2\xc4\x37\x84\x18\x14\x83\x65\xd8\x63\x68\x56\xec\xaa\x5e\xa8\x1a\x02\x86\xc2\x90\x42\xe3\x1d\xef\x3e\xa6\x44\x5c\x84\x21\x51\xfc\xae\x97\x94\x03\xb3\xbf\x01\x00\xe4\x36\x32\x26\x9b\xb4\xb8\x94\x18\x1d\x73\xc5\xbc\x69\x14\x00\x09\xdb\x9f\x29\x3b\x1a\x73\x9f\x5c\x63\xb7\xe3\xdc\xb5\x80\xaa\x67\xc2\xce\x4a\x93\x47\xca\xf9\x53\x81\xfb\xdd\xe3\x5e\xcb\x56\xc4\xbd\x13\x29\xeb\x2b\x93\x7a\x9b\x2e\xec\x92\xfe\x12\x98\x1d\x2c\x47\xec\x95\x03\x34\x35\xf0\xd4\x0d\
|
|
|
|
|
},
|
|
|
|
|
"/index.html": &vfsgen۰CompressedFileInfo{
|
|
|
|
|
name: "index.html",
|
2018-09-02 01:06:50 +03:00
|
|
|
|
modTime: time.Date(2018, 9, 1, 22, 4, 2, 444935452, time.UTC),
|
2018-08-06 15:15:27 +03:00
|
|
|
|
uncompressedSize: 495,
|
|
|
|
|
|
2018-09-02 01:06:50 +03:00
|
|
|
|
compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\x91\xc1\x8e\x1b\x21\x0c\x86\x5f\x85\xd2\x4b\x2b\xed\x0c\xcd\x65\x9b\x03\xf0\x00\xbd\xf6\xd4\xa3\x03\x9e\xe0\x2c\x63\x8f\xc0\x33\x69\xde\xbe\x9a\x64\x77\xd5\x70\x40\xf2\x87\xfd\xc9\xfa\xf1\x5f\xb2\x24\xbd\x2d\x68\x8a\xce\x35\xfa\xfd\x36\x15\xf8\x1c\x2c\xb2\x8d\xbe\x20\xe4\xe8\x67\x54\x30\xa9\x40\xeb\xa8\xc1\xae\x3a\x0d\x47\xfb\x4e\x19\x66\x0c\x76\x23\xbc\x2e\xd2\xd4\x9a\x24\xac\xc8\x1a\xec\x95\xb2\x96\x90\x71\xa3\x84\xc3\xbd\x78\x21\x26\x25\xa8\x43\x4f\x50\x31\x1c\x5e\x7a\x69\xc4\x6f\x83\xca\x30\x91\x06\x96\x67\xa7\x16\x9c\x71\x48\x52\xa5\xfd\xa7\xfd\xfa\xe3\x7e\x6c\xf4\x95\xf8\xcd\x34\xac\xc1\xce\xc0\x34\x61\x57\x6b\x4a\xc3\x29\x58\xf7\x01\xc6\x4b\x17\x7e\x6a\xed\x45\x9a\xa6\x55\x0d\x25\xe1\xcf\xfe\x09\xb6\xbd\x1e\x29\xed\x3b\x28\x69\xc5\x78\x26\x1d\x4e\xeb\x79\xb8\xe2\x69\xa5\x6f\x87\xef\xde\x3d\xb8\x77\x8f\x4c\x4e\x92\x6f\xd1\xb3\xf4\xd4\x68\xd1\xf8\x47\x56\xc3\x88\xd9\xa8\x18\x64\x38\x55\x34\xbf\x60\x83\xdf\xf7\xd7\x1d\xb6\x95\x8d\x16\xea\x06\x96\x65\xf4\xee\x73\xd0\x67\xda\x0c\xe5\x60\x9b\x88\xda\xe8\x5d\xa6\x2d\xfa\xfe\x3e\x77\x5b\xf6\x24\xf0\xaf\xba\x0b\x6c\xf0\xa0\xd6\xf4\x96\x82\x75\x5d\x41\x29\xb9\x4b\x77\x33\x10\x8f\xf8\x7a\x38\x1e\x7f\xe2\xeb\x78\xe9\xbb\xe6\x43\xef\x1e\x8b\xba\xfb\xff\xfe\x0b\x00\x00\xff\xff\xe8\xc4\xe6\x70\xef\x01\x00\x00"),
|
2018-08-06 15:15:27 +03:00
|
|
|
|
},
|
|
|
|
|
"/manifest.json": &vfsgen۰CompressedFileInfo{
|
|
|
|
|
name: "manifest.json",
|
2018-09-02 01:06:50 +03:00
|
|
|
|
modTime: time.Date(2018, 9, 1, 22, 3, 49, 112843421, time.UTC),
|
|
|
|
|
uncompressedSize: 305,
|
2018-08-06 15:15:27 +03:00
|
|
|
|
|
2018-09-02 01:06:50 +03:00
|
|
|
|
compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x5c\x8e\xc1\x6e\xc3\x20\x0c\x86\xef\x3c\x85\xc5\xae\x6b\xba\xa6\x51\x0e\x7d\x95\x69\x8a\x08\x71\x13\x6b\x04\x2a\x70\x36\xba\x2a\xef\x3e\x19\x0e\x9b\xea\x03\x07\xbe\xcf\xbf\xff\x87\x02\xd0\x69\x09\x91\x07\x6f\x56\xd4\x17\xd0\x33\xf1\x61\xdc\x66\xfd\x2a\xe8\xe9\x13\xbe\x71\xdc\xa8\x22\xb2\xc1\x27\x7d\x81\x77\x05\x00\xf0\x28\xaf\x84\x45\x2b\x0b\x57\xf3\x25\x42\x43\x36\x14\xbd\x32\xfa\x41\x59\xd1\x7d\x97\xfb\x0e\xce\x6d\x3e\xb7\xd0\x76\xb9\xed\xe0\xd4\xe7\x53\xff\x67\xf2\xfd\x56\xee\xd2\x6a\x66\x3c\xe6\x83\x64\xe9\x02\x77\x05\xf0\x51\x0a\x24\x36\x91\x87\x2d\x3a\x11\x9b\x23\xf9\x09\x73\xb3\xf0\xea\x6a\xbf\x89\xd2\xcd\x99\xbb\xc0\xc4\xc6\x4f\xc6\x05\x8f\x15\xf1\x82\x2b\x0e\x36\xb8\x10\x05\xbf\xbc\x95\xa9\x6c\x34\xf6\x73\x8e\x61\xf3\xd3\x3f\xe1\x5a\x46\xab\x5d\xfd\x06\x00\x00\xff\xff\x44\x82\xd0\x2e\x31\x01\x00\x00"),
|
2018-08-06 15:15:27 +03:00
|
|
|
|
},
|
|
|
|
|
"/service-worker.js": &vfsgen۰CompressedFileInfo{
|
|
|
|
|
name: "service-worker.js",
|
2018-09-02 01:06:50 +03:00
|
|
|
|
modTime: time.Date(2018, 9, 1, 22, 4, 2, 592936474, time.UTC),
|
2018-08-06 15:15:27 +03:00
|
|
|
|
uncompressedSize: 3095,
|
|
|
|
|
|
2018-09-02 01:06:50 +03:00
|
|
|
|
compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x56\x6b\x6f\xdb\x36\x14\xfd\x2b\x0a\x81\xba\xe4\xcc\xd0\x76\xdd\xc4\x4e\x0c\x21\x18\xb2\x62\x28\xd6\xae\x45\x9b\xa0\x1f\x1c\x37\x60\xa4\x6b\x8b\x0d\x45\x6a\xe4\xb5\xdd\x20\xf5\x7f\x1f\x28\xf9\x25\x3f\xda\xed\x1b\x45\x49\xf7\x71\xce\xb9\x87\x24\x53\x0f\x91\x47\xa7\x12\x24\x83\x99\x74\x51\xe1\x20\x91\x49\x06\xd7\xd6\x8c\xd5\x24\x1e\x0e\x49\x4b\x99\x14\xbe\x8b\x0c\x73\x4d\x38\x49\x7b\xaf\x5e\x9d\xa5\xbd\xd7\x67\x9d\x87\xb3\xf1\xb8\xdb\xef\xb5\x41\x9e\x75\xfa\xe3\x33\xe8\x76\xd3\x8b\xf3\x0e\x19\xf1\x21\x69\x79\x94\xa8\x92\xd6\x37\xdf\xca\xa5\x32\x02\xce\x3b\xfd\x7e\x0f\xce\xc5\x37\x4f\x38\xb9\xe8\x74\xba\x09\xbc\x3a\xef\xc2\x6b\xd9\xed\xa5\xc9\xc5\xc5\x6b\xd9\xee\xf7\xfa\xfd\xf6\x79\x3b\xed\xb5\xbb\x64\x34\xe2\x65\x0d\x7f\xcb\x1c\x62\xe2\xe7\xa7\xab\xa2\x4e\x67\xdd\xd3\xed\xc7\x39\x3c\x14\x32\x79\x3c\x2d\xf4\x74\xa2\xcc\x29\x69\x52\x0f\x7a\x2c\x1c\x4c\x94\x47\x27\x51\x59\x73\xb5\xb7\x23\x7c\x62\x0b\xb8\x24\x84\x71\x35\x31\xd6\xc1\xad\xd3\x1f\xa5\x93\x39\x20\x38\xff\x5e\x62\x92\x29\x33\x89\x87\xad\xaf\x53\xcc\xef\x5b\x23\x2e\xd3\xf4\x0f\xe5\x20\x41\xeb\x9e\xde\x06\x2c\xe2\xf1\xd4\x24\x21\x14\x05\x8e\xec\x39\xc0\x66\x62\x03\xf3\xe8\xf6\xd3\x3b\x0a\x6c\xe0\x00\xa7\xce\x90\x16\x89\xe3\xd8\x88\x42\x62\x66\x64\x0e\xc2\x6b\x95\x00\x3d\xed\xb0\x46\x83\x6e\xb6\x9b\x31\x32\x6e\x04\xda\xcf\xe8\x94\x99\x50\xb6\xe0\x89\x06\x69\x3e\x81\x2f\xac\xf1\xb0\x49\x86\xec\xb9\x8a\x1c\xa1\x70\x90\x96\x25\x41\x7a\x45\xc9\x83\x4d\x9f\x88\x32\x11\x5e\x7d\x74\x36\x57\x1e\x84\x03\x6f\xf5\x0c\x28\x8a\xf0\x8e\x5d\xa2\x78\xd0\xf6\x81\x32\x26\x30\x03\x43\x37\xf5\xaf\x43\x86\xf2\x57\x29\x29\xf0\xe7\x0c\x64\x0a\xce\x5f\xa2\x58\xae\x78\xe0\x74\x1a\x36\xaa\xc5\xf2\xf9\x06\xbe\xe3\x7a\x2f\x3c\x2c\xd8\x82\x5d\xee\xd5\x11\xba\x72\x20\x11\xae\x03\x71\x7f\xc1\x53\x0d\x43\x6e\xb8\xab\x70\x94\xfb\x38\x46\xae\xd1\x90\x1b\x14\xf3\x40\x10\x75\xec\xc7\x0f\x2a\x85\x07\xe9\x92\xac\x19\xaf\x97\x57\xa4\x41\x02\xb5\x4d\x30\x89\x4d\xe1\xf6\xd3\xdb\x6b\x9b\x17\xd6\x80\x41\x8a\xac\x49\x62\x72\xe8\x8d\x61\x8c\xcb\x1a\x05\xca\x7f\x94\x98\x7d\xc9\x14\x82\x56\x1e\x21\xdd\xe1\x5c\x8d\x69\x3b\x8e\x63\x10\x1a\xcc\x04\x33\x56\x95\x7a\xd2\x1e\xd4\xc5\x80\x6c\x5d\xf8\xaa\x1b\x10\xde\xe6\x70\x90\x82\x65\x6f\xc0\x16\x6c\xc1\xc3\x50\x16\x6f\x4b\x81\xa6\x35\x85\x6e\x57\x62\x2a\xd4\xf0\x00\x6a\x28\x32\xe9\xb3\x98\x10\x8e\x4b\x6c\xe2\xd5\x62\xa9\xc4\x0e\x13\xbe\xd0\x0a\x29\x69\x10\x26\x72\x59\x1c\x2a\x0a\x56\xdf\xc4\x84\x2d\x98\x18\x2b\x8d\xe0\xe8\x01\x4d\x1a\x01\x33\x70\x4f\x07\x62\x9c\x80\x40\xf0\x48\x71\xd8\x1e\x85\xd6\x7e\x92\xeb\x9b\x55\x66\x95\xaa\x5a\x37\x08\xe3\x58\xa3\x26\xb4\x55\xa2\x51\xd9\xc3\xfd\x96\x21\x10\x3e\x75\xda\xdf\xd8\x95\xc8\x7c\x89\xcb\x7b\x59\xd0\xba\xad\xed\x15\x50\x81\x08\xc3\xf6\x88\x9b\x18\x86\x9d\x11\x77\x1b\x0e\x79\x69\x21\xda\x26\xa5\x7d\x30\x2e\xe3\xba\x94\xa9\xab\xd7\xc4\x0d\x6f\xdd\x89\xbb\xf9\x73\x7f\x71\x27\x5a\x2b\x42\x86\x6e\xab\x0b\x2e\x47\x0b\xc6\x06\xab\x12\x22\x0f\xf8\x61\x5c\xc6\x0b\x5c\xfb\x1a\x26\x8f\xf0\xe4\xe9\xf1\xc1\x85\xe3\x68\x4e\x9d\x2e\xe1\xfe\xd9\xcc\x7f\x06\xac\x04\x57\x36\x29\xd3\xf4\xcd\x0c\x0c\xbe\x0b\x9a\x37\xe0\x28\x51\xc6\xa3\xd4\x9a\xf0\xed\xff\x41\xcc\xa5\xc2\x5b\x83\x4a\xd3\x12\x56\x2f\x6c\x01\x86\xae\x5d\x7b\x37\xa7\x5b\xe7\xdc\xed\xd4\xed\x7e\x6a\xd6\x9f\xae\x4c\x44\x6a\x4d\x7f\x77\x4e\x3e\x89\xb1\xb3\x39\xdd\xa1\x58\xcc\xa4\x9e\x82\x0f\xde\x56\x03\xa2\x1a\xd2\x13\x13\xc6\x80\x22\xab\x38\x86\xb8\xf2\xb9\x7f\xa6\xa5\x20\xf9\x73\xe2\x20\x05\x83\x4a\x6a\x7f\x49\xbc\xcc\xe1\xd4\x3a\x35\x51\x86\x2c\xd6\x83\x34\x86\x6a\x28\xf7\x61\x0c\xf1\x41\xd8\x47\x86\x99\xb3\xf3\x12\xce\x37\xce\x59\x47\xc9\x32\x43\x34\xb6\x2e\x22\x4d\x6c\x92\xa8\x0a\x06\x69\x24\x23\xb7\xb4\xd9\x68\xae\x30\x8b\x2a\xe7\x8c\x48\x13\x96\x26\xba\x4e\x5c\x3b\x06\x0e\x16\xb0\x32\x48\x51\x4c\x43\x37\x25\x8f\x6c\xb1\x60\xec\x00\xed\x5b\x0c\xe8\xb1\xf0\x8f\xaa\xf8\x22\x15\x56\x33\x15\x7e\xe0\x47\x04\x20\x13\x54\x33\x89\x50\x57\xc0\xc6\xe6\x82\x80\x8e\x52\x32\xf8\xdf\x4a\xd9\x3e\xe4\x7e\xa1\xfc\x6d\x7d\xec\x4f\xc1\x86\xfc\x72\x10\x18\x5b\x87\x4d\x41\x03\x42\xa9\xfa\x5f\x03\x95\x68\x05\x06\xbd\x48\xb4\
|
2018-08-06 15:15:27 +03:00
|
|
|
|
},
|
|
|
|
|
"/static": &vfsgen۰DirInfo{
|
|
|
|
|
name: "static",
|
2018-09-02 01:06:50 +03:00
|
|
|
|
modTime: time.Date(2018, 9, 1, 22, 4, 2, 444935452, time.UTC),
|
2018-08-06 15:15:27 +03:00
|
|
|
|
},
|
|
|
|
|
"/static/js": &vfsgen۰DirInfo{
|
|
|
|
|
name: "js",
|
2018-09-02 01:06:50 +03:00
|
|
|
|
modTime: time.Date(2018, 9, 1, 22, 4, 2, 472935645, time.UTC),
|
2018-08-06 15:15:27 +03:00
|
|
|
|
},
|
2018-09-02 01:06:50 +03:00
|
|
|
|
"/static/js/main.e61887e6.js": &vfsgen۰CompressedFileInfo{
|
|
|
|
|
name: "main.e61887e6.js",
|
|
|
|
|
modTime: time.Date(2018, 9, 1, 22, 4, 2, 456935535, time.UTC),
|
|
|
|
|
uncompressedSize: 630033,
|
2018-08-06 15:15:27 +03:00
|
|
|
|
|
2018-09-02 01:06:50 +03:00
|
|
|
|
compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\x7b\x9f\xdb\xb8\x91\x28\x0c\x7f\x15\x8a\xc9\xa1\x89\x15\x4c\x4b\xdd\xbe\x52\x46\xb4\x89\xc7\x93\x38\x3b\xb6\x27\xb6\x27\x39\x39\x1a\xbd\xfd\xa2\x29\xa8\xc5\x31\x05\x28\x20\xd8\x76\x47\xe2\x77\x7f\x7e\xb8\x12\xbc\x48\xdd\xf6\x4c\xf6\xd9\x3c\x67\xfe\x91\x48\x10\xd7\x42\xa1\x50\x55\x28\x54\x8d\xd6\x15\xcd\x44\xce\x68\x4c\xc0\xde\x3e\x07\x22\xe6\x60\x9f\xaf\x63\xba\xe0\x4b\xc0\x89\xa8\x38\x0d\xe4\x73\x42\x3e\xef\x18\x17\xe5\xec\x1a\xf3\x80\x21\x99\x84\xf6\x79\xca\x61\x91\x8e\xa6\xd0\x7c\x4c\xf7\x75\x3d\x33\x85\x88\x2c\x94\xe1\xa2\x88\x99\x2d\x0b\x19\x6c\x9e\x05\x80\x2c\x29\xd0\x68\xd2\xa4\xd5\xb2\x6e\x8a\xf6\xf5\x4c\x24\x5b\x44\xa0\x48\x32\x44\xa1\x48\x56\xa8\xe9\x2a\xa4\x90\x83\xbd\x48\x98\x7c\x04\x87\xc3\xdb\xcb\x9f\x48\x26\x92\x15\x59\xe7\x94\x7c\xcf\xd9\x8e\x70\x71\xa3\xb2\xed\x33\x46\xd7\xf9\x55\xc5\xf1\x65\x41\x54\x27\x69\xb5\x25\xe6\x6d\x02\xaf\x88\x48\x79\x0d\x6a\x28\x12\x8a\x7c\x50\xe8\x4e\x90\x28\x22\xc9\xc5\x05\x29\x5f\xb3\x55\x55\x90\xb9\xcb\x01\xf6\x76\x80\xb2\x51\x5c\x15\xa2\x4e\x07\x3e\x3a\x38\x88\x64\x15\x53\x18\xe2\x10\x52\x00\xa9\x6c\x8e\xf9\xc3\x11\xae\x88\x19\xc9\x8e\x33\xc1\xc4\xcd\x8e\x24\x1b\x5c\xbe\xfd\x44\xed\x98\x34\x2c\x65\x01\x59\xc7\x0e\x85\x0f\x42\x28\x62\x91\x94\x68\xfa\xf8\x19\xa8\xe3\x45\xbb\x52\x37\xa1\x6a\x4c\xb6\x57\x9d\x41\x91\x74\x6f\xc6\x90\x92\xba\x26\x76\x1e\x10\xad\xa1\x5f\x1b\xa4\x60\x1f\x56\x25\x09\x4a\xc1\xf3\x4c\x84\x33\x2f\x67\x7c\x76\xf6\x18\xf4\xb3\xb7\x73\x3c\x01\x71\x27\x4f\xbb\x83\xf2\x5d\xe2\x5c\x55\x14\x08\x11\x83\x76\xfb\x5a\xe1\x1a\x85\x1c\x32\xb4\xaf\x61\x8e\x0c\x84\x3e\x92\x9b\x32\x26\x60\xb6\x66\x3c\xe6\x68\x32\xe3\xcf\xf3\xa4\x20\xf4\x4a\x6c\x66\x7c\x3c\x06\x14\xe5\x0b\xbe\x84\x22\xc9\xe9\x8a\x7c\x7e\xbb\x8e\x29\xf8\x1d\x9a\x1c\x0e\x31\x5b\xd0\x25\x22\x0b\xba\x04\xb3\x7c\x1d\x9b\xca\xae\x88\xf0\x80\xfc\xfe\x66\x7b\xc9\x8a\x52\x23\x01\x46\xa7\xf2\xb4\x7b\x80\xdb\x3d\xc0\x83\x3d\xe8\xcd\xf0\xce\x54\xf9\xaa\x7c\xe9\x70\xd3\xce\x33\x05\x51\xe4\x75\xb9\x36\x53\xc8\x8e\x4f\x53\x0b\xa6\x1e\x9a\xba\xec\x76\x3c\xb8\x2c\xf3\x2b\x7a\x38\xb4\x08\x00\xe3\xb1\x1c\xb4\x40\xd3\x99\x78\x8e\xf9\x55\xb5\x25\x54\x94\x76\x58\x62\x3c\xb6\x2b\xc3\x7d\x5b\x88\xe5\xcc\x16\xe3\x41\x4e\x03\x0a\xee\x84\xc3\x72\x05\x47\x51\x2c\x09\x84\xa2\x23\x6e\x6c\xa4\x86\x34\xc1\xbb\x5d\x71\x13\x8b\x4d\x5e\x42\xd7\x12\xb8\xe3\xa0\x2d\x22\x8d\x62\x12\xe4\xb4\x14\x98\x66\x84\xad\x03\x01\x80\xd8\x70\xf6\x29\xa0\xe4\x53\xf0\xe1\x66\x47\x5e\x72\xce\x78\x1c\xbe\xc0\x94\x32\x11\xc8\x4e\x05\x38\xc8\x0a\x5c\x96\x01\x2e\x03\x1c\xd8\x2a\xc3\x2f\x6a\xd8\xc2\x82\xa2\xc9\x8c\x3e\x17\x16\x74\xd4\x82\x8e\x23\xb1\xa0\xcb\x19\x4f\x1a\x42\x84\xfc\x97\xc3\x61\x34\x85\x3c\xf1\xc9\x96\x24\x8f\xe1\x35\x2e\x2a\x12\xe6\x34\xe0\x51\x14\xf3\xe4\x13\xcf\x85\xf9\x06\xe0\x31\xf2\xc7\xe5\x2a\x81\x1c\xd4\xb5\xeb\x25\x57\x6b\x93\x3b\xc4\x10\x51\x44\x63\xd2\xcc\x95\xa4\xc8\x5c\xa5\x41\x0e\x20\xf1\x46\xce\x6f\x21\x07\x5e\x13\xae\xf6\x17\x87\x43\xfc\x02\xc5\x13\x78\x61\xc9\x24\x88\x01\xa8\xcd\xee\x11\x4f\xcf\x1e\x01\x98\x23\x1a\x4f\xc0\x6c\x78\x0c\x02\x86\x0d\xa5\x0a\xe1\x5e\x41\x21\x1d\x4d\x6a\x00\x85\xad\x12\x89\xa4\xdc\x10\x22\xca\xd7\x98\xe2\x2b\xc2\xd1\x35\xcb\x57\xc1\x64\xa6\x57\x6f\x1e\xd3\xf8\x21\x00\xb0\x52\x4f\xd3\x73\x00\x60\xa9\x1e\x1f\x01\x00\x0b\xf5\xf4\x18\x00\x98\xa9\xa7\xa7\x00\xc0\xb5\x7a\x7a\x06\x00\x5c\xa9\x27\x59\x62\xa7\x0b\x03\x00\x37\xea\xe9\x0c\x00\xb8\x45\xb1\x4a\x9c\x00\x00\x55\xda\x39\x00\x00\xde\xe8\xd4\x27\x4f\x4c\xea\xc3\xc7\xf6\xf3\xd3\x67\xf2\xfb\xb5\x1a\xf6\x13\x00\x2f\x11\x93\xa5\xcf\xe4\xf7\x2b\xd3\x37\xd9\xd4\x27\xf3\x2c\xfb\x7c\xa1\x3b\x25\xdb\x7d\xab\x1f\x65\xc3\x2f\x75\x8e\x87\x32\xf9\xb3\xee\xe2\xb9\x7c\xfe\x68\x9e\x65\x9e\xef\x25\xd0\xaf\x93\x8c\x13\x2c\x08\x88\xe3\x09\xbc\xf2\x67\x00\xbe\x97\xdf\x5f\x7a\x49\xf0\x03\xba\x3f\x25\xd3\x29\xfc\x09\xc9\xf5\xf1\x1a\xef\x66\x5d\xb0\xfe\xa4\x20\xfa\x02\xbe\x96\x74\xf8\x5d\x6f\xb7\x14\xa8\x4b\x2f\x7e\x37\x8d\x22\x3d\x17\x23\xe4\x11\x8c\xe9\x72\xee\xbf\xa4\x7b\xb7\x4b\xba\x2a\xa9\xae\x92\x21\x91\x7c\xca\xc5\xe6\xc3\x86\x6c\x09\xcc\x91\xab\x8c\x45\x11\x83\xd7\x48\x24\xeb\x22\xdf\xc1\
|
2018-08-06 15:15:27 +03:00
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
fs["/"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
|
|
|
|
|
fs["/asset-manifest.json"].(os.FileInfo),
|
|
|
|
|
fs["/favicon.ico"].(os.FileInfo),
|
|
|
|
|
fs["/index.html"].(os.FileInfo),
|
|
|
|
|
fs["/manifest.json"].(os.FileInfo),
|
|
|
|
|
fs["/service-worker.js"].(os.FileInfo),
|
|
|
|
|
fs["/static"].(os.FileInfo),
|
|
|
|
|
}
|
|
|
|
|
fs["/static"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
|
|
|
|
|
fs["/static/js"].(os.FileInfo),
|
|
|
|
|
}
|
|
|
|
|
fs["/static/js"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
|
2018-09-02 01:06:50 +03:00
|
|
|
|
fs["/static/js/main.e61887e6.js"].(os.FileInfo),
|
2018-08-06 15:15:27 +03:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return fs
|
|
|
|
|
}()
|
|
|
|
|
|
|
|
|
|
type vfsgen۰FS map[string]interface{}
|
|
|
|
|
|
|
|
|
|
func (fs vfsgen۰FS) Open(path string) (http.File, error) {
|
|
|
|
|
path = pathpkg.Clean("/" + path)
|
|
|
|
|
f, ok := fs[path]
|
|
|
|
|
if !ok {
|
|
|
|
|
return nil, &os.PathError{Op: "open", Path: path, Err: os.ErrNotExist}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
switch f := f.(type) {
|
|
|
|
|
case *vfsgen۰CompressedFileInfo:
|
|
|
|
|
gr, err := gzip.NewReader(bytes.NewReader(f.compressedContent))
|
|
|
|
|
if err != nil {
|
|
|
|
|
// This should never happen because we generate the gzip bytes such that they are always valid.
|
|
|
|
|
panic("unexpected error reading own gzip compressed bytes: " + err.Error())
|
|
|
|
|
}
|
|
|
|
|
return &vfsgen۰CompressedFile{
|
|
|
|
|
vfsgen۰CompressedFileInfo: f,
|
|
|
|
|
gr: gr,
|
|
|
|
|
}, nil
|
|
|
|
|
case *vfsgen۰DirInfo:
|
|
|
|
|
return &vfsgen۰Dir{
|
|
|
|
|
vfsgen۰DirInfo: f,
|
|
|
|
|
}, nil
|
|
|
|
|
default:
|
|
|
|
|
// This should never happen because we generate only the above types.
|
|
|
|
|
panic(fmt.Sprintf("unexpected type %T", f))
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// vfsgen۰CompressedFileInfo is a static definition of a gzip compressed file.
|
|
|
|
|
type vfsgen۰CompressedFileInfo struct {
|
|
|
|
|
name string
|
|
|
|
|
modTime time.Time
|
|
|
|
|
compressedContent []byte
|
|
|
|
|
uncompressedSize int64
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (f *vfsgen۰CompressedFileInfo) Readdir(count int) ([]os.FileInfo, error) {
|
|
|
|
|
return nil, fmt.Errorf("cannot Readdir from file %s", f.name)
|
|
|
|
|
}
|
|
|
|
|
func (f *vfsgen۰CompressedFileInfo) Stat() (os.FileInfo, error) { return f, nil }
|
|
|
|
|
|
|
|
|
|
func (f *vfsgen۰CompressedFileInfo) GzipBytes() []byte {
|
|
|
|
|
return f.compressedContent
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (f *vfsgen۰CompressedFileInfo) Name() string { return f.name }
|
|
|
|
|
func (f *vfsgen۰CompressedFileInfo) Size() int64 { return f.uncompressedSize }
|
|
|
|
|
func (f *vfsgen۰CompressedFileInfo) Mode() os.FileMode { return 0444 }
|
|
|
|
|
func (f *vfsgen۰CompressedFileInfo) ModTime() time.Time { return f.modTime }
|
|
|
|
|
func (f *vfsgen۰CompressedFileInfo) IsDir() bool { return false }
|
|
|
|
|
func (f *vfsgen۰CompressedFileInfo) Sys() interface{} { return nil }
|
|
|
|
|
|
|
|
|
|
// vfsgen۰CompressedFile is an opened compressedFile instance.
|
|
|
|
|
type vfsgen۰CompressedFile struct {
|
|
|
|
|
*vfsgen۰CompressedFileInfo
|
|
|
|
|
gr *gzip.Reader
|
|
|
|
|
grPos int64 // Actual gr uncompressed position.
|
|
|
|
|
seekPos int64 // Seek uncompressed position.
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (f *vfsgen۰CompressedFile) Read(p []byte) (n int, err error) {
|
|
|
|
|
if f.grPos > f.seekPos {
|
|
|
|
|
// Rewind to beginning.
|
|
|
|
|
err = f.gr.Reset(bytes.NewReader(f.compressedContent))
|
|
|
|
|
if err != nil {
|
|
|
|
|
return 0, err
|
|
|
|
|
}
|
|
|
|
|
f.grPos = 0
|
|
|
|
|
}
|
|
|
|
|
if f.grPos < f.seekPos {
|
|
|
|
|
// Fast-forward.
|
|
|
|
|
_, err = io.CopyN(ioutil.Discard, f.gr, f.seekPos-f.grPos)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return 0, err
|
|
|
|
|
}
|
|
|
|
|
f.grPos = f.seekPos
|
|
|
|
|
}
|
|
|
|
|
n, err = f.gr.Read(p)
|
|
|
|
|
f.grPos += int64(n)
|
|
|
|
|
f.seekPos = f.grPos
|
|
|
|
|
return n, err
|
|
|
|
|
}
|
|
|
|
|
func (f *vfsgen۰CompressedFile) Seek(offset int64, whence int) (int64, error) {
|
|
|
|
|
switch whence {
|
|
|
|
|
case io.SeekStart:
|
|
|
|
|
f.seekPos = 0 + offset
|
|
|
|
|
case io.SeekCurrent:
|
|
|
|
|
f.seekPos += offset
|
|
|
|
|
case io.SeekEnd:
|
|
|
|
|
f.seekPos = f.uncompressedSize + offset
|
|
|
|
|
default:
|
|
|
|
|
panic(fmt.Errorf("invalid whence value: %v", whence))
|
|
|
|
|
}
|
|
|
|
|
return f.seekPos, nil
|
|
|
|
|
}
|
|
|
|
|
func (f *vfsgen۰CompressedFile) Close() error {
|
|
|
|
|
return f.gr.Close()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// vfsgen۰DirInfo is a static definition of a directory.
|
|
|
|
|
type vfsgen۰DirInfo struct {
|
|
|
|
|
name string
|
|
|
|
|
modTime time.Time
|
|
|
|
|
entries []os.FileInfo
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (d *vfsgen۰DirInfo) Read([]byte) (int, error) {
|
|
|
|
|
return 0, fmt.Errorf("cannot Read from directory %s", d.name)
|
|
|
|
|
}
|
|
|
|
|
func (d *vfsgen۰DirInfo) Close() error { return nil }
|
|
|
|
|
func (d *vfsgen۰DirInfo) Stat() (os.FileInfo, error) { return d, nil }
|
|
|
|
|
|
|
|
|
|
func (d *vfsgen۰DirInfo) Name() string { return d.name }
|
|
|
|
|
func (d *vfsgen۰DirInfo) Size() int64 { return 0 }
|
|
|
|
|
func (d *vfsgen۰DirInfo) Mode() os.FileMode { return 0755 | os.ModeDir }
|
|
|
|
|
func (d *vfsgen۰DirInfo) ModTime() time.Time { return d.modTime }
|
|
|
|
|
func (d *vfsgen۰DirInfo) IsDir() bool { return true }
|
|
|
|
|
func (d *vfsgen۰DirInfo) Sys() interface{} { return nil }
|
|
|
|
|
|
|
|
|
|
// vfsgen۰Dir is an opened dir instance.
|
|
|
|
|
type vfsgen۰Dir struct {
|
|
|
|
|
*vfsgen۰DirInfo
|
|
|
|
|
pos int // Position within entries for Seek and Readdir.
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (d *vfsgen۰Dir) Seek(offset int64, whence int) (int64, error) {
|
|
|
|
|
if offset == 0 && whence == io.SeekStart {
|
|
|
|
|
d.pos = 0
|
|
|
|
|
return 0, nil
|
|
|
|
|
}
|
|
|
|
|
return 0, fmt.Errorf("unsupported Seek in directory %s", d.name)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (d *vfsgen۰Dir) Readdir(count int) ([]os.FileInfo, error) {
|
|
|
|
|
if d.pos >= len(d.entries) && count > 0 {
|
|
|
|
|
return nil, io.EOF
|
|
|
|
|
}
|
|
|
|
|
if count <= 0 || count > len(d.entries)-d.pos {
|
|
|
|
|
count = len(d.entries) - d.pos
|
|
|
|
|
}
|
|
|
|
|
e := d.entries[d.pos : d.pos+count]
|
|
|
|
|
d.pos += count
|
|
|
|
|
return e, nil
|
|
|
|
|
}
|