From 3f01101da48a11d567e9cc10b04ff9212b17264c Mon Sep 17 00:00:00 2001 From: Zachary Yedidia Date: Mon, 8 Jan 2018 17:08:11 -0500 Subject: [PATCH] Add onBufferOpen plugin callback Closes #948 --- cmd/micro/micro.go | 11 +++-------- cmd/micro/plugin.go | 12 ++++++++++++ cmd/micro/runtime.go | 2 +- cmd/micro/view.go | 2 ++ runtime/help/plugins.md | 2 ++ 5 files changed, 20 insertions(+), 9 deletions(-) diff --git a/cmd/micro/micro.go b/cmd/micro/micro.go index 189d79b1..6d955edd 100644 --- a/cmd/micro/micro.go +++ b/cmd/micro/micro.go @@ -7,7 +7,6 @@ import ( "os" "path/filepath" "runtime" - "strings" "time" "github.com/go-errors/errors" @@ -434,17 +433,13 @@ func main() { for _, t := range tabs { for _, v := range t.views { - for pl := range loadedPlugins { - _, err := Call(pl+".onViewOpen", v) - if err != nil && !strings.HasPrefix(err.Error(), "function does not exist") { - TermMessage(err) - continue - } - } + GlobalPluginCall("onViewOpen", v) + GlobalPluginCall("onBufferOpen", v.Buf) } } InitColorscheme() + messenger.style = defStyle // Here is the event loop which runs in a separate thread go func() { diff --git a/cmd/micro/plugin.go b/cmd/micro/plugin.go index db5490c9..4248132d 100644 --- a/cmd/micro/plugin.go +++ b/cmd/micro/plugin.go @@ -170,3 +170,15 @@ func LoadPlugins() { loadedPlugins["init"] = "init" } } + +// GlobalCall makes a call to a function in every plugin that is currently +// loaded +func GlobalPluginCall(function string, args ...interface{}) { + for pl := range loadedPlugins { + _, err := Call(pl+"."+function, args...) + if err != nil && !strings.HasPrefix(err.Error(), "function does not exist") { + TermMessage(err) + continue + } + } +} diff --git a/cmd/micro/runtime.go b/cmd/micro/runtime.go index a8c89310..e686b132 100644 --- a/cmd/micro/runtime.go +++ b/cmd/micro/runtime.go @@ -1008,7 +1008,7 @@ func runtimeHelpOptionsMd() (*asset, error) { return a, nil } -var _runtimeHelpPluginsMd = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x3a\x5d\xaf\xdb\xb6\x92\xef\xfc\x15\xb3\x2e\x16\xb1\x0b\x47\xa7\x17\xfb\x66\x20\x17\xc8\x47\x9b\xe6\x6e\x9a\x04\x39\x69\x8b\xa2\x28\x20\x5a\x1a\xd9\xec\xa1\x48\x5d\x92\x3a\x3e\xde\xa0\xf7\xb7\x2f\x66\x86\x94\x64\xe7\xb4\xb8\xfb\xb0\x05\x9a\x23\x8b\xc3\xe1\x7c\x7f\x51\x5f\xc1\x07\x3b\x1e\x8c\x8b\x4a\xfd\x60\x9a\xe0\x21\x8e\xc3\xe0\x43\x8a\xd0\x04\xd4\xc9\xb8\x03\x0c\x02\x00\x27\x93\x8e\xa0\x21\x9a\x7e\xb0\x08\x6f\x47\x0d\xf1\x1c\x13\xf6\x15\x7c\x7b\x8f\xe1\x9c\xe1\xe0\xa8\x23\x68\xd5\x6b\xe3\x20\x36\xc1\x0c\x09\x4e\x47\xd3\x1c\xc1\x44\x08\xa3\x03\x9d\x20\x26\x1d\xd2\x38\xe4\xf7\xf1\xe8\x47\xdb\xc2\x1e\x61\xb0\xba\xc1\x16\x8c\x03\x55\xff\xeb\xa6\x6a\xbc\xeb\xcc\xe1\xa6\x27\xb2\x6e\x32\x11\xf9\xef\x3b\xdd\xe3\xe2\xb1\xb2\xa3\xae\x2b\xa5\x3e\x1d\x31\x20\x68\xfa\x1f\xdc\xd8\xef\x31\x80\xef\xa0\xd1\xd6\xee\x75\x73\x07\xdd\xe8\x9a\x64\x3c\xb1\xc2\x27\x9f\xfd\x08\x8d\x76\xc2\x29\xd2\xb9\x67\x3f\x86\xc2\x47\xf2\x8a\xe8\x6d\x7c\x8b\x44\x74\x32\x3d\x46\xf0\xe9\x88\x01\xd2\x51\xbb\xc2\x45\x05\x9f\x8e\x08\x4e\xf7\x24\xaa\xd8\x1c\xb1\x47\x62\xb5\xf6\xee\x39\x1f\xb6\xbe\x37\x78\xda\xd4\x15\x7c\xe7\x83\xc2\x07\xcd\xc2\xd3\x13\x2d\x97\xc2\x41\x16\x24\x1d\x05\xe9\x88\x30\x46\x0c\x10\xf5\x3d\x46\xfe\xb9\x1f\xbb\x0e\x03\x9c\xb2\xbc\x76\x4a\xd5\x75\x6d\x47\xad\x26\x64\xde\xdd\xea\x7b\x94\x23\x15\x00\x40\x55\x55\xfc\x37\x60\x1a\x83\x83\x4e\xdb\x88\x0a\x5d\x4b\x3b\x59\x5e\x50\x13\x70\x0d\xf7\x3a\x18\xbd\xb7\x4c\xbb\x86\x80\x1d\x06\x74\x0d\x42\xf2\x7c\x34\x01\xf1\x83\x96\x83\x4c\x84\x3d\x12\xc7\xf8\x80\xcd\x98\xb0\x05\xef\x2a\xf5\xe9\x68\x22\x23\xb0\xbd\x8f\x09\xb4\x3d\xe9\xb3\x90\xde\x8c\x21\xa0\x4b\x8c\x67\x7b\x25\xfe\x03\x26\xb1\xad\xfa\xe5\x18\x7e\x32\x78\x5a\x6f\x6a\xd0\x51\x9d\xd0\xda\x4a\xa9\xe7\xd6\x82\xbe\xd7\xc6\x32\x79\x3a\x6b\x90\x94\x6c\x4d\x4c\x62\x2f\x74\xc4\x1d\x9e\xf7\xc6\xb5\xc6\x1d\x22\x44\xcc\xf2\xe8\x78\xe9\x88\x76\xa8\x94\xfa\xce\x87\xc9\x18\x22\x71\xd6\xfb\x31\x4e\x28\xb7\x4c\x10\x1b\x8f\x8d\x1e\x0e\xe6\x1e\x05\x31\xde\x13\xe5\xc6\x75\xfe\x51\x89\xff\x40\x48\x3e\x04\x8c\x71\x2d\xdc\x31\xbc\x88\xdf\xfa\x46\x5b\x78\xd8\xc2\x19\x9e\xc9\xfb\xdd\x07\x1f\x0d\xdb\xc5\x46\xfd\xb5\x66\x22\x2e\x0c\x36\x3b\x09\x53\x96\x77\x68\xd8\x7b\x6f\x91\x2c\x71\xc0\xc6\x74\x67\x52\xc7\xe9\x88\xd9\x42\xb3\xce\x64\xa3\xda\x23\x04\x24\x6a\x48\x60\x59\xa7\xcd\x18\xa2\x0f\xe0\x03\x38\x9f\x40\x77\x29\xef\x9b\x55\xdc\x78\xb2\xd6\x84\x95\x52\xef\x7c\x22\x9b\x24\x47\x60\xd2\x66\x39\xfa\xa6\x19\xc3\x97\xdb\x29\x0c\xec\x11\xdd\x84\xa4\xad\xe0\x4d\xc7\x32\x3e\x69\x97\x94\x9e\xfd\x72\x8f\x9d\x0f\x78\x75\x76\x31\xac\x2d\x79\x01\xd4\x43\xc0\xec\x4f\xe4\x4b\x6f\x48\x33\x44\xa0\x8e\xbc\x4f\x15\x51\x88\x6c\xb0\xcd\x32\x31\x18\x27\x91\x64\x3e\x17\xa7\xcc\x91\x67\xb2\x62\x66\x43\x11\x8c\x1d\xb5\xf8\x7e\xa1\x3f\x92\x2d\x3a\x09\x00\x63\xc4\x6e\xb4\x33\x07\xc9\xc3\x9d\xf3\x27\xd0\x7b\x3f\x2e\xe2\x1d\xcb\xd5\xcd\x4c\xa9\xda\x3b\x32\xf0\xf7\x03\x96\xb8\x30\x03\x13\x32\x6c\x89\x5c\x47\x61\x80\x42\x18\x9e\x44\x89\x26\x82\x1f\x90\xd8\xd2\xae\x65\x0e\x1c\x9e\x54\x59\x1a\x74\x8c\xec\x06\x14\x8a\xc4\x01\x33\x7d\x9d\x0f\x10\x31\x71\x14\x17\x53\xf4\x83\xd8\xd3\x5e\x47\xf6\x59\x16\x5e\x67\x2c\xa6\xf3\x80\x5b\xde\x50\x62\x14\x09\x92\x36\xfa\xae\x83\x3a\xe9\x7d\x4c\x3e\x0e\xba\xc1\x58\x83\x77\xf6\xcc\xb0\xaf\x3d\xd0\x66\x16\x32\xe3\x3a\x93\x03\x29\x21\xb6\x52\xea\xe9\xd3\xa7\x7f\x16\x95\x67\xdb\x26\x9e\x4a\xf8\x89\x62\x63\x0c\x3c\xf9\x7c\xf2\x6c\x36\xc6\x81\x0f\x2d\xa9\xc7\x83\x6e\x1a\x8c\x12\x5a\x8c\x73\x1c\x14\xc3\x1d\xbb\xbe\xef\x80\x33\x46\x05\xdf\xd3\xb1\x1c\xce\x28\x50\xc0\x9a\x80\x89\x4d\x88\xe6\xe0\x74\x1a\x03\x46\x62\x42\x2d\x28\x09\x98\xfd\x7e\x8c\xc4\xfa\x6b\xff\x24\xe6\x2d\x9c\xe9\x36\x3b\xa5\xbe\x86\xfa\xfd\x6d\xbd\x9b\x03\xa6\x28\x90\xb6\x09\x3d\xef\x6f\x85\x00\xd6\xa9\x84\x3d\x7b\xa6\xe8\x2e\xd2\x74\x44\x88\x68\x89\x64\x0f\x10\x75\x8f\xa0\xa3\x1c\xf6\xfa\xfd\xfb\xdb\x09\xf5\x16\xa2\x87\xba\xd5\xe1\x64\x5c\xbd\x85\xfa\x64\x5c\xeb\x4f\x91\x1e\xad\x71\xe3\x03\x3d\x74\x01\x71\x1f\xdb\xba\xaa\xaa\x0d\x13\x27\x59\xf3\x95\x09\xf5\x0e\x1a\xef\x92\xa6\xd4\x4d\x74\x0d\x3a\x1d\x8b\xeb\x0b\x81\x02\x3a\x06\xcd\xe6\xc9\x8a\x64\x14\xa4\xec\x7a\x57\xe4\xe6\x3b\xd0\xd6\xf2\x36\x5a\x58\xf0\x64\x48\x4e\x28\xa7\x8e\xe1\x93\xde\xd7\xbb\xac\x91\x16\x1f\x4a\xec\x2d\x91\x9f\xf7\xe6\x50\xcd\xcf\x84\x9c\xf7\xf6\x18\x23\xba\x03\x12\xc5\x16\x53\x64\x65\x47\x74\x2d\xd0\x8a\x3e\x60\x2c\x64\x73\x3e\xa4\x20\x2e\x09\x7b\x08\xbe\x1f\x92\xd0\xfc\x0e\x4f\x2f\x38\x3d\xae\x13\x3e\xa4\xad\x70\x1b\x53\x30\xee\xb0\x81\xaf\x65\x89\x24\xc2\x3b\x63\x76\xae\x9c\x50\xbb\xe0\x7b\xd0\xa2\x79\xc5\x21\x59\xb7\x64\x52\x52\xef\x88\x41\x10\x3e\x3e\xe8\x35\xa6\xb7\xa8\x29\xcd\xfc\x7c\x34\x09\xd9\x25\xd6\x1b\x8e\xc5\xf5\x2e\xc7\x1f\x11\xb8\x15\x30\x32\x90\x0c\x57\x64\x32\x9d\x24\x04\x32\xde\x37\xf1\x67\x1f\xda\x97\x47\x1d\xd6\x31\x85\x89\xf4\x2b\xbc\x8f\x04\x33\x81\x14\x43\x7f\x72\xf2\xa1\x25\xc4\xcd\x51\x07\xdd\x24\x0c\x4f\x18\xf9\xc7\xd1\xe1\x6d\x0a\xeb\x40\x76\x88\x9b\xbc\x67\x81\x57\x17\x34\xd9\x64\xe8\x71\xa2\x94\x37\x31\x9e\xb7\xbe\x59\x73\x36\x33\x2e\x6d\xe0\xad\x6f\x2e\x50\x90\x48\x09\xa4\x26\x64\x63\x23\xda\xfd\x59\x1c\xf3\x95\x09\xd8\x24\x1f\xce\xeb\x47\x4f\x0f\xde\x53\xf8\x65\xad\x39\x72\x88\x39\x47\xb1\xf5\x64\xf7\x26\xd6\xda\x82\x89\xd1\xff\xc3\x1b\xf7\x41\xa7\x63\x5c\xb7\x26\x54\x55\x35\x09\x6e\x3a\xa4\xf1\xfd\xde\x38\x8c\xd0\x8f\x36\x19\x8a\x6c\x05\x83\x11\xcb\xa2\x62\xcc\x5a\x42\x3d\x29\x79\xa2\x96\xaa\xcb\xf5\xd2\x96\x96\x54\x5b\x0b\xfb\x51\x94\x60\x75\x4c\x80\x16\x7b\x22\xd6\x77\x8c\x69\x4b\x28\xd3\x79\x30\x14\xd9\xcf\x93\x0f\x3e\x89\x57\x2c\xbc\xc6\xf4\x9e\xc3\xf2\x9a\x39\xff\xf2\x20\x4e\xe6\xda\x8e\x93\xfd\x04\xfc\xe7\x88\x5c\xfb\x48\x3c\x67\x34\xcf\xdb\xf6\x4b\x34\xdb\xbc\xd1\xb8\x84\xa1\xd3\x0d\x7e\xfe\x83\x30\x47\x72\xb3\x59\xbf\x82\x45\x0c\x5e\x82\x52\x5e\x90\xcd\xeb\x7a\xb1\xbd\x86\x1e\x35\x47\xed\xb3\x84\x46\xe3\xe0\xb5\x97\xd8\x73\x3b\x71\x22\x18\xcb\xe9\x33\x4b\x8f\x1f\x5c\x8a\x4c\x02\x96\x24\x46\x24\x9c\x8c\xb5\xb4\x81\xd7\x32\xe4\xc1\xfa\x3d\x49\x73\x0b\xa3\xb3\x94\x01\x4c\xca\x21\x5e\xd2\x1b\x25\x26\x01\xad\x0a\x45\x6f\x69\xe5\x2f\xc8\xda\x4a\x8e\xfd\xfa\x27\xce\xc7\x7f\x4e\x22\x6b\x73\xd2\x04\x9f\x27\x31\x70\x86\x95\x78\xc2\x07\xbf\x30\xae\xfd\x6f\x3c\xaf\xef\xf0\xbc\x9d\xea\x8d\x49\x0c\x54\xa8\x46\xa8\xef\xf0\x5c\x13\xf3\xb5\x00\xd4\xbc\xf3\x07\x7d\x87\x2f\x7d\xdf\x6b\xd7\xb2\x26\xb7\x73\xaf\x50\x08\xce\x25\x09\xe7\xac\xaa\xaa\x5e\x4e\x3f\x09\x37\xbb\xff\x14\xe6\x1a\xc1\x94\x0b\x6c\xc2\x57\x4a\x0e\x16\x2f\x31\x01\x75\x39\xa0\x96\x3c\x5e\xaa\xa1\x0a\x7e\x8c\x08\xdf\x10\x42\x4a\xf6\xcb\x53\x93\xe7\xb2\xfd\x9d\x9f\xcf\xae\x96\xd4\xe7\x77\xeb\x2b\xd2\x37\xf5\xee\x92\xbc\x7a\x86\x65\x49\x50\xad\x27\xa4\x2e\xc4\x20\x72\x99\x9b\x83\x4b\xcf\x58\xb6\x16\x0c\xf8\xbd\x76\xad\x9d\x44\xd8\xf4\xed\xd2\xa5\x46\xb7\x54\x6e\x96\xce\x62\xdb\xed\x11\xad\x2d\x7b\x23\xff\x98\x10\x6c\xc5\x8d\x48\x59\xf7\xc8\x91\x79\x0b\x27\x6d\xd2\x27\xff\xd2\xfa\x28\x6f\x32\x87\x57\xe7\x30\xa2\x72\x9a\x74\x8c\xf5\x02\x57\xcd\x5b\x1f\xa9\x59\xb3\x33\x16\x25\xe6\x82\x95\x3a\xc5\x6c\x77\x54\x7d\x1e\x82\x1f\x27\xac\x0b\x7a\x32\x56\xf6\x09\x3d\x0c\x96\x10\x9b\x8e\xf0\x5d\x9e\x4d\x95\x48\x18\x91\xeb\x30\xf1\x6d\xae\xc1\x4c\x2a\xe7\x11\xce\x52\xa4\x8b\xe4\x39\x3d\xf8\x42\x1e\xb6\x26\xf9\x20\xfa\xff\xe4\x29\x85\x7d\xf0\x71\x6d\x7d\x43\x19\x62\x4b\x5e\x51\x32\xf0\x86\x24\x78\xad\xbf\x92\xaa\x60\xc8\xad\x11\x97\x1c\x73\x10\xe2\x84\xc3\xbd\x4b\x09\x75\x1f\xd1\x7a\xdd\xd6\x3b\x58\x7f\xc4\x0d\x3d\x4a\xe3\x9c\x8e\x25\x99\xbe\x38\x27\x7c\xdf\x75\x11\xd3\x5f\x92\x81\x0f\xba\xa1\x42\xc6\x9a\x3b\x5c\x90\x5e\x03\x3e\x34\x38\xb0\x08\x4c\x12\x05\x8c\x2e\x45\xd8\x9f\xc9\x6a\x8d\x8b\x09\x75\x4b\x54\x52\x62\x8c\x39\x0f\xed\x6f\x07\x7d\x72\x64\x6f\xef\x96\xf1\xb7\xe9\xdb\xe7\xe1\x10\xe1\xd7\xdf\xca\x1b\xef\x6e\x53\xeb\xc7\x94\x9f\x30\x04\x7a\xfa\xf6\x81\x04\x9e\x41\xa8\xd0\xd1\xb4\xab\xaa\xaa\x0b\xcf\xb9\x4d\x3a\xa4\x38\x55\x93\xb3\x85\x0d\xc1\x73\x45\xfc\x88\x5d\xd4\xe5\xc0\x3a\x3f\x62\x08\x35\x69\x9b\x4d\x41\x4e\xae\xb9\xf6\xbd\x68\x8e\xa9\x01\xba\x9e\x98\x70\xcc\xd8\xe3\xb2\x57\xb9\x2c\x68\x4a\x7b\x7e\xd4\xc3\x80\x53\x60\x9f\xa9\x29\x74\x56\x50\x17\x1e\xe5\x68\x6e\xcb\xc2\x61\xa4\x04\x9a\x4f\x9b\x72\x00\x45\x9a\xdc\xe4\x94\xb2\xe0\x8b\x91\xce\xa4\x04\x12\xd0\xc2\xe9\xff\x9f\xc4\x7d\xe1\xd0\x8f\x09\xfd\xa2\x5f\x5e\xfa\x70\x0e\xae\xe4\x75\x9d\x09\x91\x38\x0b\xc4\xd9\xfe\x4c\x45\x18\xa3\x65\xb1\x4a\x07\x22\x5d\x6e\x89\x1b\x6f\x28\xd9\xb1\xc7\x95\x7e\x55\x62\x65\x3c\xc2\xd3\xa6\xae\x26\x19\x60\x8e\x7b\x5f\x13\x5c\xf5\xb2\x6f\xb7\xd0\xea\xa4\x2f\xf2\xb0\x6b\xe7\xa2\xcf\xb8\x2c\xd7\x98\x5a\x33\x4d\x4d\x7e\xf7\x7b\x2e\x8a\x44\x63\xb3\x80\xfd\x70\x89\x9c\xf0\xdd\x91\x9e\x34\x6f\x91\x29\x50\xaf\xcf\x10\x11\x7b\xf1\x2d\x0d\xb1\xa7\x4c\x33\x35\x14\x53\x6f\x37\x5b\x18\x95\x52\xd1\xf7\x53\x91\xe3\xf7\xbf\x63\x93\xa2\x9a\x5a\xfa\xbd\xd4\x50\xf3\x8e\xa3\xbe\x47\xe8\xa9\x10\xe9\x31\x1d\x7d\x4b\x56\xb5\x18\x21\xcd\xd5\x25\x27\x78\xc1\xa7\xc4\x90\x79\x48\x99\xbb\x1a\xfd\xf8\x50\x50\x5b\xcb\x43\xbb\xd2\x10\xab\x19\xf7\x8e\xa7\x6c\x3c\xb2\xd9\xd4\x15\xfc\x92\xb7\x44\xc4\x4c\xe1\x82\xd5\xc1\xc7\x68\x96\x93\x2b\x31\x16\xb5\x1c\x57\x1d\xd1\x0e\x90\xfc\x60\x1a\x89\xe2\x65\x9a\xe1\xdd\x17\x44\xd2\x96\x86\x93\xe7\x65\x2b\x30\xcf\x2c\x26\x1f\x9e\xc7\x1b\x61\x74\x15\xbc\xc9\x83\xc3\x80\x64\x4f\xa4\xff\x03\x3a\x0c\x5c\xc5\xc4\x64\x9a\xbb\x1c\xd4\x65\x12\xc5\x36\xd8\x6b\x7e\xa9\xe7\x91\x28\xe8\x7b\x6f\x18\xc7\x18\x22\x65\xc1\x21\xf8\xbd\xc5\x3e\x5e\xce\x0e\x4c\x97\xe5\x68\xed\x17\x62\xa3\x5c\xb3\xa9\x49\x0c\x75\x1e\x57\x92\x0c\xff\x31\xc6\x24\x93\x9e\xc7\xa5\x4c\xad\x30\xb9\x93\x32\xd4\x0c\xb8\x27\x29\x97\x2e\x13\x0a\xd0\x07\x6d\xa8\x08\xf9\x31\x16\x57\x5d\xa8\x7d\x3b\xe9\x95\x47\x68\x8b\xf1\x41\xee\x01\x75\x8c\xbe\x31\x7a\xf2\x29\x76\x5d\x2e\x29\xf6\xe7\xec\x8b\x33\x65\xd5\x8b\xb1\xab\xcb\x18\x73\x6a\x59\x17\x48\xeb\xef\x8c\xc5\x4f\xe7\x01\xa9\x45\xa7\xf6\xa4\xde\xaa\x9a\xd2\x02\xf5\xe9\x32\x77\x9d\xec\x22\xdb\xee\x23\xe6\x37\xc5\x00\x5c\x36\xc9\xf3\xe4\x41\x07\xdc\x5d\x76\xd0\xd5\x0f\xd2\x31\xaf\xfb\x78\xa0\x60\x76\x51\xf6\x5f\x42\x7e\x1b\x82\x0f\xff\x06\xdc\x2f\x18\xdf\xf9\x0f\xdc\x69\xaf\xa5\xe1\x9e\x5a\xac\x35\x97\x40\x52\xf5\x5c\x6e\xba\x80\xdf\xc2\xd1\x44\xea\x76\x3e\xf1\x24\xe5\x8b\x1a\x96\x5f\x2f\x6a\x58\x58\x17\x98\xc7\x50\x3f\x6f\xdb\xb7\xfe\xf0\x38\xe1\xea\xab\xaf\xbe\xfa\x4a\x42\xaf\x52\xaf\xfd\xa2\x70\x9e\x27\x3e\x6c\x63\x15\xe7\x3f\xf6\x97\x31\x62\x84\x7a\x47\x06\xc6\xd3\xdd\x83\x57\x5f\x8a\x73\x23\x53\xd9\x5c\xb4\xf8\x69\x0c\x3c\x41\xee\xae\x20\x17\x93\x4e\x0e\xb3\xda\xb5\x3a\xb4\x50\x04\xf2\x7b\xb6\xf6\x47\x10\x5d\x89\x6e\xb5\xda\xc2\x37\x19\xe9\x2b\xdc\x8f\x07\xf2\x77\xeb\x0f\x07\xb2\x8c\xe5\x75\x05\x19\xcd\x1e\xa1\xf5\x2e\x57\xd0\x7b\xb4\xfe\xc4\x2c\x16\xaf\x6c\x7c\x8b\xd5\x23\x47\x66\x91\xae\x32\x0f\x70\xf0\x48\x31\x29\x20\xac\xb6\x82\xfd\xa7\x6c\x72\x9f\xfc\x87\x60\x5c\xfa\x1e\x03\x16\x46\x1d\xc8\xbd\x51\xf2\x1c\xff\x96\x24\x15\x32\xfd\x98\x86\x31\xc1\x10\xc8\x3d\xea\x97\x29\xd8\x6f\x6b\xb2\x6a\x27\x0d\x64\x6d\xfd\xa1\xde\x82\x06\x55\x36\xc8\xa0\x4b\x92\xbf\xa7\x3a\x82\x94\x45\x71\xbe\x00\x44\x2a\xf8\x79\x6c\xb3\x3c\xaf\x54\x27\xad\x89\x83\xd5\x67\x6c\x15\x31\x51\x29\xb2\x0b\x78\xce\xde\x59\xfc\xe9\xb5\x9f\x95\x62\xcd\x3e\x68\xea\xc5\x39\xbd\xce\x8e\x49\x01\x8d\xd1\x4f\xa3\xe0\x79\xf0\xc8\x59\x27\x27\xaa\x39\x21\xe5\x3a\xe0\xb5\x57\xd7\xc8\x2b\xa5\x6e\x4d\x3f\x50\xc3\xd8\x0f\x3e\xa4\x3c\x0d\x68\xee\x48\xde\x67\x3f\x3e\x69\x73\xa2\x94\xf9\xae\x9b\xe2\x00\x99\xab\x49\x17\x89\x68\xbe\x85\x90\xa6\xd7\xf8\x31\x19\x0b\xcf\x32\xea\xf5\xca\xf8\x1b\x79\xb7\xda\x64\x90\xae\x4f\x8b\xf5\xae\x4f\xab\x8d\xca\x4b\x54\x18\x6c\x01\x43\x20\x00\xde\x55\x7d\x44\xdd\x52\x00\x5b\xaf\x6e\x7d\x8f\xf4\x54\xa5\x07\xde\x62\x3a\x86\xfc\xd7\x33\x70\x86\xf3\x12\x17\x7d\x30\x9b\x92\x44\x95\x15\xff\xe1\x39\x1a\x09\xbc\x33\x16\x77\x70\x85\x0b\x29\xcb\xd0\xe6\xa7\x4f\xe1\x15\x15\x27\x26\xce\xd3\x7b\xca\xce\x0e\x74\x08\x9a\xa5\xcc\x75\x77\x01\x96\xf8\x7e\x3b\x90\x21\x76\xb9\x8b\xf5\xee\x1e\x03\xd7\xeb\x3c\xcf\xc9\x63\xb5\xf9\x06\x26\x26\x62\xaf\xeb\x53\x95\xf7\xad\x57\xff\x19\x57\x52\x15\xe5\x7b\x18\x22\xc3\x73\x01\xc2\x6d\xc4\x34\x0c\x61\xea\x59\x1d\xec\xb4\xc4\xd3\x7f\x94\x0d\x14\xcc\xa7\x2b\x9b\xef\xcb\x94\x7b\xa1\xda\x28\x46\xfa\x27\x16\x27\x49\x66\x4a\x4c\x6c\x59\x95\x7a\x87\x3a\x50\xc7\x66\xed\xc2\xb2\x0a\x9a\xb8\x40\x4d\x67\xe5\xdb\x5a\xea\xd5\xc9\x42\xb4\x93\x9e\x46\x95\xea\x43\x92\xca\xe5\x84\x7b\xda\x33\x1d\x6d\xbd\xbf\x83\x74\x0c\x7e\x3c\x1c\x81\x2c\xab\x3a\xf8\x5a\xad\xaf\xef\x67\x51\xc7\x33\x37\xe9\xae\xc5\xc0\xcc\x6c\x24\x9c\xa8\xae\x4f\xca\x78\x35\x19\x9e\x72\x98\x54\xaf\xd3\x91\xff\xb9\x09\xd4\x6c\xf8\xa8\xc2\xe8\x92\xe9\x51\xf1\x9c\x8d\xe4\xca\x0f\xa2\x2d\x2a\xf4\x0e\xf8\x30\x28\x24\xdb\x89\x8a\x01\x59\xb0\xc4\x58\xeb\x1b\x6e\x0d\xf2\xa8\x9a\x9c\x41\x37\xc7\xec\x81\xcb\x9b\xb2\x39\xd1\x47\xf1\x37\xe2\x4d\x15\xde\xfe\x4c\x11\x17\xe8\x2b\x89\x17\x2d\xdb\x2e\x97\x66\x3c\x1a\xdf\x42\x3c\xbb\xa4\x1f\xca\x2f\x9e\x88\x58\x1f\xe4\xce\x37\x5e\x5d\x1f\x2b\xf5\xcb\xc2\x83\x39\x85\x3f\x6f\xdb\x8f\x22\x00\x76\x2e\x99\xed\xc8\xbd\xcb\xc5\x84\x71\x4e\x5b\x64\xcc\x6d\xab\x28\xe1\xfb\x31\xc2\x1d\x4f\x8d\x7c\x97\xef\x5c\xe4\x5a\xa4\x1c\x78\x11\x22\xb6\xb9\x02\x2b\x61\x45\x10\x81\x66\x76\x14\x57\x9a\x57\xdb\x4b\x4b\x57\x27\x8c\xa9\x16\x29\x4a\xbd\x98\x87\xed\x5a\x96\xaa\xbe\xad\xf9\xfc\x2d\xc7\x2a\xae\xf0\x96\x41\x70\x0e\x4e\x57\xec\xae\x68\xf7\x6a\x0b\x2b\x22\x81\xfe\x66\x6c\xab\x9c\x48\x7e\x8c\x5f\x88\x28\x7e\x17\x7c\x3f\x0f\x8e\x97\x02\x6b\x4d\x60\xa9\x25\x0c\x6e\x53\xcf\xfc\x4d\xf7\x4b\x6a\x92\x11\x0f\x4c\x05\x69\x05\x9f\x3c\x7b\xb0\x34\x91\xde\xa5\x3c\xae\xd5\x05\x42\xbc\x9d\x32\x73\x4d\x51\x70\xc9\x40\x97\x4b\xba\x2d\x5c\x8c\x69\xc9\x0e\xea\xb7\x26\xa6\x25\xe1\x13\xf0\x04\xa6\xc8\x66\xc9\xa7\x97\x07\xc5\x92\x9b\xc6\xe4\xcb\x35\xe3\xd4\x28\x4e\xdd\xb0\x52\xb7\xdc\x58\xf0\xa5\x68\xbe\x9b\xf3\x60\x51\x07\x07\x47\x7f\x2a\x63\xb3\xab\xd1\x9b\x54\x38\x57\x63\xb4\x8b\xbc\x31\x99\x99\x74\xb9\x3f\x9b\x74\x5c\xdf\x4a\xe5\xc5\x6f\xe4\x0a\x5b\xde\xc0\xb3\xfc\xb0\x1b\x87\x01\xc3\xba\xac\xe9\x90\x78\x49\x87\x54\x56\x60\x79\xad\x2d\xec\x57\x71\xdc\x17\xd4\x7f\xdb\xe6\x77\x16\xdd\x5a\xce\xd9\x3c\x7b\xc6\x0f\x1c\x4b\xe7\xab\xf5\x22\x91\xb5\x71\xc3\x78\x71\xa1\xae\x79\x44\x37\x0d\x23\x9f\xc1\xe7\xd5\xf7\x68\xad\x27\xb3\xfa\xd9\x07\xdb\xd2\xc3\x77\x9e\x7f\xbf\xd0\x61\xf5\xc7\x62\x6f\xc0\x38\x5a\x22\xfa\xf3\x1f\x12\xf8\x49\x31\x66\x7b\x4f\xfe\x3b\x68\x13\xe2\xfa\x12\xfb\x06\x5a\x1e\xfd\xf2\x7f\xa6\x5b\x0a\xeb\x7e\x0b\x42\xda\x9c\x09\xcb\x7f\x89\xaa\xa5\xca\xb8\x88\x21\xad\xe5\xc8\x2d\xdc\x6f\x26\x18\x94\xe9\xcb\xf4\x37\x8b\x4b\x20\xaf\xe4\xd0\x79\xbf\xd6\xe1\xb0\xb9\x4a\xb5\xa5\xe2\xe4\x25\xde\xb1\x9c\x1c\xaf\x3a\x61\x3f\x5b\x4c\x25\x3f\xaf\xa6\xb3\xd3\x6a\x11\xf5\x6a\x93\xbd\x91\xac\xf2\x15\x76\x9a\x44\x35\x94\x0f\x84\x16\x01\x86\xc3\x50\x5e\xd8\x4e\x8d\x6f\x9b\x77\xd4\x9a\x0c\x5a\x66\x90\x6c\x85\x96\xeb\xf4\x7a\x42\xb5\xa6\x7e\x60\xfe\x74\xc3\xf9\xd0\x6b\x3b\xdd\x4a\xf2\x98\x71\xc8\x79\x06\xea\xec\x31\xe5\x13\xa0\x7a\x43\xe5\xc1\x09\xad\x95\x32\xe1\xac\xca\x07\x4a\xd3\xd5\xf1\x25\x76\xdf\x75\xa6\x31\xda\x42\x73\xd4\xce\xa1\x55\xbf\x52\x59\xf8\xdb\xfa\x98\xd2\x10\x77\x37\x37\x07\x93\x8e\xe3\x9e\x64\x20\xdf\x1a\x3d\x95\x79\x66\x3e\xef\x69\xde\xb5\xc9\xbe\x2a\x9f\x4b\xc1\x0f\xda\xe9\x03\x86\xf2\xd5\x14\x77\x95\x3c\x54\x80\xfd\x68\x6c\x62\x6b\x12\xc8\x5e\x20\xaf\xfa\x3b\xe3\xee\xfd\x1d\xce\x57\x2e\xf5\xdf\x0b\x7c\x55\x55\xf5\x34\xf2\x11\xa1\xe7\x6b\x07\xd3\x96\xf7\x71\x59\x1f\xce\xf2\xaf\xf3\x72\xbd\x9c\x28\x48\xbb\x59\xa8\xe8\x30\x35\x47\x8c\xd3\x47\x5d\x53\x7d\x92\xd9\x8c\xb0\x9e\xbe\x48\xc8\x19\x74\xbe\x07\xce\xa9\xad\xc7\xa4\xb9\x72\x2a\x1f\x2f\x24\xfe\xfa\x21\xca\xe7\x0f\x15\xbc\x38\x17\x4b\xd8\x66\x9d\xf2\x0c\x7a\x01\x73\xa1\x17\x95\x8f\x9e\x3f\x85\x28\x1f\xaa\xe8\x04\xff\x9e\x72\x78\x78\x94\x45\xa2\x28\x13\x70\x66\xf3\x27\xfe\x4c\x24\xb4\x4f\x07\x1d\xd2\x79\x66\x71\xd1\x57\x0b\x9e\xb2\x52\x97\xeb\x1e\xb2\xda\x82\x4f\x6e\xeb\x78\x4c\xec\xee\x2e\x10\x4e\x86\x47\x06\x40\xdd\x96\x71\x31\x69\x6b\xa5\x4a\x59\x16\x1d\x45\x72\xc5\x16\x4a\x71\x99\xcf\x27\x73\x9f\x0e\xaf\x4a\xfb\xb8\xc8\xde\xc3\xb8\xb7\x26\x1e\xe7\x51\x0c\x2d\xf3\xf4\xab\xc5\x5c\x2d\x4f\x66\x2e\x10\x92\xc2\xf3\xe7\x3f\xe3\xc0\x53\xf2\x65\xbe\xf7\xce\x1a\x87\xb0\x4e\x1e\x5e\xb3\x8c\xa9\x3f\xeb\x30\xe8\xbd\x3d\x6f\xa4\xe1\xe2\x8c\x5a\x13\x6d\xd5\xef\x91\x32\x0a\xe5\xac\xfc\x95\x17\xe7\xc9\x52\x7c\x27\x9d\x5d\xad\x58\xc6\xdc\x3b\x95\xe2\x64\xfa\x18\xc3\x5d\xb6\x31\x84\x58\xfd\xfa\x59\x01\xac\xde\xe9\x1e\x57\x3b\x58\xc9\x16\x4a\xb2\xab\x2d\xbd\x7f\x85\xf2\x1d\xa1\xf1\x8e\x96\xe7\xcf\x3a\x9c\x69\x38\x8b\x37\x26\x52\xec\x99\xa0\xf8\x1b\x90\xa2\x1d\xc1\xf1\x49\x1f\xe2\x6a\x07\xbf\xae\x86\x73\x3a\x7a\x47\x91\x91\x62\x92\x71\x87\xd5\x6f\x0c\xf0\x13\x86\x48\xe1\x9e\x80\x38\xd0\x7e\xce\xb1\xba\xac\xd0\xd1\x7f\xab\xbe\xa9\xbe\x61\x84\xbc\xf2\x63\xb0\xf4\xf6\x91\x38\x32\x46\x2c\x26\x7a\xa3\x43\x73\x34\xf7\x78\x73\xcf\xbb\xab\xff\x31\xc3\x8c\xe1\x23\xfe\x73\x34\x81\xb8\xfe\x3c\xa5\x86\x15\xdb\x39\x21\xfe\xfb\x33\xda\xf2\x5f\xab\xbc\x24\x59\x8c\xfe\xfd\x4d\xfd\xf1\xdb\xf4\x9d\x98\xcb\x2d\x32\x0c\x23\x95\x17\x72\x35\xfc\x7f\x70\x1d\x2d\x85\xae\x66\xf3\x56\xa5\x60\xd2\xa7\x0b\xcd\xcb\x8d\xd0\x75\x91\xcb\x61\x3a\x12\xd2\x33\x97\x56\xbd\xbe\x43\x18\x87\x56\xbe\x1b\xa5\xb0\x56\x3a\x73\x1f\xee\xb6\xb9\x9b\x0a\x31\x01\x9b\x9e\xef\x96\xb8\xe2\xdc\x66\xe7\x8e\x63\x69\x58\xf7\xa2\x04\x95\x5b\xee\x62\x55\xeb\xb7\xec\x1f\x47\x13\x77\x50\xff\xf4\xed\xc7\xdb\x37\xef\xdf\xc1\xb3\xa2\xa8\x7a\x03\x1f\x2c\xea\x88\x42\x58\x1c\x03\xe6\x62\x49\xfd\x1a\xb1\xbf\xc7\x20\x49\x60\x77\x73\x23\x3f\x2b\x1f\x0e\x37\x1b\x36\xde\x7c\x20\x15\x2a\xea\x7f\x03\x00\x00\xff\xff\x24\xc0\xf0\x71\x24\x2b\x00\x00") +var _runtimeHelpPluginsMd = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x3a\x5d\xaf\xdb\xb6\x92\xef\xfc\x15\xb3\x2e\x16\xb1\x0b\x47\xa7\x17\xfb\x66\x20\x17\xc8\x47\x9b\xe6\x6e\x9a\x04\x39\x69\x8b\xa2\x28\x20\x5a\x1a\xd9\xec\xa1\x48\x5d\x92\x3a\x3e\xde\xa0\xf7\xb7\x2f\x66\x86\x94\x64\xe7\xb4\xb8\xfb\xb0\x05\x9a\x23\x8b\xc3\xe1\x7c\x7f\x51\x5f\xc1\x07\x3b\x1e\x8c\x8b\x4a\xfd\x60\x9a\xe0\x21\x8e\xc3\xe0\x43\x8a\xd0\x04\xd4\xc9\xb8\x03\x0c\x02\x00\x27\x93\x8e\xa0\x21\x9a\x7e\xb0\x08\x6f\x47\x0d\xf1\x1c\x13\xf6\x15\x7c\x7b\x8f\xe1\x9c\xe1\xe0\xa8\x23\x68\xd5\x6b\xe3\x20\x36\xc1\x0c\x09\x4e\x47\xd3\x1c\xc1\x44\x08\xa3\x03\x9d\x20\x26\x1d\xd2\x38\xe4\xf7\xf1\xe8\x47\xdb\xc2\x1e\x61\xb0\xba\xc1\x16\x8c\x03\x55\xff\xeb\xa6\x6a\xbc\xeb\xcc\xe1\xa6\x27\xb2\x6e\x32\x11\xf9\xef\x3b\xdd\xe3\xe2\xb1\xb2\xa3\xae\x2b\xa5\x3e\x1d\x31\x20\x68\xfa\x1f\xdc\xd8\xef\x31\x80\xef\xa0\xd1\xd6\xee\x75\x73\x07\xdd\xe8\x9a\x64\x3c\xb1\xc2\x27\x9f\xfd\x08\x8d\x76\xc2\x29\xd2\xb9\x67\x3f\x86\xc2\x47\xf2\x8a\xe8\x6d\x7c\x8b\x44\x74\x32\x3d\x46\xf0\xe9\x88\x01\xd2\x51\xbb\xc2\x45\x05\x9f\x8e\x08\x4e\xf7\x24\xaa\xd8\x1c\xb1\x47\x62\xb5\xf6\xee\x39\x1f\xb6\xbe\x37\x78\xda\xd4\x15\x7c\xe7\x83\xc2\x07\xcd\xc2\xd3\x13\x2d\x97\xc2\x41\x16\x24\x1d\x05\xe9\x88\x30\x46\x0c\x10\xf5\x3d\x46\xfe\xb9\x1f\xbb\x0e\x03\x9c\xb2\xbc\x76\x4a\xd5\x75\x6d\x47\xad\x26\x64\xde\xdd\xea\x7b\x94\x23\x15\x00\x40\x55\x55\xfc\x37\x60\x1a\x83\x83\x4e\xdb\x88\x0a\x5d\x4b\x3b\x59\x5e\x50\x13\x70\x0d\xf7\x3a\x18\xbd\xb7\x4c\xbb\x86\x80\x1d\x06\x74\x0d\x42\xf2\x7c\x34\x01\xf1\x83\x96\x83\x4c\x84\x3d\x12\xc7\xf8\x80\xcd\x98\xb0\x05\xef\x2a\xf5\xe9\x68\x22\x23\xb0\xbd\x8f\x09\xb4\x3d\xe9\xb3\x90\xde\x8c\x21\xa0\x4b\x8c\x67\x7b\x25\xfe\x03\x26\xb1\xad\xfa\xe5\x18\x7e\x32\x78\x5a\x6f\x6a\xd0\x51\x9d\xd0\xda\x4a\xa9\xe7\xd6\x82\xbe\xd7\xc6\x32\x79\x3a\x6b\x90\x94\x6c\x4d\x4c\x62\x2f\x74\xc4\x1d\x9e\xf7\xc6\xb5\xc6\x1d\x22\x44\xcc\xf2\xe8\x78\xe9\x88\x76\xa8\x94\xfa\xce\x87\xc9\x18\x22\x71\xd6\xfb\x31\x4e\x28\xb7\x4c\x10\x1b\x8f\x8d\x1e\x0e\xe6\x1e\x05\x31\xde\x13\xe5\xc6\x75\xfe\x51\x89\xff\x40\x48\x3e\x04\x8c\x71\x2d\xdc\x31\xbc\x88\xdf\xfa\x46\x5b\x78\xd8\xc2\x19\x9e\xc9\xfb\xdd\x07\x1f\x0d\xdb\xc5\x46\xfd\xb5\x66\x22\x2e\x0c\x36\x3b\x09\x53\x96\x77\x68\xd8\x7b\x6f\x91\x2c\x71\xc0\xc6\x74\x67\x52\xc7\xe9\x88\xd9\x42\xb3\xce\x64\xa3\xda\x23\x04\x24\x6a\x48\x60\x59\xa7\xcd\x18\xa2\x0f\xe0\x03\x38\x9f\x40\x77\x29\xef\x9b\x55\xdc\x78\xb2\xd6\x84\x95\x52\xef\x7c\x22\x9b\x24\x47\x60\xd2\x66\x39\xfa\xa6\x19\xc3\x97\xdb\x29\x0c\xec\x11\xdd\x84\xa4\xad\xe0\x4d\xc7\x32\x3e\x69\x97\x94\x9e\xfd\x72\x8f\x9d\x0f\x78\x75\x76\x31\xac\x2d\x79\x01\xd4\x43\xc0\xec\x4f\xe4\x4b\x6f\x48\x33\x44\xa0\x8e\xbc\x4f\x15\x51\x88\x6c\xb0\xcd\x32\x31\x18\x27\x91\x64\x3e\x17\xa7\xcc\x91\x67\xb2\x62\x66\x43\x11\x8c\x1d\xb5\xf8\x7e\xa1\x3f\x92\x2d\x3a\x09\x00\x63\xc4\x6e\xb4\x33\x07\xc9\xc3\x9d\xf3\x27\xd0\x7b\x3f\x2e\xe2\x1d\xcb\xd5\xcd\x4c\xa9\xda\x3b\x32\xf0\xf7\x03\x96\xb8\x30\x03\x13\x32\x6c\x89\x5c\x47\x61\x80\x42\x18\x9e\x44\x89\x26\x82\x1f\x90\xd8\xd2\xae\x65\x0e\x1c\x9e\x54\x59\x1a\x74\x8c\xec\x06\x14\x8a\xc4\x01\x33\x7d\x9d\x0f\x10\x31\x71\x14\x17\x53\xf4\x83\xd8\xd3\x5e\x47\xf6\x59\x16\x5e\x67\x2c\xa6\xf3\x80\x5b\xde\x50\x62\x14\x09\x92\x36\xfa\xae\x83\x3a\xe9\x7d\x4c\x3e\x0e\xba\xc1\x58\x83\x77\xf6\xcc\xb0\xaf\x3d\xd0\x66\x16\x32\xe3\x3a\x93\x03\x29\x21\xb6\x52\xea\xd6\xf4\xc6\xea\x40\xf2\x79\x84\xf5\xc4\xe1\x9a\xe3\x45\x64\x80\x17\x1c\xe0\x18\x64\x3f\x76\x1b\x0a\xe9\x4f\x9f\x3e\xfd\xb3\xb8\x3e\x7b\x07\x49\xa5\x04\xb0\x28\x56\xca\xc0\x53\xd4\x48\x9e\x0d\xcf\x38\xf0\xa1\x25\x05\x7b\xd0\x4d\x83\x51\x82\x93\x71\x8e\xc3\x6a\xb8\xe3\xe0\xe1\x3b\xe0\x9c\x53\xc1\xf7\x85\x3e\x0e\x35\xb0\x26\x60\x12\x14\x44\x73\x70\x3a\x8d\x01\x23\x89\x41\x2d\x28\x09\x98\x23\xc7\x18\x49\x78\xaf\xfd\x93\x98\xb7\x70\xae\xdc\xec\x94\xfa\x1a\xea\xf7\xb7\xf5\x6e\x0e\xb9\x62\x02\xb4\x4d\xe8\x79\x7f\x2b\x04\xb0\x55\x48\xe0\xb4\x67\xca\x0f\xa2\x0f\x47\x84\x88\x9e\x49\x7b\x00\x51\xf7\x08\x3a\xca\x61\xaf\xdf\xbf\xbf\x9d\x50\x6f\x81\x04\xdb\xea\x70\x32\xae\xde\x42\x7d\x32\xae\xf5\xa7\x48\x8f\xd6\xb8\xf1\x81\x1e\xba\x80\xb8\x8f\x6d\x5d\x55\xd5\x86\x89\x93\xbc\xfb\xca\x84\x7a\x07\x8d\x77\x49\x53\xf2\x27\xba\x06\x9d\x8e\x25\x78\x08\x81\x02\x3a\x06\xcd\x06\xce\xa6\xc0\x28\xc8\x5c\xea\x5d\x91\x9b\xef\x40\x5b\xcb\xdb\x68\x61\xc1\x93\x21\x39\xa1\x9c\x3a\x86\x4f\x7a\x5f\xef\xb2\x46\x5a\x7c\x28\xd1\xbb\xe4\x0e\xde\x9b\x83\x3d\x3f\x13\x72\xde\xdb\x63\x8c\xe8\x0e\x48\x14\x5b\x4c\x91\x95\x1d\xd1\xb5\x40\x2b\xfa\x80\xb1\x90\xcd\x19\x95\xd2\x80\xa4\xfc\x21\xf8\x7e\x48\x42\xf3\x3b\x3c\x89\xfd\xad\x13\x3e\xa4\xad\x70\x1b\x53\x30\xee\xb0\x81\xaf\x65\x89\x24\xc2\x3b\x63\x76\xcf\x9c\x92\xbb\xe0\x7b\xd0\xa2\x79\xc5\x41\x5d\xb7\x64\x52\x52\x31\x89\x41\x10\x3e\x3e\xe8\x35\xa6\xb7\xa8\x29\x51\xfd\x7c\x34\x09\xd9\xa9\xd6\x1b\x8e\xe6\xf5\x2e\x47\x30\x11\xb8\x15\x30\x32\x90\x0c\x57\x64\x32\x9d\x24\x04\x32\xde\x37\xf1\x67\x1f\xda\x97\x47\x1d\xd6\x31\x85\x89\xf4\x2b\xbc\x8f\x84\x43\x81\x14\x43\x7f\x72\xf2\xa1\x25\xc4\xcd\x51\x07\xdd\x24\x0c\x4f\x18\xf9\xc7\xd1\xe1\x6d\x0a\xeb\x40\x76\x88\x9b\xbc\x67\x81\x57\x17\x34\xd9\x64\xe8\x71\xa2\x94\x37\x31\x9e\xb7\xbe\x59\x73\x3e\x34\x2e\x6d\xe0\xad\x6f\x2e\x50\x90\x48\x09\xa4\x26\x64\x63\x23\xda\xfd\x59\x1c\xf3\x95\x09\xd8\x24\x1f\xce\xeb\x47\x4f\x0f\xde\x53\x00\x67\xad\x39\x72\x88\x39\xcb\xb1\xf5\x64\xf7\x26\xd6\xda\x82\x89\xd1\xff\xc3\x1b\xf7\x41\xa7\x63\x5c\xb7\x26\x54\x55\x35\x09\x6e\x3a\xa4\xf1\xfd\xde\x38\x8c\xd0\x8f\x36\x19\x8a\x8d\x05\x83\x11\xcb\xa2\x72\xce\x5a\x42\x3d\x29\x79\xa2\x96\xea\xd3\xf5\xd2\x96\x96\x54\x5b\x0b\xfb\x51\x94\x60\x75\x4c\x80\x16\x7b\x22\xd6\x77\x8c\x69\x4b\x28\xd3\x79\x30\x94\x1b\xce\x93\x0f\x3e\x89\x57\x2c\xbc\xc6\xf4\x9e\x03\xfb\x9a\x39\xff\xf2\x20\x2e\x07\xb4\x1d\x27\xfb\x09\xf8\xcf\x11\xb9\x7a\x92\x8c\xc0\x68\x9e\xb7\xed\x97\x68\xb6\x79\xa3\x71\x09\x43\xa7\x1b\xfc\xfc\x07\x61\x8e\xe4\x66\xb3\x7e\x05\x8b\x18\xbc\x04\xa5\xbc\x20\x9b\xd7\xf5\x62\x7b\x0d\x3d\x6a\x8e\xda\x67\x09\x8d\xc6\xc1\x6b\x2f\xb1\xe7\x76\xe2\x44\x30\x96\xd3\x67\x96\x1e\x3f\xb8\x94\xa9\x04\x2c\x69\x90\x48\x38\x19\x6b\x69\x03\xaf\x65\xc8\x83\xf5\x7b\x92\xe6\x16\x46\x67\x29\x03\x98\x94\x43\xbc\x24\x48\x4a\x6d\x02\x5a\x15\x8a\xde\xd2\xca\x5f\x90\xb5\x95\x2c\xfd\xf5\x4f\x9c\xd6\xfe\x9c\x44\xd6\xe6\xa4\x09\x3e\x4f\x62\xe0\x0c\x2b\xf1\x84\x0f\x7e\x61\x5c\xfb\xdf\x78\x5e\xdf\xe1\x79\x3b\x55\x2c\x93\x18\xa8\xd4\x8d\x50\xdf\xe1\xb9\xe6\xec\x2a\x00\x35\xef\xfc\x41\xdf\xe1\x4b\xdf\xf7\xda\xb5\xac\xc9\xed\xdc\x6d\x14\x82\x73\x51\xc3\x39\xab\xaa\xaa\x97\xd3\x4f\xc2\xcd\xee\x3f\x85\xb9\x46\x30\xe5\x12\x9d\xf0\x95\xa2\x85\xc5\x4b\x4c\x40\x5d\x0e\xa8\xa5\x12\x28\xf5\x54\x05\x3f\x46\x84\x6f\x08\x21\x95\x0b\xcb\x53\x93\xe7\xc2\xff\x9d\x9f\xcf\xae\x96\xd4\xe7\x77\xeb\x2b\xd2\x37\xf5\xee\x92\xbc\x7a\x86\x65\x49\x50\xb5\x28\xa4\x2e\xc4\x20\x72\x99\xdb\x8b\x4b\xcf\x58\x36\x27\x0c\xf8\xbd\x76\xad\x9d\x44\xd8\xf4\xed\xd2\xa5\x46\xb7\x54\x6e\x96\xce\x62\xdb\xed\x11\xad\x2d\x7b\x23\xff\x98\x10\x6c\xc5\x8d\x48\x59\xf7\xc8\x91\x79\x0b\x27\x6d\xd2\x27\xff\xd2\xfa\x28\x6f\x32\x87\x57\xe7\x30\xa2\x72\x9a\xf4\x9c\xf5\x02\x57\xcd\x5b\x1f\xa9\x7a\xb3\x33\x16\x25\xe6\x92\x97\x7a\xcd\x6c\x77\x54\xbf\x1e\x82\x1f\x27\xac\x0b\x7a\x32\x56\xf6\x09\x3d\x0c\x96\x10\x9b\x8e\xf0\x5d\x9e\x4d\x95\x48\x18\x91\xeb\x30\xf1\x6d\xae\xc1\x4c\x2a\xe7\x11\xce\x52\xe6\x8b\xe4\x39\x3d\xf8\x42\x1e\xb6\x26\xf9\x20\xfa\xff\xe4\x29\x85\x7d\xf0\x71\x6d\x7d\x43\x19\x62\x4b\x5e\x51\x32\xf0\x86\x24\x78\xad\xbf\x92\xaa\x60\xc8\xcd\x15\x97\x1c\x73\x10\xe2\x84\xc3\xdd\x4f\x09\x75\x1f\xd1\x7a\xdd\xd6\x3b\x58\x7f\xc4\x0d\x3d\x4a\xeb\x9d\x8e\x25\x99\xbe\x38\x27\x7c\xdf\x75\x11\xd3\x5f\x92\x81\x0f\xba\xa1\x42\xc6\x9a\x3b\x5c\x90\x5e\x03\x3e\x34\x38\xb0\x08\x4c\x12\x05\x8c\x2e\x45\xd8\x9f\xc9\x6a\x8d\x8b\x09\x75\x4b\x54\x52\x62\x8c\x39\x0f\xed\x6f\x07\x7d\x72\x64\x6f\xef\x96\xf1\xb7\xe9\xdb\xe7\xe1\x10\xe1\xd7\xdf\xca\x1b\xef\x6e\x53\xeb\xc7\x94\x9f\x30\x04\x7a\xfa\xf6\x81\x04\x9e\x41\xa8\xd0\xd1\xb4\xab\xaa\xaa\x0b\xcf\xb9\x4d\x3a\xa4\x38\x55\x93\xb3\x85\x0d\xc1\x73\x45\xfc\x88\x5d\xd4\xe5\xc0\x3a\x3f\x62\x08\x35\x69\x9b\x4d\x41\x4e\xae\xb9\xf6\xbd\x68\xaf\xa9\x85\xba\x9e\xb9\x70\xcc\xd8\xe3\xb2\xdb\xb9\x2c\x68\x4a\x83\x7f\xd4\xc3\x80\x53\x60\x9f\xa9\x29\x74\x56\x50\x17\x1e\xe5\x68\x6e\xec\xc2\x61\xa4\x04\x9a\x4f\x9b\x72\x00\x45\x9a\xdc\x26\x95\xb2\xe0\x8b\xa1\xd0\xa4\x04\x12\xd0\xc2\xe9\xff\x9f\xc4\x7d\xe1\xd0\x8f\x09\xfd\xa2\xe3\x5e\xfa\x70\x0e\xae\xe4\x75\x9d\x09\x91\x38\x0b\xc4\xd9\xfe\x4c\x45\x18\xa3\x65\xb1\x4a\x07\x22\x7d\x72\x89\x1b\x6f\x28\xd9\xb1\xc7\x95\x8e\x57\x62\x65\x3c\xc2\xd3\xa6\xae\x26\x19\x60\x8e\x7b\x5f\x13\x5c\xf5\xb2\x6f\xb7\xd0\xea\xa4\x2f\xf2\xb0\x6b\xe7\xa2\xcf\xb8\x2c\xd7\x98\x5a\x33\xcd\x5d\x7e\xf7\x7b\x2e\x8a\x44\x63\xb3\x80\xfd\x70\x89\x9c\xf0\xdd\x91\x9e\x34\x6f\x91\x39\x52\xaf\xcf\x10\x11\x7b\xf1\x2d\x0d\xb1\xa7\x4c\x33\x35\x14\x53\x6f\x37\x5b\x18\x95\x52\xd1\xf7\x53\x91\xe3\xf7\xbf\x63\x93\xa2\x9a\x86\x02\x7b\xa9\xa1\xe6\x1d\x47\x7d\x8f\xd0\x53\x21\xd2\x63\x3a\xfa\x96\xac\x6a\x31\x84\x9a\xab\x4b\x4e\xf0\x82\x4f\x89\x21\xf3\x98\x33\x77\x35\xfa\xf1\xb1\xa2\xb6\x96\xc7\x7e\xa5\xa5\x56\x33\xee\x1d\xcf\xe9\x78\xe8\xb3\xa9\x2b\xf8\x25\x6f\x89\x88\x99\xc2\x05\xab\x83\x8f\xd1\x2c\x67\x5f\x62\x2c\x6a\x39\xf0\x3a\xa2\x1d\x20\xf9\xc1\x34\x12\xc5\xcb\x3c\xc4\xbb\x2f\x88\xa4\x2d\x0d\x27\xcf\xcb\x56\x60\x9e\x7a\x4c\x3e\x3c\x0f\x48\xc2\xe8\x2a\x78\x93\x47\x8f\x01\xc9\x9e\x48\xff\x07\x74\x18\xb8\x8a\x89\xc9\x34\x77\x39\xa8\xcb\x2c\x8b\x6d\xb0\xd7\xfc\x52\xcf\x43\x55\xd0\xf7\xde\x30\x8e\x31\x44\xca\x82\x43\xf0\x7b\x8b\x7d\xbc\x9c\x3e\x98\x2e\xcb\xd1\xda\x2f\xc4\x46\xb9\x66\x53\x93\x18\xea\x3c\xf0\x24\x19\xfe\x63\x8c\x49\x66\x45\x8f\x4b\x99\x5a\x61\x72\x27\x65\xa8\x19\x70\x4f\x52\x2e\x5d\x26\x14\xa0\x0f\xda\x50\x11\xf2\x63\x2c\xae\xba\x50\xfb\x76\xd2\x2b\x4f\x2b\x16\xe3\x83\xdc\x03\xea\x18\x7d\x63\xf4\xe4\x53\xec\xba\x5c\x52\xec\xcf\xd9\x17\x67\xca\xaa\x17\x63\x57\x97\x41\xe8\xd4\xb2\x2e\x90\xd6\xdf\x19\x8b\x9f\xce\x03\x52\x8b\x4e\xed\x49\xbd\x55\x35\xa5\x05\xea\xd3\x65\x72\x3b\xd9\x45\xb6\xdd\x47\xcc\x6f\x8a\x01\xb8\x6c\x92\xe7\xc9\x83\x0e\xb8\xbb\xec\xa0\xab\x1f\xa4\x63\x5e\xf7\xf1\x40\xc1\xec\xa2\xec\xbf\x84\xfc\x36\x04\x1f\xfe\x0d\xb8\x5f\x30\xbe\xf3\x1f\xb8\xd3\x5e\x4b\xc3\x3d\xb5\x58\x6b\x2e\x81\xa4\xea\xb9\xdc\x74\x01\xbf\x85\xa3\x89\xd4\xed\x7c\xe2\x49\xca\x17\x35\x2c\xbf\x5e\xd4\xb0\xb0\x2e\x30\x8f\xa1\x7e\xde\xb6\x6f\xfd\xe1\x71\xc2\xd5\x57\x5f\x7d\xf5\x95\x84\x5e\xa5\x5e\xfb\x45\xe1\x3c\x4f\x7c\xd8\xc6\x2a\xce\x7f\xec\x2f\x63\xc4\x08\xf5\x8e\x0c\x8c\xe7\xc3\x07\xaf\xbe\x14\xe7\x46\xe6\xba\xb9\x68\xf1\xd3\x20\x79\x82\xdc\x5d\x41\x2e\x66\xa5\x1c\x66\xb5\x6b\x75\x68\xa1\x08\xe4\xf7\x6c\xed\x8f\x20\xba\x12\xdd\x6a\xb5\x85\x6f\x32\xd2\x57\xb8\x1f\x0f\xe4\xef\xd6\x1f\x0e\x64\x19\xcb\x0b\x0f\x32\x9a\x3d\x42\xeb\x5d\xae\xa0\xf7\x68\xfd\x89\x59\x2c\x5e\xd9\xf8\x16\xab\x47\x8e\xcc\x22\x5d\x65\x1e\xe0\xe0\x91\x62\x52\x40\x58\x6d\x05\xfb\x4f\xd9\xe4\x3e\xf9\x0f\xc1\xb8\xf4\x3d\x06\x2c\x8c\x3a\x90\x9b\xa7\xe4\x39\xfe\x2d\x49\x2a\x64\xfa\x31\x0d\x63\x82\x21\x90\x7b\xd4\x2f\x53\xb0\xdf\xf2\xf8\xd0\x49\x03\x59\x5b\x7f\xa8\xb7\xa0\x41\x95\x0d\x32\xe8\x92\xe4\xef\xa9\x8e\x20\x65\x51\x9c\x2f\x00\x91\x0a\x7e\x1e\xdb\x2c\xcf\x2b\xd5\x49\x6b\xe2\x60\xf5\x19\x5b\x45\x4c\x54\x8a\xec\x02\x9e\xb3\x77\x16\x7f\x7a\xed\x67\xa5\x58\xb3\x0f\x9a\x7a\x71\x4e\xaf\xb3\x63\x52\x40\x63\xf4\xd3\x30\x79\x1e\x3c\x72\xd6\xc9\x89\x6a\x4e\x48\xb9\x0e\x78\xed\xd5\x35\x72\x99\xa6\x0e\xd4\x30\xf6\x83\x0f\x29\x4f\x03\x9a\x3b\x92\xf7\xd9\x8f\x4f\xda\x9c\x28\x65\x42\xec\xa6\x38\x40\xe6\x6a\xd2\x45\x22\x9a\xef\x31\xa4\xe9\x35\x7e\x4c\xc6\xc2\xb3\x8c\x7a\xbd\x32\xfe\x46\xde\xad\x36\x19\xa4\xeb\xd3\x62\xbd\xeb\xd3\x6a\xa3\xf2\x12\x15\x06\x5b\xc0\x10\x08\x80\x77\x55\x1f\x51\xb7\x14\xc0\xd6\xab\x5b\xdf\x23\x3d\x55\xe9\x81\xb7\x98\x8e\x21\xff\xf5\x0c\x9c\xe1\xbc\xc4\x45\x1f\xcc\xa6\x24\x51\x65\xc5\x7f\x78\x8e\x46\x02\xef\x8c\xc5\x1d\x5c\xe1\x42\xca\x32\xb4\xf9\xe9\x53\x78\x45\xc5\x89\x89\xf3\xfc\x9f\xb2\xb3\x03\x1d\x82\x66\x29\x73\xdd\x5d\x80\x25\xbe\xdf\x0e\x64\x88\x5d\xee\x62\xbd\xbb\xc7\xc0\xf5\x3a\xcf\x73\xf2\x58\x6d\xbe\xc3\x89\x89\xd8\xeb\xfa\x54\xe5\x7d\xeb\xd5\x7f\xc6\x95\x54\x45\xf9\x26\x87\xc8\xf0\x5c\x80\x70\x1b\x31\x0d\x43\x98\x7a\x56\x07\x3b\x2d\xf1\xf4\x1f\x65\x03\x05\xf3\xe9\xd2\xe7\xfb\x32\xe5\x5e\xa8\x36\x8a\x91\xfe\x89\xc5\x49\x92\x99\x12\x13\x5b\x56\xa5\xde\xa1\x0e\xd4\xb1\x59\xbb\xb0\xac\x82\x26\x2e\x50\xd3\x59\xf9\xbe\x97\x7a\x75\xb2\x10\xed\xa4\xa7\x51\xa5\xfa\x90\xa4\x72\x39\xe1\x9e\xf6\x4c\x47\x5b\xef\xef\x20\x1d\x83\x1f\x0f\x47\x20\xcb\xaa\x0e\xbe\x56\xeb\xeb\x1b\x5e\xd4\xf1\xcc\x4d\xba\x6b\x31\x30\x33\x1b\x09\x27\xaa\xeb\x93\x32\x5e\x4d\x86\xa7\x1c\x26\xd5\xeb\x74\xe4\x7f\x6e\x02\x35\x1b\x3e\xaa\x30\xba\x64\x7a\x54\x3c\x67\x23\xb9\xf2\x83\x68\x8b\x0a\xbd\x03\x3e\x0c\x0a\xc9\x76\xa2\x62\x40\x16\x2c\x31\xd6\xfa\x86\x5b\x83\x3c\xaa\x26\x67\xd0\xcd\x31\x7b\xe0\xf2\xae\x6d\x4e\xf4\x51\xfc\x8d\x78\x53\x85\xb7\x3f\x53\xc4\x05\xfa\x4a\xe2\x45\xcb\xb6\xcb\xa5\x19\x8f\xc6\xb7\x10\xcf\x2e\xe9\x87\xf2\x8b\x27\x22\xd6\x07\xb9\x35\x8e\x57\x17\xd0\x4a\xfd\xb2\xf0\x60\x4e\xe1\xcf\xdb\xf6\xa3\x08\x80\x9d\x4b\x66\x3b\x72\x73\x73\x31\x61\x9c\xd3\x16\x19\x73\xdb\x2a\x4a\xf8\x7e\x8c\x70\xc7\x53\x23\xdf\xe5\x5b\x1b\xb9\x16\x29\x07\x5e\x84\x88\x6d\xae\xc0\x4a\x58\x11\x44\xa0\x99\x1d\xc5\x95\xe6\xd5\xf6\xd2\xd2\xd5\x09\x63\xaa\x45\x8a\x52\x2f\xe6\x61\xbb\x96\xa5\xaa\x6f\x6b\x3e\x7f\xcb\xb1\x8a\x2b\xbc\x65\x10\x9c\x83\xd3\x15\xbb\x2b\xda\xbd\xda\xc2\x8a\x48\xa0\xbf\x19\xdb\x2a\x27\x92\x1f\xe3\x17\x22\x8a\xdf\x05\xdf\xcf\x83\xe3\xa5\xc0\x5a\x13\x58\x6a\x09\x83\xdb\xd4\x33\x7f\xd3\xfd\x92\x9a\x64\xc4\x03\x53\x41\x5a\xc1\x27\xcf\x1e\x2c\x4d\xa4\x77\x29\x8f\x6b\x75\x81\x10\x6f\xa7\xcc\x5c\x53\x14\x5c\x32\xd0\xe5\x92\x6e\x0b\x17\x63\x5a\xb2\x83\xfa\xad\x89\x69\x49\xf8\x04\x3c\x81\x29\xb2\x59\xf2\xe9\xe5\x41\xb1\xe4\xa6\x31\xf9\x72\x51\x39\x35\x8a\x53\x37\xac\xd4\x2d\x37\x16\x7c\xad\x9a\x6f\xf7\x3c\x58\xd4\xc1\xc1\xd1\x9f\xca\xd8\xec\x6a\xf4\x26\x15\xce\xd5\x18\xed\x22\x6f\x4c\x66\x26\x5d\xee\xcf\x26\x1d\xd7\xb7\x52\x79\xf1\x1b\xb9\x04\x97\x37\xf0\x2c\x3f\xec\xc6\x61\xc0\xb0\x2e\x6b\x3a\x24\x5e\xd2\x21\x95\x15\x58\x5e\x8c\x0b\xfb\x55\x1c\xf7\x05\xf5\xdf\xb6\xf9\x9d\x45\xb7\x96\x73\x36\xcf\x9e\xf1\x03\xc7\xd2\xf9\x72\xbe\x48\x64\x6d\xdc\x30\x5e\x5c\xc9\x6b\x1e\xd1\x4d\xc3\xc8\x67\xf0\x79\xf5\x3d\x5a\xeb\xc9\xac\x7e\xf6\xc1\xb6\xf4\xf0\x9d\xe7\xdf\x2f\x74\x58\xfd\xb1\xd8\x1b\x30\x8e\x96\x88\xfe\xfc\x87\x04\x7e\x52\x8c\xd9\xde\x93\xff\x0e\xda\x84\xb8\xbe\xc4\xbe\x81\x96\x47\xbf\xfc\x9f\xe9\x96\xc2\xba\xdf\x82\x90\x36\x67\xc2\xf2\x5f\xa2\x6a\xa9\x32\x2e\x62\x48\x6b\x39\x72\x0b\xf7\x9b\x09\x06\x65\xfa\x32\xfd\xcd\xe2\x12\xc8\x2b\x39\x74\xde\xaf\x75\x38\x6c\xae\x52\x6d\xa9\x38\x79\x89\x77\x2c\x27\xc7\xab\x4e\xd8\xcf\x16\x53\xc9\xcf\xab\xe9\xec\xb4\x5a\x44\xbd\xda\x64\x6f\x24\xab\x7c\x85\x9d\x26\x51\x0d\xe5\x13\xa3\x45\x80\xe1\x30\x94\x17\xb6\x53\xe3\xdb\xe6\x1d\xb5\x26\x83\x96\x19\x24\x5b\xa1\xe5\x3a\xbd\x9e\x50\xad\xa9\x1f\x98\x3f\xfe\x70\x3e\xf4\xda\x4e\xb7\x92\x3c\x66\x1c\x72\x9e\x81\x3a\x7b\x4c\xf9\x88\xa8\xde\x50\x79\x70\x42\x6b\xa5\x4c\x38\xab\xf2\x89\xd3\x74\x75\x7c\x89\xdd\x77\x9d\x69\x8c\xb6\xd0\x1c\xb5\x73\x68\xd5\xaf\x54\x16\xfe\xb6\x3e\xa6\x34\xc4\xdd\xcd\xcd\xc1\xa4\xe3\xb8\x27\x19\xc8\xd7\x4a\x4f\x65\x9e\x99\xcf\x7b\x9a\x77\x6d\xb2\xaf\xca\x07\x57\xf0\x83\x76\xfa\x80\xa1\x7c\x77\xc5\x5d\x25\x0f\x15\x60\x3f\x1a\x9b\xd8\x9a\x04\xb2\x17\xc8\xab\xfe\xce\xb8\x7b\x7f\x87\xf3\x95\x4b\xfd\xf7\x02\x5f\x55\x55\x3d\x8d\x7c\x44\xe8\xf9\xda\xc1\xb4\xe5\x7d\x5c\xd6\x87\xb3\xfc\xeb\xbc\x5c\x2f\x27\x0a\xd2\x6e\x16\x2a\x3a\x4c\xcd\x11\xe3\xf4\x59\xd8\x54\x9f\x64\x36\x23\xac\xa7\x6f\x1a\x72\x06\x9d\xef\x81\x73\x6a\xeb\x31\x69\xae\x9c\xca\xe7\x0f\x89\xbf\x9f\x88\xf2\x01\x45\x05\x2f\xce\xc5\x12\xb6\x59\xa7\x3c\x83\x5e\xc0\x5c\xe8\x45\xe5\xa3\xe7\x8f\x29\xca\xa7\x2e\x3a\xc1\xbf\xa7\x1c\x1e\x1e\x65\x91\x28\xca\x04\x9c\xd9\xfc\x89\x3f\x34\x09\xed\xd3\x41\x87\x74\x9e\x59\x5c\xf4\xd5\x82\xa7\xac\xd4\xe5\xba\x87\xac\xb6\xe0\x93\xdb\x3a\x1e\x13\xbb\xbb\x0b\x84\x93\xe1\x91\x01\x50\xb7\x65\x5c\x4c\xda\x5a\xa9\x52\x96\x45\x47\x91\x5c\xb1\x85\x52\x5c\xe6\xf3\xc9\xdc\xa7\xc3\xab\xd2\x3e\x2e\xb2\xf7\x30\xee\xad\x89\xc7\x79\x14\x43\xcb\x3c\xfd\x6a\x31\x57\xcb\x93\x99\x0b\x84\xa4\xf0\xfc\x01\xd1\x38\xf0\x94\x7c\x99\xef\xbd\xb3\xc6\x21\xac\x93\x87\xd7\x2c\x63\xea\xcf\x3a\x0c\x7a\x6f\xcf\x1b\x69\xb8\x38\xa3\xd6\x44\x5b\xf5\x7b\xa4\x8c\x42\x39\x2b\x7f\x27\xc6\x79\xb2\x14\xdf\x49\x67\x57\x2b\x96\x31\xf7\x4e\xa5\x38\x99\x3e\xc6\x70\x97\x6d\x0c\x21\x56\xbf\x7e\x56\x00\xab\x77\xba\xc7\xd5\x0e\x56\xb2\x85\x92\xec\x6a\x4b\xef\x5f\xa1\x7c\x89\x68\xbc\xa3\xe5\xf9\xb3\x0e\x67\x1a\xce\xe2\x8d\x89\x14\x7b\x26\x28\xfe\x06\xa4\x68\x47\x70\x7c\xd2\x87\xb8\xda\xc1\xaf\xab\xe1\x9c\x8e\xde\x51\x64\xa4\x98\x64\xdc\x61\xf5\x1b\x03\xfc\x84\x21\x52\xb8\x27\x20\x0e\xb4\x9f\x73\xac\x2e\x2b\x74\xf4\xdf\xaa\x6f\xaa\x6f\x18\x21\xaf\xfc\x18\x2c\xbd\x7d\x24\x8e\x8c\x11\x8b\x89\xde\xe8\xd0\x1c\xcd\x3d\xde\xdc\xf3\xee\xea\x7f\xcc\x30\x63\xf8\x88\xff\x1c\x4d\x20\xae\x3f\x4f\xa9\x61\xc5\x76\x4e\x88\xff\xfe\x8c\xb6\xfc\xd7\x2a\x2f\x49\x16\xa3\x7f\x7f\x53\x7f\xfc\x36\x7d\x69\xe6\x72\x8b\x0c\xc3\x48\xe5\x85\x5c\x0d\xff\x1f\x5c\x47\x4b\xa1\xab\xd9\xbc\x55\x29\x98\xf4\xe9\x42\xf3\x72\x23\x74\x5d\xe4\x72\x98\x8e\x84\xf4\xcc\xa5\x55\xaf\xef\x10\xc6\xa1\x95\x2f\x4f\x29\xac\x95\xce\xdc\x87\xbb\x6d\xee\xa6\x42\x4c\xc0\xa6\xe7\xbb\x25\xae\x38\xb7\xd9\xb9\xe3\x58\x1a\xd6\xbd\x28\x41\xe5\x96\xbb\x58\xd5\xfa\x2d\xfb\xc7\xd1\xc4\x1d\xd4\x3f\x7d\xfb\xf1\xf6\xcd\xfb\x77\xf0\xac\x28\xaa\xde\xc0\x07\x8b\x3a\xa2\x10\x16\xc7\x80\xb9\x58\x52\xbf\x46\xec\xef\x31\x48\x12\xd8\xdd\xdc\xc8\xcf\xca\x87\xc3\xcd\x86\x8d\x37\x1f\x48\x85\x8a\xfa\xdf\x00\x00\x00\xff\xff\x95\x5c\x64\x28\x66\x2b\x00\x00") func runtimeHelpPluginsMdBytes() ([]byte, error) { return bindataRead( diff --git a/cmd/micro/view.go b/cmd/micro/view.go index 348094fd..fcdb90de 100644 --- a/cmd/micro/view.go +++ b/cmd/micro/view.go @@ -277,6 +277,8 @@ func (v *View) OpenBuffer(buf *Buffer) { // is opened v.isOverwriteMode = false v.lastClickTime = time.Time{} + + GlobalPluginCall("onBufferOpen", v.Buf) } // Open opens the given file in the view diff --git a/runtime/help/plugins.md b/runtime/help/plugins.md index 4b11beee..c890b971 100644 --- a/runtime/help/plugins.md +++ b/runtime/help/plugins.md @@ -45,6 +45,8 @@ view is passed in. This is useful for setting local options based on the filetype, for example turning off `tabstospaces` only for Go files when they are opened. +Similar to `onViewOpen(view)` there is also `onBufferOpen(buf)`. + --- There are a number of functions and variables that are available to you in order