github.com/JFJun/bsc@v1.0.0/cmd/faucet/website.go (about)

     1  // Code generated by go-bindata. DO NOT EDIT.
     2  // sources:
     3  // faucet.html (9.293kB)
     4  
     5  package main
     6  
     7  import (
     8  	"bytes"
     9  	"compress/gzip"
    10  	"crypto/sha256"
    11  	"fmt"
    12  	"io"
    13  	"io/ioutil"
    14  	"os"
    15  	"path/filepath"
    16  	"strings"
    17  	"time"
    18  )
    19  
    20  func bindataRead(data []byte, name string) ([]byte, error) {
    21  	gz, err := gzip.NewReader(bytes.NewBuffer(data))
    22  	if err != nil {
    23  		return nil, fmt.Errorf("read %q: %v", name, err)
    24  	}
    25  
    26  	var buf bytes.Buffer
    27  	_, err = io.Copy(&buf, gz)
    28  	clErr := gz.Close()
    29  
    30  	if err != nil {
    31  		return nil, fmt.Errorf("read %q: %v", name, err)
    32  	}
    33  	if clErr != nil {
    34  		return nil, err
    35  	}
    36  
    37  	return buf.Bytes(), nil
    38  }
    39  
    40  type asset struct {
    41  	bytes  []byte
    42  	info   os.FileInfo
    43  	digest [sha256.Size]byte
    44  }
    45  
    46  type bindataFileInfo struct {
    47  	name    string
    48  	size    int64
    49  	mode    os.FileMode
    50  	modTime time.Time
    51  }
    52  
    53  func (fi bindataFileInfo) Name() string {
    54  	return fi.name
    55  }
    56  func (fi bindataFileInfo) Size() int64 {
    57  	return fi.size
    58  }
    59  func (fi bindataFileInfo) Mode() os.FileMode {
    60  	return fi.mode
    61  }
    62  func (fi bindataFileInfo) ModTime() time.Time {
    63  	return fi.modTime
    64  }
    65  func (fi bindataFileInfo) IsDir() bool {
    66  	return false
    67  }
    68  func (fi bindataFileInfo) Sys() interface{} {
    69  	return nil
    70  }
    71  
    72  var _faucetHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x5a\x5b\x93\xdb\x36\xb2\x7e\x96\x7f\x45\x87\xc7\x89\xa8\x33\x43\x52\xf2\xe4\x56\x12\xa9\x53\x1e\x27\x27\x35\x5b\xb5\x4e\x6a\x9d\xd4\xee\x56\x92\x07\x88\x68\x89\xf0\x80\x00\x03\x80\xd2\x28\x2a\xfd\xf7\x2d\x80\x17\x91\x94\x66\x62\xc7\xde\xda\x5a\x3f\x8c\x71\x69\x74\x7f\xe8\x6e\xa0\xbb\x41\xc5\x9f\x7c\xf3\xfd\xab\x1f\xff\xf9\xc3\xb7\x90\x99\x9c\x2f\x9f\xc5\xf6\x3f\xe0\x44\x6c\x12\x0f\x85\xb7\x7c\x36\x8a\x33\x24\x74\xf9\x6c\x34\x8a\x73\x34\x04\xd2\x8c\x28\x8d\x26\xf1\x4a\xb3\x0e\xbe\xf6\x4e\x13\x99\x31\x45\x80\xbf\x95\x6c\x9b\x78\xff\x08\x7e\x7a\x19\xbc\x92\x79\x41\x0c\x5b\x71\xf4\x20\x95\xc2\xa0\x30\x89\x77\xf7\x6d\x82\x74\x83\x9d\x75\x82\xe4\x98\x78\x5b\x86\xbb\x42\x2a\xd3\x21\xdd\x31\x6a\xb2\x84\xe2\x96\xa5\x18\xb8\xce\x35\x30\xc1\x0c\x23\x3c\xd0\x29\xe1\x98\xcc\xbc\xe5\x33\xcb\xc7\x30\xc3\x71\x79\x38\x84\xaf\xd1\xec\xa4\xba\x3f\x1e\xe7\xf0\xff\xa4\x4c\xd1\xc4\x51\x35\xe7\xc8\x38\x13\xf7\x90\x29\x5c\x27\x9e\x05\xab\xe7\x51\x94\x52\xf1\x56\x87\x29\x97\x25\x5d\x73\xa2\x30\x4c\x65\x1e\x91\xb7\xe4\x21\xe2\x6c\xa5\x23\xb3\x63\xc6\xa0\x0a\x56\x52\x1a\x6d\x14\x29\xa2\x9b\xf0\x26\xfc\x2a\x4a\xb5\x8e\xda\xb1\x30\x67\x22\x4c\xb5\xf6\x40\x21\x4f\x3c\x6d\xf6\x1c\x75\x86\x68\x3c\x88\x96\x7f\x4e\xee\x5a\x0a\x13\x90\x1d\x6a\x99\x63\xf4\x79\xf8\x55\x38\x75\x22\xbb\xc3\x4f\x4b\xb5\x62\x75\xaa\x58\x61\x40\xab\xf4\x9d\xe5\xbe\xfd\xad\x44\xb5\x8f\x6e\xc2\x59\x38\xab\x3b\x4e\xce\x5b\xed\x2d\xe3\xa8\x62\xb8\xfc\x20\xde\x81\x90\x66\x1f\xbd\x08\x3f\x0f\x67\x51\x41\xd2\x7b\xb2\x41\xda\x48\xb2\x53\x61\x33\xf8\xd1\xe4\x3e\x66\xc3\xb7\x43\x13\x7e\x0c\x61\xb9\xcc\x51\x98\xf0\xad\x8e\x5e\x84\xb3\xaf\xc3\x69\x33\x70\xce\xdf\x09\xb0\x46\xb3\xa2\x46\xe1\x16\x95\x61\x29\xe1\x41\x8a\xc2\xa0\x82\x83\x1d\x1d\xe5\x4c\x04\x19\xb2\x4d\x66\xe6\x30\x9b\x4e\x3f\x5d\x5c\x1a\xdd\x66\xd5\x30\x65\xba\xe0\x64\x3f\x87\x35\xc7\x87\x6a\x88\x70\xb6\x11\x01\x33\x98\xeb\x39\x54\x9c\xdd\xc4\xd1\xc9\x2c\x94\xdc\x28\xd4\xba\x16\x56\x48\xcd\x0c\x93\x62\x6e\x3d\x8a\x18\xb6\xc5\x4b\xb4\xba\x20\xe2\x6c\x01\x59\x69\xc9\x4b\x83\x03\x20\x2b\x2e\xd3\xfb\x6a\xcc\x9d\xdf\xee\x26\x52\xc9\xa5\x9a\xc3\x2e\x63\xf5\x32\x70\x82\xa0\x50\x58\xb3\x87\x82\x50\xca\xc4\x66\x0e\x5f\x16\xf5\x7e\x20\x27\x6a\xc3\xc4\x1c\xa6\xa7\x25\x71\xd4\xa8\x31\x8e\xaa\xab\xea\xd9\x28\x5e\x49\xba\x77\x36\xa4\x6c\x0b\x29\x27\x5a\x27\xde\x40\xc5\xee\x0a\xea\x11\xd8\x9b\x87\x30\xd1\x4c\xf5\xe6\x94\xdc\x79\xe0\x04\x25\x5e\x05\x22\x58\x49\x63\x64\x3e\x87\x99\x85\x57\x2f\x19\xf0\xe3\x01\xdf\x04\xb3\x17\xcd\xe4\x28\xce\x66\x0d\x13\x83\x0f\x26\x70\xf6\x69\x2d\xe3\x2d\x63\xd6\xac\x5d\x13\x58\x93\x60\x45\x4c\xe6\x01\x51\x8c\x04\x19\xa3\x14\x45\xe2\x19\x55\xa2\xf5\x23\xb6\x84\xee\x85\xd7\xde\x77\xd9\xac\x41\x12\x51\xb6\xad\x37\xd2\x69\x0e\xf6\xf4\x38\xec\xaf\xa1\x6e\xc8\xf5\x5a\xa3\x09\x3a\xbb\xe8\x10\x33\x51\x94\x26\xd8\x28\x59\x16\xed\xfc\x28\x76\xa3\xc0\x68\xe2\x95\x8a\x7b\xf5\x15\xef\x9a\x66\x5f\xd4\x9b\xf7\xda\xad\x4a\x95\x07\x56\xf7\x4a\x72\x0f\x0a\x4e\x52\xcc\x24\xa7\xa8\x12\xef\xce\xf1\xd9\xcb\x52\xc1\x2d\x13\x44\xa4\x08\x6f\x72\xa2\x0c\xbc\xca\x08\x13\x40\x28\xb5\x3e\x19\x86\x61\x47\xb6\x73\xd0\x73\x74\xc1\xca\x88\x13\xd5\x28\x5e\x95\xc6\xc8\x96\x70\x65\x04\xac\x8c\x08\x28\xae\x49\xc9\x0d\x50\x25\x0b\x2a\x77\x22\x30\x72\xb3\xb1\x01\xac\xc2\x5d\x2d\xf2\x80\x12\x43\xea\xa9\xc4\x6b\x68\x1b\x43\x11\x5d\xc8\xa2\x2c\x6a\x53\x55\x83\xf8\x50\x10\x41\x91\x5a\xc3\x72\x8d\xde\xf2\x3b\xb6\x45\xc8\x11\x6e\x5f\xdf\x8e\x86\x56\x4f\x89\x42\x13\x74\x59\x9e\xd9\x3e\x8e\x2a\x28\xd5\x86\xa0\xfe\x17\x97\xbc\xe1\xd4\x6e\x20\x47\x51\x42\xaf\x17\x28\x7b\x75\x78\xcb\xc3\x41\x11\xb1\x41\x78\xce\xe8\xc3\x35\x3c\x27\xb9\x2c\x85\x81\x79\x02\xe1\x4b\xd7\xd4\xc7\x63\x8f\x3b\x40\xcc\xd9\x32\x26\x4f\x79\x30\x48\x91\x72\x96\xde\x27\x9e\x61\xa8\x92\xc3\xc1\x32\x3f\x1e\x17\x7a\x9f\xaf\x24\x4f\xc6\xb7\xaf\x6f\xc7\x0b\x38\x1c\xd8\x1a\x9e\x87\x7f\xc3\x94\x14\x26\xcd\xc8\xf1\xb8\x51\x4d\x3b\xc4\x07\x4c\x4b\x83\xfe\xe4\x70\x40\xae\xf1\x78\xd4\xe5\x2a\x67\xc6\x6f\x78\xd9\x71\x41\x8f\x47\xbb\x81\x1a\xf4\xf1\x18\x47\x64\x19\x47\x9c\x2d\xeb\xc9\xbe\x5a\xa2\x92\x9f\xfc\x23\xb2\x0e\xf2\xdf\xe6\x2e\x3f\xe0\x66\xb3\x07\x23\xef\x51\xe8\xff\x90\xbb\x40\xeb\x2f\x95\x31\xaf\xe1\xf9\x0a\x8b\x17\x78\x27\xd6\xd2\x79\xcd\x6d\xd3\x6b\x1c\xc7\x29\xee\x3d\x5c\xa6\x76\x92\xc3\xa1\x96\x70\x3c\xfe\x39\x57\x71\x40\xfc\x0e\x9b\x9e\xcb\xb4\xa0\x6b\x37\x7f\x63\xd4\xf1\x08\x1d\xea\x3f\xeb\x4b\xd5\x2d\xeb\x00\x77\xf1\x5e\xb8\x34\x37\x41\xbb\x87\xda\x39\x34\x33\x78\x8f\xfb\xc4\x3b\x1c\xba\x6b\xeb\xd9\x94\x70\xbe\x22\x4e\x45\x6e\x83\xed\xa2\xdf\xd1\x3a\xed\x96\x69\x97\x65\x2f\x1b\x04\x27\xd8\xef\x18\x05\x06\x91\xcd\xc8\x62\x0e\x37\x2f\x3a\x61\xed\x52\x80\xf8\x72\x10\x20\x6e\x2e\x12\x17\x44\x20\x07\xf7\x37\xd0\x39\xe1\x4d\xbb\x3e\x3a\x9d\x8b\x7b\xb8\x28\xb0\x41\xbc\x85\xd6\x26\x03\xd3\x05\xc8\x2d\xaa\x35\x97\xbb\x39\x90\xd2\xc8\x05\xe4\xe4\xa1\x4d\x88\x6e\xa6\xd3\x2e\x6e\x5b\x1d\x90\x15\x47\x17\x8c\x14\xfe\x56\xa2\x36\xba\x0d\x3d\xd5\x94\xfb\x6b\x23\x10\x45\xa1\x91\x0e\xb4\x61\x25\x5a\xd5\x3a\xaa\x8e\xe9\x5b\x65\x5e\xc4\xbe\x96\xb2\xcd\x31\xba\x30\x6a\xd6\x9d\x74\xc8\x5b\xc6\x46\x9d\xe8\x46\xb1\xa1\xef\x95\x23\x28\x5b\x03\x3c\x96\x22\x54\xd7\x9b\xdd\x7b\x81\xa8\xaa\x04\xd4\xba\x2c\xb8\x6e\x1c\x19\xfa\x01\x92\xad\x13\xae\x88\xc6\x77\x11\xef\x52\xc1\x93\x78\xd7\xfd\x50\xf9\x19\x12\x65\x56\x48\xcc\xbb\x00\x58\x97\x82\x76\xf6\x7f\xfb\xfa\xf6\x43\xc5\x97\x82\x6d\x51\x69\x66\xf6\xef\x2a\x1f\xe9\x09\x40\xd5\xef\x43\x88\x23\xa3\x9e\xf6\xb4\x6e\xe7\xe2\xd1\x6e\x5b\x75\xe3\x54\xc7\xb8\xe9\x28\x82\xef\xb8\x5c\x11\x0e\x5b\x0b\x79\xc5\x51\x83\x91\x60\xf3\x2d\x30\x19\x42\x5a\x2a\x85\xc2\x80\x36\xc4\x94\x1a\xe4\xda\x8d\xae\x5d\x6e\x69\xd7\x6f\x89\x02\x62\x0c\xe6\x85\x81\xa4\xce\xc2\xed\x98\x46\xb5\xad\x6b\x0b\xdb\xb5\xc1\xbf\x3f\x5f\x5d\xed\x9e\xd7\x8e\x34\x67\x11\x12\xf8\xf9\xd7\xc5\xb3\x1a\xdc\x37\xb8\x66\x02\x81\x58\xf5\xa4\xb6\xb6\x00\x93\x11\x03\xa9\x42\x62\x50\x43\xca\xa5\x2e\x55\x85\xd9\x06\x29\xb0\xb8\x1b\x4e\x0d\x67\x3b\x51\x38\xf9\x0d\x13\x3f\x23\x3a\x9b\xd4\x65\x85\x42\x53\x2a\x71\x9a\x6b\xc6\x47\x6b\xa9\xc0\xb7\x0c\x58\x32\x5d\x00\x8b\x1b\xbe\x21\x47\xb1\x31\xd9\x02\xd8\xd5\x55\x4b\x3c\x62\x6b\xf0\x1b\x8a\x9f\xd9\xaf\xa1\x79\x08\xad\x14\x48\x12\xe8\x4a\x73\x02\x6b\x3e\xba\xe0\x2c\x45\x9f\x5d\xc3\x6c\xb2\x68\x66\x57\x0a\xc9\x7d\xd3\xab\x2f\xed\xea\x3f\xf7\xf7\xb8\xe8\x6b\xc6\x99\xa3\xa7\x9b\x2a\x24\x68\x20\xb0\x61\xda\x40\xa9\xb8\xd5\x8e\xa5\xab\x8c\xd2\x9a\xc0\xd1\x75\xb5\x72\x16\xaa\xea\x46\x1d\x40\x9a\x2d\x54\x6c\x42\x8d\x82\xfa\x7f\x79\xf3\xfd\xeb\x50\x1b\xc5\xc4\x86\xad\xf7\xfe\xa1\x54\x7c\x0e\xcf\x7d\xef\x7f\x6c\x72\x3f\xf9\x79\xfa\x6b\xb8\x25\xbc\xc4\xeb\xda\xe0\x73\x68\x72\x05\xeb\x11\x73\xf7\xf7\x4c\xea\x35\xd4\xcd\x39\xf4\x01\x1c\x27\x93\xc5\xe5\x70\xda\xc9\x01\x14\x6a\x34\xbe\x25\x6c\xa3\xde\x50\x67\x04\x72\x34\x99\xa4\x56\x2f\x0a\x53\x29\x04\xa6\x06\xca\x42\x8a\x5a\x45\xc0\xa5\xd6\x27\xc7\x6c\x28\x92\x73\x27\xa9\xe9\x13\x10\xb8\x83\xbf\xe3\xea\x8d\x4c\xef\xd1\xf8\xbe\xbf\x63\x82\xca\x5d\xc8\x65\x4a\xec\x02\x5b\x2f\x1b\x99\x4a\x0e\x49\x92\x40\xfd\x7a\xe0\x4d\xe0\xff\xc0\xdb\x69\x3d\x8f\x22\x0f\xe6\xb6\x69\x5b\x13\xb8\x82\xe1\xf2\x4c\x6a\x03\x57\xe0\x45\xd5\xd1\xb3\x91\x53\x99\x88\x14\xcc\x9b\x54\x67\xa5\xb1\x8a\x14\x39\x6a\x4d\x36\xd8\x45\x8b\x5b\x14\xa6\xf5\x40\xbb\xa9\x5c\x6f\x20\x01\x67\xbd\x82\x28\x8d\x15\x49\x68\x6f\xf0\xc6\x15\xad\x43\x3b\xb2\x24\x01\x51\x72\x7e\xf2\xe0\xea\xc4\x2c\x1a\xdf\xec\x91\x87\xee\x5e\x85\x4f\x92\x04\xec\x85\x66\xf5\x4d\x4f\x2b\xad\x67\x54\x17\xef\x24\xb4\x77\xea\x69\xc5\x64\xd1\x75\xf5\x1e\x37\xa4\x7f\xc4\x0e\xe9\x90\x1f\xd2\x47\x18\xba\x38\xf7\x14\xbf\x2a\x2e\x76\xd8\xb9\x81\x47\xb8\x89\x32\x5f\xa1\x7a\x8a\x5d\x15\xe7\x6a\x76\x4e\xd5\x77\xc2\x74\xd6\x5e\xc3\xec\xcb\xc9\x23\xdc\x51\x29\xf9\x28\x73\x21\xcd\xde\x3f\x70\xb2\x97\xa5\x99\xc3\xd8\xc8\xe2\x95\x0b\x4c\xe3\x6b\xb0\xb2\xe6\xd0\x72\xb8\x76\xd5\xc7\x1c\xc6\xae\x67\xe7\x59\x8e\x6e\xd5\x17\xd3\xe9\xf4\x1a\x9a\xa7\x9c\x5b\x62\x4f\xa4\x2a\xf1\xf8\x08\x1e\x5d\xa6\x29\xea\x47\xb5\xf7\x4e\x88\x6a\x1e\x2d\xa6\xba\xff\x01\xa8\xda\xc0\xd1\x83\x05\x9f\x7d\x06\x67\xb3\x7d\x37\x8e\x22\xf8\x2b\x51\xf7\xe0\x72\x50\x85\x5b\x26\x4b\x7d\x0a\x43\x39\xd3\x9a\x89\x0d\x10\x0d\x54\x0a\xac\xd7\xbc\x5f\x4c\x38\xc3\x58\x93\xc1\x12\xa6\x43\x80\xf6\xae\xec\xc4\x8c\x0b\xa1\xa4\xc3\xb7\x1f\x25\x46\xc7\xae\xbc\xde\x4a\x96\x23\x7c\x92\x80\xe7\x75\x17\x9f\x51\x58\x82\x96\xd9\x48\xa3\xf9\xb1\xb2\x85\x5f\x87\xce\x4b\x81\x6d\x72\x6d\x53\xeb\xe9\xe4\x0c\xc4\xf1\xa4\xde\x97\x45\x81\x82\x02\x11\x7b\x77\x3f\xb6\xba\x65\xc2\x48\x90\xa5\xbd\x67\x53\xc2\x6d\xd9\xc0\xd1\xdd\x54\xf5\x52\xab\xe0\x54\xe6\xb9\x14\x90\x40\x30\x5b\x5c\x08\xb1\x1d\x4d\x76\xb6\x36\x34\xcf\x05\xdd\x0f\x4d\xd4\xd7\xd9\x80\x38\x98\xf5\x8c\xd2\xb3\xd7\x65\xc3\x8c\x5a\xdc\xec\xa4\xd1\x81\xb9\x4e\xf6\x1a\xea\xac\x83\xbf\xe2\x73\x35\x7b\xc7\x6d\xb4\xd3\x45\xa9\x33\x7f\x00\x74\xb2\x38\xb7\xcd\x9d\x41\x45\x0c\xba\xda\xc9\xd9\x02\x85\x61\x0a\xcf\x4c\x02\x44\xd8\x94\x2a\x50\x28\x28\xaa\x26\xdf\xb0\xa5\x57\x55\x27\xf5\x4c\xe6\xbe\xd4\xf4\xdc\xe9\x3d\x0f\x8c\xcb\xd7\xa4\x40\x5b\x5a\x0f\x0e\x81\x73\xd4\x9e\xa7\x5a\x62\xe4\xa4\xd0\x48\x21\x81\xea\x65\xdd\x9f\x84\xa5\x60\x0f\xfe\x24\xa8\xfb\x43\x1e\xcd\x7c\x1d\x36\x9d\xc5\x2a\xd8\x57\x09\x78\xb1\x51\x36\x3b\x1f\x7b\x70\x75\xe9\x08\xda\x10\x3c\x5e\x9e\x10\x74\x97\x02\xc4\x86\x2e\x5d\xe5\x57\x55\x0d\xbf\x78\xb6\x46\xdf\x28\x59\x0a\x3a\xb7\x79\x98\x7f\xc6\x96\x6c\x89\x21\xca\x71\x9d\x2c\xe0\x44\xee\x4a\xf9\x39\xa4\xd6\x38\x0b\xa8\x8a\x43\x57\x7f\x43\x5b\xd6\xba\xde\x4a\x2a\x8a\x2a\x50\x84\xb2\x52\xcf\xe1\xf3\xe2\x61\xf1\x4b\x53\xf6\xbb\x52\xe2\x49\xa8\x85\xc2\xe5\x19\xa2\x34\x75\xcf\x7e\x57\xe0\xc5\x91\x25\xf8\x23\x36\xed\x66\xbb\x2f\xfa\x70\xa1\x60\x82\xf6\xbd\xbd\x1e\xcf\x19\xa5\x1c\x2d\xe0\x13\x7b\x7b\x18\xad\xfd\xbb\x47\xaa\x2f\x12\xea\x4a\xe9\xb4\xe6\x08\xc8\x35\x3e\xb1\xa0\x2d\xba\xc6\xd6\x01\x02\xbb\x65\xe6\x74\x5e\xd7\x6f\x6e\x58\x8d\x9d\x2e\xea\xef\x33\xb4\x54\x2e\xf1\xf2\x83\xda\xc1\xae\x61\xac\x6d\x22\x48\xf5\x78\x12\x66\x65\x4e\x04\xfb\x1d\x7d\x1b\x97\x26\x95\xae\x5c\x15\xe7\x9d\x5f\xc9\x67\x60\x4e\x4f\x03\xe3\x26\xc6\x8d\x6b\x25\x8e\x1b\xeb\x5a\x43\x76\xbe\x6d\x8c\xdf\x53\x43\x97\xa5\x04\x2b\xa2\xa0\xdb\x09\x9a\xe0\x0b\x4a\x5a\xe9\xcd\xdc\x8a\xa8\x71\x55\xc1\xba\xe4\x5d\xc8\x5d\x32\xbe\x99\xb6\x20\x2b\x43\x3b\x3b\x8f\x6b\x5f\x3b\x33\x86\x45\xd9\x1c\xcd\x25\xdc\x4c\x3f\x06\x5a\x4a\xc4\x06\x87\x3b\x30\x8a\x15\x48\x81\xa4\x86\x6d\xf1\xdf\xb0\x91\x8f\xa0\xe4\xf7\x86\x68\xfd\xb0\x51\x9e\x73\xd3\x1e\x5e\x3b\xdb\xea\xf6\x7f\xed\x79\x83\xc8\x69\xf8\x0a\xbc\x8b\x1b\x79\xd4\x13\x07\x84\x83\xa3\xfd\xf8\xb9\x77\xcf\x12\xde\x30\xa6\xd8\x6c\xb7\x7d\x50\x9b\x84\x99\xc9\xb9\xef\xc5\xc6\x7d\x79\xb3\x98\x5b\x0e\x8e\x41\x35\xdc\x4f\xe9\x8e\xfd\x42\xc6\x16\xf7\x38\x28\xba\xa0\x93\x9c\xb4\x85\x59\x93\x89\xc0\xf1\xf4\x81\x32\x8a\xe0\x8d\x21\xca\x00\x81\x9f\xee\xa0\x2c\x28\x31\x36\x7a\x49\xb0\xf1\xd1\x45\xb1\xf6\x0b\xe6\x8a\x28\x0d\x6b\xa9\x76\x44\x51\x28\x85\x61\xdc\xce\xef\x81\x28\x6c\x53\x3f\x8d\xe6\xce\xde\x62\x5b\xc2\xfd\xb3\x22\xf0\xb9\x3f\x0e\xbb\x26\x1f\x4f\x42\x24\x69\x76\x4e\xe8\x22\x56\x2b\x37\x81\xd7\xae\x04\xf0\x9f\xfb\x26\x63\x7a\x12\x12\x63\x94\x3f\xee\x39\xc3\x78\x62\xed\x3a\xeb\x94\x64\xed\xf2\xb8\x77\xac\x9e\xe2\x71\x4a\xa6\xdb\x44\xa0\x21\x4f\xb5\xf6\x2b\xbf\x1a\x5f\x77\x78\xf7\xdd\x6a\xfc\xe9\xb8\x35\xd4\xe9\x78\x9f\xf6\x91\x5c\x44\xd2\x63\x3d\xb6\xa7\x6c\x7c\x26\x9e\x50\xfa\xca\x9e\x1f\xdf\xbb\x70\xd2\x87\xde\x31\x69\x95\x5d\xdd\xd7\x4f\x6a\x99\x09\x8a\x0f\x8f\xa9\x98\xd1\xf1\x24\xd4\xe5\xaa\x7a\xb8\xf0\xbf\x68\x0b\xb0\x86\xcc\x39\xef\x30\x14\x9c\x25\x14\x56\x44\x3f\xa9\x08\x06\x49\xc8\x13\x51\xa3\x16\x59\xed\xea\x78\x6d\x15\x3e\x9d\xb4\xef\x5e\xdf\x6a\x9b\x5c\x31\x9d\x01\x81\x1d\xae\xb4\x7b\x56\x80\xda\xdf\xdd\x53\x4f\xf5\xa4\xf3\xf2\x87\xbb\xce\xb3\x4e\x7b\x22\x7c\xc7\xbd\xfd\x71\xc1\xa5\x47\x93\x8b\xbf\x66\xd8\xed\x76\xe1\x46\xca\x0d\xaf\x7e\xc7\xd0\xbe\xaa\x44\xa4\x60\xe1\x5b\xed\x01\xd1\x7b\x91\x02\xc5\x35\xaa\x65\x87\x7d\xfd\xd4\x12\x47\xd5\x77\xf6\x38\xaa\x7e\x3c\xf4\xaf\x00\x00\x00\xff\xff\xd9\xd8\xd1\x5e\x4d\x24\x00\x00")
    73  
    74  func faucetHtmlBytes() ([]byte, error) {
    75  	return bindataRead(
    76  		_faucetHtml,
    77  		"faucet.html",
    78  	)
    79  }
    80  
    81  func faucetHtml() (*asset, error) {
    82  	bytes, err := faucetHtmlBytes()
    83  	if err != nil {
    84  		return nil, err
    85  	}
    86  
    87  	info := bindataFileInfo{name: "faucet.html", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
    88  	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc0, 0x42, 0xb4, 0x67, 0xdf, 0x31, 0x8e, 0x4f, 0xcc, 0x2c, 0xe0, 0x3, 0x84, 0x98, 0xd4, 0x9a, 0x57, 0x86, 0x2f, 0x32, 0xf3, 0x4, 0x88, 0x0, 0xc2, 0x31, 0x7d, 0xea, 0x46, 0x4a, 0x1b, 0x3a}}
    89  	return a, nil
    90  }
    91  
    92  // Asset loads and returns the asset for the given name.
    93  // It returns an error if the asset could not be found or
    94  // could not be loaded.
    95  func Asset(name string) ([]byte, error) {
    96  	canonicalName := strings.Replace(name, "\\", "/", -1)
    97  	if f, ok := _bindata[canonicalName]; ok {
    98  		a, err := f()
    99  		if err != nil {
   100  			return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err)
   101  		}
   102  		return a.bytes, nil
   103  	}
   104  	return nil, fmt.Errorf("Asset %s not found", name)
   105  }
   106  
   107  // AssetString returns the asset contents as a string (instead of a []byte).
   108  func AssetString(name string) (string, error) {
   109  	data, err := Asset(name)
   110  	return string(data), err
   111  }
   112  
   113  // MustAsset is like Asset but panics when Asset would return an error.
   114  // It simplifies safe initialization of global variables.
   115  func MustAsset(name string) []byte {
   116  	a, err := Asset(name)
   117  	if err != nil {
   118  		panic("asset: Asset(" + name + "): " + err.Error())
   119  	}
   120  
   121  	return a
   122  }
   123  
   124  // MustAssetString is like AssetString but panics when Asset would return an
   125  // error. It simplifies safe initialization of global variables.
   126  func MustAssetString(name string) string {
   127  	return string(MustAsset(name))
   128  }
   129  
   130  // AssetInfo loads and returns the asset info for the given name.
   131  // It returns an error if the asset could not be found or
   132  // could not be loaded.
   133  func AssetInfo(name string) (os.FileInfo, error) {
   134  	canonicalName := strings.Replace(name, "\\", "/", -1)
   135  	if f, ok := _bindata[canonicalName]; ok {
   136  		a, err := f()
   137  		if err != nil {
   138  			return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err)
   139  		}
   140  		return a.info, nil
   141  	}
   142  	return nil, fmt.Errorf("AssetInfo %s not found", name)
   143  }
   144  
   145  // AssetDigest returns the digest of the file with the given name. It returns an
   146  // error if the asset could not be found or the digest could not be loaded.
   147  func AssetDigest(name string) ([sha256.Size]byte, error) {
   148  	canonicalName := strings.Replace(name, "\\", "/", -1)
   149  	if f, ok := _bindata[canonicalName]; ok {
   150  		a, err := f()
   151  		if err != nil {
   152  			return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s can't read by error: %v", name, err)
   153  		}
   154  		return a.digest, nil
   155  	}
   156  	return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s not found", name)
   157  }
   158  
   159  // Digests returns a map of all known files and their checksums.
   160  func Digests() (map[string][sha256.Size]byte, error) {
   161  	mp := make(map[string][sha256.Size]byte, len(_bindata))
   162  	for name := range _bindata {
   163  		a, err := _bindata[name]()
   164  		if err != nil {
   165  			return nil, err
   166  		}
   167  		mp[name] = a.digest
   168  	}
   169  	return mp, nil
   170  }
   171  
   172  // AssetNames returns the names of the assets.
   173  func AssetNames() []string {
   174  	names := make([]string, 0, len(_bindata))
   175  	for name := range _bindata {
   176  		names = append(names, name)
   177  	}
   178  	return names
   179  }
   180  
   181  // _bindata is a table, holding each asset generator, mapped to its name.
   182  var _bindata = map[string]func() (*asset, error){
   183  	"faucet.html": faucetHtml,
   184  }
   185  
   186  // AssetDir returns the file names below a certain
   187  // directory embedded in the file by go-bindata.
   188  // For example if you run go-bindata on data/... and data contains the
   189  // following hierarchy:
   190  //     data/
   191  //       foo.txt
   192  //       img/
   193  //         a.png
   194  //         b.png
   195  // then AssetDir("data") would return []string{"foo.txt", "img"},
   196  // AssetDir("data/img") would return []string{"a.png", "b.png"},
   197  // AssetDir("foo.txt") and AssetDir("notexist") would return an error, and
   198  // AssetDir("") will return []string{"data"}.
   199  func AssetDir(name string) ([]string, error) {
   200  	node := _bintree
   201  	if len(name) != 0 {
   202  		canonicalName := strings.Replace(name, "\\", "/", -1)
   203  		pathList := strings.Split(canonicalName, "/")
   204  		for _, p := range pathList {
   205  			node = node.Children[p]
   206  			if node == nil {
   207  				return nil, fmt.Errorf("Asset %s not found", name)
   208  			}
   209  		}
   210  	}
   211  	if node.Func != nil {
   212  		return nil, fmt.Errorf("Asset %s not found", name)
   213  	}
   214  	rv := make([]string, 0, len(node.Children))
   215  	for childName := range node.Children {
   216  		rv = append(rv, childName)
   217  	}
   218  	return rv, nil
   219  }
   220  
   221  type bintree struct {
   222  	Func     func() (*asset, error)
   223  	Children map[string]*bintree
   224  }
   225  
   226  var _bintree = &bintree{nil, map[string]*bintree{
   227  	"faucet.html": &bintree{faucetHtml, map[string]*bintree{}},
   228  }}
   229  
   230  // RestoreAsset restores an asset under the given directory.
   231  func RestoreAsset(dir, name string) error {
   232  	data, err := Asset(name)
   233  	if err != nil {
   234  		return err
   235  	}
   236  	info, err := AssetInfo(name)
   237  	if err != nil {
   238  		return err
   239  	}
   240  	err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755))
   241  	if err != nil {
   242  		return err
   243  	}
   244  	err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode())
   245  	if err != nil {
   246  		return err
   247  	}
   248  	return os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime())
   249  }
   250  
   251  // RestoreAssets restores an asset under the given directory recursively.
   252  func RestoreAssets(dir, name string) error {
   253  	children, err := AssetDir(name)
   254  	// File
   255  	if err != nil {
   256  		return RestoreAsset(dir, name)
   257  	}
   258  	// Dir
   259  	for _, child := range children {
   260  		err = RestoreAssets(dir, filepath.Join(name, child))
   261  		if err != nil {
   262  			return err
   263  		}
   264  	}
   265  	return nil
   266  }
   267  
   268  func _filePath(dir, name string) string {
   269  	canonicalName := strings.Replace(name, "\\", "/", -1)
   270  	return filepath.Join(append([]string{dir}, strings.Split(canonicalName, "/")...)...)
   271  }