From eeb0fdf3a40bfaa3765b056b1155d5500ef12184 Mon Sep 17 00:00:00 2001 From: Brian Low Date: Fri, 4 Dec 2015 17:14:03 -0700 Subject: [PATCH] Show table constraints --- pkg/api/api.go | 5 ++++ pkg/api/routes.go | 1 + pkg/client/client.go | 10 ++++++++ pkg/client/client_test.go | 9 ++++++++ pkg/data/bindata.go | 38 +++++++++++++++---------------- pkg/statements/sql.go | 10 ++++++++ static/index.html | 1 + static/js/app.js | 48 +++++++++++++++++++++++++++------------ 8 files changed, 89 insertions(+), 33 deletions(-) diff --git a/pkg/api/api.go b/pkg/api/api.go index 3df3a15..0e7ccc8 100644 --- a/pkg/api/api.go +++ b/pkg/api/api.go @@ -179,6 +179,11 @@ func GetTableIndexes(c *gin.Context) { serveResult(res, err, c) } +func GetTableConstraints(c *gin.Context) { + res, err := DbClient.TableConstraints(c.Params.ByName("table")) + serveResult(res, err, c) +} + func HandleQuery(query string, c *gin.Context) { rawQuery, err := base64.StdEncoding.DecodeString(query) if err == nil { diff --git a/pkg/api/routes.go b/pkg/api/routes.go index d5b8d3b..493ddd2 100644 --- a/pkg/api/routes.go +++ b/pkg/api/routes.go @@ -33,6 +33,7 @@ func SetupRoutes(router *gin.Engine) { api.GET("/tables/:table/rows", GetTableRows) api.GET("/tables/:table/info", GetTableInfo) api.GET("/tables/:table/indexes", GetTableIndexes) + api.GET("/tables/:table/constraints", GetTableConstraints) api.GET("/query", RunQuery) api.POST("/query", RunQuery) api.GET("/explain", ExplainQuery) diff --git a/pkg/client/client.go b/pkg/client/client.go index 9a6de68..7967c28 100644 --- a/pkg/client/client.go +++ b/pkg/client/client.go @@ -136,6 +136,16 @@ func (client *Client) TableIndexes(table string) (*Result, error) { return res, err } +func (client *Client) TableConstraints(table string) (*Result, error) { + res, err := client.query(statements.PG_TABLE_CONSTRAINTS, table) + + if err != nil { + return nil, err + } + + return res, err +} + func (client *Client) Sequences() ([]string, error) { return client.fetchRows(statements.PG_SEQUENCES) } diff --git a/pkg/client/client_test.go b/pkg/client/client_test.go index 9a8882e..67d35e9 100644 --- a/pkg/client/client_test.go +++ b/pkg/client/client_test.go @@ -188,6 +188,14 @@ func test_TableIndexes(t *testing.T) { assert.Equal(t, 2, len(res.Rows)) } +func test_TableConstraints(t *testing.T) { + res, err := testClient.TableConstraints("editions") + + assert.Equal(t, nil, err) + assert.Equal(t, 1, len(res.Columns)) + assert.Equal(t, 2, len(res.Rows)) +} + func test_Sequences(t *testing.T) { res, err := testClient.Sequences() @@ -271,6 +279,7 @@ func TestAll(t *testing.T) { test_TableRows(t) test_TableInfo(t) test_TableIndexes(t) + test_TableConstraints(t) test_Sequences(t) test_Query(t) test_QueryError(t) diff --git a/pkg/data/bindata.go b/pkg/data/bindata.go index 49de944..8bb3b9a 100644 --- a/pkg/data/bindata.go +++ b/pkg/data/bindata.go @@ -83,7 +83,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _staticCssAppCss = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xac\x58\xdb\x72\xa3\x38\x13\xbe\xcf\x53\xf0\x8f\xeb\xaf\x39\xd4\xe0\xc1\xc6\xd8\x89\x53\xbb\x77\x33\x2f\xb1\xb5\x95\x12\xa8\x09\xaa\x60\xc4\x0a\x39\xb1\xb3\x35\xef\xbe\x3a\x01\x92\x10\xb6\x77\x6a\x8b\x8b\xc4\xd0\xb4\xfa\xf0\xf5\xd7\xdd\x2c\x0e\x88\x34\xd1\xdf\x77\x51\x84\x49\xd7\xd6\xe8\xbc\x8f\x1a\xda\xc0\xe3\xdd\xcf\xbb\xbb\x45\x83\x5e\xd5\xa3\x96\x76\x84\x13\xda\xec\xa3\x92\x9c\x00\x3f\x8a\x5b\x9c\xb6\xfb\x28\x91\xff\xd5\x50\xf2\x7d\xb4\xce\x92\xf6\x24\x7f\x32\xf2\x5c\x71\xf3\xa8\x02\xfd\xa3\x7f\x96\xd3\x53\xdc\x55\x08\xd3\xb7\x7d\x44\x9a\x0e\x78\x94\x44\xf1\xaa\x3d\x89\x3f\x49\xb4\xc8\xef\xf3\x5d\x9e\x29\x39\x54\xbc\x3c\x33\x7a\x6c\xf0\x3e\x5a\xe0\x7b\xbc\xc3\xdb\xd1\xa0\x63\xad\x6c\x3a\x20\xf6\x4c\x84\x45\x46\x75\x8b\x30\x26\xcd\xf3\xf0\xdb\x3f\x7a\xf0\x2e\xaf\x69\xf1\xe2\x68\xab\xc9\x2d\x0a\xcb\x9a\x22\xa1\x4f\x7a\x6b\xeb\xdf\x3c\xe8\xc7\x35\x69\x20\xf6\x6f\x96\xb4\xe1\x71\x47\xde\x61\x1f\xad\xd2\xa9\xda\x68\xb5\xd1\x37\x0b\x5a\x53\x26\x5c\xdd\x16\xdb\x7c\x9b\x0f\x6f\xbe\x0d\x3e\xa8\x68\x0e\x06\x46\x2b\xf3\xda\x91\x75\xf2\xbd\x96\x92\x86\x03\x0b\xb9\x29\x0d\xeb\x84\x0d\xfc\x5c\x43\x9f\x59\xfb\x5e\xcc\xcf\x2d\xf8\x29\x57\x31\xd9\x97\x84\x09\xa9\xa2\x22\x35\xb6\xe2\x13\xeb\x74\xab\xa0\xb8\xf2\x15\x7d\x05\xa6\x24\x8d\x3b\xec\x39\x47\x9f\x92\xaf\xea\x5a\x3e\x7c\xf6\xe4\x97\x1d\xd4\x50\x70\xc0\x1e\xc2\x18\xd4\x88\x93\x57\x98\xe0\xa0\x2c\x4b\x3b\x56\x89\x0e\x4a\x4e\x19\x06\x16\x1b\xd4\x49\x2c\x75\xb4\x26\xd8\x41\x93\x16\xd1\x86\x07\x25\x86\xc8\xce\xd9\xb8\xcf\xa1\xa4\x0c\x8c\x77\x22\xd8\x8d\x50\xf5\x31\xfa\xf8\xe8\x98\x8e\x72\xa1\xf9\xc8\xb5\xe9\x94\x73\x7a\xd8\x2b\x78\x8f\x55\x92\x3c\x06\xeb\xc3\xc8\xbc\x11\x51\x19\x9d\xf8\x99\x24\xff\x0f\xbb\x3f\x63\x9d\x9f\x2a\xc7\xe3\x31\xb7\x1d\xc1\x90\x23\x36\x57\xd2\xe2\x78\x5e\x59\x95\x6c\x65\xba\xaf\xf7\xbe\x8c\xb5\x6f\xc3\xcf\x99\x14\xe0\x8d\xbc\x86\xc2\x27\xef\x0a\xf8\x46\x5c\xdc\x72\xad\x5a\x72\xc2\x6b\xf0\x8c\xb3\x43\x3a\x52\x8e\xb1\xb4\x8f\x93\x53\x7b\x69\xea\x12\x40\x1a\x2a\xbc\x7b\xe7\x5e\x0f\x8d\xb5\x5b\x8d\x06\x61\x4e\x29\xe6\xb4\xc6\xd3\xd4\x6c\xe5\xe5\x7a\x83\xc9\xeb\x92\xa3\xbc\x86\x2e\x96\xd5\x76\xc1\x2d\x1b\x10\x76\x94\x9d\xf0\xf7\x21\x5f\xa5\xe6\x86\x2c\x36\x41\x49\x82\x48\xd1\x91\xd3\x5f\x32\x69\xf9\xc6\x50\xab\x0c\x1b\x70\x68\x02\xea\x2b\xbf\xa8\x45\xa7\xad\x6b\x51\xb3\x14\x84\xc4\x44\x69\xc4\x18\x09\x09\xd4\xc1\x94\x37\x36\xed\xe9\x16\x75\x86\x4c\x94\x52\x06\x25\x83\xae\x72\x7b\x14\x69\x54\xd2\x2d\x32\xbf\xc5\x3e\x5b\x95\xe1\x73\x15\xfd\x91\x03\x7a\x14\x6f\x66\x19\xb6\x47\x07\x42\xe8\x31\xdc\x35\xff\x85\x25\x53\xd2\x5c\x64\x59\x76\x59\xcd\x42\xff\xd0\x88\xea\x41\x2d\x51\x2e\xbb\xa8\xdf\x75\xd6\xb3\xf1\x8e\x49\x23\x28\xed\x80\x24\x20\x7f\x89\x11\x06\xd0\xa4\x33\xb4\x10\xc2\xe3\xc0\x16\x0a\xe9\x33\x5c\xf1\x9f\xd0\x49\xd8\xd1\xeb\x98\x8f\xcf\x17\x51\xef\x6a\x1b\x29\xeb\xf6\xea\x73\x34\x98\x61\xe6\xb6\x3c\xde\x86\x36\x5f\xbf\x19\x6f\x1c\x92\x5c\x6f\xdc\x1c\xf6\xbf\x47\x92\x94\x14\x29\x27\x8d\xb5\x5b\x08\x18\x4a\x74\xac\xb9\x5d\x08\xbb\x1f\xbb\xef\xbb\x1f\xd1\xff\xc8\xa1\xa5\x8c\xa3\x86\xdf\x6e\x97\x2c\x05\x07\xfc\x9b\x1f\xf2\x52\xe5\x28\x6a\xd1\xc0\x2f\x99\x52\x75\xe2\xc3\xfa\x96\xa1\xd0\x93\x1f\xe2\x72\xf3\x7c\xe4\x77\x9a\x99\x49\xd1\x33\xe2\x02\x87\x08\x67\xbf\x6f\xdc\xd0\x89\xa2\xab\x08\x87\x58\x84\xa6\x50\x07\x4b\xc0\xba\xb6\xfb\xb3\xd3\xf5\x06\x05\x5b\x79\xc9\xdb\x42\x2e\x7f\x21\x3c\xd6\xd8\x3a\x50\xca\x2b\x65\xba\x38\x9b\xa0\x9a\x08\xce\xc6\x81\x40\x59\x74\x1c\x00\xfb\x4a\x5e\xa1\xf0\xda\x73\xb5\x43\xac\x53\xd1\x41\xb5\xdf\xa6\x2d\x0c\xce\x90\xff\x40\x53\x7d\x23\xb4\xa0\xa3\x8b\x5b\x1e\x97\x53\x7c\xbe\xb8\xcb\xb8\x1c\xb7\xce\xc2\xa4\xd6\x37\xeb\x70\x13\x96\x07\x91\xa6\x3d\x72\x87\x61\xd6\x59\xe6\x8b\x57\x04\x63\x68\xec\x17\x14\x31\xb5\xe0\x0f\x67\xe3\x34\x6c\x89\xa2\x42\x3e\xec\x02\xa9\xd0\x23\xf2\x10\xc3\xd5\xcc\x32\x64\x73\xb0\x26\x57\x49\xb3\x0b\x58\xc1\x1a\x52\x4b\xa0\x77\xde\x92\xe9\x87\xe6\x80\x39\xcb\x9c\x37\x53\xaa\x49\x3d\x1b\x42\x55\x33\x6c\x47\x5e\xe9\x04\xf6\xa7\xbe\x74\x8c\xab\xda\xd0\xb1\x40\xed\x0d\x73\xb8\x67\x87\x68\x07\x79\xb6\x51\xb7\xbd\x85\xce\x85\xe9\x6a\x60\x8c\x80\x93\xb1\x61\xc1\x69\x02\xd4\x50\x10\x78\x6b\xf1\xd7\x11\xd8\xf9\xa9\x65\xf4\x59\xb4\xfd\x2e\xb4\x6f\x4f\x0c\xba\x29\x8a\xce\x34\x32\x63\xee\xbe\xa4\xc5\x51\x9f\x49\x8f\x5c\xaa\x95\xfc\x1e\x8a\x58\x32\xaf\x63\x1c\x54\xfc\x70\xae\xb2\xcd\xd5\x48\xcd\xbd\x9e\xe7\xb9\x7e\x57\x18\xd6\x97\x4d\x78\x4a\x9e\x2e\x23\xeb\x6c\x7b\x43\x89\x5e\xd9\xea\x43\x15\xac\x6d\x59\x96\xc7\x5a\x37\x95\x71\x28\x97\x4f\x45\xfe\x84\x43\xdd\xc8\xbc\x6e\x87\xbe\xda\x81\xcc\xfb\x4b\x38\xb4\xfc\x1c\x71\x7b\x61\xd3\xb5\x30\xb6\xf6\xfe\x28\xce\xf6\x0d\xaf\xf4\x7e\xf7\x09\x5e\xa1\xf9\x1c\xfd\xee\xbf\x19\x04\x7b\x89\xe4\x75\x41\x19\xc5\xf8\x66\x5d\xfd\xfe\x39\x28\xaa\x02\x04\x94\xca\xcb\xa7\x98\x11\x6a\x0e\xab\x58\xa3\x1d\x20\x78\x80\x07\x27\x60\x72\x10\x0a\x7d\x5b\x59\xfb\xdf\x4c\x90\xbc\x66\x17\xb5\x9b\x1b\xde\xe8\x96\x42\xf0\x6b\x60\xac\x83\x54\x5e\x8e\xf8\x1f\x72\xd5\x89\x0f\x14\xc3\x6f\x1f\x72\x26\xb6\x77\xf8\xf0\xa7\x50\x61\xcf\xf5\xd3\xf6\x7f\x3d\x47\xaa\x5b\x89\x4c\x69\x35\x7d\x7a\xdc\x74\xf8\x20\x31\xef\xd8\x1f\x00\x02\x91\x2e\xd7\xf2\xf2\x21\x31\x0e\x14\xa1\xb3\xd2\xfb\xdd\x06\xef\xbc\x31\xc5\x22\xe2\xc9\xec\x37\x28\xc6\xce\x74\x97\xa2\x74\x9b\x2a\x74\x08\xaf\x38\x29\x50\x1d\x8b\x14\x3c\x8b\x6a\x39\x88\x7e\x58\xc3\xe3\xf5\x4a\xc0\x72\x9e\x34\x63\xc5\xa9\xef\xf2\x69\x36\x14\xfb\x69\xc0\x49\xb6\x9a\x6b\xba\xa2\xa2\xe1\xc4\xe3\xf1\x01\xd4\x35\x69\x3b\xd2\x4d\xa6\xaf\x96\x89\xf3\xc5\xcd\x6f\x5f\x2c\x24\x1d\x3b\x11\x59\x1d\xaf\x11\xda\x02\x02\xef\x73\x4f\xba\xf0\x83\x2f\xdf\x42\xae\xa9\xed\xb0\xe9\xa9\xa7\x8f\x9c\xe2\x49\x63\x37\x67\xa8\xe9\xe4\x24\xbd\x8f\x8e\x72\x62\x28\x04\x86\x27\x51\x92\x92\x88\x01\x72\xb4\x24\x49\xe2\x25\x31\xb8\x2a\x8e\x95\x60\x7f\x58\xfa\x6a\xeb\x9f\x7c\x71\xf2\xbe\xa4\x64\x3e\xdb\x35\x34\x2e\x18\x6d\x67\x12\x38\x26\x5a\x34\x2a\x81\xd8\x27\xd5\x2e\xdd\x21\x2a\x19\x74\x16\xb4\x69\x40\x35\x99\xa7\x37\xd2\x88\xc6\xa5\x04\xdf\xc5\x7e\x81\xe1\x24\xd0\xf0\x18\x9e\xf2\x42\x93\xd2\xd5\xef\x2d\xc1\x9e\x12\xd8\xc2\x00\x13\xfe\x34\x1a\x36\x37\x69\x1a\x3d\xf7\x56\x1b\x1b\x27\x0d\x5f\xc7\xc5\xf1\xb9\xa8\x69\x07\x4f\xe1\x50\x04\xec\xb3\x04\x81\x31\xca\x66\xe4\x96\x39\xa5\x2f\xe2\xc4\x97\xe0\x88\x22\x05\x46\x45\x02\xd0\x9c\x8b\x9c\x6b\x51\x93\xc9\x6d\x32\xed\xbb\xe3\x60\xae\x5d\xb1\xc6\xed\x39\x8d\xd5\x4a\x77\x5e\x89\x77\x43\x11\x05\xf4\xf4\xa9\xee\x0e\x23\x8b\x9c\x1e\xe5\x9a\x20\x87\x53\x93\x55\x73\x4e\x9f\xc3\x75\xe6\x76\x8c\x87\x87\x87\x49\xbb\x68\xe4\x66\x5a\xcf\x1b\x24\xeb\x6d\x7e\xcf\xb7\xda\x56\x7f\x58\xff\x15\x03\x61\x72\xec\x86\xef\x49\x8a\x26\x66\x1e\x19\x7a\x09\x3d\xbd\x68\x55\xbb\xac\xa0\x6e\xf5\x36\x14\x9e\x4a\xfc\xd7\x8b\x0a\x0e\x10\x4b\x2f\xda\x5b\xd2\xdc\x55\xf3\xb2\x56\xdd\xad\xd4\xf7\xd2\x9f\x77\xff\x04\x00\x00\xff\xff\xc5\x8f\x47\x2c\x52\x1a\x00\x00") +var _staticCssAppCss = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xac\x58\xdb\x72\xa3\x38\x13\xbe\xcf\x53\xf0\x8f\xeb\xaf\x39\xd4\xe0\xc1\xc6\xd8\x89\x53\xbb\x77\x33\x2f\xb1\xb5\x95\x12\xa8\x09\xaa\x60\xc4\x0a\x39\xb1\xb3\x35\xef\xbe\x3a\x01\x92\x10\xb6\x77\x6a\x8b\x8b\xc4\xd0\xb4\xfa\xf0\xf5\xd7\xdd\x2c\x0e\x88\x34\xd1\xdf\x77\x51\x84\x49\xd7\xd6\xe8\xbc\x8f\x1a\xda\xc0\xe3\xdd\xcf\xbb\xbb\x45\x83\x5e\xd5\xa3\x96\x76\x84\x13\xda\xec\xa3\x92\x9c\x00\x3f\x8a\x5b\x9c\xb6\xfb\x28\x91\xff\xd5\x50\xf2\x7d\xb4\xce\x92\xf6\x24\x7f\x32\xf2\x5c\x71\xf3\xa8\x02\xfd\xa3\x7f\x96\xd3\x53\xdc\x55\x08\xd3\xb7\x7d\x44\x9a\x0e\x78\x94\x44\xf1\xaa\x3d\x89\x3f\x49\xb4\xc8\xef\xf3\x5d\x9e\x29\x39\x54\xbc\x3c\x33\x7a\x6c\xf0\x3e\x5a\xe0\x7b\xbc\xc3\xdb\xd1\xa0\x63\xad\x6c\x3a\x20\xf6\x4c\x84\x45\x46\x75\x8b\x30\x26\xcd\xf3\xf0\xdb\x3f\x7a\xf0\x2e\xaf\x69\xf1\xe2\x68\xab\xc9\x2d\x0a\xcb\x9a\x22\xa1\x4f\x7a\x6b\xeb\xdf\x3c\xe8\xc7\x35\x69\x20\xf6\x6f\x96\xb4\xe1\x71\x47\xde\x61\x1f\xad\xd2\xa9\xda\x68\xb5\xd1\x37\x0b\x5a\x53\x26\x5c\xdd\x16\xdb\x7c\x9b\x0f\x6f\xbe\x0d\x3e\xa8\x68\x0e\x06\x46\x2b\xf3\xda\x91\x75\xf2\xbd\x96\x92\x86\x03\x0b\xb9\x29\x0d\xeb\x84\x0d\xfc\x5c\x43\x9f\x59\xfb\x5e\xcc\xcf\x2d\xf8\x29\x57\x31\xd9\x97\x84\x09\xa9\xa2\x22\x35\xb6\xe2\x13\xeb\x74\xab\xa0\xb8\xf2\x15\x7d\x05\xa6\x24\x8d\x3b\xec\x39\x47\x9f\x92\xaf\xea\x5a\x3e\x7c\xf6\xe4\x97\x1d\xd4\x50\x70\xc0\x1e\xc2\x18\xd4\x88\x93\x57\x98\xe0\xa0\x2c\x4b\x3b\x56\x89\x0e\x4a\x4e\x19\x06\x16\x1b\xd4\x49\x2c\x75\xb4\x26\xd8\x41\x93\x16\xd1\x86\x07\x25\x86\xc8\xce\xd9\xb8\xcf\xa1\xa4\x0c\x8c\x77\x22\xd8\x8d\x50\xf5\x31\xfa\xf8\xe8\x98\x8e\x72\xa1\xf9\xc8\xb5\xe9\x94\x73\x7a\xd8\x2b\x78\x8f\x55\x92\x3c\x06\xeb\xc3\xc8\xbc\x11\x51\x19\x9d\xf8\x99\x24\xff\x0f\xbb\x3f\x63\x9d\x9f\x2a\xc7\xe3\x31\xb7\x1d\xc1\x90\x23\x36\x57\xd2\xe2\x78\x5e\x59\x95\x6c\x65\xba\xaf\xf7\xbe\x8c\xb5\x6f\xc3\xcf\x99\x14\xe0\x8d\xbc\x86\xc2\x27\xef\x0a\xf8\x46\x5c\xdc\x72\xad\x5a\x72\xc2\x6b\xf0\x8c\xb3\x43\x3a\x52\x8e\xb1\xb4\x8f\x93\x53\x7b\x69\xea\x12\x40\x1a\x2a\xbc\x7b\xe7\x5e\x0f\x8d\xb5\x5b\x8d\x06\x61\x4e\x29\xe6\xb4\xc6\xd3\xd4\x6c\xe5\xe5\x7a\x83\xc9\xeb\x92\xa3\xbc\x86\x2e\x96\xd5\x76\xc1\x2d\x1b\x10\x76\x94\x9d\xf0\xf7\x21\x5f\xa5\xe6\x86\x2c\x36\x41\x49\x82\x48\xd1\x91\xd3\x5f\x32\x69\xf9\xc6\x50\xab\x0c\x1b\x70\x68\x02\xea\x2b\xbf\xa8\x45\xa7\xad\x6b\x51\xb3\x14\x84\xc4\x44\x69\xc4\x18\x09\x09\xd4\xc1\x94\x37\x36\xed\xe9\x16\x75\x86\x4c\x94\x52\x06\x25\x83\xae\x72\x7b\x14\x69\x54\xd2\x2d\x32\xbf\xc5\x3e\x5b\x95\xe1\x73\x15\xfd\x91\x03\x7a\x14\x6f\x66\x19\xb6\x47\x07\x42\xe8\x31\xdc\x35\xff\x85\x25\x53\xd2\x5c\x64\x59\x76\x59\xcd\x42\xff\xf8\x1a\x2d\x3a\xf8\xeb\x08\x4d\x01\x9d\x46\x57\x0f\x70\x89\x78\xd9\x51\xfd\x0e\xb4\x9e\x8d\x7d\x4c\x1a\x41\x6f\x07\x24\xc1\xf9\x4b\xec\x30\x00\x28\x9d\xa1\x88\x10\x36\x07\xe6\x50\xa8\x9f\xe1\x8d\xff\x84\x5a\xc2\x8e\x5e\xc7\x7f\x7c\xbe\x58\x01\xae\xb6\x91\xbe\x6e\xaf\x44\x47\x83\x19\x6c\x6e\xcb\xe3\x6d\xc8\xf3\xf5\x9b\x51\xc7\x21\xcc\xf5\xc6\xcd\x61\xff\x7b\x24\x4c\x49\x97\x72\xea\x58\xbb\x45\x81\xa1\x44\xc7\x9a\xdb\x45\xb1\xfb\xb1\xfb\xbe\xfb\x11\xfd\x8f\x1c\x5a\xca\x38\x6a\xf8\xed\x76\xc9\xb2\x70\x0a\x61\xf3\x43\x5e\xaa\x34\x45\x5d\x1a\xf8\x25\x53\xda\x4e\x7c\x58\xdf\x32\x20\x7a\xf2\x43\x5c\x6e\x9e\x95\xfc\xae\x33\x33\x35\x7a\x46\x5c\xe0\x13\xe1\xec\xf7\x8d\x1b\x3a\x51\x74\x15\xe1\x10\x8b\xd0\x14\xea\x60\x09\x58\xd7\x76\x7f\x8e\xba\xde\xac\x60\x2b\x2f\x79\x5b\xc8\xe5\x2f\x84\xc7\x1a\x5b\x07\x4a\x79\xa5\x4c\x17\x67\x13\x54\x13\xc1\xdf\x38\x10\x28\x8b\x9a\x03\x60\x5f\xc9\x2b\x14\x5e\x7b\xc6\x76\x48\x76\x2a\x3a\xa8\xf6\x5b\xb6\x85\xc1\x99\x46\x30\xd0\x54\xdf\x14\x2d\xe8\xe8\xe2\x96\xc7\xe5\x14\x9f\x2f\xee\x35\x2e\xc7\xad\xb3\x30\xa9\xf5\x8d\x3b\xdc\x90\xe5\x41\xa4\x69\x8f\xdc\x61\x98\x75\x96\xf9\xe2\x15\xc1\x18\x1a\xfb\x05\x45\x4c\x2d\xf8\x83\xda\x38\x19\x5b\xa2\xa8\x90\x0f\xbb\x40\x2a\xf4\xb8\x3c\xc4\x70\x35\xb3\x18\xd9\x1c\xac\xc9\x55\xd2\xec\x02\x56\xb0\x86\xd4\x12\xe8\x9d\xb7\x64\xfa\x01\x3a\x60\xce\x32\xe7\xcd\x94\x6a\x52\xcf\x86\x50\xd5\x0c\x9b\x92\x57\x3a\x81\x5d\xaa\x2f\x1d\xe3\xaa\x36\x74\x2c\x50\x7b\xdb\x1c\xee\xd9\x21\xda\x41\x9e\x6d\xd4\x6d\x6f\xb9\x73\x61\xba\x1a\x18\x23\xe0\x64\x6c\x58\x70\x9a\x00\x35\x20\x04\xde\x5a\x88\xa6\xcd\xce\x4f\x2d\xa3\xcf\x62\x04\xe8\x42\xbb\xf7\xc4\xa0\x9b\xa2\xe8\x4c\x26\x33\xe6\xee\x4b\x5a\x1c\xf5\x99\xf4\xc8\xa5\x5a\xc9\xef\xa1\x88\x25\xf3\x3a\xc6\xa1\xc5\x0f\xe7\x2a\xdb\x5c\x8d\xd4\xdc\xeb\x79\x9e\xeb\x77\x85\x61\x7d\xd9\x84\x27\xe6\xe9\x62\xb2\xce\xb6\x37\x94\xe8\x95\x0d\x3f\x54\xc1\xda\x96\x65\x79\xac\x75\x53\x19\x07\x74\xf9\x54\xe4\x4f\x38\xd4\x8d\xcc\xeb\x76\xe8\xab\x1d\xc8\xbc\xbf\x84\x43\xcb\xcf\x11\xb7\x97\x37\x5d\x0b\x63\x6b\xef\x8f\xe2\x6c\xdf\xf0\x4a\xef\x7a\x9f\xe0\x15\x9a\xcf\xd1\xef\xfe\x9b\x41\xb0\x97\x48\x5e\x17\x94\x51\x8c\x6f\xd6\xd5\xef\xa2\x83\xa2\x2a\x40\x40\xa9\xbc\x7c\x8a\x19\xa1\xe6\xb0\x8a\x35\xda\x01\x82\x07\x78\x70\x02\x26\x07\xa1\xd0\x77\x96\xb5\xff\xfd\x04\xc9\x6b\x76\x69\xbb\xb9\xe1\x8d\x6e\x29\x04\xbf\x06\xc6\x3a\x48\xe5\xe5\x88\xff\x21\xd7\x9e\xf8\x40\x31\xfc\xf6\x21\x67\x62\x93\x87\x0f\x7f\x0a\x15\xf6\x8c\x3f\x6d\xff\xd7\x73\xa4\xba\x95\xc8\x94\x56\xd3\xa7\xc7\x4d\x87\x0f\x12\xf3\x8e\xfd\x31\x20\x10\xe9\x72\x2d\x2f\x1f\x12\xe3\x40\x11\x3a\x2b\xbd\xdf\x6d\xf0\xce\x1b\x53\x2c\x22\x9e\xcc\x7e\x83\x62\xec\x4c\x77\x29\x4a\xb7\xa9\x42\x87\xf0\x8a\x93\x02\xd5\xb1\x48\xc1\xb3\xa8\x96\x83\xe8\x87\x35\x3c\x5e\xaf\x04\x2c\xe7\x49\x33\x56\x9c\xfa\x2e\x9f\x66\x43\xb1\x9f\x06\x9c\x64\xab\xb9\xa6\x2b\x2a\x1a\x4e\x3c\x1e\x1f\x40\x5d\x93\xb6\x23\xdd\x64\xfa\x6a\x99\x38\x5f\xdc\xfc\xf6\xc5\x42\xd2\xb1\x13\x91\xd5\xf1\x1a\xa1\x2d\x20\xf0\x3e\xf7\xa4\x0b\x3f\xf8\xf2\x2d\xe4\x9a\xda\x14\x9b\x9e\x7a\xfa\xc8\x29\x9e\x34\x76\x73\x86\x9a\x4e\x4e\xd2\xfb\xe8\x28\x27\x86\x42\x60\x78\x12\x25\x29\x89\x18\x20\x47\x4b\x92\x24\x5e\x12\x83\xab\xe2\x58\x09\xf6\x47\xa6\xaf\xb6\xfe\xc9\xd7\x27\xef\xab\x4a\xe6\xb3\x5d\x43\xe3\x82\xd1\x76\x26\x81\x63\xa2\x45\xa3\x12\x88\x7d\x52\xed\xd2\x1d\xa2\x92\x41\x67\x41\x9b\x06\x54\x93\x79\x7a\x23\x8d\x68\x5c\x4a\xf0\x5d\xec\x17\x18\x4e\x02\x0d\x8f\xe1\x29\x2f\x34\x29\x5d\xfd\xf6\x12\xec\x29\x81\x2d\x0c\x30\xe1\x4f\xa3\x61\x73\x93\xa6\xd1\x73\x6f\xb5\xb1\x71\xd2\xf0\x75\x5c\x1c\x9f\x8b\x9a\x76\xf0\x14\x0e\x45\xc0\x3e\x4b\x10\x18\xa3\x6c\x46\x6e\x99\x53\xfa\x22\x4e\x7c\x09\x8e\x28\x52\x60\x54\x24\x00\xcd\xb9\xc8\xb9\x16\x35\x99\xdc\x26\xd3\xbe\x3b\x0e\xe6\xda\x15\x6b\xdc\x9e\xd3\x58\xad\x74\xe7\x95\x78\x37\x14\x51\x40\x4f\x9f\xea\xee\x30\xb2\xc8\xe9\x51\xae\x09\x72\x38\x35\x59\x35\xe7\xf4\x39\x5c\x67\x6e\xc7\x78\x78\x78\x98\xb4\x8b\x46\x6e\xa6\xf5\xbc\x41\xb2\xde\xe6\xf7\x7c\xab\x6d\xf5\x87\xf5\x5f\x31\x10\x26\xc7\x6e\xf8\xb6\xa4\x68\x62\xe6\x91\xa1\x97\xd0\xd3\x8b\x56\xb5\xcb\x0a\xea\x56\x6f\x43\xe1\xa9\xc4\x7f\xbd\xa8\xe0\x00\xb1\xf4\xa2\xbd\x25\xcd\x5d\x35\x2f\x6b\xd5\xdd\x4a\x7d\x3b\xfd\x79\xf7\x4f\x00\x00\x00\xff\xff\x4d\xc5\xba\xfd\x5e\x1a\x00\x00") func staticCssAppCssBytes() ([]byte, error) { return bindataRead( @@ -98,7 +98,7 @@ func staticCssAppCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/css/app.css", size: 6738, mode: os.FileMode(420), modTime: time.Unix(1447457724, 0)} + info := bindataFileInfo{name: "static/css/app.css", size: 6750, mode: os.FileMode(420), modTime: time.Unix(1449270061, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -118,7 +118,7 @@ func staticCssBootstrapCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/css/bootstrap.css", size: 109518, mode: os.FileMode(420), modTime: time.Unix(1447457724, 0)} + info := bindataFileInfo{name: "static/css/bootstrap.css", size: 109518, mode: os.FileMode(420), modTime: time.Unix(1431980121, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -138,7 +138,7 @@ func staticCssFontAwesomeCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/css/font-awesome.css", size: 21984, mode: os.FileMode(420), modTime: time.Unix(1447457724, 0)} + info := bindataFileInfo{name: "static/css/font-awesome.css", size: 21984, mode: os.FileMode(420), modTime: time.Unix(1431980121, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -158,7 +158,7 @@ func staticFontsFontawesomeOtf() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/fonts/FontAwesome.otf", size: 85908, mode: os.FileMode(420), modTime: time.Unix(1447457724, 0)} + info := bindataFileInfo{name: "static/fonts/FontAwesome.otf", size: 85908, mode: os.FileMode(420), modTime: time.Unix(1431980121, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -178,7 +178,7 @@ func staticFontsFontawesomeWebfontEot() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/fonts/fontawesome-webfont.eot", size: 56006, mode: os.FileMode(420), modTime: time.Unix(1447457724, 0)} + info := bindataFileInfo{name: "static/fonts/fontawesome-webfont.eot", size: 56006, mode: os.FileMode(420), modTime: time.Unix(1431980121, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -198,7 +198,7 @@ func staticFontsFontawesomeWebfontSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/fonts/fontawesome-webfont.svg", size: 287007, mode: os.FileMode(420), modTime: time.Unix(1447457724, 0)} + info := bindataFileInfo{name: "static/fonts/fontawesome-webfont.svg", size: 287007, mode: os.FileMode(420), modTime: time.Unix(1431980121, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -218,7 +218,7 @@ func staticFontsFontawesomeWebfontTtf() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/fonts/fontawesome-webfont.ttf", size: 112160, mode: os.FileMode(420), modTime: time.Unix(1447457724, 0)} + info := bindataFileInfo{name: "static/fonts/fontawesome-webfont.ttf", size: 112160, mode: os.FileMode(420), modTime: time.Unix(1431980121, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -238,7 +238,7 @@ func staticFontsFontawesomeWebfontWoff() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/fonts/fontawesome-webfont.woff", size: 65452, mode: os.FileMode(420), modTime: time.Unix(1447457724, 0)} + info := bindataFileInfo{name: "static/fonts/fontawesome-webfont.woff", size: 65452, mode: os.FileMode(420), modTime: time.Unix(1431980121, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -258,7 +258,7 @@ func staticImgIconIco() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/img/icon.ico", size: 104736, mode: os.FileMode(420), modTime: time.Unix(1447457724, 0)} + info := bindataFileInfo{name: "static/img/icon.ico", size: 104736, mode: os.FileMode(420), modTime: time.Unix(1431980121, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -278,12 +278,12 @@ func staticImgIconPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/img/icon.png", size: 7945, mode: os.FileMode(420), modTime: time.Unix(1447457724, 0)} + info := bindataFileInfo{name: "static/img/icon.png", size: 7945, mode: os.FileMode(420), modTime: time.Unix(1431980121, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _staticIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xcc\x19\xdb\x6e\xdb\x38\xf6\xbd\x5f\xc1\xd5\xbe\xae\x2c\xb4\xdd\x05\x36\x81\xad\xdd\x6e\x12\xa0\x05\x02\x6c\xda\xb4\x83\x99\x27\x83\x96\x68\x8b\x09\x25\xaa\x24\x65\x27\xfd\xfa\x39\x87\xa4\x64\x5d\x2c\x47\x49\x9a\x4e\x1e\x12\xf3\x76\xee\x37\xf2\x68\xfe\xb7\xf3\xff\x9f\x7d\xfd\xe3\xea\x82\x64\x26\x17\xf1\x9b\x39\xfe\x10\x41\x8b\xcd\x22\x60\x45\x40\xee\x72\x71\xda\x99\x15\x7a\x11\x64\xc6\x94\xa7\x51\xb4\xdb\xed\x66\xbb\xf7\x33\xa9\x36\xd1\xdb\x93\x93\x93\xe8\x0e\x61\x03\xc4\xc1\x68\x1a\xbf\x21\x64\x6e\xb8\x11\x2c\x2e\x37\x3b\xb6\x9a\x47\x6e\x82\xcb\x39\x33\x94\x24\x19\x55\x9a\x99\x45\x50\x99\x75\xf8\xef\x60\xbf\x81\xd8\x43\xf6\xbd\xe2\xdb\x45\xf0\x7b\xf8\xed\x43\x78\x26\xf3\x92\x1a\xbe\x12\x2c\x20\x89\x2c\x0c\x2b\x00\xea\xd3\xc5\x82\xa5\x1b\x36\x02\x77\xe6\x8e\x85\x97\xc0\x7a\x45\x37\x6d\x40\x90\xc3\xc2\x08\x5e\xdc\x12\xc5\xc4\x22\xd0\xe6\x5e\x30\x9d\x31\x66\x02\x92\x29\xb6\x5e\x04\x91\x36\x40\x30\x89\x12\xad\xa3\x95\x94\x46\x1b\x45\xcb\x19\xcc\x82\x78\x1e\x21\xe0\xa3\x30\xac\x81\x74\x48\x77\x4c\xcb\x9c\x3d\x19\x09\x2d\x8f\x31\xc0\x41\xbc\x80\x98\xfb\x92\xc1\x38\x07\x81\xa3\xbb\xd0\xad\x75\x31\xf1\x7c\x13\xe1\xfa\x0c\xfe\x05\x24\xb2\x58\x74\xa2\x78\x69\x3c\xb0\x61\x77\x26\xba\xa1\x5b\xea\x56\x03\xa2\x55\xb2\x07\xbf\xd1\xd1\xcd\xf7\x8a\xa9\xfb\xd9\x8d\xe5\xc4\x1d\x7a\x02\x16\x9a\xb0\x9f\x80\x22\x2c\x37\xfa\xbb\x78\x2e\xa2\xc6\xc0\xa1\xf5\x91\x3b\x93\xb3\xa2\x7a\x36\x77\x60\xae\x2e\x8a\x79\xe4\xc2\x62\xbe\x92\xe9\xbd\xc5\x98\xf2\x2d\xe1\xe9\x22\xc8\x29\x77\x3e\xd9\x5a\x2b\xe8\xd6\x2f\xc1\x62\x25\xea\xa1\x35\xba\x3d\x60\x28\xc4\xc3\xd2\x7b\x75\x10\x7f\x91\x3b\x8d\x9e\x31\x76\x10\x04\xac\x12\x53\x29\x08\x98\xeb\x7a\x78\xec\x3c\x2f\x52\x76\xc7\x40\x80\x4f\x6e\x70\xec\xac\xf5\x08\x88\x30\x41\x35\x24\x07\xcd\x04\x4b\x0c\x4b\x81\xd0\xe7\x4b\xf2\x19\xf7\x8e\x01\x67\x5c\x1b\x09\xe0\xf1\x47\x37\x38\x76\x96\x26\x86\x6f\xb9\x81\xc3\x1f\xfc\xe8\xd8\x69\xd0\x4d\x01\x9c\x70\x88\x82\xf8\xac\x19\xb7\x21\xe6\x11\x6a\xb6\x9e\x50\x1f\x2b\x7f\x0f\x2c\x12\x96\x72\xd3\xc6\x51\xcb\xb7\x32\x05\x81\xbf\xb0\x54\x10\x68\xea\xde\x8e\x75\x0e\x96\xe6\xf5\x89\x35\x25\x6b\x1a\x6e\x18\x55\x68\x7f\x1e\x93\x0b\x40\x45\xda\x2c\x50\x6f\xed\x08\xcc\xdd\x33\xbc\xe6\x29\x5b\x21\x64\xcd\x16\x6e\x78\xc4\x56\x2e\x1d\x0a\xd0\x54\xd0\x92\xba\x75\x62\x07\x6e\xdc\xda\xea\x81\x63\x02\xee\xec\xc2\x7e\x8f\xeb\x94\x02\x11\xaa\x99\xe7\x7c\xae\x4b\x5a\xd4\x27\x92\x4a\x29\x4c\xaa\xcd\x19\xcb\xb0\x5f\x5d\xb6\x21\x11\xaa\x47\xa7\x8d\x08\xd4\xac\x20\xd3\x39\x78\x3f\x59\x3a\xe1\x20\x89\x21\x97\x8b\xe0\x8b\x5b\x26\x6e\x99\x38\x99\xfb\xdc\xd6\x88\x2c\xb3\x43\xb2\x2d\xfd\x36\x91\xb4\x77\x10\x1b\x9d\x9d\xd0\x6a\x1f\xef\x4e\xfa\x46\x08\x79\xb1\x96\x2a\xa7\xce\xbb\x9e\x6c\x8a\xaf\x88\x8b\x7c\xda\xe3\x3a\xc4\x71\x4f\x91\xe0\xbe\xd7\xfc\x07\x3b\xf5\x2a\xdd\xfb\xbb\x91\x86\x8a\xa5\x86\xbd\xc6\x04\xdd\xf0\xa8\xc1\xcf\xc1\x52\x44\x1f\xc4\x81\x46\x9c\x82\xc2\x66\x85\x11\x1c\x36\x75\x4c\x41\x72\xa1\x0d\x84\x10\xa4\x0a\xa2\x20\x7b\x0d\x11\xe1\x2a\x44\x60\x85\xf9\x6d\x04\xd1\x34\x03\x1e\x8a\x33\xcc\xc2\xdd\x20\xc3\x55\x5e\x94\xd5\xb1\xd8\x2a\x99\x1a\xda\xd4\x45\x01\x64\xaf\xdc\xa7\xc2\x78\x68\xc6\x16\x1e\x6a\x93\x80\x1e\x04\x22\x92\xf6\xe5\x65\x55\x19\x83\x29\xc7\xc6\x47\x05\x83\x2d\x15\x15\x06\x45\x55\xb8\x8c\x3a\xc8\x46\x3a\x6f\x27\x25\x5f\xda\x27\x60\x67\x77\xa5\xc0\xf2\x53\x53\xb8\x70\xf3\xe3\x54\x52\xb6\xa6\x95\x30\xd3\xa9\x24\x7a\xdb\x50\x38\x97\xbb\x42\x48\x9a\x92\xb3\xeb\xdf\xa6\x10\xe8\x52\xa8\xf5\x6d\x15\xbd\x2c\x95\xdc\x40\x02\x00\x5d\x5e\x09\x06\xb9\x87\xec\x28\x37\xff\x20\x76\x93\x70\x4d\xa0\x72\x25\x95\xe1\xc5\x66\x36\x9b\x0d\x6d\xd2\x5d\x78\x20\xfa\x91\xa8\xac\xcc\x23\xdd\xc3\x3a\xb2\x4f\x73\x1a\x24\xd2\x41\x27\x8d\xa0\xa7\xd8\xc1\x23\x7c\xd8\x0f\xda\x17\x88\x7d\x95\x5a\xee\x20\xfa\xe4\xae\x7d\x9b\xa8\x93\x77\x73\x26\x84\x5b\x37\xea\x64\xef\x81\xf3\xec\x6d\x7d\x49\x87\x51\x53\x10\x31\x2b\x41\x68\x62\x36\xc6\x61\xc3\x3a\x4e\xc2\x4c\x2a\xfe\x03\x6e\x1f\x54\x04\x7d\x1e\xec\xe1\xc3\x4a\xc2\x7b\x53\x98\x40\xb9\x38\x14\x47\x7b\x5f\x08\x37\x4a\x56\x25\x69\x46\xe8\x17\x2d\x01\xfc\xda\x8e\x9b\x24\xeb\x87\x91\x73\xbb\x9e\x0f\x62\x5a\x83\xd2\x9a\x64\x2c\x67\x03\x9f\x6b\x9c\xad\x27\x86\x3f\x1e\x5f\xdb\xdf\x79\xe4\x90\x3d\x82\x9c\xa1\x45\x4a\x55\x3a\x46\x90\xd8\xeb\x0c\x1b\xd2\xad\xe1\xe0\xa6\xe6\x46\x87\x68\x1f\xf6\xde\xfd\x3c\x53\xed\xd8\x19\xf3\x04\x2b\x9a\xd3\xe7\xa8\x3d\xac\xb9\x87\x47\xfa\x48\x05\x18\x29\x7c\xfb\xae\x77\x06\x33\x3d\x5d\x31\x11\x5f\xa0\xcd\x89\x66\x6a\x0b\x3f\xdf\xbe\x5c\x12\xed\xd5\xea\xb6\xfb\x40\xed\x4c\x82\x4e\xd3\x75\x3e\xbc\xf6\x82\x63\x0e\x54\x57\x29\x58\x2b\x68\x0e\x40\x38\x1c\x60\x2d\x6b\x2c\x19\x13\x65\xb8\x12\x32\xb9\x0d\x62\x64\xc6\x15\xe0\x53\x52\x4a\x6d\x30\xa3\xc0\xeb\xb6\x02\x5e\x4f\x4b\x38\xbd\x93\x2a\xfd\x6f\x06\x1b\xa7\xa5\x54\x26\x4a\x57\xff\xd1\x5a\xe4\x32\x65\x0b\xfc\x37\x8f\xca\x9e\x56\xa6\xe5\x99\x07\x4d\xe3\x6d\x3f\xd9\x38\x04\xde\x31\xb7\x90\xfc\x6f\x07\x95\xc5\x6a\xb8\x67\xa8\xf7\xc4\xeb\x30\xb4\xbb\x41\xfc\x3f\x0f\x7d\xd0\x20\x07\x2c\x7d\x32\xd4\xae\xbb\xf9\x4f\x32\x54\x8b\x57\xa8\xec\x16\x6e\x9a\x16\x1f\xed\xa3\x93\x84\xff\x08\xd6\x7d\x86\xe0\x43\x67\x45\x71\xcb\xcd\x12\xbd\x66\xc4\x73\xfb\xa5\xf3\x97\xca\xfb\x0d\x7c\x1b\xc3\xe4\x25\x64\xc6\xb8\x79\x8d\x32\x5f\xf9\x50\xfe\x49\x32\xd7\x99\xa1\x91\x7b\xbf\xf0\xfa\x64\x3f\xf7\x6f\xb3\x97\xb0\x77\xba\x7a\x8d\x12\x5f\x41\xaa\x7e\x09\x69\xb1\x04\x8c\xc8\x0b\x17\xe7\x84\x65\x52\xa4\x4c\x2d\x82\x7f\xfd\xf3\xfd\xbb\xbf\x58\x05\xd7\xd7\x97\xbf\x26\x99\x43\x39\x1c\xc0\x03\x06\x59\xe2\x6e\x7d\xed\x4f\xb9\x76\x37\x5e\x3f\x98\x47\x6e\xff\x41\x40\x85\x2d\x5d\x05\xd7\xa4\xba\xb1\xd4\x6e\x31\xf9\xcd\xc9\xc8\xe0\xf2\xc1\xd7\xf7\xe1\xba\x12\xc0\x72\x6b\x32\x86\xe0\x71\xc5\x69\xcc\xac\x63\x25\x5e\x67\x4f\xbe\x7a\x4d\xf4\x80\x8f\xe4\x45\x4a\x1b\x70\xfe\x6a\x6b\x1b\x0a\x8d\xf5\xed\x45\x84\x7e\xad\xc5\x0d\x85\xfe\xc9\x05\xae\x2b\xf8\x03\xd5\xad\x93\xfb\x5c\x28\xd1\x57\xa1\x93\x17\x2a\x03\x47\x9c\xff\x79\xaa\x18\xd3\xcc\xa1\xb7\x3e\x53\x4a\xee\xbd\x91\x0a\xa6\xe0\x4d\x89\xff\xc3\x94\x16\x1b\xa6\x9a\x3e\xd4\xc1\x44\x34\xa2\xdd\x29\x8f\xba\xee\xab\x57\x57\xab\x9c\x9b\xc1\x2b\xd7\xbe\xae\x3a\x4d\xa9\xba\x0b\x3f\xe5\x29\x0d\x6f\x30\x56\x3f\xc9\x85\xd4\xed\x6e\x7e\xdd\xe3\x18\x27\x58\xbf\xe8\xe3\x33\x5a\x24\x4c\x4c\x7f\x3e\xd7\x13\xd4\xcd\xe1\xb6\x4b\xcb\x12\xae\x89\xbc\xf4\x1f\x8d\x96\xf8\xd5\xa8\xee\xbb\x54\x8d\x73\xa6\x4a\x96\xc0\x6c\x11\xda\x6d\xdf\x4d\x69\x1d\x25\xb6\x13\xda\xfe\xf6\x80\xcd\x83\xd0\xf5\x08\x6d\x7b\x0e\x2f\x1c\xf1\x85\xfd\x25\x46\x62\xd7\x0c\xbf\x1f\x74\x3e\x63\x88\xa6\x2d\x0e\xbc\xf1\xd4\x59\xbe\xb3\x3f\x4e\xc1\xa8\xaa\x48\xa8\xc1\x66\xb4\x1f\xb9\x96\xfb\x01\x22\xe3\x48\x52\x28\x92\x88\xe2\xdc\xfe\x1e\x42\x50\x37\x6a\xbd\x1a\xc1\x24\xf6\x2b\xd8\x3c\x72\x9f\x9d\xff\x0c\x00\x00\xff\xff\x1b\x88\x2c\xcc\x87\x1e\x00\x00") +var _staticIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xcc\x19\xdd\x6f\xdb\xb6\xf3\xbd\x7f\x05\x7f\xfa\xbd\x4e\x16\xda\x6e\xc0\x12\xd8\xde\xba\x24\x40\x0b\x04\x58\xda\xb4\xc3\xf6\x64\xd0\x12\x6d\x31\xa1\x44\x95\xa4\x6c\xa7\x7f\xfd\xee\x48\xca\xd6\xa7\xa3\x24\x4d\x97\x87\xc4\xfc\xb8\x3b\xde\xf7\x91\xa7\xe9\xff\xce\xff\x3c\xfb\xfc\xcf\xd5\x05\x49\x4d\x26\xe6\xaf\xa6\xf8\x43\x04\xcd\xd7\xb3\x80\xe5\x01\xd9\x65\xe2\xb4\x31\xcb\xf5\x2c\x48\x8d\x29\x4e\xa3\x68\xbb\xdd\x4e\xb6\x6f\x27\x52\xad\xa3\xd7\x27\x27\x27\xd1\x0e\x71\x03\xa4\xc1\x68\x32\x7f\x45\xc8\xd4\x70\x23\xd8\xbc\x58\x6f\xd9\x72\x1a\xb9\x09\x2e\x67\xcc\x50\x12\xa7\x54\x69\x66\x66\x41\x69\x56\xe1\xaf\xc1\x61\x03\xa9\x87\xec\x6b\xc9\x37\xb3\xe0\xef\xf0\xcb\xbb\xf0\x4c\x66\x05\x35\x7c\x29\x58\x40\x62\x99\x1b\x96\x03\xd6\x87\x8b\x19\x4b\xd6\x6c\x00\xef\xcc\x81\x85\x97\xc0\x7a\x49\xd7\x75\x44\x90\xc3\xe2\x08\x9e\xdf\x12\xc5\xc4\x2c\xd0\xe6\x4e\x30\x9d\x32\x66\x02\x92\x2a\xb6\x9a\x05\x91\x36\x70\x60\x1c\xc5\x5a\x47\x4b\x29\x8d\x36\x8a\x16\x13\x98\x05\xf3\x69\x84\x88\x0f\xa2\xb0\x82\xa3\x43\xba\x65\x5a\x66\xec\xd1\x44\x68\x71\x8c\x01\x0e\xe2\x05\xc4\xdc\x15\x0c\xc6\x19\x08\x1c\xed\x42\xb7\xd6\xa4\xc4\xb3\x75\x84\xeb\x13\xf8\x17\x90\xc8\x52\xd1\xb1\xe2\x85\xf1\xc8\x86\xed\x4c\x74\x43\x37\xd4\xad\x06\x44\xab\xf8\x80\x7e\xa3\xa3\x9b\xaf\x25\x53\x77\x93\x1b\xcb\x89\x03\x7a\x04\x15\x1a\xb3\xef\x40\x22\x2c\xd6\xfa\xab\x78\x2a\xa1\xbd\x81\x43\xeb\x23\x3b\x93\xb1\xbc\x7c\x32\x77\x60\xae\x26\x89\x69\xe4\xc2\x62\xba\x94\xc9\x9d\xa5\x98\xf0\x0d\xe1\xc9\x2c\xc8\x28\x77\x3e\x59\x5b\xcb\xe9\xc6\x2f\xc1\x62\x29\xaa\xa1\x35\xba\x05\x30\x14\xe2\x61\xe1\xbd\x3a\x98\x7f\x92\x5b\x8d\x9e\x31\x04\x08\x02\x96\xb1\x29\x15\x04\xcc\x75\x35\x3c\x06\xcf\xf3\x84\xed\x18\x08\xf0\xc1\x0d\x8e\xc1\x02\x13\xa8\x3f\x9e\x1b\x80\x3f\x3b\x4c\x8e\xe1\x58\x2f\x82\xa8\x14\x54\x43\x42\xd1\x4c\xb0\xd8\xb0\x04\x98\xfb\x78\x49\x3e\xe2\xde\x31\xe4\x94\x6b\x23\x01\x7d\xfe\xde\x0d\x8e\xc1\xd2\xd8\xf0\x0d\x37\x00\xfc\xce\x8f\xee\x11\x25\x07\x4e\x38\x44\x0e\x4a\xe2\xc7\x75\x8c\x69\x84\xd6\xa8\x26\xd4\xc7\xd7\xff\x03\x4b\x84\x25\xdc\xd4\x69\x54\xf2\x2d\x4d\x4e\xe0\x2f\x2c\x14\x04\xa7\xba\xb3\x63\x9d\x81\x77\xf0\x0a\x62\x45\xc9\x8a\x86\x6b\x46\x15\xfa\x0c\x9f\x93\x0b\x20\x45\xea\x2c\x50\xef\x21\x11\xb8\x48\xcb\x59\x34\x4f\xd8\x12\x31\x2b\xb6\x70\xc3\x13\xb6\x72\xe9\x50\x80\xa6\x82\x9a\xd4\x35\x88\x2d\xb8\x7e\x6d\xab\x85\x8e\x49\xbb\xb1\x0b\xfb\x2d\xae\x13\x0a\x87\x50\xcd\x3c\xe7\x53\x5d\xd0\xbc\x82\x88\x4b\xa5\x30\x11\xef\x61\x2c\xc3\x7e\x75\x51\xc7\x44\xac\xd6\x39\x75\x42\xa0\x66\x05\xd9\xd1\xe1\xfb\xc9\xc2\x09\x07\x89\x0f\xb9\x9c\x05\x9f\xdc\x32\x71\xcb\xc4\xc9\xdc\xe6\xb6\x22\x64\x99\xed\x1e\x5b\xd3\xef\x3e\xfa\x0e\x0e\x62\x23\xba\x1e\x8e\x87\x7d\x0d\xa5\x87\xe5\x71\x17\xa4\x41\xb1\x39\x69\xdb\x29\xe4\xf9\x4a\xaa\x8c\x3a\x07\x7c\xb4\xb5\x3e\x23\x2d\xf2\xe1\x40\xab\x4f\xa8\x96\xae\xc1\xc3\xaf\xf9\x37\x76\xea\xb5\x7e\x08\x09\x23\x0d\x15\x0b\x0d\x7b\x7b\x2b\x35\x23\xa8\x42\x3f\x07\x63\x12\xdd\x4b\x03\xed\x3c\x86\x84\x4d\x36\x03\x34\x6c\x46\x1a\x43\xe4\x42\x1b\x88\x32\xc8\x26\x44\x41\x52\xec\x12\xc2\x55\x08\xd2\x12\xd3\xe6\x00\xa1\x71\x06\xec\x0b\x45\x4c\xee\xcd\x38\xc4\x55\x9e\x17\xe5\xb1\xf0\x2b\x98\xea\xda\xd4\x05\x0a\x24\xb8\xcc\x67\xcb\x79\xd7\x8c\x35\x3a\xd4\xe6\x09\xdd\x89\x55\x3c\xda\x57\xad\x65\x69\x0c\x66\x25\x1b\x42\x25\x0c\x36\x54\x94\x18\x37\x65\xee\x92\x6e\x27\x61\xe9\xac\x9e\xb7\xfc\x8d\x61\x04\x75\xb6\x2b\x04\x56\xb5\xea\x84\x0b\x37\x3f\x7e\x4a\xc2\x56\xb4\x14\x66\xfc\x29\xb1\xde\xec\x4f\x38\x97\xdb\x5c\x48\x9a\x90\xb3\xeb\xbf\xc6\x1c\xd0\x3c\xa1\xd2\xb7\x55\xf4\xa2\x50\x72\x0d\x39\x02\x74\x79\x25\x18\xa4\x27\xb2\xa5\xdc\xfc\x44\xec\x26\xe1\x9a\x40\x41\x8c\x4b\xc3\xf3\xf5\x64\x32\xe9\xda\xa4\xb9\x70\x4f\xf4\xe3\xa1\xb2\x34\x0f\x74\x0f\xeb\xc8\x3e\x13\x6a\x90\x48\x07\x8d\x34\x82\x9e\x62\x07\x0f\xf0\x61\x3f\xa8\xdf\x4b\x0e\x85\x6c\xb1\x85\xe8\x93\xdb\xfa\x25\xa5\xca\xef\x7b\x98\x10\x2e\xf3\xa8\x93\x83\x07\x4e\xd3\xd7\xd5\xdd\x1f\x46\xfb\x9a\x89\x59\x09\x42\x13\x13\x36\x0e\xf7\xac\xe3\x24\x4c\xa5\xe2\xdf\xe0\x52\x43\x45\xd0\xe6\xc1\x02\xf7\x2b\x09\xaf\x63\x61\x0c\x15\xa5\x2f\x8e\x0e\xbe\x10\xae\x95\x2c\x0b\xb2\x1f\xa1\x5f\xd4\x04\xf0\x6b\x5b\x6e\xe2\xb4\x1d\x46\xce\xed\x5a\x3e\x88\x69\x0d\x12\x7f\x9c\xb2\x8c\x75\x7c\x6e\xef\x6c\x2d\x31\x3c\xf8\xfc\xda\xfe\x4e\x23\x47\xec\x01\xc7\x19\x9a\x27\x54\x25\x43\x07\x12\x7b\xe3\x61\xdd\x73\x2b\x3c\xb8\x00\xba\x51\xdf\xd9\xfd\xde\x7b\x98\xa7\xaa\x1e\x3b\x43\x9e\x60\x45\x73\xfa\x1c\xb4\x87\x35\x77\x17\xa4\x4d\x54\x80\x91\xc2\xd7\x6f\x5a\x30\x98\xe9\xe9\x92\x89\xf9\x05\xda\x9c\x68\xa6\x36\xf0\xf3\xe5\xd3\x25\xd1\x5e\xad\x6e\xbb\x8d\x54\xcf\x24\xe8\x34\x4d\xe7\xc3\xdb\x34\x38\x66\x47\x75\xa5\x82\xb5\x9c\x66\x80\x84\xc3\x0e\xd5\xa2\xa2\x92\x32\x51\x84\x4b\x21\xe3\xdb\x60\x8e\xcc\xb8\x02\x7c\x4a\x0a\xa9\x0d\x66\x14\x78\x34\x97\xc0\xeb\x69\x01\xd0\x5b\xa9\x92\xdf\x53\xd8\x38\x2d\xa4\x32\x51\xb2\xfc\x4d\x6b\x91\xc9\x84\xcd\xf0\xdf\x34\x2a\x5a\x5a\x19\x97\x67\xee\x35\x8d\xb7\xfd\x68\xe3\x10\x78\x1e\xdd\x42\xf2\xbf\xed\x54\x16\xab\xe1\x96\xa1\xde\x12\xaf\xc3\xd0\xee\x06\xf3\x3f\x3c\x76\xaf\x41\x7a\x2c\x7d\xd2\xd5\xae\x7b\x1c\x8c\x32\x54\x8d\x57\xa8\xec\x16\x6f\x9c\x16\x1f\xec\xa3\xa3\x84\x7f\x0f\xd6\x7d\x82\xe0\x5d\x67\x45\x71\x8b\xf5\x02\xbd\x66\xc0\x73\xdb\xa5\xf3\x87\xca\xfb\x05\x7c\x1b\xc3\xe4\x39\x64\xc6\xb8\x79\x89\x32\x5f\xf9\x50\xfe\x4e\x32\x57\x99\x61\x2f\xf7\x61\xe1\xe5\xc9\x7e\xee\x9f\x6f\xcf\x61\xef\x64\xf9\x12\x25\xbe\x82\x54\xfd\x1c\xd2\x62\x09\x18\x90\x17\x2e\xce\x31\x4b\xa5\x48\x98\x9a\x05\xbf\xfc\xfc\xf6\xcd\x7f\xac\x82\xeb\xeb\xcb\x1f\x93\xcc\xa1\x1c\x76\xf0\x81\x82\x2c\x70\xb7\xba\xf6\x27\x5c\xbb\x1b\xaf\x1f\x4c\x23\xb7\x7f\x2f\xa2\xc2\x4e\xb1\x82\x6b\x52\xd5\x7b\xaa\x77\xa1\xfc\xe6\x68\x62\x70\xf9\xe0\xab\xbb\x70\x55\x0a\x60\xb9\x36\x19\x22\xf0\xb0\xe2\x34\x64\xd6\xa1\x12\xaf\xd3\x47\x5f\xbd\x46\x7a\xc0\x7b\xf2\x2c\xa5\x0d\x38\x7f\xb1\xb5\x0d\x85\xc6\xfa\xf6\x2c\x42\xbf\xd4\xe2\x86\x42\x7f\xe7\x02\xd7\x14\xfc\x9e\xea\xd6\xc8\x7d\x2e\x94\xe8\x8b\xd0\xc9\x33\x95\x81\x23\xce\xff\x34\x55\x0c\x69\xa6\xef\xad\xcf\x94\x92\x07\x6f\xa4\x82\x29\x78\x53\xe2\xff\x30\xa1\xf9\x9a\xa9\x7d\x1f\xaa\x37\x11\x0d\x68\x77\xcc\xa3\xae\xf9\xea\xd5\xe5\x32\xe3\xa6\xf3\xca\xb5\xaf\xab\x46\x53\xaa\x6a\xd4\x8f\x79\x4a\xc3\x1b\x8c\x55\x4f\x72\x21\x75\xbd\xe1\x5f\xf5\x38\x86\x0f\xac\x5e\xf4\xf3\x33\x9a\xc7\x4c\x8c\x7f\x3e\x57\x13\xd4\x4d\x7f\xdb\xa5\x66\x09\xd7\x67\x5e\xf8\x6f\x51\x0b\xfc\x18\x55\xf5\x5d\xca\xbd\x73\x26\x4a\x16\xc0\x6c\x1e\xda\x6d\xdf\x4d\xa9\x81\x12\xdb\x09\xad\x7f\x9e\xc0\xe6\x41\xe8\x7a\x84\xb6\x3d\x87\x17\x8e\xf9\x85\xfd\x25\x46\x62\xd7\x0c\x3f\x31\x34\xbe\x74\x88\x7d\xe7\x1c\x78\xe3\x89\xb3\x7c\x63\x7f\xf8\x04\xa3\xca\x3c\xa6\x06\x9b\xd1\x7e\xe4\xba\xf2\x3d\x87\x0c\x13\x49\xa0\x48\x22\x89\x73\xfb\xdb\x47\xa0\x6a\xd4\x7a\x35\x82\x49\xec\xc7\xb5\x69\xe4\xbe\x66\xff\x1b\x00\x00\xff\xff\x01\x11\xeb\xf8\xde\x1e\x00\x00") func staticIndexHtmlBytes() ([]byte, error) { return bindataRead( @@ -298,7 +298,7 @@ func staticIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/index.html", size: 7815, mode: os.FileMode(420), modTime: time.Unix(1447457724, 0)} + info := bindataFileInfo{name: "static/index.html", size: 7902, mode: os.FileMode(420), modTime: time.Unix(1449274360, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -318,7 +318,7 @@ func staticJsAcePgsqlJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/js/ace-pgsql.js", size: 53342, mode: os.FileMode(420), modTime: time.Unix(1447457724, 0)} + info := bindataFileInfo{name: "static/js/ace-pgsql.js", size: 53342, mode: os.FileMode(420), modTime: time.Unix(1431980121, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -338,12 +338,12 @@ func staticJsAceJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/js/ace.js", size: 327872, mode: os.FileMode(420), modTime: time.Unix(1447457724, 0)} + info := bindataFileInfo{name: "static/js/ace.js", size: 327872, mode: os.FileMode(420), modTime: time.Unix(1431980121, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _staticJsAppJs = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xd4\x3b\xed\x72\xe3\x46\x72\xff\xf5\x14\xb3\xb0\x6b\x05\xc6\x12\xa8\xdd\xcb\x55\xaa\x48\x49\x8e\x2c\xeb\xca\x4e\x6c\xaf\x23\xc9\x57\xa9\x52\x54\x2a\x10\x18\x91\xf0\x82\x00\x0f\x18\x8a\x52\xd6\x7a\x83\x3c\x40\x9e\x2f\x4f\x92\xee\xe9\xf9\x04\x06\xa4\xd6\x3e\x97\xf7\xee\xca\x2b\x60\xd0\xdd\xd3\xd3\xdd\xd3\x5f\x33\x7c\x48\x1b\xc6\xf3\x42\xd4\xcd\x74\x0f\x9f\xb3\xba\xaa\x78\x26\x78\xce\x4e\xd8\x7d\x5a\xb6\x9c\x86\x67\x75\xfd\x7e\x99\x36\xef\x5b\x18\xfe\xf0\x3c\xdd\xdb\xbb\x5f\x57\x99\x28\xea\x8a\xa5\xab\xe2\x3c\x2d\xcb\x78\xc9\xc5\xa2\xce\x0f\xd8\x2a\x15\x0b\xfc\xb7\x49\x97\xed\x01\xcb\x66\x23\xf6\x61\x8f\xb1\xcf\x93\xf4\xe7\xf4\x31\xc6\x47\xc6\xd6\x4d\x39\x61\xd1\x18\x30\x23\xf6\x05\x21\xc8\x71\x22\x31\x51\x7f\x69\x2c\x4b\xb3\x05\x9f\x10\x2b\x34\x92\xa7\x22\x9d\xe8\x09\xe4\x48\xbb\xce\x32\xde\xb6\x00\xa5\x98\x8a\x11\x86\x26\x96\x34\x66\x34\x30\x95\xef\xcf\x84\xc4\x9b\xa6\x6e\x1c\x94\xc7\x45\x73\xc0\x5a\x91\x8a\x35\xb0\xdd\xc3\xff\xf9\x3f\xd6\xbc\x79\x4a\x60\xd6\x96\xff\xdb\xd5\xbb\x1f\x10\x3c\x69\x78\xbb\xaa\xab\x96\x5f\xf3\x47\x31\xd2\xd4\xe1\xdf\x67\x78\x7e\x76\x44\x34\xe7\xe2\x3a\x9d\x95\xbc\x8d\x51\x1c\xdd\xff\x7d\x30\x22\x8c\x00\x30\x3a\x00\xc9\x08\x09\x0d\x8f\x1f\x9e\xa5\x08\xa7\x40\xb6\x47\xed\xb2\xde\xb4\xb1\x84\x3c\x60\xf5\x4a\x68\x61\x0f\x51\x1b\xa3\xac\xe5\x23\xfc\x8d\xc6\x0d\x60\x47\x0e\x62\x70\x8a\x2b\xd1\xac\x33\xb1\x6e\xb8\x9e\x47\xf2\xff\x82\x29\xb6\x73\xfe\x6d\x95\xf3\x47\xde\x7a\x44\x5f\x44\x56\x72\x5e\x10\xf6\xb0\x74\xbe\x29\x5a\x30\xe7\xa7\x90\xb0\x03\x73\x2c\x08\x7a\x98\xdc\x57\xda\xf4\xfb\x04\x03\xe4\xcc\x46\xf1\x09\x5a\x8a\xbc\xca\xea\x9c\x4b\x73\x8a\xff\x86\xff\x92\x9d\x35\x1c\xe4\x5c\xb1\x0d\xac\xae\xde\x24\x33\x51\xa7\xea\xab\x6f\x4a\xb0\xf2\x6c\x2d\x5c\x74\xbb\xc7\x0c\x2f\xab\xba\x25\x66\x24\x00\x32\xc2\xe4\xd3\x84\xfe\x30\xc5\x56\x87\xf0\xaa\x4c\x8b\xea\x85\x84\x15\xf4\xcb\x48\x97\x75\x9a\x2b\xfb\x57\xce\x20\x8e\x3e\x23\xd5\xb2\xb2\x88\x46\xb0\x8f\x96\xf5\x03\x8f\x01\x0d\x3e\xda\xcd\x12\xdc\xcd\xf8\x9c\xdc\xd7\xcd\x05\xf8\x05\x0b\x51\x08\xbe\xb4\xfb\x15\xe8\x1f\x97\xc5\xe9\x71\xbb\x4a\xab\xd3\xe3\x82\x65\x65\xda\xb6\x27\xfb\xf7\x29\xb8\x91\x43\x39\xf1\xfe\xe9\xf1\xb8\x38\x65\x68\x58\x88\x8a\x76\xc5\x8e\xc7\x04\x3f\x06\x54\x60\x2a\x5d\xad\x78\x95\x5f\xd7\x86\xd7\x48\xef\x70\xf9\xb7\xbb\xc7\x79\x9b\xa5\x2b\xfe\x8d\x58\x96\x71\x2b\x1a\xe2\xa5\xb8\x67\xf8\xc2\x5e\x9d\xb0\x6a\x5d\x96\xec\x97\x5f\x98\x7a\x5d\x83\x0d\xdf\x17\x15\xcf\x35\xd3\x4a\xfd\xe4\x66\x80\xfd\xbc\x78\x18\x23\x17\x02\x5c\x8b\x24\x98\x2c\x90\x34\x4d\xbd\x67\xed\x25\x92\x8b\xd4\x2b\xc4\x59\xf6\x4f\xf1\x5f\xb5\x98\xc8\x67\x72\x5d\x75\xd8\xc4\xc9\x65\x04\x00\xb7\x9e\xd7\xd9\x7a\xc9\x2b\x91\x64\x0d\x4f\x05\xbf\x28\x39\xbe\xc5\x11\xb0\x42\x4b\xe7\x49\x01\xb1\xa1\xf9\xe6\xfa\xfb\xef\x00\x1c\xd0\xa7\x96\x0f\x9e\x64\x8b\xa2\xcc\x7f\x00\xd3\x6e\x93\x92\x57\x73\xb1\x60\x27\x27\x27\xec\x88\x7d\xc9\xa2\x88\x4d\x3c\x80\x9b\xa3\xdb\xa4\x82\x87\xbf\xa6\xe5\x9a\xf7\x5c\xe5\xf9\xba\x69\x60\x62\x69\x04\xb1\xb7\x39\x3e\x77\x74\x91\xa4\x42\x34\xc0\x1c\x98\xc3\x61\x46\x18\xd1\x08\x25\x1c\x75\xd6\x0c\x4e\x9a\x7b\xc4\x90\x0a\x0c\xae\x4b\x81\x64\xa4\xf4\x1d\x5a\x4b\xe0\x0b\x4d\x5c\x7f\x92\x0a\x30\x6f\x64\xa9\xe7\x28\xed\x38\xe2\xcb\x95\x78\x0a\x7e\xa9\xea\xc3\xac\xa9\x57\x51\xc7\x46\x56\xbc\x01\xcb\x5d\x4a\x66\xce\xc8\x70\x95\x0b\x4c\xe5\x9b\xb5\x1a\x7a\x07\x09\xb2\x08\x5c\x70\x95\x81\x3e\x22\x5c\x9c\x33\x9e\xf3\x92\xc3\xa8\x36\x20\xd4\xe2\x12\x82\x60\x3a\x47\x5d\x46\x67\x0d\x67\x4f\xf5\x1a\x42\xa3\x7a\xd8\xa4\x95\x60\xa2\x96\x26\xaf\xa8\xa0\xd1\x93\x5b\xf5\x1c\x2c\xfb\x32\x22\x43\x47\x46\x5e\x41\x3e\x70\x5f\x34\xcb\x58\xd1\x1e\x8d\x94\x32\x8c\x21\xb6\x9b\x42\xc0\x56\x74\x57\x80\x51\xbb\xe5\x0e\xeb\x13\xb5\x31\x3d\xef\x15\x5d\x5f\xfe\xf4\xc3\xf9\xd9\xf5\x05\xbb\x3e\xfb\xea\xbb\x0b\xe6\x04\x8f\x81\x38\x4e\x2c\x49\x0f\x20\xa3\xf7\x88\xa5\x25\x6f\x84\x3b\x32\x35\xa0\xae\xde\xf5\xe8\xb3\x79\x9a\x81\x8d\xbf\x9f\x3a\xbc\x2a\x71\x86\x39\xfd\xfa\xf2\xdd\x8f\xbf\x0f\x97\xae\x6f\xfc\xd5\xbc\x83\x37\xae\x1b\x61\x78\x47\x53\xb8\x2f\x60\x13\xa6\x4b\xb4\x05\xa3\xd8\x24\x6b\x1f\x22\x07\x86\x3c\xf6\x89\x8e\x39\x14\x98\x7e\xba\xfc\x36\x8e\xae\x2e\xbe\xbb\x38\xbf\x66\xff\xc4\xfe\x72\xf9\xee\x7b\xbb\x64\xc3\x01\x62\x43\x12\x87\x86\xb6\x10\x62\x35\x19\xcb\x10\xad\xe8\x94\x35\xe8\x1c\xc4\x92\x2c\x20\x5a\xc8\x88\x0d\xf1\x83\x42\xd1\x97\x68\xfe\xa9\x38\x01\x46\x5e\x6b\x0e\x4f\x10\xd5\xb0\x0b\xe0\xaf\x25\xa8\x1c\x96\x4f\xee\xa4\x30\x85\x65\xb8\x06\x07\x1d\x03\x1b\xb0\x5b\xef\x66\x65\x5a\xbd\x8f\x0c\x83\x00\x01\x41\x22\x5b\x3b\x52\x35\x52\x7b\xf6\xf6\x64\x0b\x92\x3b\x03\xa5\x6c\xe2\xbc\x68\xb8\x63\xc4\x64\xd7\xac\x3b\xac\x65\x7e\x76\x75\x6e\x04\xae\x7d\xf1\xeb\xcf\x1e\xdf\xfe\xf9\xab\xb7\xd3\xc8\x55\xce\xd7\x17\x83\x90\xe7\x1a\x12\x82\x41\x0a\xfe\xa8\x0b\x15\xf5\xd9\x9d\xad\xc1\x89\x92\x65\x28\x1f\x76\x20\x97\x70\x5e\x97\xeb\x65\x45\xcf\xef\x9a\x9c\x37\xda\x71\xba\x86\xa4\x9c\x8b\x42\xd4\xd6\x49\xab\xc2\x98\x29\x9a\xd3\x63\x91\x9f\x5e\x5c\x5e\xbe\xbb\x9c\x48\xb5\x7b\xa0\xa8\x9c\xe3\x31\x02\xe1\x3f\x7e\x88\x34\x0e\x75\xaa\xa9\x39\x3e\x36\xcd\x73\xdf\x65\x4e\x9d\x98\x67\x1c\x89\x74\x37\x7a\x42\x4c\x4f\x03\xac\xfd\x50\x03\x56\x56\x37\x79\xcb\xee\x6b\x08\xa2\xbf\x23\x3b\x54\x0c\x95\x58\xf0\x90\x22\x70\x00\xd9\x52\x03\x24\x5d\xc9\x6c\x26\x85\xdf\xf6\xd3\x12\xf8\xa0\x17\x81\xab\x83\x57\x19\x14\xad\xc2\x9c\x1a\x03\xa7\xfa\x02\x48\x1f\x43\xe4\x54\xe1\x1c\x7d\xea\x03\xdf\x97\x39\xcf\xc9\x3e\xea\x03\x29\x80\x16\xe4\x33\xc5\x2b\xa4\x75\x58\xa3\xc6\xe5\x8e\x31\xfa\x47\x80\x53\x07\xe5\x75\x35\x6b\x57\x53\x0d\x42\x16\xef\x18\x0b\xa9\x76\x71\x1a\xd9\x2a\x06\x9c\x20\xd4\x5c\x61\x06\xfb\x1c\xb9\x73\x75\x29\x3d\x8f\x3c\x71\xa1\x10\xfb\xb2\x82\x51\x37\x96\x35\x46\xee\x0c\x54\xdd\xb0\xb8\x60\xb0\xf7\x09\x08\x3e\x12\x23\xf9\x29\x26\x4a\x72\x6a\x27\xb1\x01\xa0\x9b\xe2\x56\xad\x09\xbf\x03\x3f\x39\xf0\xa3\x56\x25\x75\x48\xf8\x8d\x44\xb5\x86\x1d\x4d\x2d\xb7\xd2\xea\x16\x3c\xcd\xf5\xca\x5a\xbd\x34\x1c\x3b\x16\xb3\x3a\x7f\x22\x74\x49\x4f\x7e\xaa\x67\x38\x36\x64\x89\x9e\xdb\x71\xf3\x9c\xb8\xc8\x6d\x6a\x52\xa5\x0f\x6c\x5d\x42\x62\x9c\xb4\x10\x92\xb0\x12\x37\x19\xb2\xb2\x5a\x3b\x3e\x55\x38\x32\x8f\xcd\x5d\xcb\x76\x61\xbc\x79\x17\xf5\x46\x06\x35\x5d\x24\xd1\xc4\x4e\xd5\x14\x8c\x6a\x8e\xed\xdf\xdc\x4a\xf1\x48\xad\x90\x52\xfc\xf0\x27\xb5\xbb\xae\xda\x45\x71\x2f\xe2\x1b\x59\x30\x7f\x0b\x69\x64\x81\xfa\x78\x43\x95\x35\x68\x27\x51\x25\x86\x7e\x15\x05\x24\x18\x22\x5d\xae\x6e\x4d\x1d\x2d\xff\x38\xfe\xee\x03\x53\xfb\x6c\xc2\x6e\xa2\x22\xc7\x24\x4d\xd7\x37\x91\x41\x8f\x6e\x0f\x24\x07\x13\x62\x57\xe9\x92\x75\xe4\x1d\xc9\x70\x76\xa7\x4b\x3f\xc7\x4b\x14\xd5\x6a\x0d\x89\x64\xb2\x28\x72\x13\x7b\x71\xbc\x5e\x0b\xfa\x60\x45\x7c\x0f\x69\xf6\x2e\x07\xe3\x24\x82\xfd\x92\x01\x75\xe1\xd5\xc3\x24\x44\x94\xb5\x0a\xdd\xbd\x6c\xd8\xf8\x70\x04\xb0\x79\x36\x3b\xd2\xf2\xa7\x54\x23\xfa\xb1\xe4\x18\x7c\xc8\x0a\x58\x4a\xe1\xfb\xd5\x80\xa7\xeb\x96\xe5\x48\x7b\x20\xbb\x09\x8a\x51\x17\xe4\x8a\xba\xa3\x32\xd5\x75\xf9\xa3\xa5\x7b\x5f\xff\x51\xa2\xdd\xd6\xd1\xd0\xf9\xce\xb8\x00\x06\x55\xb7\x20\x28\x74\x58\x7e\x22\xf1\x0e\x11\x12\x13\x28\x59\xcb\x81\x78\x12\x5c\xa4\x2b\x48\x52\x88\xa8\x45\x5a\xde\xb5\xc5\x7f\x73\x5d\x41\xca\xdc\xd3\x0e\xf7\x30\xf0\x7b\x1f\xc1\x8c\xf6\xe0\xa5\xca\xfb\x08\x76\xb8\x87\x81\xdb\xf1\x2e\x83\x98\x2d\x3c\x0c\x3b\xdc\xc3\x90\xf9\x68\x51\xcd\x35\x7c\xf4\x53\xf5\xbe\xaa\x37\xd5\x0e\x75\x9f\xd7\x95\xc0\xba\x75\x4b\x56\xf4\x87\xed\x30\xd9\xb2\xa3\xed\xf5\x01\x3c\xfc\xb2\x10\x13\xf6\xe6\xe8\x88\x18\xbc\x23\xf7\x36\xe9\xe5\x73\x77\x32\xbc\x4f\x9c\xd8\x3e\x64\x29\x9d\xad\x37\x94\x1a\x4e\x87\xf7\x72\x46\xd2\x8b\xdc\x5d\xeb\x6c\xbd\x7e\x9d\x3c\x43\x0d\xf2\xdf\xec\x42\x07\xd5\x69\x5b\x90\x7f\xb0\xee\x2c\x23\x1f\xeb\x1f\x5b\x8d\xf9\x09\x7a\x48\x99\x0b\xfc\x98\x56\xbc\x54\xf2\x0d\xae\x80\xe2\x2c\x35\x81\xe4\x59\x81\x2d\xae\xf6\x7c\xbe\xad\x43\xf2\xb8\xf6\xf2\x17\xcd\x78\x97\x97\x73\x3a\x7a\x80\xd7\x9d\x0c\x65\x06\x54\x59\x6a\xcf\xd1\x3a\x10\x5b\x5c\xeb\x50\x5e\xf3\x9e\x3f\x0d\x64\x36\xab\x75\xbb\x88\x6f\xe0\xbb\xca\x5d\xe0\xe9\x76\x4b\xce\x62\x93\x67\x9d\xb9\xe0\x1e\x2a\x66\x6b\x21\x77\xcf\x03\x76\xc0\x20\x67\x71\x66\xa0\xcc\x85\xe8\xfd\x66\xcb\x08\xa9\x1c\x3b\x4f\x0f\x85\xd8\xad\xf5\x54\x01\x0e\x89\xd8\x7c\xdf\x22\xe0\xbe\xa9\xff\x5d\xd7\xd3\xac\x55\xc7\xfa\x25\xc6\xab\x8c\x12\x70\x0e\xd8\x67\xaa\x83\x0d\x4f\xd8\x15\x19\x25\x2b\xd8\x26\xd8\xeb\x6c\x11\x07\x93\x4b\xd8\xb4\xdc\x18\xb2\xa4\x71\x07\x30\x73\xd8\x65\xad\x63\xe7\x7b\x7e\x2b\xe5\xf3\x04\x94\xbb\x8c\xd5\x26\x01\x41\x5d\xa9\x3c\x1c\x8f\x88\x62\xd9\x9f\xb4\xdf\x64\xfb\x33\x1e\x59\xb7\x25\xa9\x84\xfc\xd6\x47\xb0\x2d\x0f\xca\x1c\x71\xf6\x38\x77\xe5\xdd\x71\x75\xa1\xc3\x85\x17\x6a\xf5\x77\x65\x33\xec\x60\x5e\xe2\x62\x4c\xe9\x4d\xa2\x15\xf5\x77\xf5\x86\x37\xe7\xe0\xfd\xe3\x11\x65\x2b\xef\xee\xe3\x48\x9f\x66\x8c\xb0\x35\x7f\xf8\xc6\x3b\x48\xd8\xed\x56\xcd\xbe\x97\xce\x04\x03\xd3\x38\xa6\x16\xfa\x2f\x39\x00\x8d\x28\xbc\x8c\x0b\xc5\xcd\x78\xcc\x2e\xf9\x3d\x50\x5d\x30\x73\x06\xd2\x0a\x64\x92\x1a\x75\x9b\xb4\x65\x30\x13\xcf\x59\xdd\xa8\xae\x72\xde\x59\x06\x64\x80\x50\x39\x37\xd8\x8c\xd5\x9c\xf6\xfb\x88\xa1\x83\x48\x50\xce\x05\xad\xf5\x93\xdd\x30\x9f\xe0\xa6\xe8\x1f\x8c\xfd\x63\x6f\x8a\x5f\x9d\x30\x50\x9f\xf9\xba\x3e\xbf\xfa\xab\x93\x8d\xfd\x1d\x54\x19\x68\xbd\xfd\xd6\xf6\xb2\x6d\x22\xf7\x0f\x5c\x75\x37\x6f\xa0\x9b\xbc\x4f\xdd\xe4\x7d\x62\x7c\x57\x42\xe4\xb5\x9a\x5d\x69\x15\x55\x21\x2e\xa4\x30\x1c\x61\x6d\x9a\x42\x39\xd8\xeb\x62\xc9\x41\x4f\x8c\xce\x06\x6d\x6a\x05\x03\x69\xc6\x13\x7c\x89\x23\x20\x2b\xea\xa5\xb7\x23\xdd\xd8\xd2\xb6\x68\x84\xa0\x7f\x2e\xbe\x87\x35\xc6\x11\x60\x8e\x31\x33\x1f\xaf\xe6\xed\xdf\x4a\x2f\x63\xeb\x22\xc0\x6a\xae\xa0\x50\x8b\xdf\x6e\x03\xfa\xa9\xe5\x57\xf5\x3d\xc2\xb6\xb1\xda\xdf\x16\x38\xab\x97\xcb\xb4\xca\x5b\x69\x3e\xea\x39\xbe\x21\x8d\x62\x8e\x3c\x61\x11\x18\xbe\x62\x9e\x52\x9c\x19\xc8\xfa\xdf\xf9\xd3\xc4\xf8\x2d\x90\x1e\x80\x9d\x8b\xa6\x3c\xbc\x80\xca\xa3\x89\x74\x2a\xb4\x4c\x33\xfc\x40\x64\xd5\x37\xf2\x6b\xea\xfa\x06\xc4\x2a\xe7\xf6\x06\xb1\xe4\xe4\x6a\x26\x31\x70\xbc\xe1\x01\xf3\x98\x53\xfb\xf1\xe5\x0c\x0e\x31\xf7\x91\x8c\x19\x17\xec\xb0\x76\xeb\x49\x16\xf0\xa2\x6c\x91\x56\x73\x4c\x12\x0d\x29\xb7\x95\xdc\xb3\x23\xa7\x93\x0c\xd5\x4d\xa3\x46\x03\x70\x5e\xc8\x0a\x99\x23\xda\x86\xc2\xee\x4d\x8d\x81\x26\x4b\xcb\x2b\x60\x32\x9d\x73\xb4\x90\x6f\x05\x5f\xc6\xd1\x6a\xbe\xe1\x33\x2d\xc8\x60\x8a\x43\x12\xc2\x6a\xf7\x68\xe4\x74\x59\x5d\x07\xe2\x91\x9e\x87\x48\x4b\x4c\xe3\x49\xd8\xeb\xd7\xcc\x73\x29\xa7\xd6\xa3\x28\x16\x5a\xcd\x82\xdd\xf8\xd6\x7c\x51\x4e\x94\x9f\xc9\x25\x92\xfb\x71\x77\x30\xd8\xf5\xd5\x02\x3c\x1e\x24\x45\xd7\x75\x5d\x8a\x62\xa5\x7b\x74\x54\x64\x3e\x14\xf3\x14\x29\xad\x5b\xde\x9c\xcd\xf1\xe8\xdc\xa4\x14\xef\xae\xd8\x7f\x42\x3e\x71\xda\x0b\x57\xa6\x8a\x16\x85\x28\x65\x0d\xa0\xa7\x98\xb0\xff\xfb\x9f\xff\xfd\x82\x2c\xdd\xf1\xd2\x26\x39\xd9\x81\xa7\x5c\xf6\x9e\xd7\xb6\x7f\xc1\xa4\x68\xda\xbf\x6a\x56\x42\x8c\x02\x72\xf3\x8b\xb9\x2b\x2e\x44\x51\xcd\x5b\xdb\x6a\xb6\x37\x6a\x82\x81\x14\x32\xa4\xaf\x6b\x56\xd5\x02\x15\xc0\xd2\xea\xc9\xb9\x7d\x06\x82\xdf\xf0\xfd\x07\xce\xe6\xf8\xb9\xa2\x5b\x5c\x66\x57\xb8\x87\xae\x66\xc3\x99\xd8\x62\xac\x1e\x41\xdf\xcd\x7e\x06\xf6\x12\x28\xdf\x5a\x9a\x3c\x60\x44\x92\x15\x60\xdf\x9d\xbf\x62\xf3\xb2\x9e\xa5\x25\x5a\xae\x02\x72\xef\xc6\x21\x29\x15\xf8\x55\xaa\x87\x01\x98\x41\xdd\x04\x8e\x01\xf2\x3c\x10\x84\x81\xc7\xcb\x57\xb0\xf6\xd6\x49\x36\x6d\xd5\x7a\x67\x2f\x12\xa9\xbb\x1f\x91\x49\x68\x25\xe5\x33\x90\x8d\x8c\x53\x8a\x8c\xa5\x72\x4c\x03\x4c\x16\x97\x27\xfb\x78\xd7\x85\x46\x3a\x47\x13\xe1\xc9\xba\x73\x20\xeb\xe9\x43\x5a\x94\x32\x3b\x35\x80\x0a\x48\x1e\xcd\x04\xab\xe5\x10\x2b\x18\x8e\x11\x18\x0f\x8c\xe8\xc4\x48\xbd\x7d\x24\x87\x44\xff\x79\xcf\xae\x39\x71\xc5\xe5\xa6\x43\x81\x93\xac\x2e\xb8\x9b\x55\x39\xc7\x55\x1d\x7d\x50\x9a\xe0\x50\xef\x5e\x5b\xb1\x06\x0f\x79\x50\x35\x77\x82\x3e\xe6\x32\x36\x41\xea\xd0\x85\x8f\x40\x14\x04\xa4\xdc\xa4\xbc\xc8\x01\x21\x1c\x11\x80\x51\x0b\x79\x38\x6f\xea\xf5\xea\x50\x9d\x4b\xcf\xd6\x42\x40\x12\x44\x47\x84\x5e\x6b\x2e\x32\x64\xda\x96\xe6\xf5\x27\x84\x51\x3d\xa1\xc9\xcc\x68\x42\xc8\xb7\x5a\x01\x11\x2d\x6d\x72\xef\x5e\x89\xcc\xb4\x88\xce\x6a\x7e\x87\x6f\x96\x80\x86\xc1\xcc\xd0\xc2\xc8\xfb\x08\x3d\x18\xf4\x93\x16\x06\xdf\x02\x74\x20\x0d\x05\x18\x73\x19\x01\x82\xec\xaa\xae\xb0\xa1\xab\x49\x03\xc0\xa6\x46\x0e\x1d\xa1\x11\x6e\x3e\x63\xcc\xd2\xcf\x67\xde\x32\x69\xa1\xc8\x58\x28\x03\x65\x7a\x01\xd1\x9f\xff\xf9\x4f\x6f\x23\xcf\x5d\xa8\x54\x14\x2f\xbf\x61\x22\xae\xd2\x51\xb9\x18\x30\xdd\x09\xdd\x61\x6d\xe5\x19\xe0\xbf\xe2\x8b\x4e\x4c\xe9\x0b\x92\xc5\x2c\x15\x5f\x80\x41\x78\xfc\x12\x34\x80\x02\xa7\x03\xdb\xb6\x0c\xf8\x6d\x5c\x8d\x0c\x87\x30\x31\x4c\x6f\xe3\x8a\x1c\x24\x0d\x50\xb1\x8a\x2d\x05\x0f\xe2\xcd\xdb\x7f\x49\x8e\xe0\xff\x6f\x34\x84\xb3\x7a\x22\x09\x61\xd3\xc3\x50\xec\x00\xfc\x89\x5f\xfe\xe2\xc2\xf1\xa0\x34\xc4\xb0\xda\x2a\xce\x55\x34\x80\x96\x9b\xe2\xf3\x58\xdf\x24\xc3\xfa\x23\xcd\x9f\xba\x69\x84\x6d\xf1\x9b\x6e\x33\x65\x3c\x65\x91\xbd\x87\x18\x83\x6e\xc5\xc1\xe8\xb7\xf6\x47\x53\x39\xbf\x29\x36\x7b\x6d\x56\x9f\x5c\x98\x98\xd3\x58\x9e\xf6\x89\x99\x33\xad\x97\x71\x66\x4e\xf0\x82\x9c\x99\x73\xc6\x9d\xc4\xfc\xa3\xd9\x20\x31\x95\x09\x75\x49\x0d\x11\x53\x5d\xbe\xa9\x72\x99\x1d\x62\x6e\x1f\xd5\xa3\xd8\x23\xd6\x6b\xce\x4e\x7b\xc4\x6c\xbf\xb0\xc3\x5c\x8f\x58\xa7\x05\x39\x65\x9e\xd3\xa5\x84\x65\x88\x1b\x2a\x18\xbd\xf4\xde\xc1\xb5\x79\xcb\x2e\x7c\x2f\x0b\x77\x5d\xbe\xac\xcd\xb7\x62\x7b\x75\x70\x07\xdd\x16\xd5\x2e\x89\x48\x34\x21\x42\x0e\x02\x13\xcd\xd0\x81\xbf\x49\xcb\x04\x18\xd2\xd0\x21\xff\x8b\x98\x58\xb8\x4c\x70\xd7\xc5\xdb\x83\x22\xbc\x31\x06\xf3\x24\xa6\x4f\xdd\xde\xec\x63\x58\xd9\xbf\x4d\x1e\xe8\xbe\xa6\xc6\x51\xbb\x17\x36\x80\x74\xba\xfb\xfe\xa6\xde\x87\xc0\x9a\xb6\xc4\xe9\xbe\xe6\x74\xdf\xf5\xc5\xaf\x2c\x81\x9d\xe9\x9a\x64\x09\xd9\x80\x8c\x3e\xb1\x07\x61\x78\x9b\x46\x5e\xc5\xb2\x04\x86\x20\xd5\x4d\xac\xa1\xa4\x60\x18\xed\xcc\x62\xc9\x3f\x5b\x4f\x1a\xc3\x64\xb6\xeb\x27\x9f\x95\x56\x45\x39\x24\xa0\x78\xe3\x76\xa0\xee\xd3\x46\x00\xa2\x85\xa4\x9c\x3f\x8a\x14\x5c\x6c\x14\x4e\x5e\x03\xa2\x44\xb5\x49\x2d\x62\x5c\x71\x2f\x03\x1b\xba\xf2\x96\xb1\xb2\x38\xa9\x24\x09\x2e\x2f\xdd\x10\x39\x97\x94\x66\x80\x82\xee\xb1\x79\x95\x57\x97\xb5\x60\xb1\xf3\x4d\x44\xf4\x90\xd3\xd9\xaf\x9b\xe5\x21\x9a\x41\x53\x97\x16\x25\xc3\x4f\x9b\x22\x97\xf6\xaa\x39\x73\x06\x47\xae\x15\x49\xd2\x49\xbb\x2a\xb1\x5f\xf2\x5f\x95\x23\x8b\x13\xf6\x27\xc7\x2c\x14\x6f\x44\x67\xc1\x8b\xf9\x42\x9e\x62\xbc\x3d\x3a\x5a\x3d\x76\x1a\xb9\x9e\x30\x34\xa2\xe2\x60\x99\x3e\x1e\x06\xb1\x1d\xf5\x9a\x3b\xca\xde\xee\x2b\x8b\x21\x17\x60\xfa\xc0\x2f\xbc\xf2\xb3\xdb\x17\xb0\x9d\x77\xa5\x0f\x6c\x3a\x4a\xa4\xa4\x9e\x46\x46\xb4\x81\xa0\xeb\x8f\xd3\xb5\x8a\xa1\x95\xcb\xad\xfd\x28\x20\x0b\x58\xab\x43\x30\x10\x22\x64\xc9\x13\xa6\x81\xee\x14\xc8\x1d\xc2\xa8\xce\x4a\x9b\xd5\x2b\x48\xb0\x48\x56\x72\xa4\xae\xb0\x0b\xe0\xf4\x53\x14\xd6\x01\xe3\x56\xb7\xd2\x14\x65\x79\xe2\xa5\xd9\x0a\xf4\xe6\xe8\xd6\xac\x6e\xea\x60\xa8\x5b\xd0\xd2\x76\x79\x42\xec\x8d\xe4\xde\xc5\x3e\x9a\x3e\x5b\x24\xf8\x9d\x37\xb7\x83\xd5\x43\x43\x7d\xfe\xbb\xa0\x3d\xf4\x2c\xa1\xdb\xc2\x77\xa3\x5a\x5e\x88\x97\xc5\x6a\xb3\x2d\xcc\xef\xb8\xfc\xd3\x8c\xac\xac\x5b\x37\xec\xf7\xcb\x9a\x8e\xa7\x0b\xd5\xf1\xdd\x88\x39\x48\x73\x2b\x97\x43\xf5\x95\x2d\xc7\xc2\x85\x18\x15\x4c\xbb\x5b\x64\xda\xb0\x65\x09\xb0\x25\x83\xee\x08\x28\x54\x28\xe9\x26\x7d\x14\xd6\xb3\x2d\x8a\xb6\x73\xe5\x7a\x5f\x8f\xbb\x9e\x3b\xdb\x9e\xef\x77\x60\x7a\x19\xff\x6f\x5e\xd1\x8e\xaa\xf3\x05\x9a\xdd\x4d\xc1\xf3\x6f\xba\x8c\x1d\xf2\x6e\xf6\x3b\x19\x26\xfd\xe6\xc0\xc0\x39\xb5\xaf\xd3\x07\x95\xd7\xaf\xdb\x6c\xc1\x97\xf6\x5e\x7f\x8f\x39\xfa\x4e\x3c\x76\x76\x41\x08\x5a\x95\xc7\x06\xde\xed\x1d\x74\x63\xae\x61\x41\xd7\xd4\x2f\x65\xa2\x4b\x74\x17\x13\xbb\x98\x6e\x17\x1f\xc7\x6f\xbb\xf8\x14\x58\xed\x82\xfa\xe9\xcc\x90\x77\x70\x1b\x3b\xe1\xdd\xe8\xe5\xbd\xea\x2a\x51\x27\x16\xea\xc6\x82\xd9\x95\x04\x86\x37\x92\xb7\x67\xaa\xf8\x5b\xb2\x13\xdb\x24\xbb\x41\xbc\x5b\x7b\xf0\x7b\xbe\xe0\xd9\x7b\x24\x68\x5b\x80\x55\xf9\xc4\x20\x99\x93\xb5\x36\xe4\x8c\x66\x46\x24\x95\xe0\xe0\x2b\x7f\xd6\xc1\xee\x91\x46\x30\x12\xeb\xee\x7d\xda\x08\x10\x9a\x71\xdb\x5a\xc1\x06\x96\x01\x9c\xfe\xa5\x28\x4b\xec\xe9\x69\x46\x79\xce\x2c\x2d\x64\x54\x86\x02\xe3\xc7\xfd\xb6\x90\x64\x05\xdf\x9d\x5c\xc4\x6f\x0a\x49\x08\x7c\xf7\x21\x9c\x96\x10\x2d\xa7\x35\xb7\xd5\xc2\xdd\x1f\xa2\xa3\xc6\x7c\x48\xd3\xfe\x91\x30\xe8\x1c\x66\xa9\x77\xba\x1a\xf4\x8b\x12\x18\x5e\xb7\xc4\x1f\x4c\x04\x94\x71\xb5\xeb\xd9\xb2\x10\x41\xe3\xe2\xc9\xaa\xe1\x0f\x90\x38\x7d\x4d\xbf\xed\x30\x4e\x5e\xfe\x9a\x5a\x3a\x41\x27\x0a\xc8\xdf\xc6\x41\x5e\x16\x47\xda\x3f\x3a\x5d\x33\xd9\x7e\x0a\x76\x18\x1d\x0b\xc5\x8e\x4e\xb0\xaf\x15\xd0\x6f\x67\x41\xb2\x61\xde\xd9\xcb\xaa\xbd\x18\x3e\xe4\x57\xf7\x31\xd5\x35\xba\x4d\x5a\x88\x24\x49\x8c\x73\xee\xff\x5a\x54\xcd\x25\x7f\x2d\x2a\x7f\xfb\x8d\x4b\x72\x6f\x0c\xe1\x0f\xa9\x2d\xc7\x43\x73\xd3\xf1\xb8\x9a\x5c\x09\xc3\xe9\x57\xab\x9f\xb6\xac\xba\x07\x00\x2c\xf4\x9b\x76\xc7\xff\x84\x44\x21\xe7\x70\x88\x75\x9c\xd1\xb3\xfa\xeb\x55\x90\xfe\x3c\x28\x28\x3b\x8d\x9f\xdb\x0d\xcd\x1e\x48\x81\x1c\x38\x4a\xdc\xef\xb4\x25\x7b\x5c\x76\x3f\x76\x70\x97\xd4\x12\x09\x2d\xe2\xd9\xb5\x74\xf7\xc8\x1a\x87\x83\x07\x60\x1f\x7b\xdf\xce\x55\xee\x90\x8e\x06\x35\xb4\x2d\x05\x1d\xf8\x99\x4a\x58\x07\x41\x0d\xfc\x7a\xb9\x0e\x48\xd5\x5c\xba\x81\xff\xfe\x3f\x00\x00\xff\xff\x20\xde\x60\x6b\x5a\x41\x00\x00") +var _staticJsAppJs = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xd4\x3c\x6d\x72\xe3\xc6\x72\xff\x75\x8a\x59\xd8\xb5\x02\x63\x09\xd2\xee\xcb\xab\x54\x91\x92\x9c\xb5\xac\x57\xde\xc4\xf6\x3a\x92\xfc\x2a\x55\x8a\x4a\x05\x02\x23\x12\x5e\x10\xa0\x81\xa1\x3e\xb2\xd6\x0d\x72\x80\x9c\x2f\x27\x49\xf7\xf4\x7c\x02\x03\x92\xf2\xda\xb5\xfb\xd6\x65\x89\x18\x74\xf7\xf4\xf4\xf7\xf4\x0c\x75\x97\x36\x8c\xe7\x85\xa8\x9b\xc9\x0e\x7e\xce\xea\xaa\xe2\x99\xe0\x39\x3b\x66\xb7\x69\xd9\x72\x1a\x9e\xd6\xf5\xfb\x45\xda\xbc\x6f\x61\xf8\xc3\xd3\x64\x67\xe7\x76\x55\x65\xa2\xa8\x2b\x96\x2e\x8b\xd3\xb4\x2c\xe3\x05\x17\xf3\x3a\xdf\x63\xcb\x54\xcc\xf1\x67\x93\x2e\xda\x3d\x96\x4d\x47\xec\xc3\x0e\x63\x5f\x26\xe9\x2f\xe9\x43\x8c\x1f\x19\x5b\x35\xe5\x98\x45\x07\x80\x19\xb1\xaf\x08\x41\x8e\x13\x89\xb1\xfa\x4d\x63\x59\x9a\xcd\xf9\x98\x58\xa1\x91\x3c\x15\xe9\x58\x4f\x20\x47\xda\x55\x96\xf1\xb6\x05\x28\xc5\x54\x8c\x30\x34\xb1\xa4\x31\xa5\x81\x89\x7c\x7e\x22\x24\xde\x34\x75\xe3\xa0\x3c\xcc\x9b\x3d\xd6\x8a\x54\xac\x80\xed\x1e\xfe\x2f\xff\xb1\xe2\xcd\x63\x02\xb3\xb6\xfc\xdf\x2e\xde\xfd\x88\xe0\x49\xc3\xdb\x65\x5d\xb5\xfc\x92\x3f\x88\x91\xa6\x0e\x3f\x9f\xe0\xf3\x93\x23\xa2\x19\x17\x97\xe9\xb4\xe4\x6d\x8c\xe2\xe8\xfd\xfb\x60\x64\x18\x01\x64\xb4\x07\xa2\x11\x12\x1c\x3e\x7e\x78\x92\x32\x9c\x00\xdd\x1e\xb9\xf3\xfa\xbe\x8d\x25\xe4\x1e\xab\x97\x42\x49\x7b\x98\xdc\x01\x4a\x5b\x7e\x84\xdf\xd1\x41\x03\xe8\x91\x83\x19\x9c\xe3\x42\x34\xab\x4c\xac\x1a\xae\x27\xa2\x15\x6c\x31\xc7\x7a\xde\xdf\x56\x39\x7f\xe0\xad\x4f\x75\x7b\xde\x0b\x42\xdf\x20\xa0\x53\x50\x8e\x68\xd2\xa2\x12\xde\x44\xdb\x4e\x92\x59\xf4\xe1\x89\xbe\x2b\x5a\xf0\x9d\xc7\xa0\x66\x03\x13\xcd\x09\x7c\x98\xde\x37\xda\xd1\x02\x14\x03\xf4\x8c\x5f\x0e\x53\xbc\xe0\xbf\xae\x78\x95\x05\xad\x2f\x40\xb1\xd5\xe0\x3e\x45\x4b\x12\x5e\xd6\x39\x97\xfe\x10\xff\x8a\x3f\xc9\x51\x1a\x0e\x66\x52\xb1\x7b\x50\x4d\x7d\x9f\x4c\x45\x9d\xaa\xb7\xbe\x2f\x80\xda\xb2\x95\x70\xd1\x6d\x90\x30\xbc\x2c\xeb\x96\x98\x91\x00\xc8\x08\x93\x9f\xc6\xf4\x8b\x29\xb6\x3a\x84\x97\x25\xe8\x6a\x4b\xc2\x0a\x7a\x3b\xd2\x65\x9d\xe6\xca\x81\x55\x34\x8b\xa3\x2f\xc8\x64\x58\x59\x44\x23\x08\x04\x8b\xfa\x8e\xc7\x80\x06\x2f\xad\xb7\x07\xc3\x11\x7e\x4e\x6e\xeb\xe6\x0c\x02\x9b\x85\x28\x04\x5f\xd8\x80\x03\xf4\x8f\xca\xe2\xe4\xa8\x5d\xa6\xd5\xc9\x51\xc1\xb2\x32\x6d\xdb\xe3\xdd\xdb\x14\xe2\xe0\xbe\x9c\x78\xf7\xe4\xe8\xa0\x38\x61\x68\xb0\x88\x8a\xf6\xca\x8e\x0e\x08\xfe\x00\x50\x81\xa9\x74\xb9\xe4\x55\x7e\x59\x1b\x5e\x23\x1d\xa2\xe4\xef\x6e\x90\xc2\x45\x5a\x53\xb1\xeb\x34\xf6\x10\x5e\xaa\x45\xf9\x73\x56\x0b\xd1\xff\xae\xa9\xab\xfd\xa6\x98\xcd\xc5\xf3\x56\x6d\x2d\x79\xed\xc2\x79\x9b\xa5\x4b\xfe\x9d\x58\x94\x31\xb8\x3b\xb1\x55\xdc\x32\x7c\x60\x2f\x8e\x59\xb5\x2a\x4b\xf6\xdb\x6f\x4c\x3d\xae\x20\xf2\xdc\x16\x15\xcf\x35\xff\xca\xee\x29\x41\xc0\x4a\xf2\xe2\xee\x00\x19\x11\x90\x14\x24\xc1\x64\x8e\xa4\x69\xea\x1d\xeb\x28\x91\x5c\xaf\x5e\x2c\xce\xb2\x7b\x82\x3f\xd5\x7a\x22\x9f\xc9\x55\xd5\x61\x13\x27\x97\xb9\x1b\x12\x72\x5e\x67\xab\x05\xaf\x44\x92\x35\x3c\x15\xfc\xac\xe4\xf8\x14\x47\xc0\x0a\x2d\x9d\x27\x05\x64\xf5\xe6\xbb\xcb\x1f\xbe\x07\x70\x40\x9f\x58\x3e\x78\x92\xcd\x8b\x32\xff\x11\x7c\xba\x4d\x4a\x5e\xcd\xc4\x9c\x1d\x1f\x1f\xb3\x43\xf6\x35\x8b\x22\x36\xf6\x00\xae\x0e\xaf\x93\x0a\x3e\xfc\x3d\x2d\x57\xbc\x97\xe4\x4e\x57\x4d\x03\x13\x4b\xeb\x8f\xbd\xa8\xf0\xa5\x63\x84\x49\x2a\x44\x03\xcc\x81\x65\xec\x67\x84\x11\x8d\x50\xc2\x51\x67\xcd\x90\x5e\xb9\x47\x0c\xa9\xc0\xe0\xaa\x14\x48\x46\x4a\xdf\xa1\xb5\x00\xbe\xd0\xb7\xf5\x2b\xa9\x00\xf3\x44\x76\x7b\x8a\xd2\x8e\x23\xbe\x58\x8a\xc7\xe0\x9b\xaa\xde\xcf\x9a\x7a\x19\x75\x6c\x64\xc9\x1b\x30\xe2\x85\x64\xe6\x0d\xd9\xb0\x4a\x28\xa9\x7c\xb2\x56\x43\xcf\x20\x41\x16\x41\xea\xac\x32\xd0\x47\x84\x8b\x73\xc6\x73\x5e\x72\x18\xd5\x06\x84\x5a\x5c\x40\xf9\x92\xce\x50\x97\xd1\x9b\x86\xb3\xc7\x7a\x05\x45\x8d\xfa\x70\x9f\x56\x82\x89\x5a\x5a\xbd\xa2\x82\x76\x4f\x79\xca\xcb\x58\xec\xeb\x88\x0c\x1d\x19\x79\x01\xe9\xeb\xb6\x68\x16\xb1\xa2\x3d\x1a\x29\x65\x18\x43\x6c\xef\x0b\x01\x5e\xe9\xae\x00\xeb\xad\x96\x3b\xac\x8f\x95\x8f\x7a\x61\x3b\xba\x3c\xff\xf9\xc7\xd3\x37\x97\x67\xec\xf2\xcd\x37\xdf\x9f\x31\x27\xe7\x0f\x54\x60\xc4\x92\x0c\x06\xb2\xee\x1a\xb1\xb4\xe4\x8d\x70\x47\x26\x06\xd4\xd5\xbb\x1e\x7d\x32\x9f\xa6\x60\xe3\xef\x27\x0e\xaf\x4a\x9c\x61\x4e\xbf\x3d\x7f\xf7\xd3\x9f\xc3\xa5\x9b\x14\xfc\x51\x27\x8a\xfe\xee\x45\x41\x7e\xaa\x1b\x61\x16\x85\x36\x72\x5b\x80\x77\xa6\x0b\x34\x12\xa3\xf1\x24\x6b\xef\x22\x07\x86\x72\xd8\xb1\xce\xc2\x94\xaa\x7f\x3e\x7f\x1b\x47\x17\x67\xdf\x9f\x9d\x5e\xb2\x7f\x62\x7f\x3b\x7f\xf7\x83\x95\x85\xe1\x00\xb1\xa1\x2e\x47\x0b\x9c\x0b\xb1\x1c\x1f\xc8\x62\x48\xd1\x29\x6b\x30\x06\x90\x57\x32\x87\xfc\x29\x6b\x23\xc8\xa8\x94\x9c\xbf\x46\xbf\x48\xc5\x31\x30\xf2\x52\x73\x78\x8c\xa8\x86\x5d\x00\x7f\x29\x41\xe5\xb0\xfc\xe4\x4e\x0a\x53\x58\x86\x6b\x08\xde\x31\xb0\x01\x6e\x7c\x33\x2d\xd3\xea\x7d\x64\x18\x04\x08\x48\x24\xd9\xca\x91\xaa\x91\xda\x93\xe7\xac\x2d\x48\xee\x0d\x68\xeb\x3e\xce\x8b\x86\x3b\xd6\x4d\x06\xcf\xba\xc3\x5a\xe6\x6f\x2e\x4e\x8d\xc0\x75\x90\x7e\xf9\xc5\xc3\xeb\xbf\x7e\xf3\x7a\x12\xb9\xca\xf9\xf6\x6c\x10\xf2\x54\x43\x42\x96\x48\x21\x50\x75\xa1\xa2\x3e\xbb\xd3\x15\x44\x57\xb2\x0c\x15\xdc\xf6\xe4\x12\x4e\xeb\x72\xb5\xa8\xe8\xf3\xbb\x26\xe7\x8d\x8e\xa8\xae\x21\xa9\xa8\xa3\x10\xb5\xd9\xd2\xaa\x30\xaf\x8a\xe6\xe4\x48\xe4\x27\x67\xe7\xe7\xef\xce\xc7\x52\xed\x1e\x28\x2a\xe7\xe8\x00\x81\xf0\x87\x9f\x3e\x4d\xa4\x9d\x68\x6a\x4e\xf0\x4d\xf3\xdc\x8f\xa5\x13\x27\x19\x9a\x08\x23\xe3\x90\x9e\x10\xf7\x1b\x01\xd6\x7e\xac\x01\x2b\xab\x9b\xbc\x65\xb7\x35\x64\xd7\x3f\x91\x1d\xda\xdf\x96\xb8\x87\x25\x45\xe0\x00\xb2\xa5\x06\x48\xba\x92\xd9\x4c\x0a\xbf\xed\x97\x2e\xf0\x42\x2f\x02\x57\x07\x8f\x32\x5b\x5a\x85\x39\xdb\x46\x9c\xea\x2b\x20\x7d\x04\x29\x55\xe5\x79\x0c\xb6\x77\x7c\x57\xd6\x45\xc7\xbb\xa8\x0f\xa4\x00\x5a\x90\x9f\x29\x91\x21\xad\xfd\x1a\x35\x2e\x3d\xc6\xe8\x1f\x01\x4e\x1c\x94\x97\xd5\xb4\x5d\x4e\x34\x08\x59\xbc\x63\x2c\xa4\xda\xf9\x49\x64\x37\xa6\x10\x1d\x61\x1b\x1d\x66\xb0\xcf\x91\x3b\x57\x97\xd2\xd3\xc8\x13\x17\x0a\xb1\x2f\x2b\x18\x75\x93\x5c\x63\xe4\xce\x40\xd5\x0d\x8b\x0b\x06\xbe\x4f\x40\xf0\x92\x18\xc9\x4f\xb0\x82\x92\x53\x3b\x15\x0f\x00\x5d\x15\xd7\x6a\x4d\xf8\x1e\xf8\xc9\x81\x1f\xb5\x2a\xa9\x43\xc2\x6f\x24\xaa\x35\xec\x68\x62\xb9\x95\x56\x37\xe7\x69\xae\x57\xd6\xea\xa5\xe1\xd8\x91\x98\xd6\xf9\x23\xa1\x4b\x7a\xf2\x55\x3d\xc5\xb1\x21\x4b\xf4\xc2\x8e\x5b\x00\xc5\x45\x6e\x6b\x96\x2a\xbd\x63\xab\x12\xea\xe7\xa4\x85\x5c\x85\xcd\x15\x53\x48\x2b\xab\xb5\xe3\x13\x85\x23\x6b\xdc\xdc\xb5\x6c\x17\xc6\x9b\x77\x5e\xdf\xcb\x6c\xa7\xb7\xa2\x34\xb1\xb3\x37\x0d\xa6\x3b\xc7\xf6\xaf\xae\xa5\x78\xa4\x56\x48\x29\x7e\x5e\x94\xda\x5d\x55\xed\xbc\xb8\x15\xf1\x95\xec\x81\xbc\x85\xfa\xb2\x40\x7d\xbc\xa2\x66\x09\x68\x27\x51\x9b\x2e\xfd\x28\x0a\xa8\x3c\x44\xba\x58\x5e\x9b\xd6\x88\xfc\xe5\xc4\xbb\x0f\x4c\xf9\xd9\x98\x5d\x45\x45\x8e\xd5\x9b\xde\xf1\x45\x06\x3d\xba\xde\x93\x1c\x8c\x89\x5d\xa5\x4b\xd6\x91\x77\x24\xd3\xd9\x8d\xde\x5f\x3b\x51\xa2\xa8\x96\x2b\xa8\x30\x93\x79\x91\x9b\xdc\x8b\xe3\xf5\x4a\xd0\x0b\x2b\xe2\x5b\xa8\xbf\x37\x05\x18\xa7\x42\xec\xef\x25\x50\x17\x5e\x7f\x83\x84\x88\xb2\x56\xa9\xbb\x57\x26\x9b\x18\x8e\x00\xb6\x00\x67\x87\x5a\xfe\x54\x83\x44\x3f\x95\x1c\x93\x0f\x59\x01\x4b\x29\x7d\xbf\x18\x88\x74\xdd\x36\x0b\xd2\x1e\x28\x7b\x82\x62\xd4\xfd\x15\x45\xdd\x51\x99\x6a\xa4\x7d\x5a\xe9\xba\x8d\x9d\x4f\x2c\x61\x97\x95\xe7\x4a\xd9\x6d\x30\x7d\xa6\x92\x7e\x5b\xdd\xd6\x9f\x4a\xc4\xeb\xba\x74\xba\xb2\x3c\x28\x80\x41\xd5\xa9\x0a\x0a\x1e\x96\x9f\x48\xbc\x7d\x84\xc4\x52\x55\x6e\xa7\x41\x3c\x09\x2e\xd2\x15\x24\x29\x45\xd4\x22\x2d\x6f\xda\xe2\xbf\xb9\xde\xc4\xcb\xf2\xdf\x0e\xf7\x30\xf0\x7d\x1f\xc1\x8c\xf6\xe0\xa5\x73\xf5\x11\xec\x70\x0f\x03\x03\x1f\x58\xcb\x0a\x77\xca\x0e\x86\x1d\xee\x61\xc8\xca\xbf\xa8\x66\x1a\x3e\xfa\xb9\x7a\x5f\xd5\xf7\xd5\x66\xc7\x12\xd8\x3a\x58\x53\x7f\x7e\x32\x4f\x93\xed\x6e\x72\xb1\x0f\x90\x4b\x17\x85\x18\xb3\x57\x87\x87\xc4\xe0\x0d\x25\x92\x71\xaf\x72\xbe\x91\x85\xd4\xd8\xa9\xa2\x86\x2c\xa5\xe3\x7a\x43\x45\xf8\x64\xad\x3f\x0b\xd9\xcd\x70\xbc\xd6\x71\xbd\x7e\xab\x62\x8a\x1a\xe4\x1f\x9d\xac\x06\xd5\x69\xbb\xf7\x9f\x58\x77\x96\x91\xe7\xc6\xc8\x56\x63\x7e\x86\x11\x52\x56\x5d\x3f\xa5\x15\x2f\x95\x7c\x83\x2b\xa0\x8a\x86\xfa\x70\xf2\xa0\xcd\x6e\x63\x77\x7c\xbe\x6d\x40\xf2\xb8\xf6\x2a\x45\xcd\x78\x97\x97\x53\x3a\xb7\x83\xc7\x8d\x0c\x65\x06\x54\x59\x6a\x2f\xd0\x3a\x10\x6b\x42\xeb\x50\x05\xf9\x9e\x3f\x0e\xd4\x90\xcb\x55\x3b\x8f\xaf\xe0\xbd\xaa\x12\xe1\xd3\xf5\x9a\xea\xd0\x6e\x53\x74\x8d\x88\x3e\x54\x4c\x57\x42\x7a\xcf\x1d\x36\x21\xa1\x3a\x74\x66\xa0\x1a\x91\xe8\x7d\xb4\x65\x84\x54\x8e\xcd\xbf\xbb\x42\x6c\xd6\x7a\xaa\x00\x87\x44\x6c\xde\xaf\x11\x70\xdf\xd4\xff\xd0\xf5\x34\x2b\x75\x5a\xb2\x8d\xf1\x2a\xa3\x04\x9c\x3d\xf6\x85\x3a\x3d\x81\x4f\xd8\x7f\x1a\x25\x4b\x70\x13\x6c\x37\xb7\x88\x83\x65\x3c\x38\x2d\x37\x86\x2c\x69\xdc\x00\xcc\x0c\xbc\xac\x75\xec\x7c\xc7\x6f\x5a\x7d\x99\x80\x72\x17\xb1\x72\x12\x79\xb6\x40\x3b\x1e\x3c\x5f\x8d\x65\x8b\xd8\xbe\x93\x1d\xe8\x78\x64\xc3\x96\xa4\x12\x8a\x5b\xcf\x60\x5b\x9e\x32\x3b\xe2\xec\x71\xee\xca\xbb\x13\xea\x42\x07\x5b\x5b\x6a\xf5\x4f\x65\x33\x1c\x60\xb6\x09\x31\xa6\xc9\x41\xa2\x15\xf5\xf7\xf5\x3d\x6f\x4e\x21\xfa\xc7\x23\xaa\x56\xde\xdd\xc6\x91\x3e\x49\x1b\xe1\xe9\xc8\xfe\x2b\xef\x58\x67\x73\x58\x35\x7e\x2f\x83\x09\x26\xa6\x83\x98\x4e\x31\x7e\xcb\x01\x68\x44\xe9\xe5\xa0\x50\xdc\x1c\x1c\xb0\x73\x7e\x0b\x54\xe7\xcc\x9c\xbf\xb5\x02\x99\xa4\x96\xe8\x7d\xda\x32\x98\x89\xe7\xac\x6e\x54\x63\x3f\xef\x2c\x03\x2a\xc0\x6c\x1e\x37\xd8\x0f\xd7\x9c\x86\x5a\xb9\xc1\x46\x6e\xe8\x70\x1f\x74\x76\x46\x22\xf8\x6c\xfd\xe8\x33\xf4\x95\xfe\x59\xed\x3f\xb6\xaf\xfc\xee\x3a\x82\x1a\xfd\x97\xf5\xe9\xc5\xdf\x9d\x22\xed\x0f\x50\x65\xa0\xf7\xf9\xb1\xfd\x7d\xdb\xc5\xef\xdf\x01\xd0\xed\xd4\x81\x76\xfe\x2e\xb5\xf3\x77\x89\xf1\x4d\x75\x92\xd7\xeb\x77\xa5\x55\x54\x85\x38\x93\xc2\x70\x84\x75\xdf\x14\x2a\xee\x5e\x16\x0b\x0e\x7a\x62\x74\x6a\x6b\x2b\x2e\x18\x48\x33\x9e\xe0\x43\x1c\x01\x59\x51\x2f\x3c\x8f\x74\x53\x4e\xdb\xa2\x11\x82\xfe\xb9\xf8\x01\xd6\x18\x47\x80\x79\x80\x05\xfb\xc1\x72\xd6\xfe\x5a\x7a\x85\x5c\x17\x01\x56\x73\x01\xfb\xb7\xf8\xf5\x3a\xa0\x9f\x5b\x7e\x51\xdf\x22\x6c\x1b\x2b\xff\xb6\xc0\x59\xbd\x58\xa4\x55\xde\x4a\xf3\x51\x9f\xe3\x2b\xd2\x28\x96\xce\x63\x16\x81\xe1\x2b\xe6\xa9\xf2\x99\x82\xac\xff\x9d\x3f\x8e\x4d\x38\x03\xe9\x01\xd8\xa9\x68\xca\xfd\x33\xd8\x90\x34\x91\xae\x90\x16\x69\x86\x2f\x88\xac\x7a\x47\x71\x4d\x5d\x89\x82\x14\xe6\xdc\x88\x22\x96\x9c\x12\xce\xd4\x0b\x4e\x34\xdc\x63\x1e\x73\xca\x1f\xb7\x67\x70\x88\xb9\x67\x32\x66\x42\xb0\xc3\xda\xb5\x27\x59\xc0\x8b\xb2\x79\x5a\xcd\xb0\x76\x34\xa4\xdc\x5e\x7e\xcf\x8e\x9c\x56\x3e\x6c\x7a\x1a\x35\x1a\x80\xf3\x32\x59\xc8\x1c\xd1\x36\x14\x76\x6f\x6a\xcc\x35\x59\x5a\x5e\x00\x93\xe9\x8c\xa3\x85\xbc\x15\x7c\x11\x47\xcb\xd9\x3d\x9f\x6a\x41\x06\x2b\x1f\x92\x10\x6e\x82\x0f\x47\x4e\x9b\xdb\x0d\x20\x1e\xe9\x59\x88\xb4\xc4\x34\x91\x84\xbd\x7c\xc9\xbc\x90\x72\x62\x23\x8a\x62\xa1\xd5\x2c\x58\xc7\xb7\xe6\x8b\x72\xa2\xb2\x4d\x2e\x91\xc2\x8f\xeb\xc1\x60\xd7\x17\x73\x88\x78\x50\x2b\x5d\xd6\x75\x29\x8a\xa5\x6e\xe1\xd1\xde\xf3\xae\x98\xa5\x48\x69\xd5\xf2\xe6\xcd\x0c\x2f\x35\x98\x4a\xe3\xdd\x05\xfb\x4f\x28\x33\x4e\x7a\xe9\xca\x6c\xae\x45\x21\x4a\xb9\x35\xd0\x53\x8c\xd9\xff\xfd\xcf\xff\x7e\x45\x96\xee\x44\x69\x53\xb3\x6c\xc0\x53\x21\x7b\xc7\x3b\x37\xd9\x62\x52\x34\xed\xdf\x35\x2b\x21\x46\x01\xb9\xf9\x7b\xbc\x0b\x2e\x44\x51\xcd\x5a\xdb\xeb\xb7\xf7\xc6\x82\x89\x14\x0a\xa7\x6f\x6b\x56\xd5\x02\x15\xc0\xd2\xea\xd1\xb9\xd1\x09\x82\xbf\xe7\xbb\x77\x9c\xcd\xf0\x75\x45\x37\x23\x8d\x57\xb8\xc7\xe1\xc6\xe1\x4c\x6e\x31\x56\x8f\xa0\xef\xa6\xbf\x00\x7b\x09\xec\xea\x5a\x9a\x3c\x60\x44\x92\x15\x60\xdf\x9d\xbf\x62\xb3\xb2\x9e\xa6\x25\x5a\xae\x02\x72\xef\x9b\x22\x29\x95\xf8\x55\x05\x88\x09\x98\xc1\x76\x0a\x02\x03\x94\x7f\x20\x08\x03\x8f\xd7\x19\x61\xed\xad\x53\x83\xda\xcd\xec\x8d\xbd\x2d\xa7\x6e\xe5\x44\xa6\xce\x95\x94\xdf\x80\x6c\x64\x9e\x52\x64\x2c\x95\x23\x1a\x60\x72\xcf\x79\xbc\x8b\x17\x91\x68\xa4\x73\x36\x14\x9e\xac\x3b\x07\xb2\x9e\xde\xa5\x45\x29\x8b\x56\x03\xa8\x80\xe4\xd9\x58\x70\x13\x1d\x62\x05\xd3\x31\x02\xe3\x89\x1d\x1d\xd9\xa9\xa7\x67\x72\x48\xf4\x9f\x76\xec\x9a\x13\x57\x5c\x6e\x39\x14\x38\x4a\xec\x82\xbb\x55\x95\x73\x5e\xd8\xd1\x07\x95\x09\x0e\xf5\xee\x85\x22\x6b\xf0\x50\x07\x55\x33\x27\xe9\x63\x2d\x63\x0b\xa4\x0e\x5d\x78\x09\x44\x41\x40\x2a\x4c\xca\x2b\x36\x90\xc2\x11\x01\x18\xb5\x90\xfb\xb3\xa6\x5e\x2d\xf7\xd5\xc5\x80\xe9\x4a\x08\x28\x82\xe8\x8c\xd6\xeb\xd8\x45\x86\x4c\xdb\xd2\xbc\xfe\x84\x30\xaa\x27\x34\x95\x19\x4d\x08\xf5\x56\x2b\x20\xa3\xa5\x4d\xee\xdd\xf8\x91\x95\x16\xd1\x59\xce\x6e\xf0\xc9\x12\xd0\x30\x58\x19\x5a\x18\x79\x21\xa4\x07\x83\x71\xd2\xc2\xe0\x53\x80\x0e\x94\xa1\x00\x63\x6e\x83\x40\x92\x5d\xd6\x15\xf6\x79\x35\x69\x00\xb8\xaf\x91\x43\x47\x68\x84\x9b\x4f\x19\xb3\xf4\xf3\xa9\xb7\x4c\x5a\x28\x32\x16\xaa\x40\x99\x5e\x40\xf4\xd7\x7f\xfe\xcb\xeb\xc8\x0b\x17\xaa\x14\xc5\xfb\x98\x58\x88\xab\x72\x54\x2e\x06\x4c\x77\x4c\xf7\xc2\x5b\x79\x08\xfb\xaf\xf8\xa0\x0b\x53\x7a\x83\x64\xb1\x4a\xc5\x07\x60\x10\x3e\x7e\x0d\x1a\x40\x81\xd3\x89\x79\x5b\x06\xe2\x36\xae\x46\xa6\x43\x98\x18\xa6\xb7\x79\x45\x0e\x92\x06\x68\x0f\x8b\x9d\x06\x0f\xe2\xd5\xeb\x7f\x49\x0e\xe1\xbf\x57\x1a\xc2\x59\x3d\x91\x84\xb4\xe9\x61\x28\x76\x00\xfe\xd8\xdf\x15\xe3\xc2\xf1\xa4\x3a\xc4\xb0\x72\x15\xe7\x92\x20\x40\x4b\xa7\xf8\x32\xd6\x77\xfc\x70\xff\x91\xe6\x8f\xdd\x32\xc2\x76\xfe\x4d\x13\x9a\x2a\x9e\xb2\xc8\xde\x43\x8e\x91\x71\xc5\x41\xe9\xb7\xfc\x47\x13\x0a\x00\x66\xbb\xd9\xeb\xbf\x76\x08\x86\xc9\x39\x2d\xe7\x49\x80\x9c\x39\x58\xdc\x92\x3b\x73\x8e\x1a\xe6\xce\x3b\x41\xf3\x48\x0e\x2e\xd6\x1e\x1c\x4e\x7a\xe4\xcc\xe9\xf1\x66\xee\xfc\x13\xf7\x30\x77\xaa\xc0\xea\x11\x1b\x22\xa7\x9a\x8a\x13\x05\x14\x58\xac\xe9\xdb\xfa\x34\x7b\xe4\x7a\xdd\xe0\x49\x9f\x9c\xed\x50\x76\x19\xec\x91\xeb\x74\x3d\x27\x9a\xbb\x1d\xb7\x1a\x1a\x92\x3e\xed\x46\xbd\xbd\x83\x83\x6b\x8b\xa2\x4d\xf8\x5e\x89\xef\xe6\x13\xb9\xf1\x5f\x8b\xed\x6d\xb2\x3b\xe8\x76\xc7\xee\x92\x88\x44\x13\x22\xe4\x20\x30\xd1\x0c\x5d\xe7\x30\x35\x9f\x00\x83\x1a\xba\xc2\xb1\x15\x13\x73\x97\x09\xee\xe6\x0f\x7b\x38\x85\xf7\x01\x61\x9e\xc4\xf4\xc6\xdb\xab\x5d\xcc\x59\xbb\xd7\xc9\x1d\x5d\xd3\xd5\x38\x2a\x34\x80\x27\xc8\x88\xbe\xeb\x47\x8c\x5d\xc8\xda\x69\x4b\x9c\xee\x6a\x4e\x77\xdd\x40\xff\xc2\x12\xd8\x58\x0b\x4a\x96\x90\x0d\xd8\x2e\x24\xf6\xf0\x0d\xef\x4a\xc9\x8b\x76\x96\xc0\x10\xa4\xba\x67\x37\x54\x71\x0c\xa3\xbd\xb1\x58\xf2\xd7\xda\xd3\xcd\x30\x99\xf5\xfa\xc9\xa7\xa5\x55\x51\x0e\xd5\x2d\x5e\xb4\x1e\xd8\x54\x6a\x23\x00\xd1\x42\xc5\xcf\x1f\x44\x0a\xf1\x3b\x0a\x57\xc6\x01\x51\xa2\xda\xa4\x16\x31\x69\xb9\x77\xc0\x0d\x5d\x79\xb9\x5c\x59\x9c\x54\x92\x04\x97\x57\xaa\x88\x9c\x4b\x4a\x33\x40\x19\xfd\xc8\x3c\xca\x1b\xeb\x5a\xb0\xd8\x6d\x27\x22\x7a\xc8\x39\x4d\xa8\x9b\xc5\x3e\x9a\x41\x53\x97\x16\x25\xc3\x57\xf7\x45\x2e\xed\x55\x73\xe6\x0c\x8e\x5c\x2b\x92\xa4\x93\x76\x59\x62\x33\xe6\xbf\x2a\x47\x16\xc7\xec\x2f\x8e\x59\x28\xde\x88\xce\x9c\xe3\xfd\x7f\x14\xf8\xeb\xc3\xc3\xe5\x43\xa7\x79\xec\x09\x43\x23\x2a\x0e\x16\xe9\xc3\x7e\x10\xdb\x51\xaf\xb9\x9a\xee\x79\x5f\x59\x0c\x85\x00\xd3\x7b\xde\xf2\x42\x57\xff\x9b\x14\xcf\x40\x5c\x1f\x44\xd8\xc6\xbb\xf5\x7b\xb6\x48\x26\x52\x52\xc1\x23\xa3\x93\x40\x25\xe0\x8f\xd3\x1d\x90\x21\x91\xc9\x98\xf0\x20\xa0\x36\x59\xa9\x13\x3b\x90\x3e\xd4\xee\x63\xa6\x81\x6e\x14\xc8\x0d\xc2\xa8\x7e\x4f\x9b\xd5\x4b\x28\xfb\x48\xc8\x72\xa4\xae\xb0\x37\xe1\x74\x79\x14\xd6\x1e\xe3\xd6\x28\xa4\x0d\xcb\x4d\x93\x57\xfc\x2b\xd0\xab\xc3\x6b\xb3\xba\x89\x83\xa1\x6e\xcd\x4b\xa3\xe7\x09\xb1\x37\x92\x4e\x8f\xdd\x3d\x7d\x10\x4a\xf0\x1b\x6f\xfa\x07\xf7\x34\xce\x57\x4d\x3e\x33\x1b\xfa\xc4\x46\xb4\xe6\xfa\x8d\xdd\x22\x7a\x81\x56\x9e\xee\xdc\x04\x3d\xb2\x27\xc7\xfe\xc1\x4d\xe0\xd8\xc6\x2d\x36\xf2\x42\x0c\x97\x51\xc1\xf8\x6d\xbe\x0f\xeb\x1f\x6c\x65\x65\xdd\xba\x15\x59\x7f\x2b\xdb\x49\x40\xa1\xde\x4d\xb7\x90\x19\xa4\xb9\x96\xcb\xa1\x3d\x75\x50\xbe\xbd\x4d\xf2\xe6\xb6\xa8\xd6\xb8\xdc\xf6\xad\xd9\x35\x75\x04\x14\xda\x1c\xeb\x83\x99\x28\xec\x45\x76\x23\xbc\x9e\x2b\x37\x29\x7a\xdc\xf5\xb2\xcc\xfa\x3d\x5e\x07\xa6\xb7\xcb\xfb\xe8\x15\x6d\xe8\x34\x6c\xa1\xd9\xcd\x14\x3c\xcf\xd7\xad\x8b\xa1\xdc\x61\xdf\x93\x61\xd2\x37\x80\x0c\x9c\xd3\xef\x70\x7a\xdf\xf2\x3b\x0f\x6d\x36\xe7\x0b\xfb\x2d\x9b\x1e\x73\xf4\x9e\x78\xec\x78\x41\x08\x5a\xb5\x44\x0c\xbc\xdb\x2f\xc2\x7f\x6e\x29\x64\x58\xd0\x7d\x94\x6d\x99\xe8\x12\xdd\xc4\xc4\x26\xa6\xdb\xf9\xf3\xf8\x6d\xe7\x9f\x03\xab\x5d\x50\xbf\xca\x1c\x8a\x0e\x6e\x33\x2f\xec\x8d\xde\x76\x44\xdd\x2a\xeb\x24\x09\xdd\x4c\x32\x5e\x49\x60\xf8\x35\x80\xf5\x1b\x08\xfc\x72\xe7\xb1\x6d\x8c\x5e\x21\xde\xb5\xbd\x03\x70\x3a\xe7\xd9\x7b\x24\x68\xdb\xbe\x55\xf9\xc8\xa0\xc6\x96\xfd\x15\x28\xe5\xcd\x8c\x48\x2a\xc1\xc1\x17\xfe\xac\x83\x1d\x43\x8d\x60\x24\xd6\xf5\x7d\x72\x04\x28\x7c\xd0\x6d\xad\x60\x03\xcb\x00\x4e\xff\x56\x94\x25\xf6\x71\x35\xa3\x3c\x67\x96\x16\x32\x2a\x53\x81\x89\xe3\x7e\x2b\x50\xb2\x82\xcf\x4e\x92\xf6\x1b\x81\x12\x02\x9f\x7d\x08\xa7\x0d\x48\xcb\x69\xcd\xc5\xc5\x70\xc7\x8f\xe8\xa8\x31\x1f\xd2\xb4\xfc\x24\x0c\x06\x87\x69\xea\x9d\xa8\x07\xe3\xa2\x04\x86\xc7\x35\xf9\x07\xcb\x01\x65\x5c\xed\x6a\xba\x28\x44\xd0\xb8\x78\xb2\x6c\xf8\x1d\x54\x14\xdf\xd2\x17\xaa\x4c\x90\x97\x7f\x95\x42\x06\x41\x27\x0b\xc8\x6f\xaa\x42\xc1\x12\x47\x3a\x3e\x3a\x9d\x52\xd9\x72\x0c\x76\x95\x1d\x0b\xc5\x2e\x5e\xb0\x97\x19\xd0\x6f\x67\x41\xf2\x90\xa4\xe3\xcb\xaa\xa5\x1c\xbe\xd8\xa1\xae\xe6\xaa\x1b\x95\xf7\x69\x21\x92\x24\x31\xc1\xb9\xff\xa5\x75\x35\x97\xfc\xd2\xba\xfc\x1b\x1a\xb8\x24\xf7\xf2\x18\xfe\x41\x0a\xcb\xf1\xd0\xdc\x74\x25\x42\x4d\xae\x84\xe1\x9c\x51\xa8\xef\x93\x2d\xbb\x87\x3e\x2c\xf4\xb7\x41\x9c\xf8\x13\x12\x85\x9c\xc3\x21\xd6\x09\x46\x4f\xea\xb7\xb7\xb1\xf7\xe7\x41\x41\xd9\x69\xb6\xfc\xd2\xe5\x10\x5b\x81\xda\xc8\x81\xa3\x52\xf7\x46\x9b\xb8\xc7\x7e\xf7\x65\x07\x77\x41\x2d\xac\xd0\xea\x9e\x5c\x17\x70\xef\x2f\xe0\x70\xf0\x34\xf4\xb9\x77\x32\x5d\xad\x0f\x29\x6f\x50\x75\xeb\x6a\xd3\x81\x2f\x8d\x85\x95\xb3\xd5\x25\xaa\x9d\x8f\x15\xf7\x80\xb0\xcd\xc5\x2c\xf8\xff\xff\x03\x00\x00\xff\xff\x55\xac\x95\x87\xd2\x46\x00\x00") func staticJsAppJsBytes() ([]byte, error) { return bindataRead( @@ -358,7 +358,7 @@ func staticJsAppJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/js/app.js", size: 16730, mode: os.FileMode(420), modTime: time.Unix(1447457724, 0)} + info := bindataFileInfo{name: "static/js/app.js", size: 18130, mode: os.FileMode(420), modTime: time.Unix(1449274360, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -378,7 +378,7 @@ func staticJsBootstrapContextmenuJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/js/bootstrap-contextmenu.js", size: 5300, mode: os.FileMode(420), modTime: time.Unix(1447457724, 0)} + info := bindataFileInfo{name: "static/js/bootstrap-contextmenu.js", size: 5300, mode: os.FileMode(420), modTime: time.Unix(1449270061, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -398,7 +398,7 @@ func staticJsJqueryJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/js/jquery.js", size: 84245, mode: os.FileMode(420), modTime: time.Unix(1447457724, 0)} + info := bindataFileInfo{name: "static/js/jquery.js", size: 84245, mode: os.FileMode(420), modTime: time.Unix(1431980121, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff --git a/pkg/statements/sql.go b/pkg/statements/sql.go index 359c83d..c8870d6 100644 --- a/pkg/statements/sql.go +++ b/pkg/statements/sql.go @@ -18,6 +18,16 @@ const ( PG_TABLE_INDEXES = `SELECT indexname, indexdef FROM pg_indexes WHERE tablename = $1` + PG_TABLE_CONSTRAINTS = `SELECT + pg_get_constraintdef(c.oid, true) as condef + FROM pg_constraint c + JOIN pg_namespace n ON n.oid = c.connamespace + JOIN pg_class cl ON cl.oid = c.conrelid + WHERE n.nspname = 'public' + AND relname = $1 + ORDER BY contype desc` + + PG_TABLE_INFO = `SELECT pg_size_pretty(pg_table_size($1)) AS data_size , pg_size_pretty(pg_indexes_size($1)) AS index_size diff --git a/static/index.html b/static/index.html index d6f3e38..339ed06 100644 --- a/static/index.html +++ b/static/index.html @@ -22,6 +22,7 @@
  • Rows
  • Structure
  • Indexes
  • +
  • Constraints
  • SQL Query
  • History
  • Activity
  • diff --git a/static/js/app.js b/static/js/app.js index a85ba3b..8a1ff10 100644 --- a/static/js/app.js +++ b/static/js/app.js @@ -17,13 +17,14 @@ function apiCall(method, path, params, cb) { }); } -function getTables(cb) { apiCall("get", "/tables", {}, cb); } -function getTableRows(table, opts, cb) { apiCall("get", "/tables/" + table + "/rows", opts, cb); } -function getTableStructure(table, cb) { apiCall("get", "/tables/" + table, {}, cb); } -function getTableIndexes(table, cb) { apiCall("get", "/tables/" + table + "/indexes", {}, cb); } -function getHistory(cb) { apiCall("get", "/history", {}, cb); } -function getBookmarks(cb) { apiCall("get", "/bookmarks", {}, cb); } -function getSequences(cb) { apiCall("get", "/sequences", {}, cb); } +function getTables(cb) { apiCall("get", "/tables", {}, cb); } +function getTableRows(table, opts, cb) { apiCall("get", "/tables/" + table + "/rows", opts, cb); } +function getTableStructure(table, cb) { apiCall("get", "/tables/" + table, {}, cb); } +function getTableIndexes(table, cb) { apiCall("get", "/tables/" + table + "/indexes", {}, cb); } +function getTableConstraints(table, cb) { apiCall("get", "/tables/" + table + "/constraints", {}, cb); } +function getHistory(cb) { apiCall("get", "/history", {}, cb); } +function getBookmarks(cb) { apiCall("get", "/bookmarks", {}, cb); } +function getSequences(cb) { apiCall("get", "/sequences", {}, cb); } function encodeQuery(query) { return window.btoa(query); @@ -201,6 +202,24 @@ function showTableIndexes() { }); } +function showTableConstraints() { + var name = getCurrentTable(); + + if (name.length == 0) { + alert("Please select a table!"); + return; + } + + getTableConstraints(name, function(data) { + setCurrentTab("table_constraints"); + buildTable(data); + + $("#input").hide(); + $("#output").addClass("full"); + $("#results").addClass("no-crop"); + }); +} + function showTableInfo() { var name = getCurrentTable(); @@ -486,13 +505,14 @@ function getConnectionString() { } $(document).ready(function() { - $("#table_content").on("click", function() { showTableContent(); }); - $("#table_structure").on("click", function() { showTableStructure(); }); - $("#table_indexes").on("click", function() { showTableIndexes(); }); - $("#table_history").on("click", function() { showQueryHistory(); }); - $("#table_query").on("click", function() { showQueryPanel(); }); - $("#table_connection").on("click", function() { showConnectionPanel(); }); - $("#table_activity").on("click", function() { showActivityPanel(); }); + $("#table_content").on("click", function() { showTableContent(); }); + $("#table_structure").on("click", function() { showTableStructure(); }); + $("#table_indexes").on("click", function() { showTableIndexes(); }); + $("#table_constraints").on("click", function() { showTableConstraints(); }); + $("#table_history").on("click", function() { showQueryHistory(); }); + $("#table_query").on("click", function() { showQueryPanel(); }); + $("#table_connection").on("click", function() { showConnectionPanel(); }); + $("#table_activity").on("click", function() { showActivityPanel(); }); $("#run").on("click", function() { runQuery();