diff --git a/cmd/micro/buffer.go b/cmd/micro/buffer.go index ac2ee42d..8be7433d 100644 --- a/cmd/micro/buffer.go +++ b/cmd/micro/buffer.go @@ -81,12 +81,6 @@ func NewBuffer(txt []byte, path string) *Buffer { b.Path = path b.AbsPath = absPath - b.Name = path - - // If the file doesn't have a path to disk then we give it no name - if path == "" { - b.Name = "No name" - } // The last time this file was modified b.ModTime, _ = GetModTime(b.Path) @@ -270,7 +264,6 @@ func (b *Buffer) Serialize() error { func (b *Buffer) SaveAs(filename string) error { b.FindFileType() b.UpdateRules() - b.Name = filename b.Path = filename str := b.String() if b.Settings["eofnewline"].(bool) { @@ -295,7 +288,6 @@ func (b *Buffer) SaveAs(filename string) error { func (b *Buffer) SaveAsWithSudo(filename string) error { b.FindFileType() b.UpdateRules() - b.Name = filename b.Path = filename // The user may have already used sudo in which case we won't need the password diff --git a/cmd/micro/command.go b/cmd/micro/command.go index 7193e56a..b36df74b 100644 --- a/cmd/micro/command.go +++ b/cmd/micro/command.go @@ -8,6 +8,7 @@ import ( "os" "os/exec" "os/signal" + "path/filepath" "regexp" "strings" @@ -46,6 +47,8 @@ func init() { "ToggleLog": ToggleLog, "Plugin": PluginCmd, "Reload": Reload, + "Cd": Cd, + "Pwd": Pwd, } } @@ -95,6 +98,8 @@ func DefaultCommands() map[string]StrCommand { "log": {"ToggleLog", []Completion{NoCompletion}}, "plugin": {"Plugin", []Completion{PluginCmdCompletion, PluginNameCompletion}}, "reload": {"Reload", []Completion{NoCompletion}}, + "cd": {"Cd", []Completion{FileCompletion}}, + "pwd": {"Pwd", []Completion{NoCompletion}}, } } @@ -183,6 +188,32 @@ func PluginCmd(args []string) { } } +func Cd(args []string) { + if len(args) > 0 { + home, _ := homedir.Dir() + path := strings.Replace(args[0], "~", home, 1) + os.Chdir(path) + for _, tab := range tabs { + for _, view := range tab.views { + wd, _ := os.Getwd() + view.Buf.Path, _ = MakeRelative(view.Buf.AbsPath, wd) + if p, _ := filepath.Abs(view.Buf.Path); !strings.Contains(p, wd) { + view.Buf.Path = view.Buf.AbsPath + } + } + } + } +} + +func Pwd(args []string) { + wd, err := os.Getwd() + if err != nil { + messenger.Message(err.Error()) + } else { + messenger.Message(wd) + } +} + func ToggleLog(args []string) { buffer := messenger.getBuffer() if CurView().Type != vtLog { diff --git a/cmd/micro/runtime.go b/cmd/micro/runtime.go index 495e428e..ae1d262c 100644 --- a/cmd/micro/runtime.go +++ b/cmd/micro/runtime.go @@ -77,6 +77,7 @@ // runtime/syntax/mpdconf.micro // runtime/syntax/nanorc.micro // runtime/syntax/nginx.micro +// runtime/syntax/objc.micro // runtime/syntax/ocaml.micro // runtime/syntax/pascal.micro // runtime/syntax/patch.micro @@ -402,7 +403,7 @@ func runtimeHelpColorsMd() (*asset, error) { return a, nil } -var _runtimeHelpCommandsMd = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x8c\x56\x4d\x8f\xdb\x36\x13\xbe\xfb\x57\x0c\xf6\x3d\x6c\xf2\x62\xad\xdc\x7d\x29\x8a\xa2\x40\x0b\x24\x45\x8a\xe4\xd2\x53\x39\x96\x46\x12\x61\x8a\xa3\x70\x48\x3b\xee\xaf\x2f\x86\x43\x7f\xed\x1e\x9a\x93\x65\xce\xd7\x33\x5f\x0f\xf9\x3f\xf8\xcc\x22\x7e\x1f\x08\x7a\x5e\x16\x8c\x83\x6c\x36\x7f\x71\x81\x1e\x23\xd0\x77\xea\x4b\x26\xd0\xcf\xc1\x67\x4e\x17\x1d\xd8\x9f\x61\x4d\x24\xe2\xe3\x04\xee\x97\x9c\xc2\x96\x1c\x8c\x1c\x02\x9f\xa8\x4a\xf3\x7c\x75\xd8\x6d\x7e\xa3\x44\x80\x89\xea\xe9\xfa\x3a\x1e\xe4\x19\x33\x9c\x5b\xcc\x22\xd4\x6d\x36\xff\x07\xf7\xad\xf8\xec\x76\xf0\x67\xf1\x59\x60\xf1\x7d\x62\x3b\x17\x3c\x12\x8c\x3e\x50\xc4\x85\x7e\x72\x3b\xf8\x82\x47\x12\x0b\x58\x52\xa2\x98\x61\x5f\xc6\x91\x52\x07\xbf\x8f\xf5\xf8\xa2\x0c\x5e\x60\x4d\x7c\xf4\x03\x0d\xe0\x33\x9c\x7c\x08\x1b\x00\x78\xae\x2e\x51\x9e\x1f\xb4\x2d\x5a\xa2\x35\x60\x4f\xf0\x24\x84\xa9\x9f\x9f\xe0\xe9\x88\xa1\xd0\x13\x8c\x01\x27\x71\x3b\xf8\x3a\x7b\xa9\x9e\xe0\xa2\xea\x4c\xd5\xc1\xc9\xe7\x19\x5c\xd5\x77\x1d\x68\xa4\xaf\x33\x81\x33\xcb\x5a\x0f\x5e\xb3\xe7\x88\xa1\x53\xe1\xcf\x19\xb2\x3a\x5b\xd9\xc7\xfc\xa2\x58\x52\x85\xcc\x31\x9c\x81\x23\xd5\x90\x3b\x70\xbd\x7b\x81\xd3\xec\xfb\x19\x28\xe2\x3e\x90\x80\xeb\x67\xea\x0f\x0e\x16\x1e\xa8\xc6\x31\x31\xca\x41\xc0\x8f\x5a\xda\xe7\x01\x82\x3f\x10\x64\x86\x95\xd2\xc8\x69\xa9\xb9\x36\xc8\x8b\x16\x8d\xb0\x9f\x21\xfb\x9a\x38\x00\xfc\xc1\x99\xac\x33\xd7\x7c\x96\x22\x19\xf6\x04\x08\x47\x0c\x7e\x80\x44\x13\x7d\xef\x40\xcb\xac\xf0\xd8\xaa\x8d\x69\x2a\xea\x50\xd4\xcb\xc0\x24\x10\x39\xc3\x5c\x4b\x1c\xcf\x20\x2b\xf6\x24\xe0\x23\xf8\xfc\x52\xbb\xbe\xe0\x19\x78\xf1\xb9\x5a\x7f\x2b\x9c\x49\x5a\xa7\x29\xb7\x0a\x81\x15\x71\x07\x42\xd9\x5a\xdd\xce\x33\x9b\xa8\x83\x2f\x64\xe3\xe5\x4c\x22\x0e\x66\x0a\x2b\x64\x5e\x7d\xaf\x48\x46\x4e\x80\x10\xbc\x64\x05\xda\x94\xae\x53\x27\x94\xaf\x31\x03\xf7\x18\x7e\x34\x30\x54\xed\x70\x86\x77\xb5\x4d\x3e\xde\x0f\xa2\xc6\xb5\x59\x7c\xdf\xbc\xcf\x7c\x6a\x1e\xd4\xe7\xcc\xa7\xc7\xc1\x35\x97\xad\x90\x93\x3f\x52\x6c\xda\x66\x4e\x47\x0c\xf0\x44\xdf\x6d\xf5\x38\x3e\xb9\x1d\xfc\xaa\x36\x98\x49\x00\xe1\x63\x41\xb8\x49\xbb\xbb\x1e\xd6\xfd\xb1\x31\x8d\x5c\x71\xad\xc9\xc7\xac\x1d\xc9\xb3\x2e\xb1\x70\xad\x85\xcc\x5c\xc2\xa0\x4b\x08\x6e\x21\x11\x8a\x13\xa5\xdd\x27\x12\xc1\x89\xde\x75\x5d\xf7\xde\x69\xea\x83\x97\x35\xe0\x19\x50\x3d\x59\x03\x6c\x5b\x4a\x04\x99\xb7\x6d\xb3\xdd\x0e\x52\x89\x72\x97\x8c\xcc\x14\xc2\x95\x44\x5a\xb1\xf6\xd8\x1f\xa6\xc4\x25\x0e\x5d\x5d\x10\xf5\xd9\x54\x9e\x05\xb8\xe4\xb5\xd8\xae\xea\xec\xb5\xc8\x54\xad\x75\xea\x82\x8f\x04\xa7\x99\x74\x9e\x60\xf4\xd1\xcb\x4c\xa2\x71\xa3\x8f\x93\xa1\xda\xfb\x38\xc0\x81\xce\x80\x7d\xab\x7c\x9f\xa8\x95\xec\x40\x67\x15\x6b\x09\xc6\xc4\x4b\x55\xcb\xdc\x34\x6f\x53\x25\xd4\xdb\xc0\x70\x54\x78\x37\x2b\x01\xdc\xb3\x12\x12\x27\x58\x58\x17\x36\x8e\xac\x67\x8a\x59\x2b\x7f\xa0\xb3\x80\x66\x8b\xcd\x83\xee\x3d\x1e\xd1\x07\xdd\x5d\x03\x78\x94\x35\x54\xf4\xc6\x3c\x6e\x07\xbc\x92\xaa\xc2\x91\x52\xf6\x3a\x8e\xa6\x61\x8c\x72\xd5\xab\x0c\x17\xf9\x9e\xe0\xac\xb5\xc6\x71\x2f\x6f\x1d\x28\x9d\xac\x14\x69\x30\x57\x4a\xec\xcb\x9a\xcf\x17\xc6\xac\x68\xe6\x37\x68\x44\x7d\xa3\x5c\x80\x3a\xd8\x97\x7c\x85\x38\x73\xf2\xff\x70\xcc\xb7\x18\x51\x32\xe1\x00\x3c\x2a\x98\xd7\x10\x2c\x46\xc6\xfd\xdb\x74\x6f\x73\xa2\x22\x6d\x30\x42\xa4\x13\x64\xdc\x9b\x55\xe0\xe9\xae\x36\x81\x27\x5d\x15\x0c\x01\x16\x1b\x50\x2b\xf4\x40\xfb\x32\x81\x64\xcc\x95\xd8\x1a\x99\xac\xa1\x4c\x4a\x3a\x51\xb2\x5a\xd8\xdf\xbf\x5b\xfc\x76\x7a\x0f\xc1\x14\x1e\x6c\x13\x2d\xda\xea\x47\x53\x3b\xfc\x0f\x4b\xa5\x1d\xb7\xab\x3f\x52\x01\xb7\x80\x34\x34\xed\x47\x90\x65\x1d\x30\xab\x73\xfb\xf8\x11\x13\xe3\xe8\x57\xd8\xec\x90\xa4\x4e\xe7\x5b\x80\x0f\x2c\x7f\x61\xc2\x51\x97\xe5\x46\x94\x1a\xf9\x3a\xad\x97\xc8\x80\x95\x42\x26\x9f\xe7\xb2\xef\x7a\x5e\x3e\x54\x7e\xd9\xda\x23\xe1\x83\x69\x6d\xfb\x19\x63\xa4\x60\xd7\xc9\xe5\x49\x81\x41\x18\x84\xe8\xb6\x2c\x69\xc1\xca\xa8\xb6\x33\xf5\x85\x60\x29\x2d\x18\x71\xa2\xa4\xd6\x8d\x29\xdc\x67\x93\x7c\x32\x89\xbb\xac\xe5\x85\x31\x5b\x31\x1e\xb8\xff\xa1\x4a\xd7\x4c\x5a\x33\x6e\x09\x5d\x53\xd4\x52\x0d\x7c\x8a\x81\x71\x80\x77\xf5\x42\xf6\xb1\x0f\x65\xa0\xba\x5b\x7a\x85\x5d\x8c\x8c\x59\xf1\x5c\xef\xc4\x90\x08\x87\xf3\xad\x4b\xef\x2f\xef\x07\x75\x54\xe7\x44\x3f\xac\x95\xa9\x44\xbd\x68\xeb\x98\x6b\x1b\xb7\xdb\xed\x66\xa3\xd4\x67\x2f\x28\x25\xa3\xeb\xe3\x48\xe9\xe2\xfa\x68\x69\x0f\xab\x81\x46\x2c\xe1\x8a\x7e\x67\xcb\xe1\xa3\xce\xd8\x47\xa5\xf5\xfb\x3b\xa5\xee\x92\x66\x45\x29\x71\x92\x6e\xf3\x6f\x00\x00\x00\xff\xff\x6f\xa3\x15\xbb\xf3\x09\x00\x00") +var _runtimeHelpCommandsMd = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x8c\x56\x4d\x8f\x1c\x37\x0e\xbd\xf7\xaf\x20\x66\x0f\x63\x2f\xa6\xcb\xf7\xbe\x2c\x16\x46\x80\x04\xb0\x03\x07\xf6\x25\xa7\x88\x5d\xc5\xaa\x12\x5a\x25\x96\x45\xa9\xdb\x9d\x5f\x1f\x50\x54\x7f\xcd\x1c\xe2\xd3\xf4\x48\xfc\x78\x7c\x24\x5f\xe9\x3f\xf0\x85\x45\xfc\x3e\x10\xf4\xbc\x2c\x18\x07\xd9\x6c\xfe\xe4\x02\x3d\x46\xa0\x1f\xd4\x97\x4c\xa0\x3f\x07\x9f\x39\x5d\x6c\x60\x7f\x86\x35\x91\x88\x8f\x13\xb8\x8f\x39\x85\x2d\x39\x18\x39\x04\x3e\x51\xbd\xcd\xf3\x35\x60\xb7\xf9\x95\x12\x01\x26\xaa\xa7\xeb\xeb\x7c\x90\x67\xcc\x70\x6e\x39\x8b\x50\xb7\xd9\xfc\x17\xdc\xf7\xe2\xb3\xdb\xc1\x1f\xc5\x67\x81\xc5\xf7\x89\xed\x5c\xf0\x48\x30\xfa\x40\x11\x17\xfa\x9f\xdb\xc1\x57\x3c\x92\x58\xc2\x92\x12\xc5\x0c\xfb\x32\x8e\x94\x3a\xf8\x6d\xac\xc7\x17\x63\xf0\x02\x6b\xe2\xa3\x1f\x68\x00\x9f\xe1\xe4\x43\xd8\x00\xc0\x73\x0d\x89\xf2\xfc\x60\x6d\xd9\x12\xad\x01\x7b\x82\x27\x21\x4c\xfd\xfc\x04\x4f\x47\x0c\x85\x9e\x60\x0c\x38\x89\xdb\xc1\xb7\xd9\x4b\x8d\x04\x17\x53\x67\xa6\x0e\x4e\x3e\xcf\xe0\xaa\xbd\xeb\x40\x33\x7d\x9b\x09\x9c\x79\x56\x3e\x78\xcd\x9e\x23\x86\x4e\x2f\xff\x9f\x21\x6b\xb0\x95\x7d\xcc\x2f\x8a\x25\x55\xc8\x1c\xc3\x19\x38\x52\x4d\xb9\x03\xd7\xbb\x17\x38\xcd\xbe\x9f\x81\x22\xee\x03\x09\xb8\x7e\xa6\xfe\xe0\x60\xe1\x81\x6a\x1e\xbb\x46\x39\x08\xf8\x51\xa9\x7d\x1e\x20\xf8\x03\x41\x66\x58\x29\x8d\x9c\x96\x5a\x6b\x83\xbc\x28\x69\x84\xfd\x0c\xd9\xd7\xc2\x01\xe0\x77\xce\x64\x9d\xb9\xd6\xb3\x14\xc9\xb0\x27\x40\x38\x62\xf0\x03\x24\x9a\xe8\x47\x07\x4a\xb3\xc2\x63\x63\x1b\xd3\x54\x34\xa0\x68\x94\x81\x49\x20\x72\x86\xb9\x52\x1c\xcf\x20\x2b\xf6\x24\xe0\x23\xf8\xfc\x52\xbb\xbe\xe0\x19\x78\xf1\xb9\x7a\x7f\x2f\x9c\x49\x5a\xa7\x29\x37\x86\xc0\x48\xdc\x81\x50\xb6\x56\xb7\xf3\xcc\x76\xd5\xc1\x57\xb2\xf1\x72\x76\x23\x0e\x66\x0a\x2b\x64\x5e\x7d\xaf\x48\x46\x4e\x80\x10\xbc\x64\x05\xda\x8c\xae\x53\x27\x94\xaf\x39\x03\xf7\x18\x7e\x36\x31\x54\xeb\x70\x86\x77\xb5\x4d\x3e\xde\x0f\xa2\xe6\xb5\x59\x7c\xdf\xa2\xcf\x7c\x6a\x11\x34\xe6\xcc\xa7\xc7\xc1\xb5\x90\x8d\xc8\xc9\x1f\x29\x36\x6b\x73\xa7\x23\x06\x78\xa2\x1f\xb6\x7a\x1c\x9f\xdc\x0e\x7e\x51\x1f\xcc\x24\x80\xf0\xa9\x20\xdc\x6e\xbb\xbb\x1e\xd6\xfd\xb1\x31\x8d\x5c\x71\xad\xc9\xc7\xac\x1d\xc9\xb3\x2e\xb1\x70\xe5\x42\x66\x2e\x61\xd0\x25\x04\xb7\x90\x08\xc5\x89\xd2\xee\x33\x89\xe0\x44\xef\xba\xae\x7b\xef\xb4\xf4\xc1\xcb\x1a\xf0\x0c\xa8\x91\xac\x01\xb6\x2d\x25\x82\xcc\xdb\xb6\xd9\x6e\x07\xa9\x44\xb9\x2b\x46\x66\x0a\xe1\x2a\x22\x8d\xac\x3d\xf6\x87\x29\x71\x89\x43\x57\x17\x44\x63\x36\x93\x67\x01\x2e\x79\x2d\xb6\xab\x3a\x7b\x2d\x33\x55\x6f\x9d\xba\xe0\x23\xc1\x69\x26\x9d\x27\x18\x7d\xf4\x32\x93\x68\xde\xe8\xe3\x64\xa8\xf6\x3e\x0e\x70\xa0\x33\x60\xdf\x98\xef\x13\x35\xca\x0e\x74\xd6\x6b\xa5\x60\x4c\xbc\x54\xb3\xcc\xcd\xf2\x36\x55\x42\xbd\x0d\x0c\x47\x85\x77\xf3\x12\xc0\x3d\xab\x20\x71\x82\x85\x75\x61\xe3\xc8\x7a\xa6\x98\x95\xf9\x03\x9d\x05\xb4\x5a\x6c\x11\x74\xef\xf1\x88\x3e\xe8\xee\x1a\xc0\xa3\xac\xa1\xa2\x37\xe5\x71\x3b\xe0\x95\xd4\x14\x8e\x94\xb2\xd7\x71\x34\x0b\x53\x94\xab\x5d\x55\xb8\xc8\xf7\x02\x67\xad\x35\x8d\x7b\x79\x1b\x40\xe5\x64\xa5\x48\x83\x85\x52\x61\x5f\xd6\x7c\xbe\x28\x66\x45\x33\xbf\x41\x23\x1a\x1b\xe5\x02\xd4\xc1\xbe\xe4\x2b\xc4\x99\x93\xff\x9b\x63\xbe\xe5\x88\x92\x09\x07\xe0\x51\xc1\xbc\x86\x60\x39\x32\xee\xdf\x96\x7b\x9b\x13\xbd\xd2\x06\x23\x44\x3a\x41\xc6\xbd\x79\x05\x9e\xee\xb8\x09\x3c\xe9\xaa\x60\x08\xb0\xd8\x80\x1a\xd1\x03\xed\xcb\x04\x92\x31\x57\x61\x6b\x62\xb2\x86\x32\xa9\xe8\x44\xc9\xea\x61\xff\xfe\xd5\xf2\xb7\xd3\x7b\x08\x66\xf0\xe0\x9b\x68\xd1\x56\x3f\xba\xda\xe1\xbf\x78\xaa\xec\xb8\x5d\xfd\x23\x15\x70\x4b\x48\x43\xb3\x7e\x04\x59\xd6\x01\xb3\x06\xb7\x1f\x3f\xe3\x62\x1a\xfd\x0a\x9b\x1d\x92\xd4\xe9\x7c\x0b\xf0\x41\xe5\x2f\x4a\x38\xea\xb2\xdc\x84\x52\x33\x5f\xa7\xf5\x92\x19\xb0\x4a\xc8\xe4\xf3\x5c\xf6\x5d\xcf\xcb\x87\xaa\x2f\x5b\x7b\x24\x7c\x30\xab\x6d\x3f\x63\x8c\x14\xec\x73\x72\x79\x52\x60\x10\x06\x21\xba\x2d\x4b\x5a\xb0\x2a\xaa\xed\x4c\x7d\x21\x58\x49\x0b\x46\x9c\x28\xa9\x77\x53\x0a\xf7\xc5\x6e\x3e\xdb\x8d\xbb\xac\xe5\x45\x31\x1b\x19\x0f\xda\xff\xc0\xd2\xb5\x92\xd6\x8c\x5b\x41\xd7\x12\x95\xaa\x81\x4f\x31\x30\x0e\xf0\xae\x7e\x90\x7d\xec\x43\x19\xa8\xee\x96\x7e\xc2\x2e\x4e\xa6\xac\x78\xae\xdf\xc4\x90\x08\x87\xf3\xad\x4b\xef\x2f\xef\x07\x0d\x54\xe7\x44\x7f\x58\x2b\x53\x89\xfa\xa1\xad\x63\xde\xda\xd8\x0f\xb0\x62\x9e\xdd\x0e\x3e\xce\x18\x27\x53\x9d\x13\xa7\x83\x2a\xd3\xe0\x13\xf5\x99\x53\x95\xa6\x5b\x1f\x5d\xf5\x68\x05\x9e\x34\xc9\x97\x2a\xea\xf7\x5f\x94\x37\x21\xba\xcd\x66\xbb\xdd\x6e\x36\xaa\xb4\xf6\x60\xd3\xeb\xeb\x5b\x4c\xd5\xe9\xfa\x46\x6a\xef\xb8\x81\x46\x2c\xe1\x4a\xd6\xce\x76\xd1\x47\x1d\xe9\x4f\xaf\x13\xd6\xd5\x55\x12\x29\x25\x4e\xd2\x6d\xfe\x09\x00\x00\xff\xff\xe0\x18\xc0\x22\x62\x0a\x00\x00") func runtimeHelpCommandsMdBytes() ([]byte, error) { return bindataRead( @@ -482,7 +483,7 @@ func runtimeHelpOptionsMd() (*asset, error) { return a, nil } -var _runtimeHelpPluginsMd = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x8c\x59\x6f\x8f\xdb\x36\xd2\x7f\xaf\x4f\x31\x70\x5f\xd4\x2e\x1c\x6d\x0f\xcf\xbb\x05\x72\x40\x92\xb6\x69\xef\x49\x93\xa0\xbb\xed\xe1\x50\x14\x20\x2d\x8d\x2c\x76\x29\x52\x47\x52\xf6\xfa\x09\xfa\x7c\xf6\xc3\xcc\x90\x92\xbc\xd9\x2b\x5a\xa0\x59\x59\x22\x67\x86\xf3\xf7\x37\xc3\x2f\xe0\xa3\x9d\x8e\xc6\xc5\xaa\xfa\xd1\x34\xc1\x43\x9c\xc6\xd1\x87\x14\xa1\x09\xa8\x93\x71\x47\x18\x65\x01\x9c\x4d\xea\x41\x43\x34\xc3\x68\x11\xde\x4d\x1a\xe2\x25\x26\x1c\x6a\xf8\xf6\x84\xe1\x92\xd7\x41\xaf\x23\xe8\x6a\xd0\xc6\x41\x6c\x82\x19\x13\x9c\x7b\xd3\xf4\x60\x22\x84\xc9\x81\x4e\x10\x93\x0e\x69\x1a\xf3\xfb\xd8\xfb\xc9\xb6\x70\x40\x18\xad\x6e\xb0\x05\xe3\xa0\x52\xff\x7f\x53\x37\xde\x75\xe6\x78\x33\x90\x58\x37\x59\x88\xfc\xf7\xbd\x1e\x70\xf5\x58\xdb\x49\xab\xba\xaa\xee\x7b\x0c\x08\x9a\xfe\x07\x37\x0d\x07\x0c\xe0\x3b\x68\xb4\xb5\x07\xdd\x3c\x40\x37\xb9\x26\x19\x4f\x47\x61\xce\x17\x3f\x41\xa3\x9d\x9c\x14\x89\xef\xc5\x4f\xa1\xca\xe7\x48\x9e\xe5\x6d\x7c\x8b\x24\x74\x32\x03\x46\xf0\xa9\xc7\x00\xa9\xd7\xae\x9c\xa2\x86\xfb\x1e\xc1\xe9\x81\x54\x15\x9b\x1e\x07\x04\x13\x2b\xe5\xdd\x2b\x66\xb6\x3d\x19\x3c\xef\x54\x0d\xdf\xf9\x00\xf8\xa8\x59\x79\x7a\x96\xe5\x5a\x39\xc8\x8a\x24\x56\x90\x7a\x84\x29\x62\x80\xa8\x4f\x18\x2b\xfa\x79\x98\xba\x0e\x03\x9c\xb3\xbe\x6e\xab\x4a\x29\x65\x27\x5d\xcd\xc4\xbc\xbb\xd3\x27\x14\x96\x15\x00\x40\x5d\xd7\xfc\x37\x60\x9a\x82\x83\x4e\xdb\x88\x15\xba\x96\x76\xb2\xbe\x40\xd1\x62\x05\x27\x1d\x8c\x3e\x58\x92\x1d\x34\x04\xec\x30\xa0\x6b\x90\xb4\x40\xac\x69\x11\x3f\x68\x61\x64\x22\x1c\x90\x4e\x8c\x8f\xd8\x4c\x09\x5b\xf0\xae\xae\xee\x7b\x13\x99\x80\x1d\x7c\x4c\xa0\xed\x59\x5f\x22\x6f\x6b\xa6\x10\xd0\x25\xa6\xb3\x7f\xa2\xfe\x23\x26\xf1\x2d\xf5\x66\x0a\xbf\x18\x3c\x6f\x77\x0a\x74\x84\x33\x5a\x5b\x57\xd5\x2b\x6b\x41\x9f\xb4\xb1\x2c\x9e\xce\x16\x24\x23\x5b\x13\x93\xf8\x0b\xb1\x78\xc0\xcb\xc1\xb8\xd6\xb8\x63\x84\x88\x59\x1f\x1d\x7f\xea\xd1\x8e\xe2\x1e\x11\x57\x5e\x90\x3d\x4f\xdb\xe8\x8b\x82\x34\x1c\xbc\xb7\x48\xe6\x1d\xb1\x31\xdd\x85\xce\x78\xee\x31\x9b\x5d\x14\x51\x2d\x2e\x1b\xd0\xfa\x46\x93\x14\x59\x51\xcd\x14\xa2\x0f\xe0\x03\x38\x9f\x40\x77\x29\xef\x5b\xf4\xd6\x78\x72\x81\x84\x75\x55\xbd\xf7\x89\x0c\x4d\xde\xc5\xa2\x15\x4f\x8d\xe0\x9b\x66\x0a\x9f\x6f\xa7\xd8\x3a\x20\xba\x99\x48\x5b\xc3\x0f\x1d\x69\xb2\x3a\x6b\x97\x40\x2f\xce\x7e\xc0\xce\x07\x7c\xc2\xbb\x58\x6b\x4f\xae\x05\x6a\x0c\x98\x9d\x94\x1c\xf4\x07\xd2\x23\x09\xa8\x23\x8a\xbf\x65\x55\x88\x6e\xb0\xcd\x3a\x31\x18\x67\x95\xe4\x73\xae\xb8\x2c\xba\x29\xcc\xaa\xe5\x18\x76\xd2\x12\x50\x45\xfe\x48\x06\x76\x12\x55\x53\xc4\x6e\xb2\xcb\x09\x92\x87\x07\xe7\xcf\xa0\x0f\x7e\x5a\x25\x11\xd6\xeb\x72\x26\x8a\x34\x72\x9a\x0f\x23\x96\x58\x5b\xd6\x12\x2d\x6c\x49\x5a\x47\xa1\x45\x69\x01\xcf\xe2\xcc\x26\x82\x1f\x91\x4e\xa5\x5d\xcb\xc2\x39\x3c\x57\xe5\xd3\xa8\x63\x64\xd7\xa2\xf0\x16\xa7\xce\xe2\x75\x3e\x40\xc4\xc4\x99\x91\x6c\x6f\xc1\x8f\xe2\x4e\x07\x1d\x39\x0e\x98\x58\x67\x2c\xa6\xcb\x88\xfb\xaa\x5b\xc5\x3d\xe9\x91\x36\xfa\xae\x03\x95\xf4\x21\x26\x1f\x47\xdd\x60\x54\xe0\x9d\xbd\x30\xf1\xb7\x9e\x37\xb3\x8e\x99\xd6\x85\x9d\x5d\x84\xad\xab\xea\xc5\x8b\x17\xff\x2d\xd3\x2d\xae\x4d\x67\x2a\x21\x1d\xc5\xc5\x78\xf1\x1c\x47\xc9\x73\xfc\x19\x57\xf9\xd0\x92\x75\x3c\xe8\xa6\xc1\x28\xe1\x6a\x9c\xe3\x44\x13\x1e\x38\x9c\x7c\x07\x9c\x85\x6b\xf8\x9e\xd8\x72\x8a\xa0\xe0\x83\x2d\x2d\xa6\x63\x42\x34\x47\xa7\xd3\x14\x30\xf2\x81\x57\x92\x04\x84\xa3\x39\xa1\x83\x29\xd2\xd1\xdf\xfa\x2f\x63\xde\xc2\xd5\x63\x77\x5b\x55\x5f\x81\xfa\x70\xa7\x6e\x97\x24\x24\x06\xa4\x6d\x22\xcf\x87\x3b\x11\x80\x6d\x2a\xa9\xc4\x5e\x28\x63\x8a\x36\x1d\x09\x22\x56\xa2\xd5\x51\x0f\x58\xe9\x28\xac\xde\x7e\xf8\x70\x37\x13\xde\x43\xf4\xa0\x5a\x1d\xce\xc6\xa9\x3d\xa8\xb3\x71\xad\x3f\x47\x7a\xb4\xc6\x4d\x8f\xf4\xd0\x05\xc4\x43\x6c\x55\x5d\xd7\x3b\x16\x4d\xea\xd0\x37\x26\xa8\x5b\x68\xbc\x4b\x9a\x8a\x21\xf1\x19\x75\xea\x4b\xdc\x8b\x78\xb2\x74\x0a\x9a\x9d\x93\xcd\xc8\x24\xc8\xd4\xea\xb6\x68\xcd\x77\xa0\xad\xe5\x6d\xf4\x61\x75\x22\x43\x5a\x42\xe1\x3a\x85\x7b\x7d\x50\xb7\xd9\x1e\x2d\x3e\x96\x6c\x56\x72\x29\xef\xcd\xc9\x8f\x9f\x89\x38\xef\x1d\x30\x46\x74\x47\x24\x89\x2d\xa6\xc8\xa6\x8e\xe8\x5a\xa0\x2f\xfa\x48\x5a\xf5\x4b\x85\xf1\xa1\x94\xc0\x31\xf8\x61\x4c\x22\xf3\x4f\x93\xc3\xbb\x14\xb6\x81\xf4\x8c\x3b\x88\x29\x18\x77\x54\xb7\x39\x1d\x90\x0f\xc8\xab\xa2\x14\x7a\x24\x9a\x62\x6d\xda\xc4\x74\xde\xf9\x66\xfb\xb8\x07\x3a\x5c\xda\xc1\x3b\xdf\x5c\x91\xa0\x78\xa4\x25\x8a\x88\x4d\x8d\xc8\xff\x0f\x6f\xdc\x47\x9d\xfa\xb8\x6d\x4d\xa8\xeb\x3a\x33\x9a\x65\xa0\xf4\x71\x30\x0e\x23\x0c\x93\x4d\x86\x22\xab\x35\x01\x9b\xe4\x83\x91\xb3\x51\x81\xb5\x96\x2d\xc4\x14\xdf\x62\xfa\xc0\x61\xba\x75\x7a\xc0\x42\x6f\x25\x09\xe7\x76\x6d\x27\x2c\x5a\x0e\xf8\xef\x09\xb9\xbe\x48\x7c\x33\x99\x57\x6d\xfb\x39\x99\x7d\xde\x68\x5c\xc2\xd0\xe9\x06\x3f\xfd\x41\x94\x23\x29\x7e\xd1\x87\x50\x91\x42\x37\xbf\xa5\xda\x2c\x9b\xb7\x6a\xb5\x5d\xc1\x80\x9a\xa3\xf8\x22\xa1\x62\x1c\xbc\xf5\xe2\x8d\x77\xf3\x49\x84\x62\xe1\xbe\x1c\xe9\x79\xc6\xa5\x90\xd3\xe2\x9c\xd4\xce\xc6\x5a\x92\x20\xa2\x64\xf0\xbc\xf2\x68\xfd\x41\x5b\x7b\xd9\xc3\xe4\x2c\x65\x04\x93\x72\xc8\x4b\xba\xa3\x44\x25\x4b\xeb\x22\xd1\x3b\xfa\xf2\x27\x62\xed\x0b\x76\xf9\xea\x35\xff\xfd\x33\x31\x49\xa2\xc5\x1a\xcc\x53\x22\x63\x59\x2b\xc4\x98\xf9\x6b\xe3\xda\xff\xc5\xcb\xf6\x01\x2f\xfb\xb9\x04\xcd\xaa\x20\x40\x10\x41\x3d\xe0\x45\x91\x02\x94\x2c\x50\xbc\xf3\x47\xfd\x80\x6f\xfc\x30\x68\xd7\xb2\x35\xf7\x0b\x26\x2b\x42\xe7\x2a\xc5\x79\xac\xae\xeb\x37\xf3\x4f\xa2\x4d\x72\x4a\xd8\x90\x6e\x1a\xa1\x94\x81\x0c\xd1\x2b\x65\x88\xb4\xcc\x85\x08\x54\x61\xa0\x24\xb7\x97\x02\xc9\x10\xed\xe7\x88\xf0\x35\x17\x80\x35\xd7\xe4\x19\x1e\xbd\xf7\x0b\xef\x7a\x2d\x7d\x7e\xb7\x7d\x22\xfa\x4e\xdd\x5e\x8b\xa7\x96\xb5\xac\x09\x2a\xff\x22\xea\x4a\x0d\xa2\x97\x05\x84\x5d\x47\xc7\x1a\xc2\xf1\xc2\xef\xb5\x6b\xed\xac\xc2\x66\x68\xd7\x61\x35\xb9\xb5\x71\xb3\x76\x56\xdb\xee\x7a\xb4\xb6\xec\x8d\xfc\x63\x26\xb0\x97\x50\x22\x63\x9d\x04\x85\xec\xe1\xac\x4d\xba\xf7\x6f\xac\x8f\xf2\xe6\x19\x26\x4c\x85\x8f\x2d\x64\x05\x99\xab\x15\x2d\xc5\x5b\x9f\x81\x31\x7c\xbe\x6c\xc1\x0c\x60\x08\x8e\x67\xa7\x23\x34\x72\x0c\x7e\xca\x24\x89\x85\x5a\xc9\x93\xa9\x72\x5c\xe8\x71\xb4\x44\xd8\x74\x4f\x18\x53\x69\x0a\x13\x72\x61\x96\xe0\xe6\xa2\x6c\x52\xe1\x47\x04\x33\x68\xab\x66\xc0\xce\x29\x55\x02\x17\x5b\x93\x7c\x10\xe3\xdf\xfb\x37\xbd\x0e\x1f\x7d\xdc\x5a\xdf\x50\x4a\xe5\xf8\x9a\x83\x8b\xd4\xf7\xd4\x78\xbd\x26\x51\x30\xc0\xe8\xa3\x29\xd8\x58\x67\xcd\x71\x7a\x66\x20\x3b\xfb\xd7\xeb\x4b\xc2\x0f\x5d\x17\x31\xfd\x29\x0f\x7c\xd4\x0d\x15\x2e\x6b\x1e\x70\x25\x97\x02\x7c\x6c\x70\xe4\xf3\x99\x04\x8d\x9f\x5c\x8a\x70\xb8\x90\x33\x1a\x17\x13\xea\x96\xf8\x53\x8d\x88\x75\x4e\xf9\x87\x3b\x6a\xa8\x56\x7e\xb4\xa7\x76\x26\xb5\x7e\x4a\xf9\x09\x43\xa0\xa7\x6f\x1f\x49\x6b\x79\x09\x15\x30\x1d\x8e\x1c\x9f\x57\xbe\xcf\xd4\xe2\x8c\x11\x9e\xb8\xc9\x6c\xed\x67\x4c\xac\x0a\x5b\x95\x1f\x31\x04\xc5\x86\x53\xc2\x5c\x11\x7d\xc2\x35\x0b\x5e\x4f\x9e\xb1\xed\xd3\x0e\x93\x63\xff\x80\x6b\x1c\xba\x92\xa4\xf4\x32\xbd\x1e\x47\xa9\x05\xd9\xd6\x8b\x34\x54\x91\x09\x95\x71\x8a\x50\xe5\xb0\x8a\xb9\x33\xe8\x0e\xc7\x69\x40\x52\xee\x8a\x21\x65\x8c\x0c\x60\x4b\x57\xf2\x59\x0b\x3c\x2b\x1d\x73\xec\x7e\x45\xd9\xa8\x7e\x33\xb4\x7b\x68\x75\xd2\x57\xf5\xc4\xb5\x4b\xb1\x37\x2e\xd3\x8c\xa9\x35\x73\x87\xf5\xbb\x3f\x14\x51\x17\x73\xfa\xf1\x9a\x32\x11\x7b\x20\x01\x35\xad\xaf\xa4\x5d\x1c\xf4\x05\x22\xe2\x20\x2e\xa4\x21\x0e\x94\x2a\x67\x9c\x34\x03\xd6\x45\xb5\x87\x29\x41\xf4\xc3\x5c\xa9\xfd\xe1\x77\x6c\x52\xac\xe6\x36\xe5\x70\x11\x08\x3e\xef\xe8\xf5\x09\x61\xa0\x6a\x3a\x60\xea\x7d\x1b\xeb\xab\x5e\x73\x41\x23\x0c\xff\x85\x5e\x25\x0a\xe5\x69\x46\x06\x6b\xfa\xf9\xe9\x81\xb6\xf6\xba\xbb\x5f\x68\xdf\x72\x3b\xce\x5d\xf7\x4e\xd5\xd5\xbf\xf2\x96\x88\x98\x25\x5c\x1d\x75\xf4\x31\x9a\x75\x8b\xfb\x4c\x5f\x4b\x8d\x2c\x24\x3f\x9a\xa6\xe6\xe6\xbd\x74\x68\xde\x7d\x26\x24\x6d\x69\x38\xfb\x3f\xd3\xab\x71\x1f\x36\x3b\xaf\x64\xa0\x8a\xda\xd9\xc9\xd5\xf0\x43\x9e\x30\x04\xa4\x20\x21\xe3\x1f\xd1\x61\xe0\x32\x1c\x93\x69\x1e\x72\x56\xe2\x63\x89\x4f\x0f\x9a\x5f\x6a\x98\x67\x27\x95\x3e\x79\xc3\x34\xa6\x10\x29\x8d\x8f\xc1\x1f\x2c\x0e\x71\x0f\xeb\x86\xc8\x74\x59\x8f\x54\x1e\x9f\xa8\x8d\xf2\xe5\x4e\x91\x1a\x54\x9e\x6b\x90\x0e\xff\x31\xc5\x24\xdd\xeb\xf3\x5a\x26\x84\x5f\x52\xeb\xd9\xbb\x2f\x53\x26\x3e\x93\x00\x7d\xd4\x86\xb2\xdc\xcf\xb1\x24\x86\x95\xd9\xf7\xb3\x5d\x79\x2c\xb0\xea\x89\x32\x82\xd1\x31\xfa\xc6\x70\xcb\x9f\xb1\x9c\xce\x35\xf1\x70\xc9\x2d\xce\x22\x59\xfd\x7a\xea\x54\x99\x77\xcc\x48\x7c\x45\x54\x7d\x67\x2c\xde\x5f\x46\xa4\xce\x83\x20\x2f\xfd\x7d\x4f\xe8\xa1\xae\x65\x62\xb1\xf8\x45\xf6\xdd\x67\xdc\x2f\xf3\x65\x82\x0b\xf6\x5f\xda\x29\x1d\xf0\xf6\xba\x31\xa8\x7f\x94\x46\x60\x3b\xc4\x23\xa5\xce\x2b\xec\x7a\xbd\xf2\xdb\x10\x7c\xf8\x0b\xeb\xfe\x85\xf1\xbd\xff\xc8\x0d\xc4\x56\xfa\x88\x19\xb6\x6f\xa5\x86\x4b\xdd\xbe\xde\x75\xb5\x61\x0f\xbd\x89\xc9\x87\xcb\x3d\xf7\x87\x9f\xa1\x30\x7e\xbd\x42\x61\xb0\x9d\xe1\xa5\x90\xae\x64\x18\x02\x79\x18\x12\x93\x76\xad\x0e\x2d\x14\xf2\xbf\xcf\xce\xf3\x5f\x25\xd8\x6c\xf6\xf0\x35\x91\xfa\x02\x5e\xb5\x14\x75\x12\x74\xdc\xcb\xed\x21\x5e\x5c\xd2\x8f\xe5\x17\x83\x35\xeb\x83\x8c\xfd\x62\x99\x20\xe6\x28\xa8\xe6\x78\x27\x8e\x6c\x9c\x57\x6d\xfb\xd3\xe4\x92\x19\x90\xec\x9e\x61\x27\x8f\x09\xa4\x99\x2c\x49\x77\x81\xa2\xd4\xcb\xb4\xd2\xcb\xfb\x29\xc2\x03\x03\x5a\xdf\x55\x32\x22\x90\x2e\xbe\x30\xbc\xca\x42\xfb\x1c\x5b\x5f\xb6\x92\x59\x33\x21\xbd\xca\x21\x32\xf9\xb8\x22\x51\xe5\x4a\xa5\x12\xc6\xa4\x24\x18\x24\x1b\xe4\x0e\x91\x8f\x41\x1f\xeb\xa1\x55\xac\x87\x75\x3c\xef\x99\x64\x98\x5c\xba\xca\xc0\xcb\xa4\xf2\x89\x02\x36\x44\x69\xb3\x87\x0d\x09\x45\x7f\x33\xe5\xcd\x4e\x06\x94\x04\x8a\x9f\x28\x2d\x7e\x17\xfc\xf0\x4d\xee\xf6\x2e\x57\x2a\x6c\x4d\x60\x3d\x26\x0c\x6e\xa7\x96\x13\xaf\x06\x24\xdc\x91\xe7\x02\x16\x84\x68\xcd\xa6\x9e\x92\x2f\x33\xa9\x19\x1b\xcc\xc5\xb5\xaa\xee\x38\x63\xf3\x04\x2d\x4f\x72\x3c\x58\xd4\xc1\x41\xef\xcf\x05\x50\x3f\x01\xe5\x19\x33\x5c\x03\xec\xac\x07\x69\xa5\x66\x2b\x0b\x58\xf9\xa7\x49\xfd\xf6\x4e\x3c\x9a\xdf\xec\x2a\xc2\x31\x5c\x76\x5f\xe6\x87\xdb\x69\x1c\x31\x6c\xe5\x8b\x0e\x89\x3f\xe8\x90\xca\x7b\x6a\x4b\xf2\x2c\x53\x9c\xa9\x8e\xd3\xa1\x10\xfd\xdb\x3e\xbf\xb3\xe8\xb6\xc2\x61\xf7\xf2\x25\x3f\xf0\x50\x78\x19\x24\x17\x5d\x6c\x8d\x1b\x27\x96\x43\x24\xd6\x0c\xda\xe7\xf6\xe4\x25\x7c\xda\x7c\x8f\xd6\x7a\xb2\xdd\x3f\x7d\xb0\x2d\x3d\x7c\xe7\xf9\xf7\x6b\x1d\x36\x7f\xcc\x3b\x03\xc6\xc9\x92\xb8\x9f\xe8\x1d\x89\x49\x7e\x63\xf6\x27\x8a\x9a\x51\x9b\x10\xb7\xd7\xc4\x77\xd0\x52\x2f\x68\xba\xb5\x76\x4e\xd4\x1b\x90\x44\x64\x41\x86\x4c\xf4\x5f\xa2\x2c\x57\x1b\x17\x31\xa4\xad\x30\xda\xc3\x49\x26\xe0\x40\x07\x5b\xfe\x64\xdd\xc8\xa2\x27\x87\xee\xbc\xdf\xea\x70\xa4\x7d\x73\x7a\xb8\x2d\x89\x92\x3f\xf0\xfa\x75\xe3\xb8\xe9\xe4\xac\xd9\x2d\x6a\xf9\xf9\xa4\x39\x9b\xbf\x16\xad\x6e\x76\xd9\xbf\xbf\x80\x6f\xb0\xd3\xa4\x97\xb1\xdc\xc2\xac\x42\x98\x07\x6f\xf9\xc3\x7e\x06\x0d\x6d\xde\xa1\x34\xf9\xac\x34\x20\xec\x68\x96\x93\xb3\x9a\x49\x6d\x29\x95\x2e\xf3\x71\xe7\xc3\xa0\xed\x3c\xa8\x0a\x08\x01\x47\x0f\x93\x6b\x31\x80\xca\xc1\x50\xee\x59\xd4\xae\x4c\xe0\x41\xc7\x8a\x90\x53\xb9\x05\x9a\x67\x89\xd7\xd4\x7d\xd7\x99\xc6\x68\x4b\x9d\x86\x73\x68\xe1\xd7\x1e\x03\xfe\xb6\xed\x53\x1a\xe3\xed\xcd\xcd\xd1\xa4\x7e\x3a\x90\x06\xe4\x42\xe7\x85\xf4\x33\x99\xdf\x8b\xbc\x6b\xc7\xc1\x28\x37\x52\xf0\xa3\x76\xfa\x48\x6d\xbe\x5c\x4c\x71\x3d\x66\x38\x06\x87\xc9\xd8\xc4\x7e\x23\x2b\x07\x59\xf9\xa4\x32\x1a\x77\xf2\x0f\xb8\x4c\x5c\xd4\xdf\xcb\xfa\xba\xae\xd5\xdc\x25\x8a\xca\xf3\xc4\xc1\xb4\xe5\x7d\x9c\xe9\x4c\x11\x17\xed\xab\xfc\x59\x5d\x61\x31\x2e\xd4\x45\x8a\x0e\x53\xd3\x63\x9c\x35\xd6\x05\x3f\x94\x26\x8c\x0e\x19\x61\x3b\x0f\xa8\xf9\x32\xed\xb2\x1a\x0c\x96\x13\x61\xd2\x04\xc3\x77\x19\x86\x9a\xc4\xb3\xf0\x28\xc3\xf0\x1a\x5e\x5f\x8a\x1f\xec\xb3\x45\xb9\xfd\x5c\xad\x79\xde\x2a\x33\xe3\x7c\x6d\x51\xe9\x04\x7f\xcd\x34\x0c\xbb\x67\x6c\xd4\xb6\x52\x35\xfc\x99\x2f\x0d\x42\xfb\x62\xd4\x21\x5d\x96\x23\x32\x22\xe1\x5b\x04\x25\x74\xca\x17\x55\x26\x3d\xe4\xb3\x85\x9e\x4c\xef\xb8\x8f\x74\x0f\x57\x04\x67\xb7\x23\x07\xb0\xfe\xcc\xed\xa3\xb6\x96\x5b\xd5\x2a\xf5\xc1\x4f\x47\x31\xef\x53\x5f\x98\xcd\x2e\x1f\xc8\xd9\x67\xe6\x75\x41\x0a\xab\xea\x38\x4e\x07\x6b\x62\xbf\x80\x58\xfa\xcc\x7d\x43\x8b\x14\x0c\x04\xb3\x8b\x3a\x65\x85\x94\xc7\xdc\xbf\x4f\xa3\xf5\xba\xbd\xba\x41\xf4\xce\x1a\x87\xb0\x4d\x1e\xde\xb2\x8e\x61\xe4\x8b\x35\x7d\xb0\x97\x1d\x9f\x5f\xea\x93\x22\xd9\xea\xdf\x23\x95\x0c\xaa\x50\x79\x3c\xc7\xc5\x55\xa6\x47\x32\x60\xa5\xe3\x54\xc5\x33\x38\x7d\x5e\x15\xff\x79\x36\xef\x4a\x02\x91\xba\x4b\x84\xab\x5f\x3f\x55\x00\x1b\x42\x96\x9b\x5b\xd8\xc8\x16\xaa\x9d\x9b\x3d\xbd\xff\x06\xe5\xaa\xd6\x78\x47\x9f\x97\x29\xbf\x33\x0d\xd5\x43\xd7\x98\x48\x99\x67\x5e\xc5\x57\x02\xc5\x3a\x42\xe3\x5e\x1f\xe3\xe6\x16\x7e\xdd\x8c\x97\xd4\x7b\x47\x59\x91\x32\x92\x71\xc7\xcd\x6f\xbc\xe0\x17\x0c\x91\x12\x3b\x2d\xe2\xd4\xfc\x29\xe7\xef\xf2\x85\x58\xff\xad\xfe\xba\xfe\x9a\x09\xf2\x97\x9f\x83\xa5\xb7\xcf\x64\x11\xea\x85\xb3\x8b\xde\xe8\xd0\xf4\xe6\x84\x37\x27\xde\x5d\xff\x9f\x19\x17\x0a\x3f\xe1\xbf\x27\x13\xe8\xd4\x85\x1d\xc0\x86\xfd\x9c\x08\xff\xfd\x25\x6d\xf9\x9f\x4d\xfe\xc4\xa5\x89\xff\xfd\xad\xfa\xe3\xb7\xf9\x92\xd4\xf1\xed\x0b\x79\x06\x35\x6c\x79\x32\x0c\x7f\x3d\x74\xb4\x00\x49\x9d\xdd\x9b\xe1\x47\x15\xf4\xf9\xca\xf2\xd2\xb4\x3c\x05\x91\x9c\xa4\x23\x11\xbd\xd4\xd5\xbd\xa7\x4e\x0b\x61\x1a\x5b\xb9\x9a\x5f\xf9\xfd\xd9\x87\x87\x7d\xbe\x7a\x0a\x31\x01\xbb\x9e\xef\xd6\xb4\xe2\x72\xff\x96\x9d\x76\xe5\x58\x70\x12\x23\x94\xae\xba\x78\xd5\xf6\x1d\xc7\x47\x6f\xe2\x2d\xa8\x5f\xbe\xfd\xe9\xee\x87\x0f\xef\xe1\x65\x31\x94\xda\x55\x1f\x2d\xea\x88\x22\x58\x9c\x02\x16\x34\xf4\x6b\xc4\xe1\x84\x41\x4a\xc0\xed\xcd\x8d\xfc\xac\x7d\x38\xde\xec\xd8\x79\x33\x43\xc2\x23\xd5\x7f\x02\x00\x00\xff\xff\x9b\x6f\x37\xad\x87\x20\x00\x00") +var _runtimeHelpPluginsMd = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x8c\x5a\x6f\x8f\xe4\x34\xd2\x7f\x9f\x4f\x51\x6a\x5e\xd0\x8d\x7a\x33\x9c\x9e\x77\x23\xed\x49\xbb\x0b\x2c\xdc\xb3\xec\xae\x98\x81\xd3\x09\x21\xd9\x9d\x54\x3a\x66\x1c\x3b\x67\x3b\xdd\xd3\xcf\x8a\xe7\xb3\x9f\xaa\xca\x4e\xd2\xb3\x73\x08\x24\x98\x74\x62\x57\x95\xeb\xef\xaf\xca\x7c\x01\x1f\xed\x74\x34\x2e\x56\xd5\x8f\xa6\x09\x1e\xe2\x34\x8e\x3e\xa4\x08\x4d\x40\x9d\x8c\x3b\xc2\x28\x0b\xe0\x6c\x52\x0f\x1a\xa2\x19\x46\x8b\xf0\x6e\xd2\x10\x2f\x31\xe1\x50\xc3\xb7\x27\x0c\x97\xbc\x0e\x7a\x1d\x41\x57\x83\x36\x0e\x62\x13\xcc\x98\xe0\xdc\x9b\xa6\x07\x13\x21\x4c\x0e\x74\x82\x98\x74\x48\xd3\x98\xdf\xc7\xde\x4f\xb6\x85\x03\xc2\x68\x75\x83\x2d\x18\x07\x95\xfa\xff\x9b\xba\xf1\xae\x33\xc7\x9b\x81\xc4\xba\xc9\x42\xe4\xbf\xef\xf5\x80\xab\xc7\xda\x4e\x5a\xd5\x55\x75\xdf\x63\x40\xd0\xf4\x2f\xb8\x69\x38\x60\x00\xdf\x41\xa3\xad\x3d\xe8\xe6\x01\xba\xc9\x35\xc9\x78\x3a\x0a\x73\xbe\xf8\x09\x1a\xed\xe4\xa4\x48\x7c\x2f\x7e\x0a\x55\x3e\x47\xf2\x2c\x6f\xe3\x5b\x24\xa1\x93\x19\x30\x82\x4f\x3d\x06\x48\xbd\x76\xe5\x14\x35\xdc\xf7\x08\x4e\x0f\xa4\xaa\xd8\xf4\x38\x20\x98\x58\x29\xef\x5e\x31\xb3\xed\xc9\xe0\x79\xa7\x6a\xf8\xce\x07\xc0\x47\xcd\xca\xd3\xb3\x2c\xd7\xca\x41\x56\x24\xb1\x82\xd4\x23\x4c\x11\x03\x44\x7d\xc2\x58\xd1\xcf\xc3\xd4\x75\x18\xe0\x9c\xf5\x75\x5b\x55\x4a\x29\x3b\xe9\x6a\x26\xe6\xdd\x9d\x3e\xa1\xb0\xac\x00\x00\xea\xba\xe6\xbf\x01\xd3\x14\x1c\x74\xda\x46\xac\xd0\xb5\xb4\x93\xf5\x05\x8a\x16\x2b\x38\xe9\x60\xf4\xc1\x92\xec\xa0\x21\x60\x87\x01\x5d\x83\xa4\x05\x62\x4d\x8b\xf8\x41\x0b\x23\x13\xe1\x80\x74\x62\x7c\xc4\x66\x4a\xd8\x82\x77\x75\x75\xdf\x9b\xc8\x04\xec\xe0\x63\x02\x6d\xcf\xfa\x12\x79\x5b\x33\x85\x80\x2e\x31\x9d\xfd\x13\xf5\x1f\x31\x89\x6f\xa9\x37\x53\xf8\xc5\xe0\x79\xbb\x53\xa0\x23\x9c\xd1\xda\xba\xaa\x5e\x59\x0b\xfa\xa4\x8d\x65\xf1\x74\xb6\x20\x19\xd9\x9a\x98\xc4\x5f\x88\xc5\x03\x5e\x0e\xc6\xb5\xc6\x1d\x23\x44\xcc\xfa\xe8\xf8\x53\x8f\x76\x14\xf7\x88\xb8\xf2\x82\xec\x79\xda\x46\x5f\x14\xa4\xe1\xe0\xbd\x45\x32\xef\x88\x8d\xe9\x2e\x74\xc6\x73\x8f\xd9\xec\xa2\x88\x6a\x71\xd9\x80\xd6\x37\x9a\xa4\xc8\x8a\x6a\xa6\x10\x7d\x00\x1f\xc0\xf9\x04\xba\x4b\x79\xdf\xa2\xb7\xc6\x93\x0b\x24\xac\xab\xea\xbd\x4f\x64\x68\xf2\x2e\x16\xad\x78\x6a\x04\xdf\x34\x53\xf8\x7c\x3b\xc5\xd6\x01\xd1\xcd\x44\xda\x1a\x7e\xe8\x48\x93\xd5\x59\xbb\x04\x7a\x71\xf6\x03\x76\x3e\xe0\x13\xde\xc5\x5a\x7b\x72\x2d\x50\x63\xc0\xec\xa4\xe4\xa0\x3f\x90\x1e\x49\x40\x1d\x51\xfc\x2d\xab\x42\x74\x83\x6d\xd6\x89\xc1\x38\xab\x24\x9f\x73\xc5\x65\xd1\x4d\x61\x56\x2d\xc7\xb0\x93\x96\x80\x2a\xf2\x47\x32\xb0\x93\xa8\x9a\x22\x76\x93\x5d\x4e\x90\x3c\x3c\x38\x7f\x06\x7d\xf0\xd3\x2a\x89\xb0\x5e\x97\x33\x51\xa4\x91\xd3\x7c\x18\xb1\xc4\xda\xb2\x96\x68\x61\x4b\xd2\x3a\x0a\x2d\x4a\x0b\x78\x16\x67\x36\x11\xfc\x88\x74\x2a\xed\x5a\x16\xce\xe1\xb9\x2a\x9f\x46\x1d\x23\xbb\x16\x85\xb7\x38\x75\x16\xaf\xf3\x01\x22\x26\xce\x8c\x64\x7b\x0b\x7e\x14\x77\x3a\xe8\xc8\x71\xc0\xc4\x3a\x63\x31\x5d\x46\xdc\x57\xdd\x2a\xee\x49\x8f\xb4\xd1\x77\x1d\xa8\xa4\x0f\x31\xf9\x38\xea\x06\xa3\x02\xef\xec\x85\x89\xbf\xf5\xbc\x99\x75\xcc\xb4\x2e\xec\xec\x22\x6c\x5d\x55\x2f\x5e\xbc\xf8\x6f\x99\x6e\x71\x6d\x3a\x53\x09\xe9\x28\x2e\xc6\x8b\xe7\x38\x4a\x9e\xe3\xcf\xb8\xca\x87\x96\xac\xe3\x41\x37\x0d\x46\x09\x57\xe3\x1c\x27\x9a\xf0\xc0\xe1\xe4\x3b\xe0\x2c\x5c\xc3\xf7\xc4\x96\x53\x04\x05\x1f\x6c\x69\x31\x1d\x13\xa2\x39\x3a\x9d\xa6\x80\x91\x0f\xbc\x92\x24\x20\x1c\xcd\x09\x1d\x4c\x91\x8e\xfe\xd6\x7f\x19\xf3\x16\xae\x1e\xbb\xdb\xaa\xfa\x0a\xd4\x87\x3b\x75\xbb\x24\x21\x31\x20\x6d\x13\x79\x3e\xdc\x89\x00\x6c\x53\x49\x25\xf6\x42\x19\x53\xb4\xe9\x48\x10\xb1\x12\xad\x8e\x7a\xc0\x4a\x47\x61\xf5\xf6\xc3\x87\xbb\x99\xf0\x1e\xa2\x07\xd5\xea\x70\x36\x4e\xed\x41\x9d\x8d\x6b\xfd\x39\xd2\xa3\x35\x6e\x7a\xa4\x87\x2e\x20\x1e\x62\xab\xea\xba\xde\xb1\x68\x52\x87\xbe\x31\x41\xdd\x42\xe3\x5d\xd2\x54\x0c\x89\xcf\xa8\x53\x5f\xe2\x5e\xc4\x93\xa5\x53\xd0\xec\x9c\x6c\x46\x26\x41\xa6\x56\xb7\x45\x6b\xbe\x03\x6d\x2d\x6f\xa3\x0f\xab\x13\x19\xd2\x12\x0a\xd7\x29\xdc\xeb\x83\xba\xcd\xf6\x68\xf1\xb1\x64\xb3\x92\x4b\x79\x6f\x4e\x7e\xfc\x4c\xc4\x79\xef\x80\x31\xa2\x3b\x22\x49\x6c\x31\x45\x36\x75\x44\xd7\x02\x7d\xd1\x47\xd2\xaa\x5f\x2a\x8c\x0f\xa5\x04\x8e\xc1\x0f\x63\x12\x99\x7f\x9a\x1c\xde\xa5\xb0\x0d\xa4\x67\xdc\x41\x4c\xc1\xb8\xa3\xba\xcd\xe9\x80\x7c\x40\x5e\x15\xa5\xd0\x23\xd1\x14\x6b\xd3\x26\xa6\xf3\xce\x37\xdb\xc7\x3d\xd0\xe1\xd2\x0e\xde\xf9\xe6\x8a\x04\xc5\x23\x2d\x51\x44\x6c\x6a\x44\xfe\x7f\x78\xe3\x3e\xea\xd4\xc7\x6d\x6b\x42\x5d\xd7\x99\xd1\x2c\x03\xa5\x8f\x83\x71\x18\x61\x98\x6c\x32\x14\x59\xad\x09\xd8\x24\x1f\x8c\x9c\x8d\x0a\xac\xb5\x6c\x21\xa6\xf8\x4d\xfe\x7c\x21\xb8\xb0\x65\xc3\x65\x9a\x6a\x11\xc6\x5a\x38\x4c\x92\xcc\xac\x8e\x09\xd0\xe2\x40\x8a\xf6\x9d\x98\x7a\x9f\x2e\xa3\xa1\x94\x72\x99\xcd\xff\x65\x9c\x39\x5f\x98\xd1\x5b\x4c\x1f\x38\x1f\x6c\x9d\x1e\x70\x66\xb2\x1c\x99\x8b\x88\xb6\x13\x16\x73\x06\xfc\xf7\x84\x5c\xc8\x24\x91\x30\x99\x57\x6d\xfb\x39\x99\x7d\xde\x68\x5c\xc2\xd0\xe9\x06\x3f\xfd\x41\x94\x23\x59\x78\x51\xbc\x50\x91\x8a\x3a\xbf\x25\x10\x20\x9b\xb7\x6a\xb5\x5d\xc1\x80\x9a\xd3\xc5\x45\x62\xd2\x38\x78\xeb\xc5\xed\xef\xe6\x93\x08\xc5\xc2\x7d\x39\xd2\xf3\x8c\x0b\x62\xa0\xc5\x39\x7b\x9e\x8d\xb5\x24\x41\x44\xd1\x6e\x5e\x79\xb4\xfe\x40\xda\xdc\xc3\xe4\x2c\xa5\x1e\x93\x72\x6e\x91\xbc\x4a\x19\x51\x96\xd6\x45\xa2\x77\xf4\xe5\x4f\xc4\xda\x17\x90\xf4\xd5\x6b\xfe\xfb\x67\x62\x92\x44\x8b\x35\x98\xa7\x84\xe0\xb2\x56\x88\x31\xf3\xd7\xc6\xb5\xff\x8b\x97\xed\x03\x5e\xf6\x73\xad\x9b\x55\x41\xc8\x23\x82\x7a\xc0\x8b\x22\x05\x28\x59\xa0\x78\xe7\x8f\xfa\x01\xdf\xf8\x61\xd0\xae\x65\x6b\xee\x17\xf0\x57\x84\xce\xe5\x90\x13\x66\x5d\xd7\x6f\xe6\x9f\x44\x9b\xe4\x94\xf8\x24\xdd\x34\x42\x29\x23\x26\xa2\x57\xea\x1d\x69\x99\x2b\x1e\xa8\xc2\x40\x49\x11\x29\x95\x98\xb1\xe0\xcf\x11\xe1\x6b\xae\x34\x6b\xae\xc9\x33\x0e\x7b\xef\x17\xde\xf5\x5a\xfa\xfc\x6e\xfb\x44\xf4\x9d\xba\xbd\x16\x4f\x2d\x6b\x59\x13\x84\x33\x44\xd4\x95\x1a\x44\x2f\x0b\xda\xbb\x8e\x8e\x35\x56\xe4\x85\xdf\x6b\xd7\xda\x59\x85\xcd\xd0\xae\xc3\x6a\x72\x6b\xe3\x66\xed\xac\xb6\xdd\xf5\x68\x6d\xd9\x1b\xf9\xc7\x4c\x60\x2f\xa1\x44\xc6\x3a\x09\xdc\xd9\xc3\x59\x9b\x74\xef\xdf\x58\x1f\xe5\xcd\x33\x4c\x98\x0a\x1f\x5b\xc8\x4a\x0b\xa0\x56\xb4\x14\x6f\x7d\x06\x2f\xf1\xf9\xb2\x05\x33\x52\x22\xdc\x9f\x9d\x8e\x60\xcf\x31\xf8\x29\x93\x24\x16\x6a\x25\x4f\xa6\xca\x71\xa1\xc7\xd1\x12\x61\xd3\x3d\x61\x4c\x35\x30\x4c\xc8\x08\x40\x82\x9b\xab\xbf\x49\x85\x1f\x11\xcc\xe8\xb0\x9a\x3b\x03\xce\xdd\x12\xb8\xd8\x9a\xe4\x83\x18\xff\xde\xbf\xe9\x75\xf8\xe8\xe3\xd6\xfa\x86\x72\x37\xc7\xd7\x1c\x5c\xa4\xbe\xa7\xc6\xeb\x35\x89\x82\x01\x46\x1f\x4d\x01\xe1\x3a\x6b\x8e\xeb\x00\x23\xe6\xd9\xbf\x5e\x5f\x12\x7e\xe8\xba\x88\xe9\x4f\x79\xe0\xa3\x6e\xa8\x42\x5a\xf3\x80\x2b\xb9\x14\xe0\x63\x83\x23\x9f\xcf\x24\x68\xfc\xe4\x52\x84\xc3\x85\x9c\xd1\xb8\x98\x50\xb7\xc4\x9f\x8a\x51\xac\x73\x6d\x39\xdc\x51\xe7\xb6\xf2\xa3\x3d\xf5\x4d\xa9\xf5\x53\xca\x4f\x18\x02\x3d\x7d\xfb\x48\x5a\xcb\x4b\xa8\x52\xea\x70\xe4\xf8\xbc\xf2\x7d\xa6\x16\x67\x30\xf2\xc4\x4d\x66\x6b\x3f\x63\x62\x55\xd8\xaa\xfc\x88\x21\x28\x36\x9c\x12\xe6\x8a\xe8\x13\x80\x5a\x1a\x83\xe4\x19\x44\x3f\x6d\x65\x39\xf6\x0f\xb8\x06\xbc\x2b\x49\x4a\xd3\xd4\xeb\x71\x94\x5a\x90\x6d\xbd\x48\x43\xa5\x9f\xe0\x1f\xa7\x08\x55\x0e\xab\x98\x3b\xa3\xfb\x70\x9c\xa8\x18\x5e\x31\xa4\x8c\x91\x91\x72\x69\x7f\x3e\xeb\xb5\x67\xa5\x63\x8e\xdd\xaf\x28\x1b\xd5\x6f\x86\x76\x0f\xad\x4e\xfa\xaa\x9e\xb8\x76\x41\x15\xc6\x65\x9a\x31\xb5\x66\x6e\xe5\x7e\xf7\x87\x22\xea\x62\x4e\x3f\x5e\x53\x26\x62\x0f\x24\xa0\xa6\xf5\x95\xf4\xa5\x83\xbe\x40\x44\x1c\xc4\x85\x34\xc4\x81\x52\xe5\x0c\xc8\x66\x64\xbc\xa8\x96\xc0\x40\xf4\xc3\x5c\xa9\xfd\xe1\x77\x6c\x52\xac\xe6\x7e\xe8\x20\x40\x60\xd9\xd1\xeb\x13\xc2\x40\xd5\x74\xc0\xd4\xfb\x36\xd6\x57\x4d\xed\x02\x7b\xb8\xcf\x10\x7a\x95\x28\x94\xc7\x26\x19\x15\xea\xe7\xc7\x14\xda\xda\xeb\x31\xc2\x42\xfb\x96\xfb\x7e\x6e\xef\x77\xaa\xae\xfe\x95\xb7\x44\xc4\x2c\xe1\xea\xa8\xa3\x8f\xd1\xac\x7b\xe9\x67\x1a\x68\xea\x98\x21\xf9\xd1\x34\x35\x4f\x09\x4a\x2b\xe8\xdd\x67\x42\xd2\x96\x86\xb3\xff\x33\x4d\x21\x37\x7c\xb3\xf3\x4a\x06\xaa\xa8\x6f\x9e\x5c\x0d\x3f\xe4\x51\x46\x40\x0a\x12\x32\xfe\x11\x1d\x06\x2e\xc3\x31\x99\xe6\x21\x67\x25\x3e\x96\xf8\xf4\xa0\xf9\xa5\x86\x79\x48\x53\xe9\x93\x37\x4c\x63\x0a\x91\xd2\xf8\x18\xfc\xc1\xe2\x10\xf7\xb0\xee\xbc\x4c\x97\xf5\x48\xe5\xf1\x89\xda\x28\x5f\xee\x14\xa9\x41\xe5\x01\x0a\xe9\xf0\x1f\x53\x4c\xd2\x26\x3f\xaf\x65\x6a\x25\x4a\x6a\x3d\x7b\xf7\x65\xca\xc4\x67\x12\xa0\x8f\xda\x50\x96\xfb\x39\x96\xc4\xb0\x32\xfb\x7e\xb6\x2b\xcf\x1f\x56\xcd\x57\x46\x30\x3a\x46\xdf\x18\x9e\x2d\x64\x2c\xa7\x73\x4d\x3c\x5c\x72\x2f\xb5\x48\x56\xbf\x9e\x3a\x55\x06\x2b\x33\xe4\x5f\x11\x55\xdf\x19\x8b\xf7\x97\x11\xa9\xc5\x21\x6c\x4d\x7f\x09\x0c\x53\x9f\x23\x93\xa0\xd9\x2f\xb2\xef\x3e\xe3\x7e\x99\x2f\x13\x5c\x9a\x8c\xa5\x6f\xd3\x01\x6f\xaf\x3b\x90\xfa\x47\xe9\x38\xb6\x43\x3c\x52\xea\xbc\xc2\xae\xd7\x2b\xbf\x0d\xc1\x87\xbf\xb0\xee\x5f\x18\xdf\xfb\x8f\xdc\xa9\x6c\xa5\x61\x99\xfb\x83\xad\xd4\x70\xa9\xdb\xd7\xbb\xae\x36\xec\xa1\x37\x91\x30\xfb\x3d\x37\xa2\x9f\xa1\x30\x7e\xbd\x42\x61\xb0\x9d\xe1\xa5\x90\xae\x64\xea\x02\x79\xea\x12\x93\x76\xad\x0e\x2d\x14\xf2\xbf\xcf\xce\xf3\x5f\x25\xd8\x6c\xf6\xf0\x35\x91\xfa\x02\x5e\xb5\x14\x75\x12\x74\xdc\x34\xee\x21\x5e\x5c\xd2\x8f\xe5\x17\x83\x35\xeb\x83\xcc\x17\x63\x19\x55\xe6\x28\xa8\xe6\x78\x27\x8e\x6c\x9c\x57\x6d\xfb\xd3\xe4\x92\x19\x90\xec\x9e\x61\x27\xcf\x23\xe0\xba\xf9\x99\xf1\x1c\x35\x4d\xad\x0c\x0d\xfc\x14\xe1\x81\x01\xad\xef\x2a\x99\x45\xc8\xb8\xa0\x30\xbc\xca\x42\xfb\x1c\x5b\x5f\xb6\x92\x59\x33\x21\xbd\xca\x21\x32\x62\xb9\x22\x51\xe5\x4a\xa5\x12\xc6\xa4\x24\x18\x24\x1b\xe4\x56\x94\x8f\x41\x1f\xeb\xa1\x55\xac\x87\x75\x3c\xef\x99\x64\x98\x5c\xba\xca\xc0\xcb\x48\xf4\x89\x02\x36\x44\x69\xb3\x87\x0d\x09\x45\x7f\x33\xe5\xcd\x4e\x26\xa1\x04\x8a\x9f\x28\x2d\x7e\x17\xfc\x30\xf7\x8d\x57\x2a\x6c\x4d\x60\x3d\x26\x0c\x6e\xa7\x96\x13\xaf\x26\x31\xdc\xfa\xe7\x02\x16\x84\x68\xcd\xa6\x9e\x92\x2f\xc3\xaf\x19\x1b\xcc\xc5\xb5\xaa\xee\x38\x63\xf3\xa8\x2e\x8f\x8c\x3c\x58\xd4\xc1\x41\xef\xcf\x05\x50\x3f\x01\xe5\x19\x33\x5c\x03\xec\xac\x07\x69\xa5\x66\x2b\x0b\x58\xf9\xa7\x49\xfd\xf6\x4e\x3c\x9a\xdf\xec\x2a\xc2\x31\x5c\x76\x5f\xe6\x87\xdb\x69\x1c\x31\x6c\xe5\x8b\x0e\x89\x3f\xe8\x90\xca\x7b\x6a\x4b\xf2\xd0\x54\x9c\xa9\x8e\xd3\xa1\x10\xfd\xdb\x3e\xbf\xb3\xe8\xb6\xc2\x61\xf7\xf2\x25\x3f\xf0\xf4\x79\x99\x58\x17\x5d\x6c\x8d\x1b\x27\x96\x43\x24\xd6\x0c\xda\xe7\xf6\xe4\x25\x7c\xda\x7c\x8f\xd6\x7a\xb2\xdd\x3f\x7d\xb0\x2d\x3d\x7c\xe7\xf9\xf7\x6b\x1d\x36\x7f\xcc\x3b\x03\xc6\xc9\x92\xb8\x9f\xe8\x1d\x89\x49\x7e\x63\xf6\x27\x8a\x9a\x51\x9b\x10\xb7\xd7\xc4\x77\xd0\x52\x2f\x68\xba\xb5\x76\x4e\xd4\x1b\x90\x44\x64\x41\x86\x4c\xf4\x4f\xa2\x2c\x57\x1b\x17\x31\xa4\xad\x30\xda\xc3\x49\x46\xed\x40\x07\x5b\xfe\x64\xdd\xc8\xa2\x27\x87\xee\xbc\xdf\xea\x70\xa4\x7d\x73\x7a\xb8\x2d\x89\x92\x3f\xf0\xfa\x75\xe3\xb8\xe9\xe4\xac\xd9\x2d\x6a\xf9\xf9\xa4\x39\x9b\xbf\x16\xad\x6e\x76\xd9\xbf\xbf\x80\x6f\xb0\xd3\xa4\x97\xb1\x5c\xf7\xac\x42\x98\x27\x7c\xf9\xc3\x7e\x06\x0d\x6d\xde\xa1\x34\xf9\xac\x34\x20\xec\x68\x96\x93\xb3\x9a\x49\x6d\x29\x95\x2e\x83\x78\xe7\xc3\xa0\xed\x3c\x11\x0b\x08\x01\x47\x0f\x93\x6b\x31\x80\xca\xc1\x50\x2e\x74\xd4\xae\x8c\xfa\x41\xc7\x8a\x90\x53\xb9\x6e\x9a\x87\x96\xd7\xd4\x7d\xd7\x99\xc6\x68\x4b\x9d\x86\x73\x68\xe1\xd7\x1e\x03\xfe\xb6\xed\x53\x1a\xe3\xed\xcd\xcd\xd1\xa4\x7e\x3a\x90\x06\xe4\xe6\xe8\x85\xf4\x33\x99\xdf\x8b\xbc\x6b\xc7\xc1\x28\x57\x5f\xf0\xa3\x76\xfa\x48\x6d\xbe\xdc\x80\x71\x3d\x66\x38\x06\x87\xc9\xd8\xc4\x7e\x23\x2b\x07\x59\xf9\xa4\x32\x1a\x77\xf2\x0f\xb8\x4c\x5c\xd4\xdf\xcb\xfa\xba\xae\xd5\xdc\x25\x8a\xca\xf3\xc4\xc1\xb4\xe5\x7d\x9c\xe9\x4c\x11\x17\xed\xab\xfc\x59\x5d\x61\x31\x2e\xd4\x45\x8a\x0e\x53\xd3\x63\x9c\x35\xd6\x05\x3f\x94\x26\x8c\x0e\x19\x61\x3b\x4f\xc2\xf9\xd6\xee\xb2\x9a\x40\x96\x13\x61\xd2\x04\xc3\x77\x19\x86\x9a\xc4\x43\xf7\x28\x53\xf7\x1a\x5e\x5f\x8a\x1f\xec\xb3\x45\xb9\xfd\x5c\xad\x79\xde\x2a\x33\xe3\x7c\x3f\x52\xe9\x04\x7f\xcd\x34\x0c\xbb\x67\x6c\xd4\xb6\x52\x35\xfc\x99\x6f\x27\x42\xfb\x62\xd4\x21\x5d\x96\x23\x32\x22\xe1\xeb\x0a\x25\x74\xca\x17\x55\x26\x3d\xe4\xb3\x85\x9e\x0c\xeb\xb8\x8f\x74\x0f\x57\x04\x67\xb7\x23\x07\xb0\xfe\xcc\xed\xa3\xb6\x96\x5b\xd5\x2a\xf5\xc1\x4f\x47\x31\xef\x53\x5f\x98\xcd\x2e\x1f\xc8\xd9\x67\xe6\x75\x41\x0a\xab\xea\x38\x4e\x07\x6b\x62\xbf\x80\x58\xfa\xcc\x7d\x43\x8b\x14\x0c\x04\xb3\x8b\x3a\x65\x85\x94\xc7\xdc\xbf\x4f\xa3\xf5\xba\xbd\xba\xaa\xf4\xce\x1a\x87\xb0\x4d\x1e\xde\xb2\x8e\x61\xe4\x1b\x3c\x7d\xb0\x97\x1d\x9f\x5f\xea\x93\x22\xd9\xea\xdf\x23\x95\x0c\xaa\x50\x79\x3c\xc7\xc5\x55\xa6\x47\x32\xc9\xa5\xe3\x54\xc5\x33\x38\x7d\x5e\x15\xff\xf9\x12\xc0\x95\x04\x22\x75\x97\x08\x57\xbf\x7e\xaa\x00\x36\x84\x2c\x37\xb7\xb0\x91\x2d\x54\x3b\x37\x7b\x7a\xff\x0d\xca\x9d\xb0\xf1\x8e\x3e\x2f\xd7\x09\xce\x34\x54\x0f\x5d\x63\x22\x65\x9e\x79\x15\xdf\x3d\x14\xeb\x08\x8d\x7b\x7d\x8c\x9b\x5b\xf8\x75\x33\x5e\x52\xef\x1d\x65\x45\xca\x48\xc6\x1d\x37\xbf\xf1\x82\x5f\x30\x44\x4a\xec\xb4\x88\x53\xf3\xa7\x9c\xbf\xcb\x17\x62\xfd\xb7\xfa\xeb\xfa\x6b\x26\xc8\x5f\x7e\x0e\x96\xde\x3e\x93\x45\xa8\x17\xce\x2e\x7a\xa3\x43\xd3\x9b\x13\xde\x9c\x78\x77\xfd\x7f\x66\x5c\x28\xfc\x84\xff\x9e\x4c\xa0\x53\x17\x76\x00\x1b\xf6\x73\x22\xfc\xf7\x97\xb4\xe5\x7f\x36\xf9\x13\x97\x26\xfe\xef\x6f\xd5\x1f\xbf\xcd\xb7\xb1\x8e\xaf\x79\xc8\x33\xa8\x61\xcb\x93\x61\xf8\xeb\xa1\xa3\x05\x48\xea\xec\xde\x0c\x3f\xaa\xa0\xcf\x57\x96\x97\xa6\xe5\x29\x88\xe4\x24\x1d\x89\xe8\xa5\xae\xee\x3d\x75\x5a\x08\xd3\xd8\xca\xff\x03\xb0\xf2\xfb\xb3\x0f\x0f\xfb\x7c\xc7\x15\x62\x02\x76\x3d\xdf\xad\x69\xc5\xe5\xa2\x2f\x3b\xed\xca\xb1\xe0\x24\x46\x28\x5d\x75\xf1\xaa\xed\x3b\x8e\x8f\xde\xc4\x5b\x50\xbf\x7c\xfb\xd3\xdd\x0f\x1f\xde\xc3\xcb\x62\x28\xb5\xab\x3e\x5a\xd4\x11\x45\xb0\x38\x05\x2c\x68\xe8\xd7\x88\xc3\x09\x83\x94\x80\xdb\x9b\x1b\xf9\x59\xfb\x70\xbc\xd9\xb1\xf3\x66\x86\x84\x47\xaa\xff\x04\x00\x00\xff\xff\xc5\xba\x5f\x67\xf0\x20\x00\x00") func runtimeHelpPluginsMdBytes() ([]byte, error) { return bindataRead( @@ -1722,6 +1723,26 @@ func runtimeSyntaxNginxMicro() (*asset, error) { return a, nil } +var _runtimeSyntaxObjcMicro = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x74\x54\xdf\x73\xdb\x36\x0c\x7e\xcf\x5f\xa1\xd1\xdd\x2a\xb9\xb3\xdd\xfd\xb8\xde\x9a\xb5\x71\xd2\x5c\xba\xf5\x2e\x4b\x76\xcb\xfa\xb0\x8a\x8a\x8e\xa2\x20\x9b\x0d\x45\x6a\x24\x18\xc7\x19\xfa\xbf\xef\x28\xdb\x4d\x9c\x38\x2f\x36\x09\x7d\x00\x3e\xe2\x03\x30\x18\x24\xbf\x83\x83\x44\xf9\x44\x98\x04\x6e\x44\xdb\x69\x48\x1a\xeb\x92\xf3\xea\xf3\xe8\x78\xbc\x37\x18\xec\xf9\xa5\x41\x71\x93\xb0\xf3\xea\x33\x48\x54\xd7\x30\x3a\x66\x09\xe3\xe3\xb4\xa5\xb6\xa5\x79\xf6\x8c\xed\xed\x49\xab\xad\x4b\x70\xd9\x41\xc2\x78\x95\x36\xda\x0a\xa4\xda\x86\x4a\x03\x1d\xff\xf6\xbe\xbf\xaa\x9a\x2a\x6b\x35\xbd\x3b\x3f\x3f\xa5\x77\xd6\x6a\x10\x86\xe4\x5c\x38\x52\x06\xc9\xcf\xad\x43\xd2\xd6\xcc\xc8\xab\x5b\xb0\x0d\x81\x09\x2d\x5d\x5b\x55\x93\x47\x81\x4a\x92\xb4\xc6\x23\x79\x74\x41\x22\x05\xa3\xac\xa1\x98\xb1\x86\x86\xe0\x06\xc1\x19\x4a\x83\xc9\xa6\x5e\xcd\x0c\xd4\xa4\x8c\x56\x06\xe8\x58\x0b\xef\xe9\xe2\xe4\x94\x3e\xfc\xf1\x27\x9d\x5d\xa4\x1f\xb3\xe9\x07\x83\x30\x03\x97\xf1\x8a\x3d\x64\x9e\xfa\x69\x4c\x9f\x51\x9a\x86\x72\x9a\x4d\x95\xc1\xf4\x17\xfa\xe1\x15\xfd\xf4\x23\xbd\xfa\x99\x3a\x74\x59\x96\x95\xf8\xd8\x33\x3f\x1a\x7d\x2a\x56\x3f\xf9\xbe\xd0\x26\xb4\xfb\x45\x31\xdc\x8d\x13\xa3\xdb\x97\xa3\xd7\x65\x31\xdc\x15\xa8\x56\xbe\x13\x28\xe7\x65\x2e\x46\xb7\x47\xa3\x4f\xf7\x91\x6b\x68\xac\x07\xb4\x60\x30\x61\x65\x29\x10\x9d\xaa\x02\x42\x59\xe6\xf9\xbe\xef\x84\x84\x3e\x73\xca\xd3\xfc\x32\x2b\x86\x3c\xe3\x19\x8b\xc0\x54\xe8\x55\x65\x84\x6f\xa9\x0a\x4a\xa3\x32\x34\x57\x75\x0d\x66\x53\xac\x4e\xc8\x2b\xa8\xc9\x81\x47\xa7\x24\x92\x8f\x82\xaf\xcb\x6c\x1b\x5a\x80\xb8\xca\xca\xb2\x8f\x16\x4c\xf0\x50\xc7\xe3\x99\x35\x26\x68\xdd\x1f\x83\xd6\xa2\xd2\xd0\x23\x2a\x6d\xe5\xd5\xea\xb4\x4a\x36\x1e\xb2\xc7\x0f\xe0\x55\x2a\x7b\x89\x8c\x68\xa1\x67\x4f\x08\x6d\xa7\x05\x02\x75\xa1\xd2\x4a\x52\xe7\x2c\x82\x44\xa8\xa9\x73\xea\x3a\x7e\x88\x7c\x22\x9e\x70\xae\x3c\x35\x4e\x81\xa9\xe9\x5a\x39\x0c\x42\x53\xf0\xca\xcc\xa8\x0d\x18\x99\xd0\xb5\xd5\x02\x95\x06\x72\x30\x53\x1e\xc1\x11\xdc\x74\x5a\x49\x85\xf7\xe4\xdf\xe6\xd3\x58\x47\xaa\xa1\xc5\x3c\xba\xd5\x96\x40\x7b\x20\x29\x3c\x50\x0d\x8d\x08\x1a\xc9\x2f\x14\xca\xf9\x93\x01\xd0\x2d\x09\xe7\xce\x2e\x48\x46\x25\xc9\x76\xe0\x04\x5a\x47\x06\x16\x54\x83\x06\x84\x27\x7d\x67\x16\x6d\xec\x74\x54\x26\x00\x55\x0e\xc4\x15\x39\xc0\xe0\xcc\x93\x2e\xc6\x1a\x81\xb6\x55\x92\xd6\x7f\x0e\x44\x6d\x8d\x5e\xf6\x87\x85\x53\x08\x71\x6a\xe2\x68\x45\x05\x49\xf8\x38\x22\xbb\xc3\x1d\xa6\x60\xa4\xad\x81\x62\x45\x95\x41\x70\x4d\x94\x44\xc5\xbd\x10\x11\xa2\xef\x87\x95\x62\x1e\x34\xc8\xf8\xac\x28\x90\x95\x56\x93\x5f\x1a\x39\x77\xd6\xa8\x5b\xa8\x29\x56\x61\xf5\xfe\x46\x19\xa1\xf5\x32\xe2\x3a\x70\xb8\x24\xdb\xc5\x30\x42\x93\x83\x7f\x83\x72\x71\x5a\xdb\x2e\xce\xbf\x08\x68\x1d\x68\x10\x1e\x3a\x6b\x75\xf6\xb5\xe5\x3b\x07\x9d\xb3\x32\x61\x97\xf7\x9b\x7c\x70\xff\x92\xd6\xd0\xc4\x26\x56\x46\xea\x50\xc3\x26\x64\x1a\x0c\xa9\xc6\x4c\xb3\x7e\x4f\x98\x5a\x35\x04\x3a\x55\x0d\x79\xc8\x7a\x99\x85\x33\xb1\x61\xc0\xb9\xfe\x29\x62\xd6\x8a\x6c\x3c\x7c\xc6\x1e\x66\x2e\xcb\xfc\x6e\x1c\xcb\xbb\x61\xec\x40\x2a\xa1\x1f\x30\xcb\x07\x74\x58\x6c\xb1\x5b\xd3\x59\xb3\xcb\xb6\xc0\x9c\xd1\x9b\x62\x3c\xe4\x93\x69\x7e\x40\x9c\x6d\x39\x3e\xdb\x35\xf6\xf9\x78\xff\xd7\xef\x5f\x0c\xe9\xed\x37\xfc\x5b\x9e\xf3\xa2\x60\x09\x7b\xc3\x12\x76\xc0\x12\x36\x61\x09\x1b\xb1\x84\x7d\xc7\x92\x8d\x67\xbf\x39\x85\xc1\xb1\x09\x6d\x05\xae\xef\x9a\xd1\x34\x9b\xe6\x2f\x47\xaf\x8b\x17\xbc\x8a\xfb\xbc\xe2\xeb\xdb\x78\xcb\xfa\xf2\x26\x5e\x8f\x46\xef\x7b\xcb\x83\x78\x09\x3b\xe4\x79\xca\xf9\x98\xf2\x4b\x5e\x14\xd9\x90\x47\x22\x87\xfc\xbf\x8d\xed\x4b\xb4\x7d\xe9\x6d\xe9\xc6\x96\x45\x5b\xf6\x38\x14\xaf\xde\x44\x48\x7e\xc9\x0f\x22\xe2\x60\x57\xba\xd8\xed\x4a\xd3\xd9\xc7\xd3\x53\xfa\xe7\xe4\x82\xce\xce\xe9\xef\xbf\x3e\x9e\x10\xba\x00\xf4\xfe\xe8\xf4\xe2\x84\x1a\x11\xc7\xd5\x83\x6e\xb2\xdd\x11\xae\x36\x0b\x7a\x6b\x3f\x7f\x2d\x51\x5c\x7d\x66\x96\x30\xce\x36\x84\x59\xa4\xc3\xfa\x47\x3c\xb6\x3d\x1f\x3f\x67\x7b\x77\x75\x6e\x57\xfa\x4c\x26\x77\xcb\x6e\x63\xf4\x28\x1c\xbe\x65\x13\x3e\x64\x09\x98\xfa\x2d\xe3\xc3\x49\x74\xfd\x3f\x00\x00\xff\xff\x55\x14\x81\x2c\x84\x07\x00\x00") + +func runtimeSyntaxObjcMicroBytes() ([]byte, error) { + return bindataRead( + _runtimeSyntaxObjcMicro, + "runtime/syntax/objc.micro", + ) +} + +func runtimeSyntaxObjcMicro() (*asset, error) { + bytes, err := runtimeSyntaxObjcMicroBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "runtime/syntax/objc.micro", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + var _runtimeSyntaxOcamlMicro = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x7c\x92\xd1\x6e\xd4\x4a\x0c\x86\xef\xf7\x29\x46\xd3\x73\xb1\xad\xce\x02\xe2\x0e\x89\x82\x78\x0d\x9a\x82\xbc\x33\x4e\x62\x70\x3c\x2b\x8f\xd3\x6c\x16\xf3\xee\x28\x09\x8b\xa8\x40\x5c\x25\x91\xfe\xff\xb3\xf5\x39\x75\x16\x83\x73\x88\x25\xc1\xc0\x31\xc4\xe6\xc5\xc0\xf4\xfe\xbf\xb8\xbb\x19\x29\xef\x52\xe1\xa2\x41\x31\x87\xd8\xbc\x7d\xf8\x70\xf8\xf8\xf8\xf0\xea\xf0\x06\x0e\x97\xcf\x8f\xdf\x5e\xff\xff\xbd\x79\x17\x77\x37\x19\x13\x83\x82\x51\x91\xfa\xb3\xd0\x29\xa2\x2c\x95\x3d\xa3\xf9\x13\xb0\x0f\x68\x7d\xc9\x4e\xe2\x20\xd9\x15\x93\x9f\x94\x9e\xc0\xd0\x9f\x48\x6d\x04\xf6\x54\xa4\x9a\x02\x89\xdd\xae\xd8\x6a\x3a\x26\x1b\x15\x03\x19\x0e\xf5\xf9\x2a\x7b\x9b\x4f\xe8\xe5\x84\xe2\x89\xa1\x56\x1f\x4a\x1e\x19\x1d\xcf\x09\x4f\xcb\x26\x8e\x67\x43\x15\xe0\x0d\x76\x02\x5b\x3e\xaf\x94\x23\x8f\xb8\x62\xda\x51\xbc\x1d\x25\xad\x95\xf5\xa5\xa8\x0f\x60\xa9\x77\xd3\xd9\x27\xb2\xfe\x39\xe0\x30\x94\x4c\x2d\xa1\x5e\x51\x33\x32\x97\x69\x85\x41\xf5\xa9\x47\xf1\xd2\x2e\x9d\xb0\xbb\x49\x45\x32\xfd\xee\x25\xcd\xb0\x69\xa1\xd6\x6d\x89\x22\x57\xdc\x06\x1c\xb9\xa4\x6b\x6c\x80\x0e\xc5\x60\x4d\x1e\xb1\x23\x71\x94\xec\xe5\xf8\x05\x93\xf9\xe6\xc5\x2b\x75\xde\x16\xf5\xa9\x27\x46\xcf\xc5\x73\x11\x74\x5b\x9e\x93\x58\xd9\xa0\xab\x53\x10\xc3\x3f\x0f\x63\x3a\xa2\xb7\xf0\x6b\xfe\x26\xb0\xbe\x5c\x75\xfe\x25\x4f\x92\x78\xcc\xe8\x24\x3d\x2a\x99\x93\x90\x11\x30\x5d\x50\x37\x00\x9e\x4f\x1a\xfe\x61\x47\x70\x72\xc5\xd6\x87\xd1\xe0\xc8\xe8\x0c\x97\xd9\x97\x59\x6a\xae\x40\xd7\x3d\x52\x19\x06\x14\xbb\x02\xa6\x9e\x0c\x43\x35\x50\xbb\x8f\xcd\xbe\xb9\x8b\x01\x25\xdf\xc7\xe6\xae\xb9\xdd\x7e\x12\x92\xae\x86\xbd\x94\x30\x8c\x6c\xc4\x24\x18\x7a\x90\xcc\x24\x5d\x98\xd1\x6e\xaf\x27\x57\xea\x7a\x3b\x32\xa4\xaf\x21\xc6\x87\x4f\x4d\x7c\xbc\x8b\x71\xf7\x23\x00\x00\xff\xff\xa9\x3c\xab\x7f\xff\x02\x00\x00") func runtimeSyntaxOcamlMicroBytes() ([]byte, error) { @@ -2611,6 +2632,7 @@ var _bindata = map[string]func() (*asset, error){ "runtime/syntax/mpdconf.micro": runtimeSyntaxMpdconfMicro, "runtime/syntax/nanorc.micro": runtimeSyntaxNanorcMicro, "runtime/syntax/nginx.micro": runtimeSyntaxNginxMicro, + "runtime/syntax/objc.micro": runtimeSyntaxObjcMicro, "runtime/syntax/ocaml.micro": runtimeSyntaxOcamlMicro, "runtime/syntax/pascal.micro": runtimeSyntaxPascalMicro, "runtime/syntax/patch.micro": runtimeSyntaxPatchMicro, @@ -2782,6 +2804,7 @@ var _bintree = &bintree{nil, map[string]*bintree{ "mpdconf.micro": &bintree{runtimeSyntaxMpdconfMicro, map[string]*bintree{}}, "nanorc.micro": &bintree{runtimeSyntaxNanorcMicro, map[string]*bintree{}}, "nginx.micro": &bintree{runtimeSyntaxNginxMicro, map[string]*bintree{}}, + "objc.micro": &bintree{runtimeSyntaxObjcMicro, map[string]*bintree{}}, "ocaml.micro": &bintree{runtimeSyntaxOcamlMicro, map[string]*bintree{}}, "pascal.micro": &bintree{runtimeSyntaxPascalMicro, map[string]*bintree{}}, "patch.micro": &bintree{runtimeSyntaxPatchMicro, map[string]*bintree{}}, diff --git a/cmd/micro/statusline.go b/cmd/micro/statusline.go index b60257ad..67d81c77 100644 --- a/cmd/micro/statusline.go +++ b/cmd/micro/statusline.go @@ -18,6 +18,9 @@ func (sline *Statusline) Display() { y := sline.view.height + sline.view.y file := sline.view.Buf.Name + if file == "" { + file = sline.view.Buf.Path + } // If the buffer is dirty (has been modified) write a little '+' if sline.view.Buf.IsModified { diff --git a/cmd/micro/util.go b/cmd/micro/util.go index ba597b2e..1888155a 100644 --- a/cmd/micro/util.go +++ b/cmd/micro/util.go @@ -91,6 +91,18 @@ func Insert(str string, pos int, value string) string { return string([]rune(str)[:pos]) + value + string([]rune(str)[pos:]) } +// MakeRelative will attempt to make a relative path between path and base +func MakeRelative(path, base string) (string, error) { + if len(path) > 0 { + rel, err := filepath.Rel(base, path) + if err != nil { + return path, err + } + return rel, nil + } + return path, nil +} + // GetLeadingWhitespace returns the leading whitespace of the given string func GetLeadingWhitespace(str string) string { ws := "" diff --git a/runtime/help/commands.md b/runtime/help/commands.md index ec1f14a8..5e347af9 100644 --- a/runtime/help/commands.md +++ b/runtime/help/commands.md @@ -64,6 +64,10 @@ Here are the possible commands that you can use. * `reload`: reloads all runtime files. +* `cd path`: Change the working directory to the given `path`. + +* `pwd`: Print the current working directory. + --- The following commands are provided by the default plugins: