mirror of
https://github.com/Luzifer/gallery.git
synced 2024-11-08 22:20:01 +00:00
411 lines
18 KiB
Go
411 lines
18 KiB
Go
// Code generated by go-bindata. DO NOT EDIT.
|
|
// sources:
|
|
// frontend/app.js
|
|
// frontend/index.html
|
|
|
|
package main
|
|
|
|
|
|
import (
|
|
"bytes"
|
|
"compress/gzip"
|
|
"fmt"
|
|
"io"
|
|
"io/ioutil"
|
|
"os"
|
|
"path/filepath"
|
|
"strings"
|
|
"time"
|
|
)
|
|
|
|
func bindataRead(data []byte, name string) ([]byte, error) {
|
|
gz, err := gzip.NewReader(bytes.NewBuffer(data))
|
|
if err != nil {
|
|
return nil, fmt.Errorf("Read %q: %v", name, err)
|
|
}
|
|
|
|
var buf bytes.Buffer
|
|
_, err = io.Copy(&buf, gz)
|
|
clErr := gz.Close()
|
|
|
|
if err != nil {
|
|
return nil, fmt.Errorf("Read %q: %v", name, err)
|
|
}
|
|
if clErr != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return buf.Bytes(), nil
|
|
}
|
|
|
|
|
|
type asset struct {
|
|
bytes []byte
|
|
info fileInfoEx
|
|
}
|
|
|
|
type fileInfoEx interface {
|
|
os.FileInfo
|
|
MD5Checksum() string
|
|
}
|
|
|
|
type bindataFileInfo struct {
|
|
name string
|
|
size int64
|
|
mode os.FileMode
|
|
modTime time.Time
|
|
md5checksum string
|
|
}
|
|
|
|
func (fi bindataFileInfo) Name() string {
|
|
return fi.name
|
|
}
|
|
func (fi bindataFileInfo) Size() int64 {
|
|
return fi.size
|
|
}
|
|
func (fi bindataFileInfo) Mode() os.FileMode {
|
|
return fi.mode
|
|
}
|
|
func (fi bindataFileInfo) ModTime() time.Time {
|
|
return fi.modTime
|
|
}
|
|
func (fi bindataFileInfo) MD5Checksum() string {
|
|
return fi.md5checksum
|
|
}
|
|
func (fi bindataFileInfo) IsDir() bool {
|
|
return false
|
|
}
|
|
func (fi bindataFileInfo) Sys() interface{} {
|
|
return nil
|
|
}
|
|
|
|
var _bindataFrontendAppjs = []byte(
|
|
"\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x54\x41\x6f\xe3\x2c\x10\xbd\xe7\x57\x8c\xd4\x48\xe0\xca\x21\x5f\x7b" +
|
|
"\xfa\xe4\x2a\x95\xbe\x7e\x8d\xd2\x9e\x7a\xd8\x4a\x7b\x5c\x11\x33\xb6\xa9\x30\x58\x80\x93\x76\xab\xfc\xf7\x95\x31" +
|
|
"\x38\xce\x6e\xb5\xd7\x99\xc7\x9b\xc7\x9b\x07\xeb\x6b\xa8\x95\xd9\x73\x05\xcb\xa2\xe2\xca\x21\x3c\x71\x2d\x14\xee" +
|
|
"\xb9\x75\xb1\x70\xbd\x5e\x2c\x4a\xc5\x9d\x83\x1d\x57\x0a\xed\x07\x7c\x2e\x00\x4a\xa3\x9d\xb7\x7d\xe9\x8d\xa5\x59" +
|
|
"\xa8\xc0\xec\x28\xb3\x58\x4b\xe7\xd1\x3e\xa1\xea\xd0\x52\x22\xab\x9d\x27\x39\xf8\x46\x3a\xd6\x4c\xb0\x07\x59\xd7" +
|
|
"\x68\x5f\x1b\xae\xb3\xbb\xc0\x10\xfa\x68\xad\xb1\x3f\x7c\xa7\x60\x33\xa7\x2c\x4d\xdb\x49\x85\x74\x49\xc9\x55\x80" +
|
|
"\xac\x3c\xb6\x9d\xe2\x1e\x49\xc6\x1a\xdf\x2a\x9a\xcd\x59\xb8\xda\xf7\xed\xdf\x59\x02\xe4\x4b\x96\x33\x8d\xe9\xbc" +
|
|
"\x34\xda\xa1\x87\x4d\xbc\x25\xc0\x7a\x0d\x3b\xd4\x68\xb9\x82\xd8\x8e\x0d\x61\x8e\x5a\x19\x2e\x0a\x08\xd6\xe5\xb1" +
|
|
"\xec\x50\xe1\x60\x54\x01\x84\xc9\xb6\x26\xf9\x99\xe7\xb5\xe9\xdb\xbd\xe6\x52\x25\x0a\x9f\x0a\x05\x78\xdb\x4f\x14" +
|
|
"\xa1\xfc\x5d\x0a\xdf\x14\xf0\xef\x3f\xa9\x8a\xef\xe1\xfc\x73\xcb\x6b\x2c\x80\x38\x5b\x4e\xdc\xae\x31\xc7\xd0\x7c" +
|
|
"\xf8\x78\xc4\x8a\xf7\xca\x5f\x88\x3a\x0d\x4e\x9d\x86\x7b\x0a\xe9\x3a\xc5\x3f\xb6\x83\xa3\xb4\x45\xe7\x78\x8d\xb0" +
|
|
"\x01\x42\xd2\x56\x97\x94\xb0\xd2\x68\xcf\xa5\x46\xbb\xaa\x54\x2f\x05\xc9\x18\xef\x3a\xd4\x82\x5e\x2e\x8c\x26\x87" +
|
|
"\x22\x4f\x9c\x35\xee\x25\x4c\xfb\x6a\xf7\xf4\x70\x93\xc3\xe1\x36\x4f\x66\xa6\xc1\xb2\x02\x7a\xb8\x81\x7b\x38\xdc" +
|
|
"\x66\x93\xf7\x16\x7d\x6f\x75\x82\xb2\x4a\x07\x09\x71\xf1\xa7\xc5\x17\x10\xa9\x0f\x68\x1d\x9e\x71\x41\x88\xd4\xd2" +
|
|
"\x4b\xae\xe4\x4f\xa4\xbd\x95\xd3\x5d\x19\x7f\xe3\xef\x43\x25\x9f\x26\x86\xdb\x15\x40\x33\xd8\xdc\x8f\x99\xb8\xb0" +
|
|
"\x8c\xfc\x6f\x7a\x25\x40\x1b\x0f\x15\xfa\xb2\x81\x90\x2a\xc7\x48\x96\x4f\x66\xf8\xc6\x88\x02\xc8\x6e\xfb\x7a\xde" +
|
|
"\x4f\x5f\x96\xe8\x5c\x01\x54\x70\xcf\xcf\xdc\x9d\x35\x43\xfd\xbf\x40\x32\xf6\x92\x8b\x93\xf6\x4b\x4c\x98\xf7\x18" +
|
|
"\x48\x46\xc9\x0a\x7d\x14\x01\x1b\x98\xba\xe3\x83\x70\xa3\x51\x51\xa3\x33\xd6\x53\xca\x73\xd8\x07\x01\x7b\x26\x05" +
|
|
"\xac\x80\x33\x29\xd2\x1b\x88\xc0\xca\xd8\x2d\x2f\x1b\x3a\x0e\x0b\xe0\x64\xcf\x34\x6d\xab\xb0\x45\x3d\xbc\x93\x25" +
|
|
"\xbd\x7c\x81\xf1\x54\x5c\x52\x48\xd4\x55\x3d\xfe\x25\xab\xa3\xe5\xdd\x39\x4e\x73\xa2\x09\x3e\x2f\x32\x25\xeb\xc6" +
|
|
"\xc7\x8f\x68\x1c\xd3\x77\x82\x7b\x14\x2f\x61\xdd\xdf\xd0\x4f\x21\x04\x88\x43\x9e\x45\x31\x92\x30\x29\x92\xff\xa7" +
|
|
"\x24\x67\xe6\xeb\x1f\x4c\xa6\xf3\x83\x87\x9f\xa7\x64\x6d\x8c\xd6\xcb\xfe\x0d\x4b\xcf\xb8\x73\xb2\xd6\xf4\xf3\x94" +
|
|
"\xff\xf6\x57\x84\x28\xa7\xb0\x9d\x16\x8b\x25\xa5\x93\x67\x83\x5f\x51\x17\x6c\x40\xe3\x31\x7d\xab\x34\xe0\x63\x8b" +
|
|
"\xcd\xf2\x49\xe2\x12\xde\x9c\xd1\x24\xbb\x5b\x0c\x8a\x7f\x05\x00\x00\xff\xff\x96\x32\x8b\x33\xb8\x05\x00\x00")
|
|
|
|
func bindataFrontendAppjsBytes() ([]byte, error) {
|
|
return bindataRead(
|
|
_bindataFrontendAppjs,
|
|
"frontend/app.js",
|
|
)
|
|
}
|
|
|
|
|
|
|
|
func bindataFrontendAppjs() (*asset, error) {
|
|
bytes, err := bindataFrontendAppjsBytes()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
info := bindataFileInfo{
|
|
name: "frontend/app.js",
|
|
size: 1464,
|
|
md5checksum: "",
|
|
mode: os.FileMode(436),
|
|
modTime: time.Unix(1, 0),
|
|
}
|
|
|
|
a := &asset{bytes: bytes, info: info}
|
|
|
|
return a, nil
|
|
}
|
|
|
|
var _bindataFrontendIndexhtml = []byte(
|
|
"\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x58\x69\x53\xe3\xb8\xd3\x7f\xbf\x9f\x42\xeb\xa9\xa7\x8a\x29\x46\x3e" +
|
|
"\x72\x91\x30\x09\xb5\x10\x86\xe1\x0a\x37\x33\x30\xef\x64\x5b\xb6\x95\xc8\x92\x91\xe4\x1c\xa4\xf8\xee\x4f\xc9\x47" +
|
|
"\xe2\x64\xc8\xc2\xce\xce\xd6\x3f\x14\x60\xa9\x5b\xad\xfe\xf5\xe1\xee\x4e\xf7\x4f\x9f\x7b\x6a\x96\x60\x10\xa9\x98" +
|
|
"\xee\xfd\xd1\xd5\xff\x00\x45\x2c\xec\x19\x98\x19\x7b\x7f\x00\xd0\x8d\x30\xf2\xf5\x03\x00\xdd\x3f\x21\x04\x37\xf8" +
|
|
"\x29\x25\x02\xfb\x20\xc6\x0a\x01\x85\x42\x09\x20\x2c\xe8\xd9\x96\x17\x21\x21\xb1\xea\x19\xa9\x0a\x60\xdb\xa8\x92" +
|
|
"\x22\xa5\x12\xa8\xcf\x8f\x7b\xc6\x03\xbc\xdf\x87\x7d\x1e\x27\x48\x11\x97\x62\x03\x78\x9c\x29\xcc\x54\xcf\x38\xf9" +
|
|
"\xd2\xc3\x7e\x88\x57\x4e\x32\x14\xe3\x9e\x31\x26\x78\x92\x70\xa1\x2a\xcc\x13\xe2\xab\xa8\xe7\xe3\x31\xf1\x30\xcc" +
|
|
"\x16\x9f\x00\x61\x44\x11\x44\xa1\xf4\x10\xc5\x3d\xe7\x13\x90\x91\x20\x6c\x04\x15\x87\x01\x51\x3d\xc6\x8d\xbd\x3f" +
|
|
"\x96\x80\x0e\x38\x57\x52\x09\x94\x80\xfe\xed\xed\x12\x0b\x25\x6c\x04\x04\xa6\x3d\x43\xaa\x19\xc5\x32\xc2\x58\x19" +
|
|
"\x20\x12\x38\xe8\x19\x1a\x87\xdc\xb5\x2c\xcf\x67\x43\x69\x7a\x94\xa7\x7e\x40\x91\xc0\xa6\xc7\x63\x0b\x0d\xd1\xd4" +
|
|
"\xa2\xc4\x95\x96\x9a\x10\xa5\xb0\x80\x6e\x79\x83\xd5\x30\x6d\xd3\xb6\x3c\x29\xad\xc5\x9e\x19\x13\x66\x7a\x52\x1a" +
|
|
"\xd9\xb5\xf9\x87\x30\x85\x43\x41\xd4\xac\x67\xc8\x08\xd5\x9a\x2d\x78\xbe\xdf\xee\x3c\x6f\x8f\x3a\xc1\x30\x1c\x9c" +
|
|
"\x5d\x5b\xa3\xa7\xc6\xe5\x65\x6d\x20\x82\xf6\x37\xaa\x1e\x63\x6a\x7d\xfb\x72\xbb\x7d\x13\xda\x41\x54\xb3\x7b\x06" +
|
|
"\xf0\x04\x97\x92\x0b\x12\x12\xd6\x33\x10\xe3\x6c\x16\xf3\x54\x1a\xc0\xfa\x7d\xd8\x32\xfd\x27\x48\x79\x51\x01\xca" +
|
|
"\x47\x62\x44\x67\xff\x14\x97\x1b\x1d\x36\xac\x43\xbf\xbf\x9f\x5c\xec\x3f\xd2\xcb\x64\x7c\x26\xe5\x3d\xaa\x45\x87" +
|
|
"\xf6\x61\xda\x9e\x8a\xf0\x72\xac\x1e\x1b\x93\x5a\x53\x46\x83\xbf\xc7\xf5\xdb\x80\x51\x12\x46\x2a\x44\x94\x62\x31" +
|
|
"\xb3\x1c\xb3\x65\x76\x32\x7f\x55\xb7\xdf\x07\xad\x2d\x82\x63\xf7\x54\x6c\x0f\xd3\xfa\xa5\x67\x77\x3a\xc3\xa3\xd3" +
|
|
"\xc1\x8d\x33\xdd\xbf\x4a\xdb\xfd\xbb\xab\xe3\xfb\x76\x7a\xd5\x3c\xad\x3f\x58\xdf\xf6\x1f\x7f\x17\xb4\x54\x62\x33" +
|
|
"\xe0\x4c\xa1\x09\x96\x3c\xce\x91\x09\x4c\x31\x92\x58\x5a\xe3\xa6\x69\x9b\x4e\x1e\x7d\x88\xd2\xbf\x07\x50\x6f\x37" +
|
|
"\xe0\xb6\x6f\x5f\xb5\xeb\xac\x33\x42\xd7\x83\xfe\x64\xd8\x3e\x6a\xdc\x9c\x1e\xb4\x5a\xea\xf9\x64\x72\x79\x16\x0b" +
|
|
"\xdf\x6d\xb4\xb6\x13\x2e\x0e\xad\xcb\xb1\x38\xdd\xae\xef\x7c\x7f\x3a\x19\xec\xdc\xf3\x03\x35\x39\xbe\x6c\x5d\xd0" +
|
|
"\x70\x23\xa8\x12\x52\x06\x64\xaf\xd0\xc1\xf4\x90\xf0\xc1\x1c\x78\xa9\x90\x5c\xec\x82\x84\x6b\x8d\xc4\x67\xf0\xb2" +
|
|
"\xc2\x90\xfd\x85\x24\x0e\x21\x1f\x63\x41\xd1\x0c\xcc\x4b\x56\x88\xc7\x98\x29\xb9\x0b\x18\x67\xf8\x33\x78\x86\x84" +
|
|
"\xf9\x78\xba\x0b\xea\x6b\x32\xcc\xc2\x8d\xbb\x91\x16\x01\x48\x1c\x82\xf9\x92\xdb\x79\x93\x7b\x97\xa9\x08\x7a\x11" +
|
|
"\xa1\xfe\x96\xf3\xb1\x7a\xb4\xf6\x4f\x8e\xd6\xf4\x51\x25\x10\x93\x01\x17\xf1\x2e\x10\x5c\x21\x85\xb7\x60\xcd\xc7" +
|
|
"\xe1\xc7\x9c\x40\x91\xc2\x8f\x5b\x8e\x9d\x4c\x2b\x1b\x0f\x5b\xd0\xa9\x25\xd3\x8f\xff\xe4\xae\xfa\xeb\x77\x81\xe6" +
|
|
"\xfa\x5d\xb0\xbd\x76\x17\x78\xed\x2e\x50\x5e\xa6\x81\x13\x0f\x29\x2e\x32\x2f\x48\xa2\x08\x67\xbb\x00\xb9\x92\xd3" +
|
|
"\x54\xe1\xcf\x40\xe8\xac\xd9\x05\x0e\x8e\x3f\x03\x85\xa7\x0a\xca\x08\xf9\x7c\xb2\x0b\x6c\x60\x83\x7a\x32\x05\x1f" +
|
|
"\x6a\xb6\xfe\xf9\x0c\x14\x4f\x0a\xbe\xb7\xfc\x1d\x35\x35\x98\x75\x61\x4d\x2d\xcc\xb1\xf5\xcf\xba\x08\x9f\x8c\xcd" +
|
|
"\xdc\xc9\x3e\x91\x09\x45\xb3\x32\x42\x56\xd9\x32\x93\x71\xb5\xb5\x1b\x10\x21\x55\x6e\xb9\x8f\x1b\x70\x2d\x5c\x0e" +
|
|
"\xd7\xc3\xa5\x08\xa7\xcc\x84\xc5\xb1\x85\xe1\x81\x59\x97\x40\x27\x23\xe4\xa9\xfa\x0c\xb2\x6a\xb5\x0b\x1c\xdb\xfe" +
|
|
"\xbf\x8a\x10\x86\xc6\x30\xcb\x75\xa2\x93\x81\x53\x9d\x0b\x22\x74\xd1\x56\xad\xd9\xfc\x54\xfe\x9a\xcd\xcc\x27\xc5" +
|
|
"\x99\xbf\x62\xec\x13\x04\xb6\x62\x34\x85\x85\x50\xb0\xd3\xda\x31\x3b\x99\x37\x37\x7d\xe6\xc0\x9c\xc0\x44\x70\x0f" +
|
|
"\xcc\x4b\x55\x9a\x99\x26\x0b\x5d\x5e\x93\xdb\xe9\x38\x85\x5c\xc4\x7c\xb0\x15\x13\x56\x92\x76\x5a\xf9\x75\xaf\xc8" +
|
|
"\xad\xd7\xdf\x92\xeb\x38\x9d\xce\x06\xb9\x9d\x4e\x6d\x93\xdc\x5a\xf3\x75\xb9\xcb\xc3\x4e\xcd\xb6\xff\xce\x08\xaf" +
|
|
"\xdb\xa1\x56\xb5\x43\xd7\x2a\xde\x53\xf9\x4a\x11\x45\xf1\xde\x55\xc4\x15\x97\x5d\x2b\x5f\xe9\x36\xc9\x2a\xfb\xa4" +
|
|
"\xae\xcb\xfd\x59\x51\x68\x19\x1a\x03\x8f\x22\x29\x7b\x06\x43\x63\x17\x09\x90\xff\x83\x78\x9a\x20\xe6\x43\x1a\x82" +
|
|
"\x80\x4c\xb1\x0f\x5d\xae\x14\x8f\x4b\x6a\x56\x6c\x80\x1b\xe6\x0f\x46\xf9\x8a\xec\xa2\x55\x61\xd0\x15\x88\xf9\x65" +
|
|
"\x11\xf8\x60\x2c\xb4\x42\x8b\x13\x6e\xaa\x14\x67\x6b\xc7\x14\x0f\x43\x8a\x85\x01\x74\xe7\xd7\x33\x72\x1e\x03\xf8" +
|
|
"\x48\xa1\x82\xd6\x33\x3c\x4e\x29\x4a\x24\xae\x96\x08\xfd\xc9\x99\x90\x08\x75\x87\xf7\x21\x17\x78\x9b\x26\xba\x2b" +
|
|
"\xc3\x7e\x3f\xef\xca\x0c\x80\x04\x41\x50\xf7\x68\x82\xd3\xc5\xbd\x3f\xb1\xad\x89\xce\x0e\xe5\x86\xc1\x7e\xcf\x08" +
|
|
"\x10\x95\xb8\x10\x45\x91\xab\x2b\xdf\x5d\xa6\x9c\xb6\x12\x09\x91\x4e\xae\x85\x69\x74\x35\x49\xd0\x06\xa0\x90\x78" +
|
|
"\x9a\xb5\x6b\x69\x96\x85\x69\xac\x1c\xf7\x5e\x99\x45\x5d\x9f\x2c\x9c\x55\xa2\x2f\x1d\xb2\xb0\x06\x20\xfe\x46\x38" +
|
|
"\x15\x5d\x52\xba\xa6\x89\x0e\x84\x98\x42\x94\x2a\x5e\xe1\xcb\xca\x7a\x85\x13\x12\x85\x63\x63\x6f\xc5\xcf\xd9\xcb" +
|
|
"\x60\xbd\xd0\xa3\x88\x62\x21\xcd\x18\x5b\x46\x2e\x27\x8b\xc3\x9e\xf1\x1d\xbb\x92\x28\x6c\xec\x75\x17\x62\x03\x24" +
|
|
"\x41\x80\x60\xc4\x63\xbd\x6d\x91\x3d\x70\xcc\x63\x9c\xa0\x10\xeb\x38\xe9\x5a\x94\xfc\x06\x7d\x46\x2c\x55\x26\x61" +
|
|
"\x65\xc7\x6b\x94\xfa\xdc\x15\xeb\x15\x7d\x5c\xad\x8f\x5a\x50\xb4\x4a\x7f\x9d\xa7\xcf\x24\xc0\xe2\x67\x95\xba\x56" +
|
|
"\x4a\x97\x2e\xf3\xc9\xb8\xc8\x2c\x8b\xa1\x71\x99\x92\x2b\x8e\x63\x0a\x11\x86\x05\x0c\x68\x4a\xfc\x65\xea\x54\x78" +
|
|
"\x04\x9f\x80\x58\xc1\x3a\x88\x5d\xd8\xac\x7a\x6d\x35\x00\x60\xec\x43\xa7\x06\x7c\x18\x50\x3c\x05\xc3\x54\x2a\x12" +
|
|
"\xcc\x60\x31\x78\x40\x8a\x03\x05\x34\x05\x4e\x04\x4a\xf2\xb8\x28\xab\x62\xb6\xb3\x57\xd1\x76\x4d\xf5\xec\x71\x39" +
|
|
"\x80\x0c\xaf\x53\x2c\x66\x20\x2b\x3b\x9f\x80\x8a\x30\x03\x57\x3c\x49\xb0\x30\x87\xb2\x58\x2f\x67\x94\xd3\xca\x88" +
|
|
"\x22\x3d\x41\x12\x05\xa4\xf0\xde\xdd\xdd\x0e\x9f\xf4\x5d\x56\xdd\xac\x9b\x4e\xb1\xc8\xba\xd9\xa1\x5c\xcd\xc6\x9f" +
|
|
"\xdb\xd9\xa3\x30\xe9\xbb\xd6\xd9\xe9\x35\x3d\xbf\x08\x2e\xd3\x8e\xa3\x50\xbd\xc6\xad\x8b\xc1\x8f\x29\x55\x93\x1b" +
|
|
"\xde\xbe\x56\xf1\x68\x70\xe3\xef\xa7\xed\xcd\xed\xac\xce\xc1\x4c\xe9\x5f\x47\x90\x94\xa6\xb1\x1c\xd3\x69\x98\x4e" +
|
|
"\xb9\xf1\x3e\x14\xb7\x77\xb5\x01\xf6\xc4\x83\x38\x45\xfb\xf2\x29\x0e\x92\x51\xe7\xe1\xe6\xfa\xe4\x8e\x1e\xf2\xd9" +
|
|
"\x20\xbe\x57\xe1\xd9\xc1\x17\xe6\x1f\x12\x79\xeb\xfd\xa7\x28\x36\x8d\x86\xc3\xf5\xc9\xf0\x6d\x48\xcd\x6d\xbb\xf6" +
|
|
"\x9c\x36\xef\xef\xcf\xaf\x47\x97\x3b\x13\xe7\xeb\x89\x68\x8d\x03\xd5\x0f\x07\xc1\x91\xff\xc3\xdb\x3f\xc6\x87\xea" +
|
|
"\x88\x9d\xfd\x90\x07\xf2\x5d\x90\x96\x81\x79\xae\xab\xcf\xd7\x3c\xa8\xff\x55\xd4\xbd\x32\x53\x0d\x5f\x19\xa9\xde" +
|
|
"\xc6\xca\xbe\x78\x43\xff\xba\xed\x1e\x35\xb8\x35\x3d\x3b\xea\xdf\x7e\x3f\xe8\xec\x8f\x7e\x6c\x1f\x5f\x7d\x8f\xfb" +
|
|
"\xee\xe8\xf8\xe2\x29\x8d\xbe\x34\x1f\x2f\xce\xfd\xf7\x61\xfd\x65\x40\x21\x8c\x90\x8c\x2c\xc7\xb4\xcd\x46\xb9\x7a" +
|
|
"\x27\x06\xd1\x6f\x25\x17\x8d\x1b\x87\xc7\x43\xa1\x06\x13\xbb\xc5\x8e\x06\xfd\xfd\x9b\xe7\xc7\xa7\x69\xda\x98\xa1" +
|
|
"\x6f\xfc\xe6\xee\xf8\x07\xda\x9e\xdc\x3d\x4f\xfe\x6b\x0c\x2a\x4a\x63\x97\x21\x42\x75\x2e\x99\xf6\xca\xd6\x3b\xd1" +
|
|
"\xf4\x47\xd6\xd5\xf7\xeb\x7b\x7e\x2c\xbd\x8e\x5f\x7b\x68\xcc\xee\xf7\xcf\xc7\x42\xee\x38\xd7\xbc\xe9\xc9\xed\xf0" +
|
|
"\xe4\xf8\xf0\xfb\x01\xad\x7d\x0d\xdd\xf7\xbd\x16\x7e\x19\x4e\x84\x98\x4f\xb1\x8b\x84\xd4\xef\x06\x9d\x4d\x8e\x53" +
|
|
"\xdd\x7c\x1f\x9c\xed\xd3\xc1\xb1\x7c\xb8\x99\xe1\x3b\x39\x91\x96\x7a\x76\x4f\xa2\xe6\xe3\xf1\xf5\xf4\xc6\x3f\xeb" +
|
|
"\xa7\x17\xc3\x78\x7c\xe1\xdd\x1d\xa9\xc7\xd6\xe1\xf9\xfb\xde\x0f\x3f\xc3\x41\x49\xa2\xf5\xd8\xc4\xa3\xeb\x08\xa2" +
|
|
"\x6e\x1a\x43\x85\xe3\x44\x0f\x61\x65\x9b\xa6\x47\x1e\x6b\x0a\x97\x90\x96\x1c\xaf\x55\xb9\x6c\x18\x29\x5b\xc8\x7c" +
|
|
"\x5e\x9a\x44\x44\x61\x50\x34\xbb\x01\xe5\xa8\x28\x63\xf3\xf9\x07\x12\x7c\x55\x80\xc4\x28\xc4\xd2\xa4\x98\x85\x2a" +
|
|
"\x02\xce\xcb\x4b\x91\x9c\xf3\xb9\xa5\xe9\x2f\x2f\x95\x62\x39\x9f\x7f\xc0\xc8\x8b\x8a\x33\x2f\x2f\x55\x42\x26\xec" +
|
|
"\xaf\x6c\x42\x02\xb5\x0a\x69\x5d\x3d\x3d\xd6\x01\x97\x0b\x3f\x1f\x58\xab\xbe\xc9\x4c\x35\x9f\x2f\xa2\xf1\xe5\xa5" +
|
|
"\x4a\x45\x54\x65\x54\xdd\x64\xac\x52\xb2\xf6\xb4\x38\x1c\xa4\x94\x4a\xf2\xac\x39\x56\x8b\xb1\x56\x12\x53\x89\xab" +
|
|
"\xaa\x69\x55\xfe\x37\xaa\x55\x94\x2a\xcc\x5c\xdd\xd1\x46\x7e\xc3\x84\xcb\xc9\x18\x3a\xb6\x5d\x36\x2c\x59\x6f\xe2" +
|
|
"\x71\x9a\xc6\xec\xa7\xe6\x05\x33\x7f\xb5\x0b\x8d\x9a\x7b\x0b\x9d\xbb\x56\xd4\xac\x12\x37\x46\x47\x55\x40\xb2\xa2" +
|
|
"\x94\x8e\x36\xf0\xd3\x77\x04\xaf\x74\xa5\xb9\xcc\xa2\x09\x9c\xcf\x57\xae\xd0\x9a\x24\xab\x8a\xac\xdb\x67\x73\x8b" +
|
|
"\xb5\x31\xb7\xb0\x10\x5c\xfc\xdb\xdc\xd2\x1d\xe4\xba\x4d\x63\x1f\x7a\x98\x65\x2d\xed\xc6\x8e\x72\x2a\xa1\x63\xeb" +
|
|
"\xa1\x1e\xca\x18\xb6\x41\xd1\x64\xb6\xb2\x07\x1a\xc2\xc6\xaa\x53\x2a\x87\x11\xc5\x42\x81\xec\x2f\xf4\x11\x0b\xf5" +
|
|
"\x2d\xf3\x79\x8c\xa5\x44\x61\xe6\xb2\x95\xe8\x7e\x97\x59\xba\x56\x3e\xa7\x76\xad\xfc\xab\xff\xff\x0f\x00\x00\xff" +
|
|
"\xff\x18\x4e\x51\x53\x0b\x18\x00\x00")
|
|
|
|
func bindataFrontendIndexhtmlBytes() ([]byte, error) {
|
|
return bindataRead(
|
|
_bindataFrontendIndexhtml,
|
|
"frontend/index.html",
|
|
)
|
|
}
|
|
|
|
|
|
|
|
func bindataFrontendIndexhtml() (*asset, error) {
|
|
bytes, err := bindataFrontendIndexhtmlBytes()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
info := bindataFileInfo{
|
|
name: "frontend/index.html",
|
|
size: 6155,
|
|
md5checksum: "",
|
|
mode: os.FileMode(436),
|
|
modTime: time.Unix(1, 0),
|
|
}
|
|
|
|
a := &asset{bytes: bytes, info: info}
|
|
|
|
return a, nil
|
|
}
|
|
|
|
|
|
//
|
|
// Asset loads and returns the asset for the given name.
|
|
// It returns an error if the asset could not be found or
|
|
// could not be loaded.
|
|
//
|
|
func Asset(name string) ([]byte, error) {
|
|
cannonicalName := strings.Replace(name, "\\", "/", -1)
|
|
if f, ok := _bindata[cannonicalName]; ok {
|
|
a, err := f()
|
|
if err != nil {
|
|
return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err)
|
|
}
|
|
return a.bytes, nil
|
|
}
|
|
return nil, &os.PathError{Op: "open", Path: name, Err: os.ErrNotExist}
|
|
}
|
|
|
|
//
|
|
// MustAsset is like Asset but panics when Asset would return an error.
|
|
// It simplifies safe initialization of global variables.
|
|
// nolint: deadcode
|
|
//
|
|
func MustAsset(name string) []byte {
|
|
a, err := Asset(name)
|
|
if err != nil {
|
|
panic("asset: Asset(" + name + "): " + err.Error())
|
|
}
|
|
|
|
return a
|
|
}
|
|
|
|
//
|
|
// AssetInfo loads and returns the asset info for the given name.
|
|
// It returns an error if the asset could not be found or could not be loaded.
|
|
//
|
|
func AssetInfo(name string) (os.FileInfo, error) {
|
|
cannonicalName := strings.Replace(name, "\\", "/", -1)
|
|
if f, ok := _bindata[cannonicalName]; ok {
|
|
a, err := f()
|
|
if err != nil {
|
|
return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err)
|
|
}
|
|
return a.info, nil
|
|
}
|
|
return nil, &os.PathError{Op: "open", Path: name, Err: os.ErrNotExist}
|
|
}
|
|
|
|
//
|
|
// AssetNames returns the names of the assets.
|
|
// nolint: deadcode
|
|
//
|
|
func AssetNames() []string {
|
|
names := make([]string, 0, len(_bindata))
|
|
for name := range _bindata {
|
|
names = append(names, name)
|
|
}
|
|
return names
|
|
}
|
|
|
|
//
|
|
// _bindata is a table, holding each asset generator, mapped to its name.
|
|
//
|
|
var _bindata = map[string]func() (*asset, error){
|
|
"frontend/app.js": bindataFrontendAppjs,
|
|
"frontend/index.html": bindataFrontendIndexhtml,
|
|
}
|
|
|
|
//
|
|
// AssetDir returns the file names below a certain
|
|
// directory embedded in the file by go-bindata.
|
|
// For example if you run go-bindata on data/... and data contains the
|
|
// following hierarchy:
|
|
// data/
|
|
// foo.txt
|
|
// img/
|
|
// a.png
|
|
// b.png
|
|
// then AssetDir("data") would return []string{"foo.txt", "img"}
|
|
// AssetDir("data/img") would return []string{"a.png", "b.png"}
|
|
// AssetDir("foo.txt") and AssetDir("notexist") would return an error
|
|
// AssetDir("") will return []string{"data"}.
|
|
//
|
|
func AssetDir(name string) ([]string, error) {
|
|
node := _bintree
|
|
if len(name) != 0 {
|
|
cannonicalName := strings.Replace(name, "\\", "/", -1)
|
|
pathList := strings.Split(cannonicalName, "/")
|
|
for _, p := range pathList {
|
|
node = node.Children[p]
|
|
if node == nil {
|
|
return nil, &os.PathError{
|
|
Op: "open",
|
|
Path: name,
|
|
Err: os.ErrNotExist,
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if node.Func != nil {
|
|
return nil, &os.PathError{
|
|
Op: "open",
|
|
Path: name,
|
|
Err: os.ErrNotExist,
|
|
}
|
|
}
|
|
rv := make([]string, 0, len(node.Children))
|
|
for childName := range node.Children {
|
|
rv = append(rv, childName)
|
|
}
|
|
return rv, nil
|
|
}
|
|
|
|
|
|
type bintree struct {
|
|
Func func() (*asset, error)
|
|
Children map[string]*bintree
|
|
}
|
|
|
|
var _bintree = &bintree{Func: nil, Children: map[string]*bintree{
|
|
"frontend": {Func: nil, Children: map[string]*bintree{
|
|
"app.js": {Func: bindataFrontendAppjs, Children: map[string]*bintree{}},
|
|
"index.html": {Func: bindataFrontendIndexhtml, Children: map[string]*bintree{}},
|
|
}},
|
|
}}
|
|
|
|
// RestoreAsset restores an asset under the given directory
|
|
func RestoreAsset(dir, name string) error {
|
|
data, err := Asset(name)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
info, err := AssetInfo(name)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755))
|
|
if err != nil {
|
|
return err
|
|
}
|
|
err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode())
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime())
|
|
}
|
|
|
|
// RestoreAssets restores an asset under the given directory recursively
|
|
func RestoreAssets(dir, name string) error {
|
|
children, err := AssetDir(name)
|
|
// File
|
|
if err != nil {
|
|
return RestoreAsset(dir, name)
|
|
}
|
|
// Dir
|
|
for _, child := range children {
|
|
err = RestoreAssets(dir, filepath.Join(name, child))
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func _filePath(dir, name string) string {
|
|
cannonicalName := strings.Replace(name, "\\", "/", -1)
|
|
return filepath.Join(append([]string{dir}, strings.Split(cannonicalName, "/")...)...)
|
|
}
|