From 2b881d915b653cbf44002623f5ada3497028fbfe Mon Sep 17 00:00:00 2001 From: aaron <462826@qq.com> Date: Tue, 27 Sep 2022 09:29:13 +0800 Subject: [PATCH] move exec codes to service for websocket and controller calling --- .gitignore | 1 - res/res.go | 555 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 555 insertions(+), 1 deletion(-) create mode 100644 res/res.go diff --git a/.gitignore b/.gitignore index a1939dfd..370640c9 100644 --- a/.gitignore +++ b/.gitignore @@ -20,7 +20,6 @@ example/tmp/ example/www logs/ .idea/ -/res/res.go /conf/ /testng_* diff --git a/res/res.go b/res/res.go new file mode 100644 index 00000000..7349a734 --- /dev/null +++ b/res/res.go @@ -0,0 +1,555 @@ +// Code generated for package res by go-bindata DO NOT EDIT. (@generated) +// sources: +// res/doc/sample.txt +// res/doc/usage.txt +// res/server/en/messages.json +// res/server/zh/messages.json +// res/server.yaml +// res/template/bat.tpl +// res/template/go.tpl +// res/template/lua.tpl +// res/template/perl.tpl +// res/template/php.tpl +// res/template/python.tpl +// res/template/ruby.tpl +// res/template/shell.tpl +// res/template/tcl.tpl +package res + +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 os.FileInfo +} + +type bindataFileInfo struct { + name string + size int64 + mode os.FileMode + modTime time.Time +} + +// Name return file name +func (fi bindataFileInfo) Name() string { + return fi.name +} + +// Size return file size +func (fi bindataFileInfo) Size() int64 { + return fi.size +} + +// Mode return file mode +func (fi bindataFileInfo) Mode() os.FileMode { + return fi.mode +} + +// Mode return file modify time +func (fi bindataFileInfo) ModTime() time.Time { + return fi.modTime +} + +// IsDir return file whether a directory +func (fi bindataFileInfo) IsDir() bool { + return fi.mode&os.ModeDir != 0 +} + +// Sys return file is sys mode +func (fi bindataFileInfo) Sys() interface{} { + return nil +} + +var _resDocSampleTxt = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x57\x5f\x6f\xda\x56\x14\x7f\xef\xa7\xf0\xc3\xa4\xbe\xcc\x24\xa8\xaa\x36\x6d\xd2\xa4\x4a\xd5\xb4\xbc\x55\x5a\xa5\x49\x13\x52\x64\x8c\x1b\xbc\x18\x6c\xd9\x97\x26\xed\x13\x64\x21\x90\xe2\x0c\xd4\x90\xa4\xa1\xb4\x29\x1b\x24\xac\x29\x7f\xaa\x76\x0d\x01\x12\x3e\x4c\x7c\xef\x35\x4f\xf9\x0a\xd3\xe5\x38\x60\xfe\x36\xe9\xa4\x5d\x29\x88\x98\x73\xcf\xef\x77\xfe\x1f\x7f\xf5\xc3\x53\xf4\xc8\x23\xad\x4a\x9c\x1e\x09\x73\x01\x29\xa4\xfa\x14\x21\xbc\xe4\xf3\x0b\xc8\xe7\x5d\x34\x90\x2e\x87\x97\x16\x43\x02\x12\x83\x1e\xbf\x80\x38\x38\x64\xf3\xc8\x2e\x98\xa4\x9d\xa5\xc5\x26\xf9\x27\x65\xd7\x76\x68\xb6\x6c\x9d\xa7\x2e\xa2\x6b\xb7\x06\x0a\x0d\xe9\x4a\xfe\xb3\x87\xbc\x39\x25\x5b\x55\xfa\xa1\x45\x5b\x07\x24\x9d\xa1\xc5\xe6\x65\xdb\xb4\xab\xe7\xf4\xac\x6a\xd7\x2a\x76\x39\x7a\x11\x8d\xd1\xc3\x78\x37\xb6\x8d\xf3\x75\xfc\x8a\xfd\x6b\x7f\x3c\xc4\xe9\x13\x5a\xd9\xbc\x6c\x9b\xbf\xc8\xe1\x80\xba\x62\x58\x8d\x94\xd5\xce\xc1\x7d\xfb\x7c\x1b\xc7\x4b\x70\xd9\x3e\xfa\xab\x9b\x78\x46\xcb\x29\xdc\x4c\x0f\x53\x14\xd5\xeb\x32\xe4\xac\x66\xd1\x6a\x3e\xc7\xed\x34\xae\xb5\x71\xa2\x09\x6c\xdc\xc6\x5f\xb6\x4d\x5c\xdf\x00\x74\x9a\x2d\x93\xe4\x09\x70\x70\xe4\xdf\xb7\xf0\xeb\x14\x7e\x6e\xd2\xf6\x2e\x4e\x9f\x8c\xd1\xe0\x35\x5d\x0d\x44\x44\xc4\x79\x39\x9e\x05\x20\x22\x2c\x49\x9c\xf6\x04\x05\xd5\xf0\x10\x0d\x47\x5b\x4f\x89\xd5\x68\x7a\x69\x6e\xdd\x6a\x1e\xe1\xed\xd8\x08\x15\xeb\xac\x43\xb3\x65\x50\x00\x5e\xb8\x6c\x9b\xb4\xfd\x37\xde\xd8\xe7\x35\x8e\x57\x26\x10\x60\xd0\x21\xce\x7b\x97\xe3\x95\x49\xc8\x43\x04\x00\x73\x40\xe3\x22\x1a\x23\xe5\x02\x7e\xb5\x37\x78\x74\x97\xe6\xd6\xa7\x27\x07\x43\x34\x7a\xc6\x5e\x61\xf1\x32\x87\xf4\x88\x34\x0d\x71\xc8\x64\x5c\xda\xb3\x5a\x9f\xc8\x66\x14\x67\x8e\x47\x0c\x27\xf9\x03\x7c\x1e\xa7\xad\x6d\xf2\x3a\x6f\x75\x5e\xe1\xca\x0b\x9c\x2f\xd3\xd4\x3b\x7a\x9c\x22\xbb\x09\xab\xf5\xc9\x6a\x54\xc6\xa9\xa0\x21\x2a\x53\xcf\x04\x2a\x00\x8f\xb7\x76\x80\xcd\xc0\xd6\x5b\x33\x4a\x6b\x46\x25\xf4\x4a\x8b\xbe\xac\xe2\xb3\x1d\xbf\x80\xac\x46\x8a\xe6\xd6\xed\xf5\x1c\xc9\xbf\x63\xc6\x65\x6b\xc4\x8c\xe1\x62\xce\x6a\xbc\x05\x19\xfc\xdc\x04\xb3\x70\x7a\x8d\xec\xd4\xbb\x85\xd3\x61\xe3\x18\xb4\x93\x5a\xf3\xde\xc1\x37\x9f\xa0\x28\x1e\xd1\x98\x00\x0d\x3f\x38\x56\xf5\xdc\x4c\x73\xeb\x7d\xef\x02\x13\x9c\x2f\xf7\x35\x01\x8d\x31\xa7\x32\x5c\x45\x5d\xf2\xcd\xcf\x7b\x7d\xba\x64\x44\x14\xe4\x41\xab\x93\xed\x06\xdc\x81\x10\xc4\xae\x1f\x2c\x16\xee\xe2\x7b\xfb\x63\x69\x52\x1a\x0d\x9b\xc7\x1b\x11\x19\x49\x9c\x77\x96\x67\x7b\x75\x0b\x9d\x86\x29\x1f\xcf\xaa\x19\x56\x0e\x4a\xc8\x18\xa7\xc1\x23\xc1\x58\x9e\x82\x7d\x23\x1a\x56\xab\x85\x9f\x15\xdc\x34\xf0\xd9\x36\xc9\x1f\x00\x87\xaf\x39\x87\x02\x1a\xa7\xd0\xcb\x31\xf6\xe1\x54\x33\xe2\x18\x27\x2f\xc7\x8b\x3a\xc7\x8b\xfe\x49\x39\xc6\xa4\x47\x92\x0c\x57\x4d\x92\xcc\xe0\xcc\x1f\x24\x9d\xb1\x9a\x45\x08\x07\x4e\xd6\x81\x33\x13\x38\xfd\x84\xeb\x1b\x4e\x50\x20\x58\x3d\x49\x92\xcc\xd0\x76\xb3\xbb\xdf\xeb\x6e\x9f\xf3\xc3\xc4\x23\xea\x6e\xcc\xcb\xb6\xc9\x8b\x7e\xe7\x49\x4f\xf1\xf7\x1c\xaf\xe1\x4e\x1c\x17\x8e\x21\xdd\x89\x99\xc0\xd5\x1c\x34\xa3\x85\xfb\x97\x6d\x93\xe3\x11\x4e\xd7\xba\xd1\x4d\xf7\xef\x4e\xaf\xde\xad\xe3\x56\xb3\x5f\xae\x38\xb3\x45\x8f\xea\xd3\x0a\x55\x88\x20\x55\x9e\x39\xbe\xc0\x89\xbf\x3e\xfc\xd1\x4e\xbc\xc5\x8d\xc3\x7b\x11\xa4\x2e\x3c\x04\x1f\x4e\x09\x8c\x21\x29\x52\x58\x8e\x84\x7c\x62\x50\x57\x43\x92\x47\x0b\x6a\x1c\xcf\xcb\x61\x24\xe9\x1a\x93\x42\x72\x48\xf2\x69\x41\x8d\xfd\x7d\xc3\x3e\xd8\xf5\x2f\xf3\xe3\x08\xb9\x9f\x1d\xe4\x7e\x88\x61\x3a\x80\x77\x1e\xfc\xf4\x00\x06\x24\xde\x2f\x4f\x61\x2e\x68\x1a\xe3\x2d\x84\x03\xba\x2a\x07\xfe\x47\xe2\xf7\x7a\xc0\x37\xa4\xfd\x5b\x24\x2c\x23\xa8\x80\xd0\xe3\x30\x27\x2a\x92\x10\xe6\x34\x41\x5c\x66\x23\x15\x49\x06\x1a\x85\xeb\x5d\x60\x29\x11\xff\x1d\xd2\xa3\x0f\xf8\x85\x46\xbc\xfc\x88\x8b\x39\xbb\x76\x82\xd3\x6b\x34\x7e\x14\x44\x48\x33\xbe\x9b\x9b\x5b\x59\x59\xf1\x3c\x65\xf8\x72\x78\xc9\x13\x96\xd0\x9c\x5f\x55\x97\xe7\x9e\xa2\x47\x7c\x40\x15\xe7\x7a\x24\xf8\x3b\x77\x3c\x41\x14\x52\x5c\xd6\x48\xab\x9a\x24\x22\x27\x83\x84\x90\xa6\x48\x6c\x2f\x93\xd9\x97\x5e\x20\x5c\x07\xe7\xcb\xc0\xdc\x2d\xc0\xfa\x5a\xc6\xbc\xea\xd2\xac\x87\xd3\xec\x01\x49\x66\x3c\xd2\xaa\xe6\x9e\x95\xd0\x6f\x87\x3d\x29\xad\x22\x5d\x18\x01\xff\x76\xd1\x79\xba\x18\x90\x0c\xb1\x4f\x81\xa4\x33\x38\xbd\x0b\xf0\xd0\xb4\xc9\x87\x72\x37\xf1\xac\x8f\x07\xdd\x9b\x54\x4a\xdd\xb7\x45\x36\xb4\x5c\xd0\x23\xe3\x58\x76\x8d\x29\x24\xf2\x5e\x8f\xf6\x64\x8a\xa3\x71\x7d\x03\x10\xbb\x09\xd3\xea\x54\x49\xf6\xb4\x3f\xab\xac\x4e\x81\xc4\x6a\xac\x59\x65\x4c\x52\x29\xf5\xdb\x17\xb4\xdc\x11\x44\xfd\x6a\x54\x41\xd6\xcc\x0a\x2d\x34\x3a\x58\x39\x86\x1b\x23\x68\x9e\xb0\x99\xcd\x06\x83\xd5\x63\xa2\x85\x9f\x05\xbb\x88\xae\x41\x49\xf0\x88\xc9\x9e\xbf\xec\x77\xb7\x85\xfb\x6c\x23\x4b\xee\xf2\x4f\x70\xe7\x8c\xee\x94\x68\xa1\x6a\x57\x8b\x64\x8f\x4d\x37\xab\xb1\xd5\xcd\x47\xed\xc3\x18\x3c\x1c\xa1\xe7\xff\x0f\xbe\xb0\x1a\x15\xf7\xa8\xb6\x1a\xcd\xc1\x3c\x70\x61\x28\xb2\x81\xae\xb9\x0f\xe1\xe4\x1e\x5b\xb8\x86\xd7\x21\xb2\x19\x25\xf9\x4d\x88\x3c\xa4\xed\x17\xad\x46\x8a\x31\x42\x82\x5f\xe6\xe6\x67\xd1\x80\xc6\x63\x9f\xd4\xf0\xf9\x3a\x94\xd2\xc2\x7d\xab\xd1\x9c\xef\x0f\xcf\x61\xfd\xbc\x32\xae\x5f\x13\x10\x92\xf4\xb1\x0d\x73\x9a\x7e\xf2\x26\xd1\xfd\xf3\x05\x36\xe3\x38\x73\x7c\xdb\xb9\x7b\x7b\x08\xce\x85\xf7\x58\x96\x56\xae\xf9\x06\x47\x0e\x4a\x34\x9f\x72\xe3\xf5\x37\xd9\x89\xbb\xe6\x14\x0f\xf2\x8f\xaf\xed\xc1\x71\xc4\xeb\x78\x70\x82\xfe\x15\x55\x0f\xdc\x40\xff\x8d\x3c\x08\xa3\xe2\x5a\x87\x34\xe2\xdd\xfd\x22\x64\x22\x38\xce\x79\x29\xde\x2b\xe1\xce\xde\x60\x51\x14\x19\xc4\xbf\x01\x00\x00\xff\xff\xe4\xc9\xbe\xb5\x65\x0f\x00\x00") + +func resDocSampleTxtBytes() ([]byte, error) { + return bindataRead( + _resDocSampleTxt, + "res/doc/sample.txt", + ) +} + +func resDocSampleTxt() (*asset, error) { + bytes, err := resDocSampleTxtBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "res/doc/sample.txt", size: 3941, mode: os.FileMode(420), modTime: time.Unix(1662095765, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _resDocUsageTxt = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x94\xcd\x72\xda\x56\x14\xc7\xf7\x7e\x0a\x36\x5d\xca\x6c\x3a\x5d\x74\xdb\x45\x32\x59\x74\xdc\x99\xf6\x01\x6c\xac\x06\x1a\x0a\x0c\x92\xe3\x34\xd3\x85\x84\x11\xdf\x8e\x68\x10\x60\x88\x12\x7f\x0c\x60\x25\x8d\x10\xa9\x5d\x23\x24\x3e\x1e\x46\xf7\xdc\x2b\xad\xfc\x0a\x9d\xab\x4b\x89\xec\x78\x17\x36\x62\xee\xc7\xef\x9c\xf3\x3f\xff\x7b\x92\x7c\x3a\x17\x8b\xc5\x62\x5c\x32\xb6\xf9\xe1\xd3\x21\xd1\xeb\x60\x8f\xa1\xf6\x1e\xad\xce\xb1\x6c\x79\x52\x61\x4b\xe0\xc5\x70\x97\x13\x3e\x9f\xf4\xc7\x4b\xb2\x18\xfb\x96\xe9\x1b\x92\x27\xc9\x64\xa4\x04\x72\x8b\x5c\xb9\xc4\x3d\x85\x66\x03\x9b\x43\x50\x0b\xb8\x3d\xf1\xa4\x02\xd1\x0c\x5c\x99\x82\x35\x83\x45\x0b\xaa\xc7\xe4\xcd\x18\x16\xed\x40\x97\xfc\x91\x8c\xf5\x2a\x94\x7a\xf8\xed\x51\xd0\x6b\xd2\x40\x89\x2c\x83\x27\x92\x7c\xe2\x59\xf6\x20\x8c\x0a\xd6\x1c\xca\x4e\x94\x8f\x6c\x93\xf4\x8b\x44\x33\xd0\xb2\x7e\x3b\x6f\xc0\xf4\x1f\x30\x4f\x40\x37\x48\xbf\x08\x93\x12\x7e\x73\x8d\x3b\x13\x7c\x56\x0e\x2e\x4e\xe0\x35\xcd\x24\xf8\x30\xc0\xaa\xea\xaf\x68\x32\xa0\x5a\xb8\x51\x86\x71\x1f\x39\x97\xd0\x92\x3d\x49\x86\x61\x17\xb9\x37\x9e\x24\xe3\x7f\xeb\xbe\xd5\x86\xe3\x36\x99\x77\x40\x9d\xd2\x7c\xf2\x07\x19\x56\x78\x3e\x22\x51\xf5\xd2\x3f\x6f\xb0\xe8\x51\x20\xab\x2b\x0a\xf4\x8b\x7d\xac\x7f\xa4\xe2\xb8\x2d\xfc\x4e\xc7\x9d\x32\x72\x6f\xfc\xa9\x05\xcb\xe2\xed\xbc\x81\xdc\x21\xa8\x35\x76\x18\x5e\x37\x90\xeb\x42\xed\x9c\x85\xa6\x45\x0d\xfa\xc8\xfe\xc0\xae\x04\xdd\x6b\xa2\x19\xe4\xbd\x83\xcf\xe6\x41\x5f\x83\xb9\x44\x73\xfb\xed\x20\x93\x12\xff\x14\x79\x41\xcc\x3c\xbd\x9b\xdb\x93\x5f\x32\x29\xd1\x93\xe4\x9f\x79\x41\xfc\xf1\x91\x27\xc9\x3b\x8f\x77\xd6\x4b\x3b\x7f\xd0\x45\x4f\x92\x9f\xac\xbf\x3f\xe4\x72\xeb\xad\x47\xeb\x95\x9f\xe8\x17\x8e\xdb\xa0\x1c\x31\x45\x58\x19\x5b\x89\x54\xec\x8b\x1f\x4c\x4a\x6c\x17\xd9\x26\x5a\x8d\xb1\x36\xdb\x34\x86\xb9\x87\x56\xc2\xdc\x50\x99\x44\x5b\x18\x36\x3b\xff\x20\x90\x5d\x5f\xab\xcc\x84\x53\x9b\xc8\x19\xdc\x23\x20\xdb\x0c\x21\x7b\x0f\x42\xa2\xd7\x99\x5d\x60\xf0\xc9\xbf\x1e\x6e\x4c\x83\x16\x3a\xb2\x1d\x32\x77\x82\xde\xf4\x41\x3e\x85\xf3\x2f\x72\x7c\x42\xbc\x0b\x67\x64\x56\xf5\xed\xbc\x41\xb4\x53\xe4\x5c\x92\xfa\x47\xf2\x77\x9d\xf4\x8b\x58\x3f\x85\xa5\xc2\xe2\x6e\xf3\x2f\x72\xac\x81\x8c\x25\xe6\x77\xef\xc1\xb0\xda\x04\xb5\xb3\x51\x90\xde\xbf\x32\x82\x72\x8d\x71\x71\xa5\xb9\xd6\x22\xb4\x30\xf5\x72\x84\x4e\x99\xe9\x94\x10\x02\xd3\x42\x8c\x4b\xdf\x79\xc1\xac\x73\xec\x3a\x54\xba\xfe\xb9\xf1\xa5\x55\x29\x30\x4c\x8f\xaa\x13\x9e\xa1\xba\xcc\xea\x0f\xdb\xed\x79\x8a\x3f\x0c\x9f\xc2\xf3\xfb\xd3\x22\x1a\xcb\xb7\x46\xf8\x48\xf9\xda\x58\x89\x34\xbf\x4b\x1f\x1e\x97\x88\xc4\xb2\x95\xa0\x37\x60\x5a\xb1\x1e\xe0\xee\x10\x56\xdd\x30\x37\x3e\x2f\xa4\xb2\x99\x18\xc7\xfd\xff\x6f\x33\xc9\x1c\x8d\xf2\xab\x15\xea\xe0\x70\x7b\x2f\x2b\xf0\x51\xaf\x5c\xbc\x83\xda\x19\x36\x07\x6c\x5c\x85\xca\x1b\xc8\x79\x85\x4f\x96\x64\xe0\xf8\xd6\x88\xb8\x25\x16\x88\x5a\x79\x54\x78\x2c\x8a\x39\xdf\x9a\xe2\x4f\x05\xfa\xd2\x5b\xc7\xe0\x68\x9e\x24\x07\x5a\xcf\xb7\x2c\x62\x56\x3f\xcf\xcc\x2d\x64\x3b\xc8\x29\xe1\xce\x0c\x2d\x57\xa0\x1b\xc8\x75\x71\x51\x65\x6a\x20\xdb\x64\x25\x7c\x23\xc0\x5f\x0b\xe4\x0e\x28\xdb\x75\xfc\xf1\x18\x26\x25\x50\x6e\xa0\x76\x06\xca\x90\xbc\xb2\xe0\xe2\x08\xd4\x93\xa0\xac\x22\xdb\xa4\x67\x94\x29\x5a\xb4\x70\x67\x86\xaf\xda\xa0\x16\x88\x72\x89\xdc\x21\xb2\xeb\xa0\x4f\xe0\x6d\xa8\x5c\x52\x14\x73\xc2\xf7\xf1\xf8\xe1\xe1\xe1\xf6\x4b\x3a\x1b\x52\x99\xa7\xdb\x19\x5e\x8c\xef\x65\xb3\xcf\xe2\x2f\xc5\x5f\xb9\xfd\x6c\x22\xbe\xbb\xbf\xcf\x89\x59\x2e\xb7\x2b\x26\xb9\x6f\xbf\xdb\x4e\x8a\xbf\xa7\xb7\xfe\x0b\x00\x00\xff\xff\xde\x3c\x66\xfb\x0e\x06\x00\x00") + +func resDocUsageTxtBytes() ([]byte, error) { + return bindataRead( + _resDocUsageTxt, + "res/doc/usage.txt", + ) +} + +func resDocUsageTxt() (*asset, error) { + bytes, err := resDocUsageTxtBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "res/doc/usage.txt", size: 1550, mode: os.FileMode(420), modTime: time.Unix(1649310106, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _resServerEnMessagesJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x5b\xdd\x6e\x1b\xc7\x92\xbe\xf7\x53\x14\x0c\x10\x4a\xb0\xb4\x84\x9c\xdd\x73\x43\x20\xf0\x3a\x92\x1c\x0b\x88\x1d\x41\x52\x56\x48\xd6\x8b\x41\x73\xba\x48\x76\x34\xd3\x3d\xee\xee\x11\x45\x07\x01\x16\x7b\x9d\x47\xca\xdb\xec\x03\xe4\x15\x0e\xaa\xbb\x87\x1c\x4a\x9c\xea\x91\x91\x8b\x73\xa0\x78\xea\xa7\x7f\xea\xe7\xab\xaa\xe6\x6f\x2f\x00\x5e\x56\x42\x2f\x5b\xb1\xc4\x97\x33\x78\x89\xfa\xe5\x94\xfe\xad\x46\xe7\xc4\x12\xdd\xcb\x19\xfc\xf7\x0b\x00\x80\xdf\xc2\xff\x03\xbc\x54\x92\xe8\x5a\xfa\x1a\x48\xc3\x3f\x7a\x2b\xb4\xab\x84\x57\x46\xd3\xd7\x9f\xe8\xeb\xec\x65\xf8\xfa\xfb\xf4\x10\x3f\x3e\x88\xba\xa9\x86\x25\x9c\xc7\xef\x3b\x19\x3d\x21\x49\x84\xc5\x4f\x2d\x3a\x5f\xb8\xb6\x2c\xd1\xb9\x24\xea\xb1\xa0\xeb\xf4\x95\x59\x4b\x69\xea\xba\x40\x6b\x07\x17\xc3\x31\x37\xc2\x8a\xc0\x6d\x86\xf9\x2f\x89\x06\x3d\x5a\x88\x74\x8c\x38\x29\xbc\x28\xb4\xf1\x85\xd2\xca\x0f\x0a\x3c\x13\x5e\x80\x36\x1e\x02\x15\xb7\x3a\x6b\x7e\xc5\xd2\x17\xa5\xd1\x0b\xb5\x64\x37\x79\x19\x49\x21\x92\xe6\x57\x6a\xb1\x34\x56\x86\xb5\x2e\x4c\xab\x65\x31\xdf\x14\x5a\xd4\xc3\x57\x7a\x15\x18\xc2\xb2\x03\x03\xac\x95\x5f\x01\xb1\xc0\x84\xbd\x9f\xca\x2c\x0b\x87\x9f\x76\xaa\x66\x53\xf8\xfb\xb5\x34\xc2\xd6\x41\x85\x55\xcb\x95\xe7\x54\xec\xae\x73\xe2\x82\xa2\xc0\xc1\xc9\x5e\x2b\x2d\xcd\xda\x15\x0d\xda\x5a\x39\x47\x72\x86\x84\x5f\x68\xb8\x8d\xd4\x53\x30\x0d\x6a\x28\x6b\xda\x03\xfd\x0b\x08\x07\x7e\x85\x20\x64\xad\xf4\x21\xc7\xd8\xe9\x73\xe1\x2a\x5c\x23\x4a\xa4\xbb\xd7\x58\x7a\x94\x83\x3a\x6f\x71\x7e\x6d\xca\x3b\xf4\xf0\xa3\xfe\xd0\xf1\x9d\x76\x6c\x33\xa0\x3f\x2f\xce\xbe\x9d\xb8\x29\x5c\x19\x53\x7f\x3b\x71\xc7\xec\x6e\xfb\xda\xa5\x72\x5f\xb8\x80\xb3\x2d\x67\x6f\x05\x39\xc5\x46\x97\x2b\x31\xec\x38\x7d\x45\xa7\x2b\xe1\x67\x60\xb1\x36\x9e\xce\x54\x5a\x74\x2e\xec\xd1\xc6\x3d\x4e\x61\xed\xde\xbb\xe5\x08\xa5\x0e\xb5\x2c\xf0\x01\xcb\xa2\x76\xcb\x11\xba\xaf\x51\xcb\xf3\x07\x2c\xdf\xbb\xe5\x6c\xa7\xad\x0e\xba\x32\xaa\xf2\x67\xf9\xb3\x69\x41\x58\x84\x2d\x25\x78\x03\x6b\x9c\xbb\xa0\x3b\xb7\x95\x51\xd7\xd5\xa9\xe8\x13\x0f\x68\x39\xa4\x66\x61\x6c\x91\x8b\xff\x78\xbc\x3c\xce\x38\xac\x37\x5e\x54\x83\x02\x6e\xc2\x57\xd6\xdf\xb7\x39\xe3\x90\x8b\xf3\x29\x63\x21\xd4\xb0\xea\xb7\xf4\x91\x61\x76\x77\xaa\x19\x64\xbe\xa6\x8f\xdc\xe9\x35\xd6\xc8\xb6\xf4\x85\x1a\xbe\x9f\xcb\x48\x02\x17\x92\x5b\x46\x6d\x64\x5b\x21\x27\xe7\x7d\xa0\xc8\x88\x71\xad\xf2\xac\x94\x6b\x22\xc8\x08\xf1\xc2\xdd\x71\x32\x6e\xd0\x79\xb8\x8a\x09\xbf\x2f\xea\xa0\x2c\x02\x05\xa5\x70\xc3\xc6\x15\xa4\x9d\x12\x05\xb7\xa4\x88\x2d\x94\xcf\xc8\x09\xdb\xcb\x0b\x2a\xad\x6a\x86\xe3\x52\x94\x14\x69\xd8\x9c\xeb\xda\x6a\x58\xca\x55\xfc\xcc\x5d\x16\xbf\x8c\xfc\x0a\x9c\x47\xc6\x76\xe9\x63\x86\x79\xd8\xe7\xae\xc3\x57\x0e\xa7\xad\xb0\xbc\x6b\x8c\xd2\xc3\x1b\x38\xdd\x91\x30\x82\xf0\xa1\x21\x50\x94\x39\xcd\xf3\x40\x85\x12\xf2\xc7\x2a\x4a\xdf\x8a\x2a\x27\xf0\x4d\xa0\x1a\x21\xae\x34\xda\x23\xb7\xcb\xf4\x3d\xeb\xdc\x19\xcf\x66\xd7\x20\x3c\x2e\x8d\xdd\x0c\x2f\xa2\x23\x60\x84\xdc\xa3\x65\xc1\xce\x7f\xa5\xef\x9c\xcd\xe0\x3d\x5a\xe5\x87\xd7\x71\xdd\x11\x70\xb1\xde\x2a\xc3\x0a\xb9\xec\x08\x38\x3f\x56\xbe\xc2\xa2\x14\x9a\x40\xe2\x1c\x0b\xac\x1b\x46\xe2\x0d\x51\x43\xa4\x86\x39\x42\xa0\xe6\xf3\xa2\x46\x94\x09\xa9\xb3\xa9\x97\xe8\x28\xdd\x26\xa4\xfe\x0b\xea\x1b\x61\xba\x7c\xaf\x8c\x86\x39\x2e\x0c\x21\x00\x72\x06\xd3\xfa\x29\xf8\x4d\x83\x70\x84\x0f\xca\x1f\x11\xe3\xa7\x56\xf1\x40\x60\x8e\x4b\xa5\x73\x4b\xf9\x8e\x88\xd2\x22\x5a\xab\xf4\x32\xa3\xe7\x20\xe2\x10\xda\x17\xde\x90\x2a\xaf\x74\x3b\x6c\xb0\x67\x06\x36\xa6\x05\xa2\x4f\x5b\x0f\xf4\xaf\xe1\xab\xcd\x89\x9e\x82\xc4\x85\x68\x2b\x0f\xca\xc1\xcf\xe8\xbe\xe6\x0d\xdb\x61\xd1\x36\x52\x78\x8c\x3b\xb4\xf5\x30\x64\x53\x55\x05\x54\x1e\x2a\x0f\xc4\xe7\x60\x8e\x95\x59\xd3\x0a\x7e\x41\xed\x85\x99\x7d\xd4\x30\x91\x39\xa4\x82\xda\xa3\x2d\xa4\x1a\x2e\xbe\xce\x75\x2a\x27\xa4\xb2\x6c\xdd\xbc\x5e\xa1\x45\x3a\x31\xe7\x8d\xc5\x5c\x5a\xb9\x25\x6a\x5a\x6d\xa0\x86\x48\xed\x5e\xc3\xd9\xee\xb8\x8e\x26\xee\x88\x2d\x48\x95\x0d\x55\x11\x3e\x28\xc7\x14\xa4\xca\x82\x34\x18\xcb\xa1\x48\x9a\x3d\x8f\x6d\xdb\x81\x3f\x14\xaa\x78\x3a\xd2\x3d\x1b\x68\x1d\xce\x3e\xea\x6f\x8e\xe1\x5c\x2f\x2b\xe5\x56\x30\x71\x1f\xf5\x3f\x8e\xe1\x74\xa5\x34\xba\x5c\xb9\x97\x2a\xe2\xcf\xe1\x1a\x0b\xc7\xa5\xf9\xa7\xb6\x97\xdc\xce\x0b\x03\xc4\xf9\x05\x56\x18\x8f\xa0\xb5\xc3\x28\xb2\x27\x1f\x5a\x5b\xcd\x46\xd9\x98\x28\x4b\xd3\x32\x99\x23\x09\x4d\x64\xe3\x64\x12\x50\x5e\x1b\x3b\x0c\xce\x92\xd0\x8e\x6e\x9c\xd4\xd2\x14\x14\x2d\x86\xeb\xe0\xba\x31\xd6\x03\x81\xa7\xe4\x7a\x0b\x6b\xea\xd7\xe1\xc2\x3b\x7c\x9b\x2e\x3c\x02\x4c\xfa\x8f\x7f\x3f\x86\x1b\xe1\xee\xc6\x2e\x40\x69\x89\x0d\x6a\xc9\xe5\xda\x6b\x71\x8f\x80\x1d\x14\x88\x19\xde\x81\xd2\x20\xc0\x61\x23\xac\xf0\x08\x0b\x55\x1d\xb2\x81\x0f\x66\x84\x09\x94\x26\xef\x08\xd7\x58\x61\xe9\x93\xfb\x6e\x9d\x61\xf6\x51\xe7\x4c\xbc\x30\x76\x29\xb4\xfa\x8c\xc5\x7c\x53\x64\x20\xc1\x8f\x89\x34\x1e\x79\x0a\x15\x30\xdf\x40\xe4\xfb\x92\x48\x6b\x52\x7c\x2a\x1a\x8b\x0b\xf5\x90\x71\xf4\xb4\xbd\xd0\xaa\x89\x0c\xb3\xbe\xb6\x31\x09\xd4\x14\x54\x98\x51\x16\xa5\x20\xef\x4d\x61\x91\xac\xa8\x98\xb7\xc3\x69\xec\x83\x49\x8d\x22\xa1\x37\x10\xd9\xa3\xc1\x4d\x29\x90\xf1\x79\x32\x5d\x21\x29\x53\xb2\xa0\xba\x76\x84\xc2\xdb\x95\x2a\x57\x41\x05\xc8\xfd\xc8\x12\x99\x61\xde\x2e\x61\x61\xec\x6b\xb8\x79\x66\xda\x4e\xe9\xac\x88\x19\x2b\x07\x47\x4f\x53\x0e\x8d\x31\x2d\xe4\xb8\xce\xbc\x43\x96\x1b\xb8\xf1\x3d\xab\x3b\xb4\x0a\xa5\xef\x45\xa5\x64\xa1\x74\xd3\x0e\x6b\xbf\x88\x54\x10\xa8\x8e\xe1\xc6\x6e\x40\x2c\x85\xd2\xec\x06\x53\xb4\x4e\xb1\x7b\xbf\xf1\x3b\xd8\xfa\x5d\xb4\x55\xb5\x79\x14\xb5\x77\x60\xe9\x19\xfa\xb2\x45\xff\x63\x58\x36\xa4\xe9\xe0\xdd\xb5\xd6\xa2\xf6\x39\xd0\x75\x1a\xc9\x92\x12\x16\x2a\x74\xa7\x14\x5d\x50\x91\xa9\x36\x16\x3d\x0e\xa3\x90\xc3\x89\x2e\xf9\x65\x4f\xc0\x17\xc4\x02\x87\xfe\x39\x2b\xb9\xac\x90\xfc\xc3\xa1\x3f\xa0\x9e\x9c\x03\x26\x2e\x9b\x67\x28\x60\x50\x10\x50\x4b\x6d\xec\x70\xe0\xfb\xea\x22\x7c\x07\xe5\x41\x2d\x62\x98\xf9\x9a\xbd\x2a\x1c\x2e\x68\x12\x14\x61\x6d\x6a\xc5\x54\xaf\x01\xb9\xf0\xdd\x96\x26\x04\x98\x6c\xce\xf8\x51\x57\x1b\x40\xfd\xd5\xc4\x7d\x0d\x42\x4b\xf8\xbc\x0a\x7f\x6e\x91\x94\x72\x84\x02\xb0\xf1\x62\x5e\x21\xeb\x04\xda\x84\x08\x37\xec\x67\x1f\x4c\x2f\x4d\xf3\x56\x9e\x5c\x96\x6e\xa5\x32\x4b\x35\x7c\x90\xc9\x77\xc9\x0c\x03\x21\xbb\x42\x72\xcc\xbc\xc8\x9d\x87\x3e\x53\x62\xb1\x56\x7e\xc5\xce\x4e\x1e\x89\x9e\x76\xce\x6f\xd1\xb7\x56\x93\xa1\x8e\xd2\xd6\x4d\xb4\x62\xd8\xc9\xe1\xad\x44\x9d\x72\xd6\x74\xac\xb2\xd0\xa7\x2e\x6b\x99\x0f\x67\xb4\x1f\xa2\x0e\x23\x88\x09\xe5\x43\x6b\x8d\x25\xcb\x19\x52\xf1\x54\x89\x57\x35\x9a\x5e\x1a\x38\xd4\x66\x49\x1a\x12\x29\xbb\xf8\x9e\xfd\x50\x60\x1d\x63\x3e\x29\x00\xf3\x62\xbd\xb0\xbe\xf0\xc2\xdd\x31\xdd\x29\x41\x70\x54\xb8\xbb\x0c\x22\x90\xbc\x9c\x73\x2d\xf3\x52\x9a\xca\x51\x81\xd7\x10\x70\xba\x57\xa6\x65\x1a\xd5\x29\x50\x7a\xd3\x40\x47\x1c\xe4\xc3\x42\x59\xe7\xab\x4d\xc6\x16\x94\x8f\x83\x0b\x4a\x3f\x4c\x27\x8c\xea\xdf\x2e\xf3\x08\x37\x10\x2f\xfa\x11\x43\x62\x85\x1e\x8b\x94\x21\x0a\x87\xf6\xbe\x17\xee\x0f\x75\x93\x74\xa8\x1d\x23\xdf\x36\xb3\x44\xbe\x91\x7b\x10\xd5\xb0\x3d\x87\x2d\x2c\x4c\x55\x99\xf5\xab\xb6\x61\x36\xd1\x25\xcf\x5a\x66\x1a\x3c\xa7\xa6\xae\x29\xb0\x3e\x85\xa6\x83\x06\x46\xab\x6c\x3d\xd7\x10\x8b\x56\xb6\xa5\x83\x89\x03\xe1\xb3\x1e\x9d\xa6\x4f\xbc\x68\x32\xbc\x67\x0a\x8e\x73\xdd\x54\x0a\x0c\x87\x8a\x80\x9e\x27\xb2\x97\x04\xa6\x70\x6b\xec\xdd\x99\xa2\x34\xfd\xd7\x9f\x7f\xfc\x72\xf3\x36\xfe\x3d\x5e\x5b\xa1\x4d\xf1\xd9\x2f\xd8\xa6\x49\x46\x31\xab\x2c\x62\x82\xec\xde\x12\x34\x98\xb8\x6d\x41\x14\xc7\xc9\xa6\x8f\x47\xb2\xb1\x1d\x47\x1c\x62\xcc\x20\x89\xec\xe0\xb3\x87\x47\xc6\xc4\x4e\x38\xa2\x1d\x9d\x8a\xd0\x06\x89\x37\x9d\xb3\x20\x56\x1e\x19\xcf\x9e\xb4\x29\x9d\xbb\xc3\x92\x15\x6b\x5b\x9d\x2b\x42\xae\x5a\x1d\x24\xa5\xd3\x55\x3a\xc9\x9d\x46\x1d\xe1\x7f\xec\xf9\x46\x1d\x84\x89\x98\xb1\x48\x28\xab\x72\x82\x50\xc8\xae\x7c\x63\x53\xe3\x07\xe3\x61\xa1\x74\x32\xbb\x54\xb3\x29\x0d\x8d\xf0\xab\x9c\x12\x6d\xfa\xf0\x37\x56\x8c\xed\xb0\xcf\x7e\x30\x07\x70\xef\x14\xdc\x9d\x6a\x3a\x5c\x4c\xa6\x99\xc1\x5c\x1e\x1b\x97\xee\x81\x1d\x50\x87\x91\x69\x38\x7f\xe2\x08\x37\xdc\x08\x47\x0e\x3c\x91\x09\x65\x64\x81\xe2\x76\xfe\xc2\xc2\xc5\x1e\x19\xbf\x76\xa3\xab\x4d\xd1\x61\xde\x54\x3f\x8c\x83\xbe\x89\x29\x77\x21\x61\x88\x5c\x8c\x18\x19\x76\x67\x33\x16\xe9\x2a\x57\x8c\x98\x57\xdd\xae\x84\x87\xd0\x6d\x8f\x81\xe5\xe8\x3f\x8f\x60\x25\x5c\xef\x80\xe2\x65\xf0\x21\x46\x85\x04\x30\xea\x41\x55\x70\xb1\x23\x89\xb5\x99\xb8\x4c\xe7\x77\x6f\x4a\x56\xac\x90\x29\xa1\x1e\x8d\xca\xdc\x31\x5c\xd0\x21\x69\x98\x23\xd4\x14\x40\xfd\x4a\x68\x30\x1a\xa1\x52\x9a\x4f\xbc\x7b\xa3\x34\x5e\x6b\x9a\xa7\xa5\xa6\xc5\x58\xdc\xb8\x44\x8d\x56\x30\xed\xde\xbd\xb6\x41\x47\xbd\xcb\x33\xbd\x50\x75\x34\x71\x47\xe3\xe1\x6a\xe8\xc9\xf0\x51\x7b\xbf\x61\x41\x0c\x3e\x75\xa3\x60\xc2\xfb\x5e\x4f\xbc\xcb\xc5\xdc\x60\xcb\x5b\x0d\xb4\xb1\xd8\x60\xdd\x4e\x35\xc6\x64\xce\x79\xbb\x0c\x75\x91\x69\x7d\x91\x9e\x24\x30\xa3\x42\x87\x47\x0e\x12\x19\xa8\x00\x9a\x74\x5b\x55\x53\x68\x22\x7e\x6d\x1d\xc2\xab\x06\x9a\xed\xcb\x2a\x6f\x88\xfc\x5e\x49\xec\xb1\x8d\x3d\xeb\x11\x4d\xb8\x5e\x81\xb0\xdf\x75\x1b\x75\xda\xbb\x82\x2d\xab\xa8\x2b\xa4\x76\x5a\x42\x1d\x95\x8b\x4b\x4f\x2d\x27\x73\xa9\x03\xb6\xe3\x57\x98\x1c\xa4\xbf\x39\xfe\x81\x49\xe5\x8a\xd0\xd8\xcc\x15\x1d\x91\x88\xdd\xc4\xbc\x66\x5e\x31\x5e\xc7\xcf\x9c\x00\x71\xcf\x78\x0b\x7d\xe4\x5c\x42\xe8\x12\x87\xd3\xf8\x69\xfc\xcc\x09\xa8\x0c\xe3\xac\xa7\xe1\x2b\xc3\xbe\xc2\xaa\x29\xee\x70\x53\xcc\x95\x1e\x1e\x9e\xbc\x3b\xff\xe1\x32\x2b\xc5\xad\xcc\x7a\x78\x21\x37\x57\x3f\xfc\xdb\xbb\x19\x5c\xaf\xcc\xfa\xe4\x1d\x79\x0c\xf1\x64\x65\x52\xdd\xc4\xcb\x3c\x9d\x01\x95\x4d\x63\x1b\x3a\x65\x85\x42\x17\x95\x59\x8e\xed\xc8\x12\x3d\x4a\x10\x55\x05\xc4\x35\xda\x1f\x2c\x0a\x8f\x45\x4c\x4f\xa3\x3a\x00\x81\x01\x7a\xd3\x9e\x34\xd0\xd9\xf6\xbb\x17\x2a\xd3\x03\xeb\xa9\xc7\x07\x6f\x45\xe9\x0b\xfe\x25\xcc\x4e\x7b\xa2\x4f\xc9\x83\x92\x79\xe8\xc7\x3d\x27\x6b\xb9\x80\x7e\xf8\xc7\x33\xfd\x93\x25\x7a\x4c\x30\x2e\x82\xc6\x2d\xc2\x1e\xa5\x4f\x48\x49\x3b\x25\x40\x3b\x4e\xa1\x90\x12\x25\x7c\xf6\x8b\x10\x79\x84\x96\x61\xe7\x97\x6f\x6e\xde\x01\xea\x7b\x65\x8d\xae\xe9\xd4\xef\x85\x55\xfb\xed\xc6\xcc\x59\xc7\x00\x12\xe1\x59\x36\xfe\xcd\xbb\x90\x17\x61\x79\xbc\xd9\x98\xd3\x6e\x32\x39\xad\x8b\xe7\xcf\xd0\xb7\x6b\xf9\x45\xa6\x01\xb5\xa3\x82\x7d\x4a\xa9\xbb\x05\x24\xf4\xa3\x4d\xf7\x17\xdf\x8a\x48\x55\xea\xc1\xb5\x80\x53\xba\x44\x50\xfe\x68\x4c\x9f\x82\x59\xc9\x88\x77\x87\xec\x3a\x12\x58\xe8\xd2\xf9\x85\xec\x12\xbc\xcc\x3c\x11\xb1\x46\x2f\x0b\x8b\x9f\x8a\x80\x0e\x86\x5d\xe0\x96\x08\xb7\x5d\xd1\x48\x3c\x83\x89\xfb\xff\xff\xfd\xbf\x8f\xec\x13\xa3\xa8\xa1\xb5\x15\xd5\x63\x35\xf7\x7a\x38\x68\x88\x44\xd0\xda\xc3\xc9\xe3\xc9\xc2\xc3\x33\xf9\xfd\xe7\x13\x4f\x45\x4f\x1c\xa4\x97\xeb\xe7\xb9\xd7\x13\x51\xee\xa3\x32\x92\x5b\xf6\x45\xaf\x84\x7c\xfe\xbb\xf8\xd8\x82\x2b\xd2\x03\xe9\x41\x25\x1f\x75\xf7\x3c\xf3\x4d\xa4\x9c\xf1\x87\x9e\xc4\x66\xee\xb4\x93\x79\x19\x6f\x73\x94\xc8\xd8\x07\x67\x86\xe9\x44\x05\x57\xb1\x5b\xce\x4b\x4c\xcf\x52\x8b\xed\x28\x29\xa6\x92\x41\xd9\xd3\x2e\xd7\x08\xd0\xb8\x0e\x05\x8f\x5a\x04\x0c\x36\x3c\xc8\x3e\xa0\xd6\xb6\x69\xe6\xe0\x1a\x2c\xd5\x42\x95\xa3\x66\x66\x57\xad\x0e\xb9\x74\xaf\x4a\x09\xb7\xdc\x89\xd9\x6b\x26\x4c\xb2\x6d\x03\x61\x9f\x34\x6e\x0f\xf7\x99\xde\xdd\xdc\x5c\x86\x56\xad\x2a\x11\x8c\x86\x95\xf7\xcd\xec\xe4\x64\xe2\x66\x13\x37\x85\x86\xac\x01\x22\xa2\x88\x09\x51\x39\x7f\xfc\x51\x27\x14\x29\x62\xa6\x24\x1e\x37\x3b\x39\xf9\xec\x17\xc7\xaa\x3e\x99\x1b\x73\x47\x7f\x9f\x88\x25\x6a\xff\x0a\x1f\xb0\x7c\xf5\xcd\x3f\xfe\xe3\x78\xe5\xeb\x2a\xa4\xb4\x50\x56\x2a\x1d\x4d\x3f\x37\xc7\xed\xef\x65\xdc\xdc\x23\x70\x50\x0c\x0f\x3f\xb5\xe9\x6f\x70\x5b\xb3\xa4\x69\x3b\xa4\x36\x43\x98\xa8\xdd\x0b\x55\x65\x07\x6a\x5b\x3b\x0d\xb6\xcd\x78\xd4\xf7\x26\x08\xee\x42\xda\xc4\x1d\xc3\x28\xb9\xae\x31\x9a\x43\xae\xd1\x46\x27\x04\x42\x28\xe4\xf4\xda\x6e\x99\x87\xfb\x94\x26\x1b\x61\x1d\xd2\xe2\xb3\x67\x18\x28\xb7\xab\x37\xf3\x5f\xb1\xf4\xa3\xf2\xe1\x4a\xb8\xe2\x57\x33\x1f\x0e\x0b\x6f\x2a\x8b\x42\x6e\x42\xab\x64\x22\x81\x68\x49\xe1\x1c\x41\x9a\x4c\x7f\x61\x0f\xe3\x08\x66\xde\xf3\x08\xdf\xe4\x87\x36\x9d\xe4\x15\x92\xb1\xcd\x91\x89\xc8\xfb\x68\x0d\xb5\x84\xc0\x44\x3c\xdd\x79\xe5\xf1\xca\x08\x3d\x5b\x6b\xce\xa8\x38\xa8\x43\x69\x59\x68\x5c\x17\x9c\xff\xbf\x55\x5a\x86\x50\x97\x5e\xfa\xe6\x72\x49\x3a\xa2\xb6\x59\x5a\x21\x47\x36\x42\x12\x71\x78\xff\xb5\xd3\x73\xfc\xcd\x82\x76\x36\x66\xb2\x9a\xd3\xd6\x9d\x52\x4e\x51\xb0\xdd\x59\x36\x70\x4a\xb3\xd6\x95\x11\x99\x01\xeb\x59\xa2\x22\x07\x27\xc2\x34\x5d\xcd\x8e\x6f\xb7\xd2\x43\xbf\x9a\x55\x71\x85\x42\x42\x47\x1f\x6a\x9c\x2f\x56\xb6\xb6\xca\x23\xaf\xed\x96\x48\xfe\x26\x75\xcf\x7a\xd9\x23\x7b\x27\x99\xb7\x88\x9d\x09\xee\x5e\x00\x67\xdb\x44\x9d\x21\x12\x4b\xf7\x2c\x26\x6d\x90\x9f\xe3\xa2\xad\x0b\x89\x9a\x79\x78\xbe\xfd\x45\x20\x48\xd4\x2a\x56\x14\x49\xf4\x2e\xd3\xac\x84\x5e\x22\xac\x8d\xbd\x03\xa9\xf2\xf3\xa6\xa2\xd5\x9f\x99\x9f\x18\x6d\xed\x9d\xa8\x46\xed\x23\x08\xad\xe5\x3f\x63\x4b\x9b\xff\xf5\xc5\xf6\xe6\xdf\x9f\xfd\xf3\xc9\xd4\x80\x2b\xbe\xda\x26\x7a\x8d\x62\xba\xd8\x3b\x57\xdd\x1a\xd9\xe8\xd7\x15\x31\x71\xf5\xb4\xe4\x33\xe5\x7e\x26\xeb\x29\x85\x8e\x35\xab\xfd\x91\x3e\xae\xa4\xfc\x69\x5f\x7e\x5b\x85\x07\xba\x7f\xfd\xf9\x47\x46\x45\xdd\xba\xd0\x83\xa5\x62\xaa\x10\x55\xd5\x5a\xec\x3a\x93\xdc\xf8\x34\xe1\xaf\xae\xcd\x9a\x1a\x94\x52\x59\xc2\xac\xad\x53\x7a\x09\x6f\x82\x30\x48\x03\xb4\xb7\x56\xd4\x48\x46\x98\x19\xff\xcf\xdb\x65\x11\x7e\x2c\xc1\xd4\x3b\xdf\xfd\xf4\x3d\x84\x9f\x48\x24\x51\x2f\x00\xfe\xe7\xc5\xef\x2f\xfe\x15\x00\x00\xff\xff\x2e\x37\x06\x14\x90\x3e\x00\x00") + +func resServerEnMessagesJsonBytes() ([]byte, error) { + return bindataRead( + _resServerEnMessagesJson, + "res/server/en/messages.json", + ) +} + +func resServerEnMessagesJson() (*asset, error) { + bytes, err := resServerEnMessagesJsonBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "res/server/en/messages.json", size: 16016, mode: os.FileMode(420), modTime: time.Unix(1663641538, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _resServerZhMessagesJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x5b\xff\x4f\x1b\x49\x96\xff\x3d\x7f\x45\x2b\x92\x95\x3b\x1d\x33\xd1\xec\xdd\xfe\x82\xb4\xd2\xad\x26\x77\xda\x91\x6e\xf6\x56\xbb\x91\x4e\xb7\x97\x53\xab\x71\x17\xa6\x37\x76\xb7\xa7\xab\x1d\x48\x56\x2b\x19\xc2\x17\x1b\x0c\x76\x26\x04\x02\x98\x04\x27\x38\x78\xc8\x62\x3b\x93\x1c\x76\x6c\x03\x7f\xcc\x76\x55\xb7\x7f\xe2\x5f\x38\x55\xbd\xb6\x31\x43\xba\xaa\xc9\xce\x2f\x08\x83\xfd\xf9\x54\xbd\x7e\xf5\xde\xe7\xbd\x57\xfe\xf3\x0d\x45\xb9\x99\xd4\xcc\x44\x46\x4b\xa0\x9b\xe3\xca\xcd\x47\x53\x37\xc7\xd8\xdf\x52\x08\x63\x2d\x81\xf0\xcd\x71\xe5\x7f\x6e\x28\x8a\xa2\xfc\x99\xff\x54\x94\x9b\x86\xce\xde\x97\x61\xff\xe5\x6f\xe5\x7f\x74\x6c\xcd\xc4\x49\xcd\x31\x2c\x93\xfd\x97\xb4\xeb\x64\xf9\x87\xf3\xde\xf6\x4d\xfe\x86\xbf\x8c\x7d\x0a\x02\xcd\x68\xa9\x74\x32\x1c\xc4\xdb\xef\xb8\xa7\x2b\xa3\x20\x9f\x42\xb1\xd1\x77\x19\x84\x1d\x15\x67\xe2\x71\x84\x71\x28\x9a\xdf\x68\xd1\x77\x73\x34\x57\x22\xcb\x2f\x45\xab\x8a\x5b\xa9\x94\x8a\x6c\x3b\x14\x48\xf4\xe1\xb4\x66\x6b\xfc\xd3\x56\xf8\xe7\x49\x71\x8e\x3e\x6b\xf6\xd7\xb7\xfc\x46\x43\x84\xa5\x6b\x8e\xa6\x9a\x96\xa3\x1a\xa6\xe1\x84\xa2\xd1\x67\x4d\xba\x5a\xa7\xe5\x43\x92\xdb\x25\x07\x2b\xa4\xb0\x21\x5c\x5f\x12\xab\x71\xcb\x9c\x34\x12\x6a\xda\xb6\xfe\x84\xe2\xe1\xc0\x7e\xa3\x45\x16\x72\xa4\x5e\xa0\xb9\x52\xbf\xf2\xd1\xdb\xa9\xf7\x17\x56\xbd\x93\xba\x10\x1e\x30\x07\x14\x22\x2b\x8e\x42\xca\x6d\x61\xa3\xb8\x65\xeb\xdc\x1a\x93\x56\xc6\xd4\xd5\x89\x87\xaa\xa9\xa5\xc2\x7d\x87\x96\x0f\x69\xfe\x94\xe4\x9a\xa4\xb4\xea\xb6\x3b\x31\xec\x6d\xcf\xfb\xf5\x26\x39\x79\x26\xa2\x49\x5a\x09\x15\xa3\xef\x2e\x78\xc6\xc7\x94\x70\x03\xad\xb5\x48\x71\xc3\xeb\x6d\x90\x62\x6b\x40\x41\x37\xab\xe4\x6c\x93\xec\xbf\xf3\x3f\x54\x25\x7e\x92\xe2\x2c\xb6\x91\x98\x72\x44\x2c\xe0\x2d\x31\xec\xb6\x57\x49\x29\x47\xdf\x0b\xd7\x3f\x8d\xb9\x55\x70\x5a\x8b\x23\xf6\x10\x4c\x14\x77\x90\x1e\x8a\xfd\x5f\x68\xe2\x0f\x56\xfc\x3e\x72\x94\xff\x34\x7f\x3b\xf8\xdc\xd7\x83\x8f\x8d\x2b\xec\xd7\x6f\xee\xfc\x2a\x86\xc7\x94\xdf\x5b\x56\xea\x57\x31\xfc\xb7\xec\x5c\x64\x7e\xdd\xc0\x9f\xb9\x84\x3b\xc3\x4f\x8e\xac\x41\xc2\x6b\x99\xf1\x29\x2d\xdc\x9b\x47\x79\xbe\x9e\xd2\x9c\x71\xc5\x46\x29\xcb\x41\x8a\xa6\xeb\x36\xc2\x98\x6f\xd2\x86\x4d\x8e\x29\xd3\xf8\x5b\x9c\x88\xb4\x5d\x8c\x4c\x5d\x45\x33\x28\xae\xa6\x70\x22\x02\xfb\x1f\x90\xa9\xff\xdb\x0c\x8a\x7f\x8b\x13\xe3\x17\x7c\x29\xce\x26\xa1\x92\x1b\x93\xb4\x7e\x84\xf8\xe6\x9f\xbd\xa0\x6b\xd5\x21\xab\x7c\x1b\x91\x9e\x15\x83\xdf\x38\x22\xbd\xec\x10\x18\x78\x64\xf0\x86\xa9\x5b\xd3\x58\x4d\x23\x3b\x65\x60\xcc\xc0\x42\xed\x04\x6f\xf5\xde\x77\xbd\xee\x4b\xb7\xbd\x72\xde\x2b\xf4\xcb\x59\xb7\x5b\xf5\xea\x15\xaf\xb4\x48\x9e\x3c\xf7\x3b\x6f\xdd\xee\x09\xcd\x3f\x25\xbd\x6c\x3c\xa5\x93\x27\x27\x6e\x77\xdf\xaf\x14\xbc\xc3\x4d\x52\x7c\x2d\x59\xc9\xa4\x65\xab\xb2\xa4\xe3\x9e\xae\x90\x37\x73\x8a\xf8\x69\x38\x96\xa3\x25\xc3\xed\x54\xca\xf9\xf5\x8a\xf8\xf8\x0b\x12\x55\x3f\xbb\xed\x9f\x2d\x09\xf7\xa1\x19\x02\x76\x69\xf0\xc1\xf7\x8d\x74\xf8\xc7\xcf\x4e\xbc\x67\xe2\xd8\x65\x5b\x7a\x26\xee\xa8\x46\xb8\xa7\xb8\x9d\x03\xf2\x74\xf6\x1b\x5d\x04\x93\xb2\xf4\x4c\x12\x89\x50\x68\xad\x42\x76\x37\xc5\x28\x38\x63\x38\x42\x10\x52\xdd\x74\xbb\xc7\x62\x10\x47\xc3\xf7\x85\x0b\xf9\xbf\x15\xbf\xf1\xcc\xed\x76\xc9\x72\x45\x82\xc4\x94\x48\x5c\xc3\x02\x51\xb3\x5e\x73\x4f\x57\xa4\x18\x7c\x5f\x92\x05\xc1\xd6\xe4\x50\x71\xdb\x48\x0b\x04\x04\xc7\xf2\xe7\xb7\x69\xf9\xaf\xe2\x14\x8c\x33\xc9\x70\x18\xaf\xfb\x94\xbe\x28\x0b\x1f\x95\x78\x1d\xf2\x15\x60\x07\x85\xfb\x2d\x3d\xaa\xf6\x0f\xf7\x85\xc2\x6e\x0a\xc5\xef\xa7\x2d\xc3\x0c\x5f\x43\xff\xb0\xe0\x37\x66\xbd\xb9\x8f\x62\xd9\x9a\x66\x1a\x47\x62\x0f\x5a\x7e\x49\x4e\x17\xe4\x56\xd1\xe2\x4e\x46\x4b\xca\xd0\x48\xfd\x45\x7f\x2b\x02\x5a\xdc\x32\x1d\x24\xd8\x20\x59\x5c\x20\x75\xe1\xee\xe0\x58\x4a\xce\xa4\x70\x09\x9a\x83\x12\x96\xfd\x30\xdc\x53\x76\xea\x12\x19\xf6\x00\xd9\xc2\x34\xe1\xe5\x73\x32\x57\x41\x0f\x90\x6d\x38\xe1\x8b\x70\xdb\xd5\xfe\xd2\xaa\xd7\x39\x20\xb9\xb7\xe2\x60\x67\x58\x42\x20\xef\xc3\x01\xcd\x56\xbd\xda\x0a\xe9\xbc\x11\x1e\x45\xc3\x49\x22\x35\xae\x99\x4c\xf5\x4d\x20\x15\xa5\xd2\x02\x54\xba\xb7\xd4\x7f\xf5\xdc\x6d\xaf\xfa\x8f\x4f\xdc\x76\xc7\xfb\xa1\x23\x49\x6d\x26\x42\x7a\x20\xbb\xc3\x1f\x7e\xb9\x46\x1a\x3d\xb2\xd4\x81\x18\xe4\x7e\x5c\x21\xf9\xd5\xf3\x5e\x81\xce\xd5\xfa\xe5\xac\xff\x66\x96\x2c\xe4\x40\x90\x7b\x6f\x16\xfa\xb3\x4f\xbd\xb7\x5b\xde\xdc\x47\x09\xf1\x04\x4a\x18\xa6\x94\xb9\x97\x25\x07\x2b\x80\x3d\xa6\xf8\xa7\x4f\xc9\x42\xf5\x16\x9a\x31\x9c\x5b\xfd\x6c\x96\x2c\xc9\x36\x37\xad\x99\x8e\xea\x58\x8c\xc5\x31\xcc\x8c\x20\xb8\x56\xea\x7e\x7d\xdf\xeb\x1e\x78\xdd\xa3\xf3\xde\xcb\xf3\x5e\xee\xe1\x6d\x73\x4c\xe9\x77\x9f\xfb\xf5\xfd\xff\x46\xf8\xbc\x97\x17\xbb\x2e\x46\x6a\x26\xad\x6b\x0e\x82\x1d\xd9\xa9\x70\x07\xea\x56\xdd\xf6\x4a\x60\xc9\xb3\x0a\x9d\x6d\x90\xe6\xa2\xff\xea\x2d\xdd\xf9\x40\x37\x9a\x24\xd7\x04\x1b\x8e\xdf\x33\x95\x98\xfe\xa5\x44\x4f\x20\xd3\x41\xb6\xaa\x1b\xe1\xe5\x12\xd8\x2c\x86\xe1\xf0\x48\x0a\xeb\xe9\x29\x64\x23\x66\x30\xec\x58\x36\x92\x25\x00\xbf\xd1\x02\x74\x88\xc0\xee\xd9\x2e\x39\x7a\x0e\x3c\xe3\x81\xe9\x78\x79\x23\x8e\x3b\xaa\x65\x27\x34\xd3\x78\x84\x58\x69\x26\x0b\x22\xcf\x1b\xa4\xf4\x86\xb4\x0b\xb4\xbc\x43\x0b\xf9\x20\xcf\xdf\xf1\xba\xf3\x5e\x77\x09\x56\x01\xfc\x3c\xe0\xcd\x5f\x79\x92\xbf\xb5\x64\x0f\xd2\x0a\x36\xad\xa6\x6d\x34\x69\xcc\x44\xdd\x3b\xc9\xaf\x7a\xbd\x2c\x53\x9d\x83\x6d\xcb\x4f\x9e\x6e\xd8\xbc\x92\x43\x33\x06\x16\xa4\x47\xbe\x1f\x56\xc4\x1d\x3d\x27\xe5\x9a\xdc\x19\x86\x3d\x19\xe9\xd2\xdd\x93\x3d\x5a\x7e\x49\xcb\x3b\xee\xc9\x99\xb7\x5e\x63\x85\x6e\xe3\xc8\xaf\x65\xc7\xef\x99\x5f\xfd\x2d\x3b\xa7\xf8\x2b\xef\xe8\xc6\x92\x12\xc3\xf7\xcc\x5f\xb0\xd7\x6e\xfb\x08\x5e\x4b\x12\x09\xab\xe0\x1f\x21\xd3\xd1\x2c\x15\x8b\xc4\x88\xb7\xd6\x64\x91\x65\xe4\x88\x07\xe1\x83\xab\x78\x6f\x7b\x9e\x94\x0a\xf4\xa8\x0a\x85\xec\x67\x9c\x4a\xb0\x47\xc6\x0e\x97\xbc\x43\x53\x8c\xc6\x2d\xef\xe4\x09\xd9\xcd\x9e\xf7\xb6\xa3\x1c\x3d\x2d\x1e\xb7\x32\x82\xbc\x79\xc1\xb0\xd5\x25\x27\xcf\xfc\x0f\x6f\x48\xb1\x15\x11\x9b\x89\xfd\x69\xcb\x0e\x97\x97\x17\x4e\xc8\x61\x49\x63\xd1\xdb\x9b\x8d\x08\x1e\xb7\x54\xe7\x61\x5a\xe8\x25\xfd\x6c\x9e\xae\xfc\x00\x91\x8a\xee\x56\x69\xa7\x14\x38\x06\xa8\xf4\x0b\xc7\x00\x3d\xc9\x5f\xff\x33\xff\x3f\x17\xbc\x91\x42\x57\xdc\x52\x0d\x53\x47\x69\x64\xea\x22\xf9\x11\x1c\xfc\xe6\x62\xb0\x9a\x11\x8d\x04\x61\x87\x94\x6b\xde\xca\x5f\xbd\xb7\x2b\xde\xf6\x3c\xdd\x58\x72\xbb\xc7\x6e\xfb\x6a\x24\x97\x9e\xff\xe1\xa2\xa2\x9c\x22\xb0\x0f\x04\x00\x38\x39\xf7\x4c\xf1\x9e\x4d\x4b\x65\x25\x18\xcb\xb8\x2c\x63\x38\x96\x6a\xa3\xb4\x65\x3b\xea\x44\x26\x3c\x07\xd2\xf2\x21\x29\x3e\x61\x87\x85\x17\x68\xde\xf6\x3c\x18\x81\x45\x9b\x28\x49\x30\xd8\x13\x23\x34\x74\x95\x95\xb2\x11\x48\x87\xae\x45\xe7\x6a\xf4\xf1\x7b\x5a\x2c\xb9\x9d\x7d\xaf\xd7\xe9\x6f\xb5\x86\x0b\xf8\xe6\xce\x79\xaf\x70\x35\x27\x4b\xa3\x83\x9d\x52\xe3\x56\x2a\x65\x48\xa5\x30\x64\x65\xe0\x0e\xd2\x66\xf0\xc8\x59\xda\x0c\x89\x08\xb2\x67\x60\x98\x0f\xb4\xa4\xa1\xab\x86\x99\xce\x08\x1c\x6e\x73\x8f\x3e\xcb\x41\x8f\x94\xed\xb2\xd1\xea\x2f\xad\xd2\x8d\x26\x6c\x57\x62\xf1\x20\xf8\x05\xa1\x50\xd6\x5f\x1e\x0d\x7a\xd0\x17\x81\x60\x08\x1d\x99\x6b\x51\x09\xeb\xfb\x30\x1e\x70\x2b\x09\x4f\x3c\x63\xdb\xc8\x74\xa4\x7a\xed\xe4\x29\xc9\xaf\x02\xae\x44\x6b\x0c\xac\x03\xe9\xd6\x60\x4e\x9a\xb6\x91\x83\xc2\xa5\x0c\xe4\x0b\x00\x0f\x92\xfd\xf6\xbc\x7f\xf0\xba\xbf\xb4\xcc\x65\x74\xf1\x33\x72\x04\x46\xce\x75\x96\xc0\x8e\x45\xfd\xd4\x3b\xa9\xc7\xf0\x27\x57\x30\x2e\x0b\x7a\x4c\xbc\xb3\x73\x6f\x24\x4c\xcb\x0e\x8f\x2e\xe7\xbd\x5c\x90\x36\x7e\xe8\x40\x63\x45\x1a\xb8\xc2\xd7\xcc\xd3\xb8\xd0\x89\xa6\x04\xe5\xce\x91\xe4\xc3\x38\x93\xe6\xd1\x44\x1a\x31\x49\xf1\x90\xae\x37\x68\x61\x16\x62\x25\x32\xff\x21\x86\xff\x91\x7c\x5f\x78\x34\xc5\x7e\x91\x95\x29\x16\x8f\x60\xe1\xa7\x68\xd8\xb7\x87\xb6\x04\x44\x28\x09\x68\x70\x32\xd9\xf3\x48\x5a\x09\x43\x50\x37\xf2\xe4\x1d\xe9\x40\xb2\x23\x18\x15\x30\xd2\xc9\xbb\x04\xa8\x4e\x1b\xce\x94\x70\x3c\x32\x8a\x7c\xde\x2b\xc0\xa1\xf7\xcf\xd6\xc9\xce\x0b\xae\x0c\x22\xb2\x0d\x86\x63\x10\x5f\x24\x31\x05\x26\x64\x43\xce\xe8\x6c\xbc\xff\x1d\x4f\xe9\xe2\xc0\x45\xf3\x07\x7e\xa5\x00\x1d\xdb\x18\x1e\xd2\xc0\xf0\x27\x9c\xe3\x2a\x8b\x63\xa4\x90\x35\x12\xf4\xc5\x54\xfe\xf1\x02\xdd\x3c\x96\xc5\xc5\x94\x2e\xa9\xc8\x01\x2c\x52\x45\x30\xe2\x8f\x71\xcb\x14\x9c\x68\x1e\xbd\x23\xb9\x23\x76\x34\xdb\x51\x1d\x0d\xdf\x97\xd4\xd8\xa0\xd9\xa4\x52\x42\x17\x63\xb1\xfc\xbc\xfb\x32\x12\x56\x3a\x89\x59\x99\x99\x66\x95\xd6\x03\xc3\xca\x08\x07\xb0\x64\x21\xe7\x75\x73\xf4\xe8\x95\xdb\x5e\x76\xdb\x59\xb7\x7d\x18\x6d\xbd\x33\x86\x03\x43\x16\x96\xbf\x04\x8d\x73\xa6\x5b\x20\x77\x89\x03\xc7\x68\x3c\xd2\x51\x12\x39\x48\xd5\xd1\xa4\x96\x49\x3a\x2a\x46\xf6\x83\x91\xcc\xf1\xe9\x6d\xac\x9c\x91\xdc\x5e\x7f\x6b\x1f\xd2\x13\x2d\xaf\x92\xe5\x0a\xd9\x12\x57\x75\xc3\x3d\x68\x49\xc1\x19\x59\x3f\x25\xbd\xc7\xa4\xb4\xe6\x75\x8f\xa2\xc5\x3e\xee\x18\x0c\x37\xe3\x88\x5a\x66\xe0\x1d\x70\x2e\x62\xd8\xed\xac\xc9\x0f\x75\x30\xd8\x12\xe3\x82\xa7\x5c\x07\x17\xe6\xb7\x90\xac\xc3\x9d\x05\xa4\x72\x4c\x77\xdb\x87\x43\x99\x4c\x5a\x55\xf7\xa4\x3c\xa8\xa4\x3b\x31\x7c\xde\x2b\xfc\xf1\xee\xbf\x8f\xfc\xe1\x3a\xd4\xaa\x69\xa9\x8f\x9c\x49\x61\xd7\x25\xd2\x2a\x24\xa4\x20\x11\xe4\x1b\xe6\xf2\x20\x86\xdd\xf6\x21\x2d\x1f\x82\x3a\xf1\x0f\x5e\xd3\x17\x25\xb2\xc5\x6b\x7a\xae\x53\x22\x84\x7d\x14\xc1\xb8\x50\x81\x04\x3b\x12\xca\x3b\xf0\x2f\xe1\x44\x03\x5c\x0b\xd0\x94\x18\x56\x22\x79\x96\x78\x46\xc2\x9d\x6a\x14\x91\xa5\xa3\xec\x26\xdd\x3c\x8e\xe9\xde\xc1\xf7\x12\x7c\x3b\x63\x4a\xbb\xf3\xe0\xb0\x97\x1e\xec\x65\x02\xce\x19\xfc\x88\xc4\xc7\xd4\x53\x38\xdf\x72\x95\x3c\x59\x96\x23\x21\x4d\x1f\x94\x75\xe2\x5c\x7a\x59\x26\x01\x3c\x29\xd7\x68\x61\x89\xd4\xb7\xfd\x56\x83\x9c\xce\x4b\xd9\x4c\x6b\x54\x2c\x43\x49\x99\x09\x3f\xea\xb4\x7c\x08\xa2\x3d\x86\x41\xfa\x5d\x91\xed\x05\xbf\xf5\xde\x3f\x0b\x3a\x78\x52\x7a\x96\xc6\xd5\x49\xdb\x4a\xa9\x4e\xb8\x32\x71\xbb\x6b\x31\x4c\x72\xcd\x18\x1e\x53\xa2\x7b\x00\x76\x50\x1a\x07\x3e\x20\x1c\xcc\x93\x85\x77\xb4\x9c\xe7\x7e\x00\x03\x24\xf6\xbc\xd9\x2b\x18\xc2\x0e\x5e\x45\x52\x78\x4c\xdb\x0e\x47\x4c\x02\x85\xfb\x63\x85\x96\xf3\xc3\x49\x53\x94\x9d\xfc\x1d\x43\x2f\xcb\x4c\x3e\x54\x07\xda\x3e\xa8\x90\xae\x21\xf1\x47\x9a\x22\xf2\xe7\x69\x39\x5a\x52\x95\x4f\x40\x61\x3c\x0e\x36\x8f\x2e\xf2\x0d\xac\x46\x18\xe0\xfd\x2b\x0b\x46\xfb\x1f\xbc\xed\x79\xb7\xdd\x21\xa5\xb7\x43\x33\x7b\xdb\xf3\x60\x2c\x59\x04\x35\x78\xda\x13\xdf\x11\xf0\xeb\x67\xfd\xcd\xfa\x2d\x1d\xa5\xac\x18\x8e\xe1\x5b\x70\x13\x88\xee\x7c\x20\xfb\xdb\x70\xf3\x2d\xf2\xfc\x50\x9d\x42\x82\xfa\x11\xfa\xba\xd0\x2d\x19\x53\x48\xb1\xe1\x76\xab\xb4\x9c\x27\xfb\xdb\x7e\xa5\x20\xd9\xc9\xa5\xc1\xa2\x98\x86\xd5\xa8\x4b\x9d\xa1\xad\x46\x87\x8d\xd1\xa5\x6e\x02\x99\xc8\xd6\x44\x43\x6b\x2e\x74\x49\x6e\x87\x74\x3b\x23\x4f\x1f\x7c\x6c\x4c\x19\x4c\x1c\x6e\xc5\xf0\xad\xeb\x08\x6c\xde\x81\x12\x3a\x1c\x10\xc3\x60\x06\x7c\x2d\x26\x1c\xe2\x8f\x60\x62\xe9\x60\x96\x3b\x33\x60\x8f\xa4\x93\xe1\xfc\x27\x9a\x38\x98\xc8\x24\x78\x49\x68\x65\x1c\x35\xb8\x5e\x21\xb9\x40\xc0\x3c\x9c\xb7\x6f\xc9\xbb\x17\x34\x7b\x00\x75\x09\x74\xb8\x60\x0c\xf0\x45\x1a\x1a\xee\xb4\x58\x72\x4f\x77\x82\x0b\x19\x77\xa2\x1b\x36\x4a\x47\x93\xdb\x95\x51\x07\x46\x1d\x6d\x2f\x46\x2e\x50\xe5\x34\x23\xa8\x43\xbb\x46\x2e\x1f\x43\x5d\x46\xa6\x10\x42\x36\x27\x1d\xc1\x0b\x6e\x7e\xd2\x9c\xf0\x72\x66\xd0\x04\x14\x4d\x3a\x82\xcd\x97\x9b\x64\x37\x2b\xab\xca\x78\xc3\x58\xde\x19\x16\x5b\x6d\x22\x25\xba\x7b\xca\x4d\x22\x04\xd0\x1e\x08\xae\x5a\xf1\x96\xbf\x78\x20\x6b\xc6\x91\xe0\xaa\x53\x71\x83\x1e\xe7\x84\x00\x49\x4b\x94\x89\x16\xde\xf7\x37\x8f\x44\x9f\x9f\x42\xc9\xb4\x7a\x1f\x3d\x54\x27\x0c\x53\x70\xc7\x48\x1a\xf3\x39\x0e\x2b\x01\x43\x31\xbe\xbe\xfb\xfb\xff\xf8\xa7\xaf\xc7\x15\x79\xf3\x7d\xd4\x95\x93\x48\x33\xd5\xa4\x95\x10\x48\x84\x20\xea\xb2\x72\x95\xe6\xb3\xb4\x9c\x87\x3b\xaa\xd7\x38\x2f\x36\xd2\x1c\xa4\x42\xda\x8a\x14\xdd\x2f\x46\x38\x23\x03\x1e\x18\xe7\x44\xa7\x45\x33\x8e\xad\xc5\x1d\x55\x7c\xeb\x07\x4e\x69\x77\x8d\xbe\xaf\xf5\x97\x96\x69\xb1\xc4\x7c\x82\x27\x7a\xf2\x7d\x61\x94\x3e\x22\x31\xe6\x3a\x49\x2c\xba\x60\xa7\x8d\x8f\x3c\xde\x07\x12\xe9\x6c\xc7\xaf\x14\x80\xb8\xbf\xb4\x4a\xd7\xa4\x0a\x35\xe0\xd3\x74\x9d\x6d\x36\xad\x39\xe1\xcd\xdb\x80\xb0\xb9\xf8\xc8\x99\x84\x36\x14\x59\xde\x23\x0b\xac\x80\xa3\xb9\xd6\xef\x7e\x7d\xf7\x37\xde\x5a\x83\xbc\x7a\x4c\x8a\xcf\xfb\x4b\xc5\xe8\x16\x86\xd3\x0d\x8a\x4d\x16\x0d\xf9\x49\x0f\xe4\x1a\xb7\xe7\x30\x12\x5f\xab\x9d\xfa\xf3\x50\x5e\x37\xf8\x07\x59\xf6\x82\x3f\x10\x45\xa6\x35\xf8\x4d\x72\x1b\x67\x64\x11\xc3\x4c\x0b\x05\xfb\xe7\x33\x47\xb8\x46\x49\xe7\x6a\xac\xd0\xe3\x19\x3c\x78\xfb\x37\xfa\x90\xfa\xaa\x81\x64\xd7\x68\x6c\xcb\x4c\xa8\x36\xfa\x4e\xe5\x5f\x53\x10\xdc\x40\xe5\x66\xe5\x17\x09\x78\x47\x38\x98\xdc\x43\x23\xf8\x9e\x29\xe7\xc8\xd8\x49\x56\x4e\xa6\x04\x17\xb2\xfb\x4f\x4f\xe9\x5a\x95\xee\xf5\x48\xaf\x28\xb8\xff\x7f\x65\xf1\xfc\x7b\x00\x97\xef\x5a\x5c\x05\x8f\x61\x05\x2e\xfb\x93\xd6\x8f\xf2\x0b\x17\x00\xfd\x93\x52\x58\xb4\x76\x52\x6c\x40\x03\x01\x62\x1a\x5c\xce\x97\xd2\x40\x67\x51\x0d\x2e\x9c\x87\x82\xdf\x33\x03\xab\xf3\x24\x7f\xde\xdb\x16\x1b\x7c\xd0\xe1\x97\xdd\xfc\x1b\xc2\xf2\x1b\x80\x91\x61\x6d\x84\xd3\x96\x29\xc8\xa1\xf7\x4c\x68\x7f\x0e\xa7\x05\x62\xdc\xe0\xaa\xad\x3a\x9c\xa0\x41\x76\x11\x4c\xd0\x2e\xdd\xc5\x21\xb9\x2d\xba\xd1\x24\x5d\x59\x0b\xde\xce\x04\x33\x16\x9c\x46\x71\x63\xd2\x88\x47\x1a\x0b\x92\xe6\x22\x88\x67\x76\xf0\x78\x27\x65\xd8\xe2\x20\x5b\x35\xff\xac\xe4\x57\x0a\x10\xef\xe5\x4d\x2e\x68\x9c\xfd\xa4\x9b\x7c\xb5\x7a\x68\x90\xe5\xda\x6f\xee\xde\xfd\x1d\x18\xd1\xed\xac\x4d\x39\x4e\x7a\xfc\xf6\xed\x18\x1e\xe7\xcd\x27\x5a\xc8\x83\x32\xe8\xaf\xd7\x87\xd7\x04\xf8\xb3\x84\x22\x94\xbd\x1d\x8f\xdf\xbe\xfd\xc8\x99\xfc\xd2\x48\xdd\x9e\xb0\xac\xfb\xec\xf7\xdb\x5a\x02\x99\xce\x17\x68\x06\xc5\xbf\xf8\xea\x17\xff\xf2\xe5\x94\x93\x4a\x8e\x56\xa9\x30\x7a\xbf\xc6\x16\xc4\xed\xa8\x3f\x22\xf3\x8e\xe6\x68\xca\xc5\x4e\x60\x67\x17\xb3\xa4\x46\x2b\xb8\x9b\xf7\xb6\x41\x8a\xaf\x63\x98\xe9\x90\x67\x39\xd9\x02\x80\x3a\xf0\x45\x91\x0b\xae\x1f\xf3\x1e\x11\xb8\x78\x84\x87\x33\x00\x96\x38\xb7\xb7\xfe\x92\xe6\x4a\x31\x9d\xee\x56\x20\x9e\x5c\xab\x0f\xc9\x93\x5e\x5a\xb3\x31\x62\x5b\x08\x57\xe2\xbc\xcb\x1b\x9c\xce\xc6\x47\xff\x5d\xe5\x27\xf9\x4d\xbe\x9f\x29\x0d\xab\x7f\xb2\x26\x04\x1d\xdf\xd6\x8f\x83\x3e\x17\x4c\x5c\xbc\xa3\x3c\x39\x5d\x80\x28\x76\x1d\xa9\xa2\x85\x0f\x8d\x68\xab\x4b\x96\xf7\x00\x3e\xda\x50\x2b\x00\x9e\x42\xcc\xcf\x26\x90\x30\xe2\x3e\xe9\x67\x67\xc9\xd9\x63\xbf\xf5\x7e\xf4\x8b\x7c\x51\x9e\xc0\x67\xc1\x47\x9b\xe9\x1a\xa6\xae\x9a\x68\x5a\x15\x9e\x71\x3e\x43\xa0\x1b\x4d\xb8\xb5\x1c\xb9\x52\xcd\xa4\x13\xb6\xa6\xcb\xba\x1a\x6e\x77\x2d\xc0\xfd\xf2\xab\x49\xb2\xba\xc4\x6f\x34\x37\xa3\xcd\x87\x65\x0c\x60\x03\x00\x05\x12\xb7\xbb\xc6\x79\x18\xc3\x35\xdc\x53\xb7\xa6\xcd\xa4\xa5\x49\xe6\xc3\x6e\x7b\xc5\x3f\x39\x81\x94\x0a\xd4\xca\xe7\xb1\xf0\x2e\xba\x90\xca\x6f\x74\x49\x71\x63\x94\xf0\xca\x40\xfa\x1a\x7c\xd3\xb6\xe1\x20\x31\x21\x59\xdc\x22\x0b\xd5\x9f\x8b\x50\x76\x15\x69\xd0\xbb\xb8\xc4\x16\xc1\x2b\x2e\x5c\xef\xe2\x0a\xb4\xac\xfd\x03\xad\xaf\xe0\xaa\x53\xc0\x25\x1b\x19\x23\x3b\xa5\xea\xc8\x14\x08\xee\x00\x88\xee\x3e\xee\x6f\x95\xdc\xf6\xaa\x7f\xfc\x9e\xe9\xde\x6e\xc7\xaf\xd7\x49\x6e\x89\xae\xbe\x1a\x1d\xc3\x45\x72\x76\xf3\x91\xe0\x5b\x4f\xfe\xc1\x6b\xb2\xb6\x72\xf9\xc9\x44\x41\x4d\xe9\xbf\x84\xb6\x74\xb8\xce\xe5\x5d\xd5\x01\xb2\xb7\x3d\xff\xed\x9d\x5f\x5e\xeb\xc2\x48\x26\x0d\x47\xc7\x10\x7d\x69\xad\xbd\xec\xf6\xf6\x46\x8f\xce\x75\x2e\x89\x40\x8a\x1a\xe1\x91\x27\x46\xc8\x59\x97\x68\x9f\xae\x92\xce\x7a\x74\xf2\x9f\xd0\x89\x2a\xc1\xab\x34\x50\xee\x70\x9a\x28\x03\xba\x54\x06\xf3\xbe\xea\x03\x43\x47\xaa\x96\x4c\x66\x6c\x34\x68\x3c\x8a\xa6\xbf\xa0\x05\x7f\xcd\xdf\x4f\x97\xab\x7e\xa5\x46\x2b\x8b\xf4\xc5\x31\xdd\x3c\x86\x2f\x26\xfa\x6f\x66\x41\x26\xc2\xfc\x8d\xe6\xb3\xa4\x5c\xf3\xb6\xe7\xc5\x5e\x79\xf1\xd5\x89\x4c\x42\xe5\x5f\x0b\x11\x54\x32\xd0\xf6\x84\xaf\x83\x04\x68\x37\x14\xe5\x7f\x6f\xfc\xe5\xc6\xff\x07\x00\x00\xff\xff\x76\xb1\x5b\x8e\xba\x3f\x00\x00") + +func resServerZhMessagesJsonBytes() ([]byte, error) { + return bindataRead( + _resServerZhMessagesJson, + "res/server/zh/messages.json", + ) +} + +func resServerZhMessagesJson() (*asset, error) { + bytes, err := resServerZhMessagesJsonBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "res/server/zh/messages.json", size: 16314, mode: os.FileMode(420), modTime: time.Unix(1663912932, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _resServerYaml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x4c\x90\xcd\x8e\xe2\x30\x10\x84\xef\x7e\x8a\x52\x2e\x9c\x0c\x86\x25\x2b\xd4\xf7\x3d\xac\x34\x82\xb9\x8f\x46\x23\x27\x69\x82\x85\x63\x23\xbb\xc3\xdf\xd3\x8f\x42\x82\xe0\xf8\xe5\x53\x57\xca\xe5\x5d\xe7\x84\x14\xd0\xb8\x6c\x2b\xcf\x04\x49\x3d\x2b\x60\x14\x30\x0a\xa8\xfa\x94\x85\x50\xaa\xce\x5e\x75\x76\x77\x26\x2c\xcd\x6a\x3d\xe0\x1b\xe5\x5b\x16\xee\x86\xa8\x33\xa7\xec\x62\x20\xfc\x99\x0f\xe7\xde\x86\xb6\xb7\x2d\x13\xee\x87\x01\xf9\xcc\x9e\xd0\x70\xd5\xb7\x0a\xb0\x4d\x93\x08\xb4\x31\x9b\x52\x01\x59\xac\xb8\x5a\x9f\x12\xef\xdd\x95\xb0\xe8\x4f\x3e\xda\xe6\x4d\x58\x39\x10\x16\x23\xbd\xec\x85\xab\x49\xcd\x9f\xae\x71\x59\x14\x20\xae\x63\xbd\x8f\xa9\xb3\x42\x28\x56\xc6\xfc\xd5\x66\xa9\xcd\x0a\xcb\x92\xcc\x9a\x4c\x59\xa8\xbb\x3d\xd1\xab\x97\x0b\xfb\xa8\x80\xe7\x49\x1d\x43\x8e\x7e\x18\xe4\xd9\x69\xf6\xb5\xfb\xd4\xbb\xed\xc7\xff\xed\xbf\x6f\xcc\x1e\xcb\x25\xae\x25\x26\x82\x8f\xed\x63\xb9\x70\xd4\xc1\x76\x4c\xf0\x56\x38\xcb\xcf\xf8\x3d\x1f\xe2\x45\x7b\x17\x5e\x1b\x73\xa8\x63\xc3\x7a\xfa\x73\x51\x8c\xef\xac\x8f\x92\x6c\xcd\xfa\xc8\x37\x7a\xe3\x21\x39\xb6\xda\x05\x3d\x75\x9a\x62\x7e\x03\x00\x00\xff\xff\x97\x31\xdf\x82\xc2\x01\x00\x00") + +func resServerYamlBytes() ([]byte, error) { + return bindataRead( + _resServerYaml, + "res/server.yaml", + ) +} + +func resServerYaml() (*asset, error) { + bytes, err := resServerYamlBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "res/server.yaml", size: 450, mode: os.FileMode(420), modTime: time.Unix(1650437323, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _resTemplateBatTpl = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\x48\x4d\xce\xc8\x57\xc8\x4f\x4b\xe3\x2a\x4e\x2d\xc9\xc9\x4f\x4e\xcc\x51\x48\xcd\x4b\x4c\xca\x49\x4d\x49\xcd\x49\xac\x4c\x4d\x49\xad\x28\x48\xcc\x2b\xce\xcc\xcf\xe3\x4a\xcf\x2f\xc9\x57\x28\x2e\x49\x2c\x2a\xe1\xe2\x52\x2d\xe6\xe2\xb2\x42\xb0\x01\x01\x00\x00\xff\xff\xec\x71\x37\xff\x45\x00\x00\x00") + +func resTemplateBatTplBytes() ([]byte, error) { + return bindataRead( + _resTemplateBatTpl, + "res/template/bat.tpl", + ) +} + +func resTemplateBatTpl() (*asset, error) { + bytes, err := resTemplateBatTplBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "res/template/bat.tpl", size: 69, mode: os.FileMode(420), modTime: time.Unix(1620439769, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _resTemplateGoTpl = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x2a\x48\x4c\xce\x4e\x4c\x4f\x55\xc8\x4d\xcc\xcc\xe3\xd2\xd7\xd2\xe2\xe2\x52\x2d\xe6\xe2\xd2\xd2\x87\xd0\x69\xa5\x79\xc9\x60\x29\x0d\xcd\x6a\x2e\xae\x5a\x40\x00\x00\x00\xff\xff\xaf\x9b\xf0\x2a\x2d\x00\x00\x00") + +func resTemplateGoTplBytes() ([]byte, error) { + return bindataRead( + _resTemplateGoTpl, + "res/template/go.tpl", + ) +} + +func resTemplateGoTpl() (*asset, error) { + bytes, err := resTemplateGoTplBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "res/template/go.tpl", size: 45, mode: os.FileMode(420), modTime: time.Unix(1661750822, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _resTemplateLuaTpl = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x52\x56\xd4\x2f\x2d\x2e\xd2\x4f\xca\xcc\xd3\x4f\xcd\x2b\x53\xc8\x29\x4d\xe4\xd2\xd5\x8d\x8e\xe6\xe2\x52\x2d\xe6\xe2\x8a\x8d\x05\xd3\x80\x00\x00\x00\xff\xff\x1f\x1e\x5a\x65\x24\x00\x00\x00") + +func resTemplateLuaTplBytes() ([]byte, error) { + return bindataRead( + _resTemplateLuaTpl, + "res/template/lua.tpl", + ) +} + +func resTemplateLuaTpl() (*asset, error) { + bytes, err := resTemplateLuaTplBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "res/template/lua.tpl", size: 36, mode: os.FileMode(420), modTime: time.Unix(1620439775, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _resTemplatePerlTpl = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x52\x56\xd4\x2f\x2d\x2e\xd2\x4f\xca\xcc\xd3\x4f\xcd\x2b\x53\x28\x48\x2d\xca\xe1\xb2\x2d\xc8\x4f\xe1\xe2\x52\x2d\xe6\xe2\xb2\x4d\x2e\x2d\x01\xb3\x00\x01\x00\x00\xff\xff\x35\x1c\x1d\xdc\x27\x00\x00\x00") + +func resTemplatePerlTplBytes() ([]byte, error) { + return bindataRead( + _resTemplatePerlTpl, + "res/template/perl.tpl", + ) +} + +func resTemplatePerlTpl() (*asset, error) { + bytes, err := resTemplatePerlTplBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "res/template/perl.tpl", size: 39, mode: os.FileMode(420), modTime: time.Unix(1620439781, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _resTemplatePhpTpl = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x52\x56\xd4\x2f\x2d\x2e\xd2\x4f\xca\xcc\xd3\x4f\xcd\x2b\x53\x28\xc8\x28\xe0\xb2\xb1\x07\x91\xfa\x5a\x5a\x5c\x5c\xaa\xc5\x5c\x5c\x5a\xfa\x10\xda\xde\x8e\x0b\x10\x00\x00\xff\xff\xdc\xd3\x2c\x29\x2d\x00\x00\x00") + +func resTemplatePhpTplBytes() ([]byte, error) { + return bindataRead( + _resTemplatePhpTpl, + "res/template/php.tpl", + ) +} + +func resTemplatePhpTpl() (*asset, error) { + bytes, err := resTemplatePhpTplBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "res/template/php.tpl", size: 45, mode: os.FileMode(420), modTime: time.Unix(1620441031, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _resTemplatePythonTpl = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x52\x56\xd4\x2f\x2d\x2e\xd2\x4f\xca\xcc\xd3\x4f\xcd\x2b\x53\x28\xa8\x2c\xc9\xc8\xcf\xe3\x52\x56\xd0\xd5\xd2\x55\x48\xce\x4f\xc9\xcc\x4b\xb7\x52\x28\x2d\x49\xd3\xb5\x00\x89\x70\xa9\xab\xab\x73\x71\xa9\x16\x73\x81\x19\xaa\xc5\x5c\x80\x00\x00\x00\xff\xff\xbd\x94\x15\x60\x3e\x00\x00\x00") + +func resTemplatePythonTplBytes() ([]byte, error) { + return bindataRead( + _resTemplatePythonTpl, + "res/template/python.tpl", + ) +} + +func resTemplatePythonTpl() (*asset, error) { + bytes, err := resTemplatePythonTplBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "res/template/python.tpl", size: 62, mode: os.FileMode(420), modTime: time.Unix(1661391774, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _resTemplateRubyTpl = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x52\x56\xd4\x2f\x2d\x2e\xd2\x4f\xca\xcc\xd3\x4f\xcd\x2b\x53\x28\x2a\x4d\xaa\xe4\xb2\x4d\x4a\x4d\xcf\xcc\xe3\xe2\x52\x2d\xe6\xe2\xb2\x4d\xcd\x4b\x01\xb3\x00\x01\x00\x00\xff\xff\xdc\xbe\x00\xac\x29\x00\x00\x00") + +func resTemplateRubyTplBytes() ([]byte, error) { + return bindataRead( + _resTemplateRubyTpl, + "res/template/ruby.tpl", + ) +} + +func resTemplateRubyTpl() (*asset, error) { + bytes, err := resTemplateRubyTplBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "res/template/ruby.tpl", size: 41, mode: os.FileMode(420), modTime: time.Unix(1620439794, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _resTemplateShellTpl = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x52\x56\xd4\x2f\x2d\x2e\xd2\x4f\xca\xcc\xd3\x4f\xcd\x2b\x53\x48\x4a\x2c\xce\xe0\xb2\xb2\xb1\x51\xe4\xe2\x52\x2d\xe6\xe2\x82\x50\x80\x00\x00\x00\xff\xff\xf4\x3d\xdc\x8b\x24\x00\x00\x00") + +func resTemplateShellTplBytes() ([]byte, error) { + return bindataRead( + _resTemplateShellTpl, + "res/template/shell.tpl", + ) +} + +func resTemplateShellTpl() (*asset, error) { + bytes, err := resTemplateShellTplBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "res/template/shell.tpl", size: 36, mode: os.FileMode(420), modTime: time.Unix(1620439799, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _resTemplateTclTpl = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x52\x56\xd4\x2f\x2d\x2e\xd2\x4f\xca\xcc\xd3\x4f\xcd\x2b\x53\x28\x49\xce\x29\xce\xe0\x2a\x4e\x2d\x51\x48\x4e\x2c\x4e\x55\xa8\xe6\xe2\x52\x2d\xe6\xe2\xaa\x05\x53\x80\x00\x00\x00\xff\xff\xa3\x93\x1a\x35\x2b\x00\x00\x00") + +func resTemplateTclTplBytes() ([]byte, error) { + return bindataRead( + _resTemplateTclTpl, + "res/template/tcl.tpl", + ) +} + +func resTemplateTclTpl() (*asset, error) { + bytes, err := resTemplateTclTplBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "res/template/tcl.tpl", size: 43, mode: os.FileMode(420), modTime: time.Unix(1620439806, 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, fmt.Errorf("Asset %s not found", name) +} + +// MustAsset is like Asset but panics when Asset would return an error. +// It simplifies safe initialization of global variables. +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, fmt.Errorf("AssetInfo %s not found", name) +} + +// AssetNames returns the names of the assets. +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){ + "res/doc/sample.txt": resDocSampleTxt, + "res/doc/usage.txt": resDocUsageTxt, + "res/server/en/messages.json": resServerEnMessagesJson, + "res/server/zh/messages.json": resServerZhMessagesJson, + "res/server.yaml": resServerYaml, + "res/template/bat.tpl": resTemplateBatTpl, + "res/template/go.tpl": resTemplateGoTpl, + "res/template/lua.tpl": resTemplateLuaTpl, + "res/template/perl.tpl": resTemplatePerlTpl, + "res/template/php.tpl": resTemplatePhpTpl, + "res/template/python.tpl": resTemplatePythonTpl, + "res/template/ruby.tpl": resTemplateRubyTpl, + "res/template/shell.tpl": resTemplateShellTpl, + "res/template/tcl.tpl": resTemplateTclTpl, +} + +// 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, fmt.Errorf("Asset %s not found", name) + } + } + } + if node.Func != nil { + return nil, fmt.Errorf("Asset %s not found", name) + } + 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{nil, map[string]*bintree{ + "res": &bintree{nil, map[string]*bintree{ + "doc": &bintree{nil, map[string]*bintree{ + "sample.txt": &bintree{resDocSampleTxt, map[string]*bintree{}}, + "usage.txt": &bintree{resDocUsageTxt, map[string]*bintree{}}, + }}, + "server": &bintree{nil, map[string]*bintree{ + "en": &bintree{nil, map[string]*bintree{ + "messages.json": &bintree{resServerEnMessagesJson, map[string]*bintree{}}, + }}, + "zh": &bintree{nil, map[string]*bintree{ + "messages.json": &bintree{resServerZhMessagesJson, map[string]*bintree{}}, + }}, + }}, + "server.yaml": &bintree{resServerYaml, map[string]*bintree{}}, + "template": &bintree{nil, map[string]*bintree{ + "bat.tpl": &bintree{resTemplateBatTpl, map[string]*bintree{}}, + "go.tpl": &bintree{resTemplateGoTpl, map[string]*bintree{}}, + "lua.tpl": &bintree{resTemplateLuaTpl, map[string]*bintree{}}, + "perl.tpl": &bintree{resTemplatePerlTpl, map[string]*bintree{}}, + "php.tpl": &bintree{resTemplatePhpTpl, map[string]*bintree{}}, + "python.tpl": &bintree{resTemplatePythonTpl, map[string]*bintree{}}, + "ruby.tpl": &bintree{resTemplateRubyTpl, map[string]*bintree{}}, + "shell.tpl": &bintree{resTemplateShellTpl, map[string]*bintree{}}, + "tcl.tpl": &bintree{resTemplateTclTpl, 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 + } + err = os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime()) + if err != nil { + return err + } + return nil +} + +// 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, "/")...)...) +} -- GitLab