github.com/whoyao/protocol@v0.0.0-20230519045905-2d8ace718ca5/livekit/livekit_rtc.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.30.0
     4  // 	protoc        v3.20.3
     5  // source: livekit_rtc.proto
     6  
     7  package livekit
     8  
     9  import (
    10  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    11  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    12  	reflect "reflect"
    13  	sync "sync"
    14  )
    15  
    16  const (
    17  	// Verify that this generated code is sufficiently up-to-date.
    18  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    19  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    20  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    21  )
    22  
    23  type SignalTarget int32
    24  
    25  const (
    26  	SignalTarget_PUBLISHER  SignalTarget = 0
    27  	SignalTarget_SUBSCRIBER SignalTarget = 1
    28  )
    29  
    30  // Enum value maps for SignalTarget.
    31  var (
    32  	SignalTarget_name = map[int32]string{
    33  		0: "PUBLISHER",
    34  		1: "SUBSCRIBER",
    35  	}
    36  	SignalTarget_value = map[string]int32{
    37  		"PUBLISHER":  0,
    38  		"SUBSCRIBER": 1,
    39  	}
    40  )
    41  
    42  func (x SignalTarget) Enum() *SignalTarget {
    43  	p := new(SignalTarget)
    44  	*p = x
    45  	return p
    46  }
    47  
    48  func (x SignalTarget) String() string {
    49  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    50  }
    51  
    52  func (SignalTarget) Descriptor() protoreflect.EnumDescriptor {
    53  	return file_livekit_rtc_proto_enumTypes[0].Descriptor()
    54  }
    55  
    56  func (SignalTarget) Type() protoreflect.EnumType {
    57  	return &file_livekit_rtc_proto_enumTypes[0]
    58  }
    59  
    60  func (x SignalTarget) Number() protoreflect.EnumNumber {
    61  	return protoreflect.EnumNumber(x)
    62  }
    63  
    64  // Deprecated: Use SignalTarget.Descriptor instead.
    65  func (SignalTarget) EnumDescriptor() ([]byte, []int) {
    66  	return file_livekit_rtc_proto_rawDescGZIP(), []int{0}
    67  }
    68  
    69  type StreamState int32
    70  
    71  const (
    72  	StreamState_ACTIVE StreamState = 0
    73  	StreamState_PAUSED StreamState = 1
    74  )
    75  
    76  // Enum value maps for StreamState.
    77  var (
    78  	StreamState_name = map[int32]string{
    79  		0: "ACTIVE",
    80  		1: "PAUSED",
    81  	}
    82  	StreamState_value = map[string]int32{
    83  		"ACTIVE": 0,
    84  		"PAUSED": 1,
    85  	}
    86  )
    87  
    88  func (x StreamState) Enum() *StreamState {
    89  	p := new(StreamState)
    90  	*p = x
    91  	return p
    92  }
    93  
    94  func (x StreamState) String() string {
    95  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    96  }
    97  
    98  func (StreamState) Descriptor() protoreflect.EnumDescriptor {
    99  	return file_livekit_rtc_proto_enumTypes[1].Descriptor()
   100  }
   101  
   102  func (StreamState) Type() protoreflect.EnumType {
   103  	return &file_livekit_rtc_proto_enumTypes[1]
   104  }
   105  
   106  func (x StreamState) Number() protoreflect.EnumNumber {
   107  	return protoreflect.EnumNumber(x)
   108  }
   109  
   110  // Deprecated: Use StreamState.Descriptor instead.
   111  func (StreamState) EnumDescriptor() ([]byte, []int) {
   112  	return file_livekit_rtc_proto_rawDescGZIP(), []int{1}
   113  }
   114  
   115  type CandidateProtocol int32
   116  
   117  const (
   118  	CandidateProtocol_UDP CandidateProtocol = 0
   119  	CandidateProtocol_TCP CandidateProtocol = 1
   120  	CandidateProtocol_TLS CandidateProtocol = 2
   121  )
   122  
   123  // Enum value maps for CandidateProtocol.
   124  var (
   125  	CandidateProtocol_name = map[int32]string{
   126  		0: "UDP",
   127  		1: "TCP",
   128  		2: "TLS",
   129  	}
   130  	CandidateProtocol_value = map[string]int32{
   131  		"UDP": 0,
   132  		"TCP": 1,
   133  		"TLS": 2,
   134  	}
   135  )
   136  
   137  func (x CandidateProtocol) Enum() *CandidateProtocol {
   138  	p := new(CandidateProtocol)
   139  	*p = x
   140  	return p
   141  }
   142  
   143  func (x CandidateProtocol) String() string {
   144  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   145  }
   146  
   147  func (CandidateProtocol) Descriptor() protoreflect.EnumDescriptor {
   148  	return file_livekit_rtc_proto_enumTypes[2].Descriptor()
   149  }
   150  
   151  func (CandidateProtocol) Type() protoreflect.EnumType {
   152  	return &file_livekit_rtc_proto_enumTypes[2]
   153  }
   154  
   155  func (x CandidateProtocol) Number() protoreflect.EnumNumber {
   156  	return protoreflect.EnumNumber(x)
   157  }
   158  
   159  // Deprecated: Use CandidateProtocol.Descriptor instead.
   160  func (CandidateProtocol) EnumDescriptor() ([]byte, []int) {
   161  	return file_livekit_rtc_proto_rawDescGZIP(), []int{2}
   162  }
   163  
   164  type SignalRequest struct {
   165  	state         protoimpl.MessageState
   166  	sizeCache     protoimpl.SizeCache
   167  	unknownFields protoimpl.UnknownFields
   168  
   169  	// Types that are assignable to Message:
   170  	//
   171  	//	*SignalRequest_Offer
   172  	//	*SignalRequest_Answer
   173  	//	*SignalRequest_Trickle
   174  	//	*SignalRequest_AddTrack
   175  	//	*SignalRequest_Mute
   176  	//	*SignalRequest_Subscription
   177  	//	*SignalRequest_TrackSetting
   178  	//	*SignalRequest_Leave
   179  	//	*SignalRequest_UpdateLayers
   180  	//	*SignalRequest_SubscriptionPermission
   181  	//	*SignalRequest_SyncState
   182  	//	*SignalRequest_Simulate
   183  	//	*SignalRequest_Ping
   184  	//	*SignalRequest_UpdateMetadata
   185  	//	*SignalRequest_PingReq
   186  	Message isSignalRequest_Message `protobuf_oneof:"message"`
   187  }
   188  
   189  func (x *SignalRequest) Reset() {
   190  	*x = SignalRequest{}
   191  	if protoimpl.UnsafeEnabled {
   192  		mi := &file_livekit_rtc_proto_msgTypes[0]
   193  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   194  		ms.StoreMessageInfo(mi)
   195  	}
   196  }
   197  
   198  func (x *SignalRequest) String() string {
   199  	return protoimpl.X.MessageStringOf(x)
   200  }
   201  
   202  func (*SignalRequest) ProtoMessage() {}
   203  
   204  func (x *SignalRequest) ProtoReflect() protoreflect.Message {
   205  	mi := &file_livekit_rtc_proto_msgTypes[0]
   206  	if protoimpl.UnsafeEnabled && x != nil {
   207  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   208  		if ms.LoadMessageInfo() == nil {
   209  			ms.StoreMessageInfo(mi)
   210  		}
   211  		return ms
   212  	}
   213  	return mi.MessageOf(x)
   214  }
   215  
   216  // Deprecated: Use SignalRequest.ProtoReflect.Descriptor instead.
   217  func (*SignalRequest) Descriptor() ([]byte, []int) {
   218  	return file_livekit_rtc_proto_rawDescGZIP(), []int{0}
   219  }
   220  
   221  func (m *SignalRequest) GetMessage() isSignalRequest_Message {
   222  	if m != nil {
   223  		return m.Message
   224  	}
   225  	return nil
   226  }
   227  
   228  func (x *SignalRequest) GetOffer() *SessionDescription {
   229  	if x, ok := x.GetMessage().(*SignalRequest_Offer); ok {
   230  		return x.Offer
   231  	}
   232  	return nil
   233  }
   234  
   235  func (x *SignalRequest) GetAnswer() *SessionDescription {
   236  	if x, ok := x.GetMessage().(*SignalRequest_Answer); ok {
   237  		return x.Answer
   238  	}
   239  	return nil
   240  }
   241  
   242  func (x *SignalRequest) GetTrickle() *TrickleRequest {
   243  	if x, ok := x.GetMessage().(*SignalRequest_Trickle); ok {
   244  		return x.Trickle
   245  	}
   246  	return nil
   247  }
   248  
   249  func (x *SignalRequest) GetAddTrack() *AddTrackRequest {
   250  	if x, ok := x.GetMessage().(*SignalRequest_AddTrack); ok {
   251  		return x.AddTrack
   252  	}
   253  	return nil
   254  }
   255  
   256  func (x *SignalRequest) GetMute() *MuteTrackRequest {
   257  	if x, ok := x.GetMessage().(*SignalRequest_Mute); ok {
   258  		return x.Mute
   259  	}
   260  	return nil
   261  }
   262  
   263  func (x *SignalRequest) GetSubscription() *UpdateSubscription {
   264  	if x, ok := x.GetMessage().(*SignalRequest_Subscription); ok {
   265  		return x.Subscription
   266  	}
   267  	return nil
   268  }
   269  
   270  func (x *SignalRequest) GetTrackSetting() *UpdateTrackSettings {
   271  	if x, ok := x.GetMessage().(*SignalRequest_TrackSetting); ok {
   272  		return x.TrackSetting
   273  	}
   274  	return nil
   275  }
   276  
   277  func (x *SignalRequest) GetLeave() *LeaveRequest {
   278  	if x, ok := x.GetMessage().(*SignalRequest_Leave); ok {
   279  		return x.Leave
   280  	}
   281  	return nil
   282  }
   283  
   284  func (x *SignalRequest) GetUpdateLayers() *UpdateVideoLayers {
   285  	if x, ok := x.GetMessage().(*SignalRequest_UpdateLayers); ok {
   286  		return x.UpdateLayers
   287  	}
   288  	return nil
   289  }
   290  
   291  func (x *SignalRequest) GetSubscriptionPermission() *SubscriptionPermission {
   292  	if x, ok := x.GetMessage().(*SignalRequest_SubscriptionPermission); ok {
   293  		return x.SubscriptionPermission
   294  	}
   295  	return nil
   296  }
   297  
   298  func (x *SignalRequest) GetSyncState() *SyncState {
   299  	if x, ok := x.GetMessage().(*SignalRequest_SyncState); ok {
   300  		return x.SyncState
   301  	}
   302  	return nil
   303  }
   304  
   305  func (x *SignalRequest) GetSimulate() *SimulateScenario {
   306  	if x, ok := x.GetMessage().(*SignalRequest_Simulate); ok {
   307  		return x.Simulate
   308  	}
   309  	return nil
   310  }
   311  
   312  func (x *SignalRequest) GetPing() int64 {
   313  	if x, ok := x.GetMessage().(*SignalRequest_Ping); ok {
   314  		return x.Ping
   315  	}
   316  	return 0
   317  }
   318  
   319  func (x *SignalRequest) GetUpdateMetadata() *UpdateParticipantMetadata {
   320  	if x, ok := x.GetMessage().(*SignalRequest_UpdateMetadata); ok {
   321  		return x.UpdateMetadata
   322  	}
   323  	return nil
   324  }
   325  
   326  func (x *SignalRequest) GetPingReq() *Ping {
   327  	if x, ok := x.GetMessage().(*SignalRequest_PingReq); ok {
   328  		return x.PingReq
   329  	}
   330  	return nil
   331  }
   332  
   333  type isSignalRequest_Message interface {
   334  	isSignalRequest_Message()
   335  }
   336  
   337  type SignalRequest_Offer struct {
   338  	// initial join exchange, for publisher
   339  	Offer *SessionDescription `protobuf:"bytes,1,opt,name=offer,proto3,oneof"`
   340  }
   341  
   342  type SignalRequest_Answer struct {
   343  	// participant answering publisher offer
   344  	Answer *SessionDescription `protobuf:"bytes,2,opt,name=answer,proto3,oneof"`
   345  }
   346  
   347  type SignalRequest_Trickle struct {
   348  	Trickle *TrickleRequest `protobuf:"bytes,3,opt,name=trickle,proto3,oneof"`
   349  }
   350  
   351  type SignalRequest_AddTrack struct {
   352  	AddTrack *AddTrackRequest `protobuf:"bytes,4,opt,name=add_track,json=addTrack,proto3,oneof"`
   353  }
   354  
   355  type SignalRequest_Mute struct {
   356  	// mute the participant's published tracks
   357  	Mute *MuteTrackRequest `protobuf:"bytes,5,opt,name=mute,proto3,oneof"`
   358  }
   359  
   360  type SignalRequest_Subscription struct {
   361  	// Subscribe or unsubscribe from tracks
   362  	Subscription *UpdateSubscription `protobuf:"bytes,6,opt,name=subscription,proto3,oneof"`
   363  }
   364  
   365  type SignalRequest_TrackSetting struct {
   366  	// Update settings of subscribed tracks
   367  	TrackSetting *UpdateTrackSettings `protobuf:"bytes,7,opt,name=track_setting,json=trackSetting,proto3,oneof"`
   368  }
   369  
   370  type SignalRequest_Leave struct {
   371  	// Immediately terminate session
   372  	Leave *LeaveRequest `protobuf:"bytes,8,opt,name=leave,proto3,oneof"`
   373  }
   374  
   375  type SignalRequest_UpdateLayers struct {
   376  	// Update published video layers
   377  	UpdateLayers *UpdateVideoLayers `protobuf:"bytes,10,opt,name=update_layers,json=updateLayers,proto3,oneof"`
   378  }
   379  
   380  type SignalRequest_SubscriptionPermission struct {
   381  	// Update subscriber permissions
   382  	SubscriptionPermission *SubscriptionPermission `protobuf:"bytes,11,opt,name=subscription_permission,json=subscriptionPermission,proto3,oneof"`
   383  }
   384  
   385  type SignalRequest_SyncState struct {
   386  	// sync client's subscribe state to server during reconnect
   387  	SyncState *SyncState `protobuf:"bytes,12,opt,name=sync_state,json=syncState,proto3,oneof"`
   388  }
   389  
   390  type SignalRequest_Simulate struct {
   391  	// Simulate conditions, for client validations
   392  	Simulate *SimulateScenario `protobuf:"bytes,13,opt,name=simulate,proto3,oneof"`
   393  }
   394  
   395  type SignalRequest_Ping struct {
   396  	// client triggered ping to server
   397  	Ping int64 `protobuf:"varint,14,opt,name=ping,proto3,oneof"` // deprecated by ping_req (message Ping)
   398  }
   399  
   400  type SignalRequest_UpdateMetadata struct {
   401  	// update a participant's own metadata and/or name
   402  	UpdateMetadata *UpdateParticipantMetadata `protobuf:"bytes,15,opt,name=update_metadata,json=updateMetadata,proto3,oneof"`
   403  }
   404  
   405  type SignalRequest_PingReq struct {
   406  	PingReq *Ping `protobuf:"bytes,16,opt,name=ping_req,json=pingReq,proto3,oneof"`
   407  }
   408  
   409  func (*SignalRequest_Offer) isSignalRequest_Message() {}
   410  
   411  func (*SignalRequest_Answer) isSignalRequest_Message() {}
   412  
   413  func (*SignalRequest_Trickle) isSignalRequest_Message() {}
   414  
   415  func (*SignalRequest_AddTrack) isSignalRequest_Message() {}
   416  
   417  func (*SignalRequest_Mute) isSignalRequest_Message() {}
   418  
   419  func (*SignalRequest_Subscription) isSignalRequest_Message() {}
   420  
   421  func (*SignalRequest_TrackSetting) isSignalRequest_Message() {}
   422  
   423  func (*SignalRequest_Leave) isSignalRequest_Message() {}
   424  
   425  func (*SignalRequest_UpdateLayers) isSignalRequest_Message() {}
   426  
   427  func (*SignalRequest_SubscriptionPermission) isSignalRequest_Message() {}
   428  
   429  func (*SignalRequest_SyncState) isSignalRequest_Message() {}
   430  
   431  func (*SignalRequest_Simulate) isSignalRequest_Message() {}
   432  
   433  func (*SignalRequest_Ping) isSignalRequest_Message() {}
   434  
   435  func (*SignalRequest_UpdateMetadata) isSignalRequest_Message() {}
   436  
   437  func (*SignalRequest_PingReq) isSignalRequest_Message() {}
   438  
   439  type SignalResponse struct {
   440  	state         protoimpl.MessageState
   441  	sizeCache     protoimpl.SizeCache
   442  	unknownFields protoimpl.UnknownFields
   443  
   444  	// Types that are assignable to Message:
   445  	//
   446  	//	*SignalResponse_Join
   447  	//	*SignalResponse_Answer
   448  	//	*SignalResponse_Offer
   449  	//	*SignalResponse_Trickle
   450  	//	*SignalResponse_Update
   451  	//	*SignalResponse_TrackPublished
   452  	//	*SignalResponse_Leave
   453  	//	*SignalResponse_Mute
   454  	//	*SignalResponse_SpeakersChanged
   455  	//	*SignalResponse_RoomUpdate
   456  	//	*SignalResponse_ConnectionQuality
   457  	//	*SignalResponse_StreamStateUpdate
   458  	//	*SignalResponse_SubscribedQualityUpdate
   459  	//	*SignalResponse_SubscriptionPermissionUpdate
   460  	//	*SignalResponse_RefreshToken
   461  	//	*SignalResponse_TrackUnpublished
   462  	//	*SignalResponse_Pong
   463  	//	*SignalResponse_Reconnect
   464  	//	*SignalResponse_PongResp
   465  	Message isSignalResponse_Message `protobuf_oneof:"message"`
   466  }
   467  
   468  func (x *SignalResponse) Reset() {
   469  	*x = SignalResponse{}
   470  	if protoimpl.UnsafeEnabled {
   471  		mi := &file_livekit_rtc_proto_msgTypes[1]
   472  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   473  		ms.StoreMessageInfo(mi)
   474  	}
   475  }
   476  
   477  func (x *SignalResponse) String() string {
   478  	return protoimpl.X.MessageStringOf(x)
   479  }
   480  
   481  func (*SignalResponse) ProtoMessage() {}
   482  
   483  func (x *SignalResponse) ProtoReflect() protoreflect.Message {
   484  	mi := &file_livekit_rtc_proto_msgTypes[1]
   485  	if protoimpl.UnsafeEnabled && x != nil {
   486  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   487  		if ms.LoadMessageInfo() == nil {
   488  			ms.StoreMessageInfo(mi)
   489  		}
   490  		return ms
   491  	}
   492  	return mi.MessageOf(x)
   493  }
   494  
   495  // Deprecated: Use SignalResponse.ProtoReflect.Descriptor instead.
   496  func (*SignalResponse) Descriptor() ([]byte, []int) {
   497  	return file_livekit_rtc_proto_rawDescGZIP(), []int{1}
   498  }
   499  
   500  func (m *SignalResponse) GetMessage() isSignalResponse_Message {
   501  	if m != nil {
   502  		return m.Message
   503  	}
   504  	return nil
   505  }
   506  
   507  func (x *SignalResponse) GetJoin() *JoinResponse {
   508  	if x, ok := x.GetMessage().(*SignalResponse_Join); ok {
   509  		return x.Join
   510  	}
   511  	return nil
   512  }
   513  
   514  func (x *SignalResponse) GetAnswer() *SessionDescription {
   515  	if x, ok := x.GetMessage().(*SignalResponse_Answer); ok {
   516  		return x.Answer
   517  	}
   518  	return nil
   519  }
   520  
   521  func (x *SignalResponse) GetOffer() *SessionDescription {
   522  	if x, ok := x.GetMessage().(*SignalResponse_Offer); ok {
   523  		return x.Offer
   524  	}
   525  	return nil
   526  }
   527  
   528  func (x *SignalResponse) GetTrickle() *TrickleRequest {
   529  	if x, ok := x.GetMessage().(*SignalResponse_Trickle); ok {
   530  		return x.Trickle
   531  	}
   532  	return nil
   533  }
   534  
   535  func (x *SignalResponse) GetUpdate() *ParticipantUpdate {
   536  	if x, ok := x.GetMessage().(*SignalResponse_Update); ok {
   537  		return x.Update
   538  	}
   539  	return nil
   540  }
   541  
   542  func (x *SignalResponse) GetTrackPublished() *TrackPublishedResponse {
   543  	if x, ok := x.GetMessage().(*SignalResponse_TrackPublished); ok {
   544  		return x.TrackPublished
   545  	}
   546  	return nil
   547  }
   548  
   549  func (x *SignalResponse) GetLeave() *LeaveRequest {
   550  	if x, ok := x.GetMessage().(*SignalResponse_Leave); ok {
   551  		return x.Leave
   552  	}
   553  	return nil
   554  }
   555  
   556  func (x *SignalResponse) GetMute() *MuteTrackRequest {
   557  	if x, ok := x.GetMessage().(*SignalResponse_Mute); ok {
   558  		return x.Mute
   559  	}
   560  	return nil
   561  }
   562  
   563  func (x *SignalResponse) GetSpeakersChanged() *SpeakersChanged {
   564  	if x, ok := x.GetMessage().(*SignalResponse_SpeakersChanged); ok {
   565  		return x.SpeakersChanged
   566  	}
   567  	return nil
   568  }
   569  
   570  func (x *SignalResponse) GetRoomUpdate() *RoomUpdate {
   571  	if x, ok := x.GetMessage().(*SignalResponse_RoomUpdate); ok {
   572  		return x.RoomUpdate
   573  	}
   574  	return nil
   575  }
   576  
   577  func (x *SignalResponse) GetConnectionQuality() *ConnectionQualityUpdate {
   578  	if x, ok := x.GetMessage().(*SignalResponse_ConnectionQuality); ok {
   579  		return x.ConnectionQuality
   580  	}
   581  	return nil
   582  }
   583  
   584  func (x *SignalResponse) GetStreamStateUpdate() *StreamStateUpdate {
   585  	if x, ok := x.GetMessage().(*SignalResponse_StreamStateUpdate); ok {
   586  		return x.StreamStateUpdate
   587  	}
   588  	return nil
   589  }
   590  
   591  func (x *SignalResponse) GetSubscribedQualityUpdate() *SubscribedQualityUpdate {
   592  	if x, ok := x.GetMessage().(*SignalResponse_SubscribedQualityUpdate); ok {
   593  		return x.SubscribedQualityUpdate
   594  	}
   595  	return nil
   596  }
   597  
   598  func (x *SignalResponse) GetSubscriptionPermissionUpdate() *SubscriptionPermissionUpdate {
   599  	if x, ok := x.GetMessage().(*SignalResponse_SubscriptionPermissionUpdate); ok {
   600  		return x.SubscriptionPermissionUpdate
   601  	}
   602  	return nil
   603  }
   604  
   605  func (x *SignalResponse) GetRefreshToken() string {
   606  	if x, ok := x.GetMessage().(*SignalResponse_RefreshToken); ok {
   607  		return x.RefreshToken
   608  	}
   609  	return ""
   610  }
   611  
   612  func (x *SignalResponse) GetTrackUnpublished() *TrackUnpublishedResponse {
   613  	if x, ok := x.GetMessage().(*SignalResponse_TrackUnpublished); ok {
   614  		return x.TrackUnpublished
   615  	}
   616  	return nil
   617  }
   618  
   619  func (x *SignalResponse) GetPong() int64 {
   620  	if x, ok := x.GetMessage().(*SignalResponse_Pong); ok {
   621  		return x.Pong
   622  	}
   623  	return 0
   624  }
   625  
   626  func (x *SignalResponse) GetReconnect() *ReconnectResponse {
   627  	if x, ok := x.GetMessage().(*SignalResponse_Reconnect); ok {
   628  		return x.Reconnect
   629  	}
   630  	return nil
   631  }
   632  
   633  func (x *SignalResponse) GetPongResp() *Pong {
   634  	if x, ok := x.GetMessage().(*SignalResponse_PongResp); ok {
   635  		return x.PongResp
   636  	}
   637  	return nil
   638  }
   639  
   640  type isSignalResponse_Message interface {
   641  	isSignalResponse_Message()
   642  }
   643  
   644  type SignalResponse_Join struct {
   645  	// sent when join is accepted
   646  	Join *JoinResponse `protobuf:"bytes,1,opt,name=join,proto3,oneof"`
   647  }
   648  
   649  type SignalResponse_Answer struct {
   650  	// sent when server answers publisher
   651  	Answer *SessionDescription `protobuf:"bytes,2,opt,name=answer,proto3,oneof"`
   652  }
   653  
   654  type SignalResponse_Offer struct {
   655  	// sent when server is sending subscriber an offer
   656  	Offer *SessionDescription `protobuf:"bytes,3,opt,name=offer,proto3,oneof"`
   657  }
   658  
   659  type SignalResponse_Trickle struct {
   660  	// sent when an ICE candidate is available
   661  	Trickle *TrickleRequest `protobuf:"bytes,4,opt,name=trickle,proto3,oneof"`
   662  }
   663  
   664  type SignalResponse_Update struct {
   665  	// sent when participants in the room has changed
   666  	Update *ParticipantUpdate `protobuf:"bytes,5,opt,name=update,proto3,oneof"`
   667  }
   668  
   669  type SignalResponse_TrackPublished struct {
   670  	// sent to the participant when their track has been published
   671  	TrackPublished *TrackPublishedResponse `protobuf:"bytes,6,opt,name=track_published,json=trackPublished,proto3,oneof"`
   672  }
   673  
   674  type SignalResponse_Leave struct {
   675  	// Immediately terminate session
   676  	Leave *LeaveRequest `protobuf:"bytes,8,opt,name=leave,proto3,oneof"`
   677  }
   678  
   679  type SignalResponse_Mute struct {
   680  	// server initiated mute
   681  	Mute *MuteTrackRequest `protobuf:"bytes,9,opt,name=mute,proto3,oneof"`
   682  }
   683  
   684  type SignalResponse_SpeakersChanged struct {
   685  	// indicates changes to speaker status, including when they've gone to not speaking
   686  	SpeakersChanged *SpeakersChanged `protobuf:"bytes,10,opt,name=speakers_changed,json=speakersChanged,proto3,oneof"`
   687  }
   688  
   689  type SignalResponse_RoomUpdate struct {
   690  	// sent when metadata of the room has changed
   691  	RoomUpdate *RoomUpdate `protobuf:"bytes,11,opt,name=room_update,json=roomUpdate,proto3,oneof"`
   692  }
   693  
   694  type SignalResponse_ConnectionQuality struct {
   695  	// when connection quality changed
   696  	ConnectionQuality *ConnectionQualityUpdate `protobuf:"bytes,12,opt,name=connection_quality,json=connectionQuality,proto3,oneof"`
   697  }
   698  
   699  type SignalResponse_StreamStateUpdate struct {
   700  	// when streamed tracks state changed, used to notify when any of the streams were paused due to
   701  	// congestion
   702  	StreamStateUpdate *StreamStateUpdate `protobuf:"bytes,13,opt,name=stream_state_update,json=streamStateUpdate,proto3,oneof"`
   703  }
   704  
   705  type SignalResponse_SubscribedQualityUpdate struct {
   706  	// when max subscribe quality changed, used by dynamic broadcasting to disable unused layers
   707  	SubscribedQualityUpdate *SubscribedQualityUpdate `protobuf:"bytes,14,opt,name=subscribed_quality_update,json=subscribedQualityUpdate,proto3,oneof"`
   708  }
   709  
   710  type SignalResponse_SubscriptionPermissionUpdate struct {
   711  	// when subscription permission changed
   712  	SubscriptionPermissionUpdate *SubscriptionPermissionUpdate `protobuf:"bytes,15,opt,name=subscription_permission_update,json=subscriptionPermissionUpdate,proto3,oneof"`
   713  }
   714  
   715  type SignalResponse_RefreshToken struct {
   716  	// update the token the client was using, to prevent an active client from using an expired token
   717  	RefreshToken string `protobuf:"bytes,16,opt,name=refresh_token,json=refreshToken,proto3,oneof"`
   718  }
   719  
   720  type SignalResponse_TrackUnpublished struct {
   721  	// server initiated track unpublish
   722  	TrackUnpublished *TrackUnpublishedResponse `protobuf:"bytes,17,opt,name=track_unpublished,json=trackUnpublished,proto3,oneof"`
   723  }
   724  
   725  type SignalResponse_Pong struct {
   726  	// respond to ping
   727  	Pong int64 `protobuf:"varint,18,opt,name=pong,proto3,oneof"` // deprecated by pong_resp (message Pong)
   728  }
   729  
   730  type SignalResponse_Reconnect struct {
   731  	// sent when client reconnects
   732  	Reconnect *ReconnectResponse `protobuf:"bytes,19,opt,name=reconnect,proto3,oneof"`
   733  }
   734  
   735  type SignalResponse_PongResp struct {
   736  	// respond to Ping
   737  	PongResp *Pong `protobuf:"bytes,20,opt,name=pong_resp,json=pongResp,proto3,oneof"`
   738  }
   739  
   740  func (*SignalResponse_Join) isSignalResponse_Message() {}
   741  
   742  func (*SignalResponse_Answer) isSignalResponse_Message() {}
   743  
   744  func (*SignalResponse_Offer) isSignalResponse_Message() {}
   745  
   746  func (*SignalResponse_Trickle) isSignalResponse_Message() {}
   747  
   748  func (*SignalResponse_Update) isSignalResponse_Message() {}
   749  
   750  func (*SignalResponse_TrackPublished) isSignalResponse_Message() {}
   751  
   752  func (*SignalResponse_Leave) isSignalResponse_Message() {}
   753  
   754  func (*SignalResponse_Mute) isSignalResponse_Message() {}
   755  
   756  func (*SignalResponse_SpeakersChanged) isSignalResponse_Message() {}
   757  
   758  func (*SignalResponse_RoomUpdate) isSignalResponse_Message() {}
   759  
   760  func (*SignalResponse_ConnectionQuality) isSignalResponse_Message() {}
   761  
   762  func (*SignalResponse_StreamStateUpdate) isSignalResponse_Message() {}
   763  
   764  func (*SignalResponse_SubscribedQualityUpdate) isSignalResponse_Message() {}
   765  
   766  func (*SignalResponse_SubscriptionPermissionUpdate) isSignalResponse_Message() {}
   767  
   768  func (*SignalResponse_RefreshToken) isSignalResponse_Message() {}
   769  
   770  func (*SignalResponse_TrackUnpublished) isSignalResponse_Message() {}
   771  
   772  func (*SignalResponse_Pong) isSignalResponse_Message() {}
   773  
   774  func (*SignalResponse_Reconnect) isSignalResponse_Message() {}
   775  
   776  func (*SignalResponse_PongResp) isSignalResponse_Message() {}
   777  
   778  type SimulcastCodec struct {
   779  	state         protoimpl.MessageState
   780  	sizeCache     protoimpl.SizeCache
   781  	unknownFields protoimpl.UnknownFields
   782  
   783  	Codec                 string `protobuf:"bytes,1,opt,name=codec,proto3" json:"codec,omitempty"`
   784  	Cid                   string `protobuf:"bytes,2,opt,name=cid,proto3" json:"cid,omitempty"`
   785  	EnableSimulcastLayers bool   `protobuf:"varint,3,opt,name=enable_simulcast_layers,json=enableSimulcastLayers,proto3" json:"enable_simulcast_layers,omitempty"`
   786  }
   787  
   788  func (x *SimulcastCodec) Reset() {
   789  	*x = SimulcastCodec{}
   790  	if protoimpl.UnsafeEnabled {
   791  		mi := &file_livekit_rtc_proto_msgTypes[2]
   792  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   793  		ms.StoreMessageInfo(mi)
   794  	}
   795  }
   796  
   797  func (x *SimulcastCodec) String() string {
   798  	return protoimpl.X.MessageStringOf(x)
   799  }
   800  
   801  func (*SimulcastCodec) ProtoMessage() {}
   802  
   803  func (x *SimulcastCodec) ProtoReflect() protoreflect.Message {
   804  	mi := &file_livekit_rtc_proto_msgTypes[2]
   805  	if protoimpl.UnsafeEnabled && x != nil {
   806  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   807  		if ms.LoadMessageInfo() == nil {
   808  			ms.StoreMessageInfo(mi)
   809  		}
   810  		return ms
   811  	}
   812  	return mi.MessageOf(x)
   813  }
   814  
   815  // Deprecated: Use SimulcastCodec.ProtoReflect.Descriptor instead.
   816  func (*SimulcastCodec) Descriptor() ([]byte, []int) {
   817  	return file_livekit_rtc_proto_rawDescGZIP(), []int{2}
   818  }
   819  
   820  func (x *SimulcastCodec) GetCodec() string {
   821  	if x != nil {
   822  		return x.Codec
   823  	}
   824  	return ""
   825  }
   826  
   827  func (x *SimulcastCodec) GetCid() string {
   828  	if x != nil {
   829  		return x.Cid
   830  	}
   831  	return ""
   832  }
   833  
   834  func (x *SimulcastCodec) GetEnableSimulcastLayers() bool {
   835  	if x != nil {
   836  		return x.EnableSimulcastLayers
   837  	}
   838  	return false
   839  }
   840  
   841  type AddTrackRequest struct {
   842  	state         protoimpl.MessageState
   843  	sizeCache     protoimpl.SizeCache
   844  	unknownFields protoimpl.UnknownFields
   845  
   846  	// client ID of track, to match it when RTC track is received
   847  	Cid  string    `protobuf:"bytes,1,opt,name=cid,proto3" json:"cid,omitempty"`
   848  	Name string    `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   849  	Type TrackType `protobuf:"varint,3,opt,name=type,proto3,enum=livekit.TrackType" json:"type,omitempty"`
   850  	// to be deprecated in favor of layers
   851  	Width  uint32 `protobuf:"varint,4,opt,name=width,proto3" json:"width,omitempty"`
   852  	Height uint32 `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"`
   853  	// true to add track and initialize to muted
   854  	Muted bool `protobuf:"varint,6,opt,name=muted,proto3" json:"muted,omitempty"`
   855  	// true if DTX (Discontinuous Transmission) is disabled for audio
   856  	DisableDtx      bool              `protobuf:"varint,7,opt,name=disable_dtx,json=disableDtx,proto3" json:"disable_dtx,omitempty"`
   857  	Source          TrackSource       `protobuf:"varint,8,opt,name=source,proto3,enum=livekit.TrackSource" json:"source,omitempty"`
   858  	Layers          []*VideoLayer     `protobuf:"bytes,9,rep,name=layers,proto3" json:"layers,omitempty"`
   859  	SimulcastCodecs []*SimulcastCodec `protobuf:"bytes,10,rep,name=simulcast_codecs,json=simulcastCodecs,proto3" json:"simulcast_codecs,omitempty"`
   860  	// server ID of track, publish new codec to exist track
   861  	Sid    string `protobuf:"bytes,11,opt,name=sid,proto3" json:"sid,omitempty"`
   862  	Stereo bool   `protobuf:"varint,12,opt,name=stereo,proto3" json:"stereo,omitempty"`
   863  	// true if RED (Redundant Encoding) is disabled for audio
   864  	DisableRed bool            `protobuf:"varint,13,opt,name=disable_red,json=disableRed,proto3" json:"disable_red,omitempty"`
   865  	Encryption Encryption_Type `protobuf:"varint,14,opt,name=encryption,proto3,enum=livekit.Encryption_Type" json:"encryption,omitempty"`
   866  }
   867  
   868  func (x *AddTrackRequest) Reset() {
   869  	*x = AddTrackRequest{}
   870  	if protoimpl.UnsafeEnabled {
   871  		mi := &file_livekit_rtc_proto_msgTypes[3]
   872  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   873  		ms.StoreMessageInfo(mi)
   874  	}
   875  }
   876  
   877  func (x *AddTrackRequest) String() string {
   878  	return protoimpl.X.MessageStringOf(x)
   879  }
   880  
   881  func (*AddTrackRequest) ProtoMessage() {}
   882  
   883  func (x *AddTrackRequest) ProtoReflect() protoreflect.Message {
   884  	mi := &file_livekit_rtc_proto_msgTypes[3]
   885  	if protoimpl.UnsafeEnabled && x != nil {
   886  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   887  		if ms.LoadMessageInfo() == nil {
   888  			ms.StoreMessageInfo(mi)
   889  		}
   890  		return ms
   891  	}
   892  	return mi.MessageOf(x)
   893  }
   894  
   895  // Deprecated: Use AddTrackRequest.ProtoReflect.Descriptor instead.
   896  func (*AddTrackRequest) Descriptor() ([]byte, []int) {
   897  	return file_livekit_rtc_proto_rawDescGZIP(), []int{3}
   898  }
   899  
   900  func (x *AddTrackRequest) GetCid() string {
   901  	if x != nil {
   902  		return x.Cid
   903  	}
   904  	return ""
   905  }
   906  
   907  func (x *AddTrackRequest) GetName() string {
   908  	if x != nil {
   909  		return x.Name
   910  	}
   911  	return ""
   912  }
   913  
   914  func (x *AddTrackRequest) GetType() TrackType {
   915  	if x != nil {
   916  		return x.Type
   917  	}
   918  	return TrackType_AUDIO
   919  }
   920  
   921  func (x *AddTrackRequest) GetWidth() uint32 {
   922  	if x != nil {
   923  		return x.Width
   924  	}
   925  	return 0
   926  }
   927  
   928  func (x *AddTrackRequest) GetHeight() uint32 {
   929  	if x != nil {
   930  		return x.Height
   931  	}
   932  	return 0
   933  }
   934  
   935  func (x *AddTrackRequest) GetMuted() bool {
   936  	if x != nil {
   937  		return x.Muted
   938  	}
   939  	return false
   940  }
   941  
   942  func (x *AddTrackRequest) GetDisableDtx() bool {
   943  	if x != nil {
   944  		return x.DisableDtx
   945  	}
   946  	return false
   947  }
   948  
   949  func (x *AddTrackRequest) GetSource() TrackSource {
   950  	if x != nil {
   951  		return x.Source
   952  	}
   953  	return TrackSource_UNKNOWN
   954  }
   955  
   956  func (x *AddTrackRequest) GetLayers() []*VideoLayer {
   957  	if x != nil {
   958  		return x.Layers
   959  	}
   960  	return nil
   961  }
   962  
   963  func (x *AddTrackRequest) GetSimulcastCodecs() []*SimulcastCodec {
   964  	if x != nil {
   965  		return x.SimulcastCodecs
   966  	}
   967  	return nil
   968  }
   969  
   970  func (x *AddTrackRequest) GetSid() string {
   971  	if x != nil {
   972  		return x.Sid
   973  	}
   974  	return ""
   975  }
   976  
   977  func (x *AddTrackRequest) GetStereo() bool {
   978  	if x != nil {
   979  		return x.Stereo
   980  	}
   981  	return false
   982  }
   983  
   984  func (x *AddTrackRequest) GetDisableRed() bool {
   985  	if x != nil {
   986  		return x.DisableRed
   987  	}
   988  	return false
   989  }
   990  
   991  func (x *AddTrackRequest) GetEncryption() Encryption_Type {
   992  	if x != nil {
   993  		return x.Encryption
   994  	}
   995  	return Encryption_NONE
   996  }
   997  
   998  type TrickleRequest struct {
   999  	state         protoimpl.MessageState
  1000  	sizeCache     protoimpl.SizeCache
  1001  	unknownFields protoimpl.UnknownFields
  1002  
  1003  	CandidateInit string       `protobuf:"bytes,1,opt,name=candidateInit,proto3" json:"candidateInit,omitempty"`
  1004  	Target        SignalTarget `protobuf:"varint,2,opt,name=target,proto3,enum=livekit.SignalTarget" json:"target,omitempty"`
  1005  }
  1006  
  1007  func (x *TrickleRequest) Reset() {
  1008  	*x = TrickleRequest{}
  1009  	if protoimpl.UnsafeEnabled {
  1010  		mi := &file_livekit_rtc_proto_msgTypes[4]
  1011  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1012  		ms.StoreMessageInfo(mi)
  1013  	}
  1014  }
  1015  
  1016  func (x *TrickleRequest) String() string {
  1017  	return protoimpl.X.MessageStringOf(x)
  1018  }
  1019  
  1020  func (*TrickleRequest) ProtoMessage() {}
  1021  
  1022  func (x *TrickleRequest) ProtoReflect() protoreflect.Message {
  1023  	mi := &file_livekit_rtc_proto_msgTypes[4]
  1024  	if protoimpl.UnsafeEnabled && x != nil {
  1025  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1026  		if ms.LoadMessageInfo() == nil {
  1027  			ms.StoreMessageInfo(mi)
  1028  		}
  1029  		return ms
  1030  	}
  1031  	return mi.MessageOf(x)
  1032  }
  1033  
  1034  // Deprecated: Use TrickleRequest.ProtoReflect.Descriptor instead.
  1035  func (*TrickleRequest) Descriptor() ([]byte, []int) {
  1036  	return file_livekit_rtc_proto_rawDescGZIP(), []int{4}
  1037  }
  1038  
  1039  func (x *TrickleRequest) GetCandidateInit() string {
  1040  	if x != nil {
  1041  		return x.CandidateInit
  1042  	}
  1043  	return ""
  1044  }
  1045  
  1046  func (x *TrickleRequest) GetTarget() SignalTarget {
  1047  	if x != nil {
  1048  		return x.Target
  1049  	}
  1050  	return SignalTarget_PUBLISHER
  1051  }
  1052  
  1053  type MuteTrackRequest struct {
  1054  	state         protoimpl.MessageState
  1055  	sizeCache     protoimpl.SizeCache
  1056  	unknownFields protoimpl.UnknownFields
  1057  
  1058  	Sid   string `protobuf:"bytes,1,opt,name=sid,proto3" json:"sid,omitempty"`
  1059  	Muted bool   `protobuf:"varint,2,opt,name=muted,proto3" json:"muted,omitempty"`
  1060  }
  1061  
  1062  func (x *MuteTrackRequest) Reset() {
  1063  	*x = MuteTrackRequest{}
  1064  	if protoimpl.UnsafeEnabled {
  1065  		mi := &file_livekit_rtc_proto_msgTypes[5]
  1066  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1067  		ms.StoreMessageInfo(mi)
  1068  	}
  1069  }
  1070  
  1071  func (x *MuteTrackRequest) String() string {
  1072  	return protoimpl.X.MessageStringOf(x)
  1073  }
  1074  
  1075  func (*MuteTrackRequest) ProtoMessage() {}
  1076  
  1077  func (x *MuteTrackRequest) ProtoReflect() protoreflect.Message {
  1078  	mi := &file_livekit_rtc_proto_msgTypes[5]
  1079  	if protoimpl.UnsafeEnabled && x != nil {
  1080  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1081  		if ms.LoadMessageInfo() == nil {
  1082  			ms.StoreMessageInfo(mi)
  1083  		}
  1084  		return ms
  1085  	}
  1086  	return mi.MessageOf(x)
  1087  }
  1088  
  1089  // Deprecated: Use MuteTrackRequest.ProtoReflect.Descriptor instead.
  1090  func (*MuteTrackRequest) Descriptor() ([]byte, []int) {
  1091  	return file_livekit_rtc_proto_rawDescGZIP(), []int{5}
  1092  }
  1093  
  1094  func (x *MuteTrackRequest) GetSid() string {
  1095  	if x != nil {
  1096  		return x.Sid
  1097  	}
  1098  	return ""
  1099  }
  1100  
  1101  func (x *MuteTrackRequest) GetMuted() bool {
  1102  	if x != nil {
  1103  		return x.Muted
  1104  	}
  1105  	return false
  1106  }
  1107  
  1108  type JoinResponse struct {
  1109  	state         protoimpl.MessageState
  1110  	sizeCache     protoimpl.SizeCache
  1111  	unknownFields protoimpl.UnknownFields
  1112  
  1113  	Room              *Room              `protobuf:"bytes,1,opt,name=room,proto3" json:"room,omitempty"`
  1114  	Participant       *ParticipantInfo   `protobuf:"bytes,2,opt,name=participant,proto3" json:"participant,omitempty"`
  1115  	OtherParticipants []*ParticipantInfo `protobuf:"bytes,3,rep,name=other_participants,json=otherParticipants,proto3" json:"other_participants,omitempty"`
  1116  	// deprecated. use server_info.version instead.
  1117  	ServerVersion string       `protobuf:"bytes,4,opt,name=server_version,json=serverVersion,proto3" json:"server_version,omitempty"`
  1118  	IceServers    []*ICEServer `protobuf:"bytes,5,rep,name=ice_servers,json=iceServers,proto3" json:"ice_servers,omitempty"`
  1119  	// use subscriber as the primary PeerConnection
  1120  	SubscriberPrimary bool `protobuf:"varint,6,opt,name=subscriber_primary,json=subscriberPrimary,proto3" json:"subscriber_primary,omitempty"`
  1121  	// when the current server isn't available, return alternate url to retry connection
  1122  	// when this is set, the other fields will be largely empty
  1123  	AlternativeUrl      string               `protobuf:"bytes,7,opt,name=alternative_url,json=alternativeUrl,proto3" json:"alternative_url,omitempty"`
  1124  	ClientConfiguration *ClientConfiguration `protobuf:"bytes,8,opt,name=client_configuration,json=clientConfiguration,proto3" json:"client_configuration,omitempty"`
  1125  	// deprecated. use server_info.region instead.
  1126  	ServerRegion string      `protobuf:"bytes,9,opt,name=server_region,json=serverRegion,proto3" json:"server_region,omitempty"`
  1127  	PingTimeout  int32       `protobuf:"varint,10,opt,name=ping_timeout,json=pingTimeout,proto3" json:"ping_timeout,omitempty"`
  1128  	PingInterval int32       `protobuf:"varint,11,opt,name=ping_interval,json=pingInterval,proto3" json:"ping_interval,omitempty"`
  1129  	ServerInfo   *ServerInfo `protobuf:"bytes,12,opt,name=server_info,json=serverInfo,proto3" json:"server_info,omitempty"`
  1130  }
  1131  
  1132  func (x *JoinResponse) Reset() {
  1133  	*x = JoinResponse{}
  1134  	if protoimpl.UnsafeEnabled {
  1135  		mi := &file_livekit_rtc_proto_msgTypes[6]
  1136  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1137  		ms.StoreMessageInfo(mi)
  1138  	}
  1139  }
  1140  
  1141  func (x *JoinResponse) String() string {
  1142  	return protoimpl.X.MessageStringOf(x)
  1143  }
  1144  
  1145  func (*JoinResponse) ProtoMessage() {}
  1146  
  1147  func (x *JoinResponse) ProtoReflect() protoreflect.Message {
  1148  	mi := &file_livekit_rtc_proto_msgTypes[6]
  1149  	if protoimpl.UnsafeEnabled && x != nil {
  1150  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1151  		if ms.LoadMessageInfo() == nil {
  1152  			ms.StoreMessageInfo(mi)
  1153  		}
  1154  		return ms
  1155  	}
  1156  	return mi.MessageOf(x)
  1157  }
  1158  
  1159  // Deprecated: Use JoinResponse.ProtoReflect.Descriptor instead.
  1160  func (*JoinResponse) Descriptor() ([]byte, []int) {
  1161  	return file_livekit_rtc_proto_rawDescGZIP(), []int{6}
  1162  }
  1163  
  1164  func (x *JoinResponse) GetRoom() *Room {
  1165  	if x != nil {
  1166  		return x.Room
  1167  	}
  1168  	return nil
  1169  }
  1170  
  1171  func (x *JoinResponse) GetParticipant() *ParticipantInfo {
  1172  	if x != nil {
  1173  		return x.Participant
  1174  	}
  1175  	return nil
  1176  }
  1177  
  1178  func (x *JoinResponse) GetOtherParticipants() []*ParticipantInfo {
  1179  	if x != nil {
  1180  		return x.OtherParticipants
  1181  	}
  1182  	return nil
  1183  }
  1184  
  1185  func (x *JoinResponse) GetServerVersion() string {
  1186  	if x != nil {
  1187  		return x.ServerVersion
  1188  	}
  1189  	return ""
  1190  }
  1191  
  1192  func (x *JoinResponse) GetIceServers() []*ICEServer {
  1193  	if x != nil {
  1194  		return x.IceServers
  1195  	}
  1196  	return nil
  1197  }
  1198  
  1199  func (x *JoinResponse) GetSubscriberPrimary() bool {
  1200  	if x != nil {
  1201  		return x.SubscriberPrimary
  1202  	}
  1203  	return false
  1204  }
  1205  
  1206  func (x *JoinResponse) GetAlternativeUrl() string {
  1207  	if x != nil {
  1208  		return x.AlternativeUrl
  1209  	}
  1210  	return ""
  1211  }
  1212  
  1213  func (x *JoinResponse) GetClientConfiguration() *ClientConfiguration {
  1214  	if x != nil {
  1215  		return x.ClientConfiguration
  1216  	}
  1217  	return nil
  1218  }
  1219  
  1220  func (x *JoinResponse) GetServerRegion() string {
  1221  	if x != nil {
  1222  		return x.ServerRegion
  1223  	}
  1224  	return ""
  1225  }
  1226  
  1227  func (x *JoinResponse) GetPingTimeout() int32 {
  1228  	if x != nil {
  1229  		return x.PingTimeout
  1230  	}
  1231  	return 0
  1232  }
  1233  
  1234  func (x *JoinResponse) GetPingInterval() int32 {
  1235  	if x != nil {
  1236  		return x.PingInterval
  1237  	}
  1238  	return 0
  1239  }
  1240  
  1241  func (x *JoinResponse) GetServerInfo() *ServerInfo {
  1242  	if x != nil {
  1243  		return x.ServerInfo
  1244  	}
  1245  	return nil
  1246  }
  1247  
  1248  type ReconnectResponse struct {
  1249  	state         protoimpl.MessageState
  1250  	sizeCache     protoimpl.SizeCache
  1251  	unknownFields protoimpl.UnknownFields
  1252  
  1253  	IceServers          []*ICEServer         `protobuf:"bytes,1,rep,name=ice_servers,json=iceServers,proto3" json:"ice_servers,omitempty"`
  1254  	ClientConfiguration *ClientConfiguration `protobuf:"bytes,2,opt,name=client_configuration,json=clientConfiguration,proto3" json:"client_configuration,omitempty"`
  1255  }
  1256  
  1257  func (x *ReconnectResponse) Reset() {
  1258  	*x = ReconnectResponse{}
  1259  	if protoimpl.UnsafeEnabled {
  1260  		mi := &file_livekit_rtc_proto_msgTypes[7]
  1261  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1262  		ms.StoreMessageInfo(mi)
  1263  	}
  1264  }
  1265  
  1266  func (x *ReconnectResponse) String() string {
  1267  	return protoimpl.X.MessageStringOf(x)
  1268  }
  1269  
  1270  func (*ReconnectResponse) ProtoMessage() {}
  1271  
  1272  func (x *ReconnectResponse) ProtoReflect() protoreflect.Message {
  1273  	mi := &file_livekit_rtc_proto_msgTypes[7]
  1274  	if protoimpl.UnsafeEnabled && x != nil {
  1275  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1276  		if ms.LoadMessageInfo() == nil {
  1277  			ms.StoreMessageInfo(mi)
  1278  		}
  1279  		return ms
  1280  	}
  1281  	return mi.MessageOf(x)
  1282  }
  1283  
  1284  // Deprecated: Use ReconnectResponse.ProtoReflect.Descriptor instead.
  1285  func (*ReconnectResponse) Descriptor() ([]byte, []int) {
  1286  	return file_livekit_rtc_proto_rawDescGZIP(), []int{7}
  1287  }
  1288  
  1289  func (x *ReconnectResponse) GetIceServers() []*ICEServer {
  1290  	if x != nil {
  1291  		return x.IceServers
  1292  	}
  1293  	return nil
  1294  }
  1295  
  1296  func (x *ReconnectResponse) GetClientConfiguration() *ClientConfiguration {
  1297  	if x != nil {
  1298  		return x.ClientConfiguration
  1299  	}
  1300  	return nil
  1301  }
  1302  
  1303  type TrackPublishedResponse struct {
  1304  	state         protoimpl.MessageState
  1305  	sizeCache     protoimpl.SizeCache
  1306  	unknownFields protoimpl.UnknownFields
  1307  
  1308  	Cid   string     `protobuf:"bytes,1,opt,name=cid,proto3" json:"cid,omitempty"`
  1309  	Track *TrackInfo `protobuf:"bytes,2,opt,name=track,proto3" json:"track,omitempty"`
  1310  }
  1311  
  1312  func (x *TrackPublishedResponse) Reset() {
  1313  	*x = TrackPublishedResponse{}
  1314  	if protoimpl.UnsafeEnabled {
  1315  		mi := &file_livekit_rtc_proto_msgTypes[8]
  1316  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1317  		ms.StoreMessageInfo(mi)
  1318  	}
  1319  }
  1320  
  1321  func (x *TrackPublishedResponse) String() string {
  1322  	return protoimpl.X.MessageStringOf(x)
  1323  }
  1324  
  1325  func (*TrackPublishedResponse) ProtoMessage() {}
  1326  
  1327  func (x *TrackPublishedResponse) ProtoReflect() protoreflect.Message {
  1328  	mi := &file_livekit_rtc_proto_msgTypes[8]
  1329  	if protoimpl.UnsafeEnabled && x != nil {
  1330  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1331  		if ms.LoadMessageInfo() == nil {
  1332  			ms.StoreMessageInfo(mi)
  1333  		}
  1334  		return ms
  1335  	}
  1336  	return mi.MessageOf(x)
  1337  }
  1338  
  1339  // Deprecated: Use TrackPublishedResponse.ProtoReflect.Descriptor instead.
  1340  func (*TrackPublishedResponse) Descriptor() ([]byte, []int) {
  1341  	return file_livekit_rtc_proto_rawDescGZIP(), []int{8}
  1342  }
  1343  
  1344  func (x *TrackPublishedResponse) GetCid() string {
  1345  	if x != nil {
  1346  		return x.Cid
  1347  	}
  1348  	return ""
  1349  }
  1350  
  1351  func (x *TrackPublishedResponse) GetTrack() *TrackInfo {
  1352  	if x != nil {
  1353  		return x.Track
  1354  	}
  1355  	return nil
  1356  }
  1357  
  1358  type TrackUnpublishedResponse struct {
  1359  	state         protoimpl.MessageState
  1360  	sizeCache     protoimpl.SizeCache
  1361  	unknownFields protoimpl.UnknownFields
  1362  
  1363  	TrackSid string `protobuf:"bytes,1,opt,name=track_sid,json=trackSid,proto3" json:"track_sid,omitempty"`
  1364  }
  1365  
  1366  func (x *TrackUnpublishedResponse) Reset() {
  1367  	*x = TrackUnpublishedResponse{}
  1368  	if protoimpl.UnsafeEnabled {
  1369  		mi := &file_livekit_rtc_proto_msgTypes[9]
  1370  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1371  		ms.StoreMessageInfo(mi)
  1372  	}
  1373  }
  1374  
  1375  func (x *TrackUnpublishedResponse) String() string {
  1376  	return protoimpl.X.MessageStringOf(x)
  1377  }
  1378  
  1379  func (*TrackUnpublishedResponse) ProtoMessage() {}
  1380  
  1381  func (x *TrackUnpublishedResponse) ProtoReflect() protoreflect.Message {
  1382  	mi := &file_livekit_rtc_proto_msgTypes[9]
  1383  	if protoimpl.UnsafeEnabled && x != nil {
  1384  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1385  		if ms.LoadMessageInfo() == nil {
  1386  			ms.StoreMessageInfo(mi)
  1387  		}
  1388  		return ms
  1389  	}
  1390  	return mi.MessageOf(x)
  1391  }
  1392  
  1393  // Deprecated: Use TrackUnpublishedResponse.ProtoReflect.Descriptor instead.
  1394  func (*TrackUnpublishedResponse) Descriptor() ([]byte, []int) {
  1395  	return file_livekit_rtc_proto_rawDescGZIP(), []int{9}
  1396  }
  1397  
  1398  func (x *TrackUnpublishedResponse) GetTrackSid() string {
  1399  	if x != nil {
  1400  		return x.TrackSid
  1401  	}
  1402  	return ""
  1403  }
  1404  
  1405  type SessionDescription struct {
  1406  	state         protoimpl.MessageState
  1407  	sizeCache     protoimpl.SizeCache
  1408  	unknownFields protoimpl.UnknownFields
  1409  
  1410  	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` // "answer" | "offer" | "pranswer" | "rollback"
  1411  	Sdp  string `protobuf:"bytes,2,opt,name=sdp,proto3" json:"sdp,omitempty"`
  1412  }
  1413  
  1414  func (x *SessionDescription) Reset() {
  1415  	*x = SessionDescription{}
  1416  	if protoimpl.UnsafeEnabled {
  1417  		mi := &file_livekit_rtc_proto_msgTypes[10]
  1418  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1419  		ms.StoreMessageInfo(mi)
  1420  	}
  1421  }
  1422  
  1423  func (x *SessionDescription) String() string {
  1424  	return protoimpl.X.MessageStringOf(x)
  1425  }
  1426  
  1427  func (*SessionDescription) ProtoMessage() {}
  1428  
  1429  func (x *SessionDescription) ProtoReflect() protoreflect.Message {
  1430  	mi := &file_livekit_rtc_proto_msgTypes[10]
  1431  	if protoimpl.UnsafeEnabled && x != nil {
  1432  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1433  		if ms.LoadMessageInfo() == nil {
  1434  			ms.StoreMessageInfo(mi)
  1435  		}
  1436  		return ms
  1437  	}
  1438  	return mi.MessageOf(x)
  1439  }
  1440  
  1441  // Deprecated: Use SessionDescription.ProtoReflect.Descriptor instead.
  1442  func (*SessionDescription) Descriptor() ([]byte, []int) {
  1443  	return file_livekit_rtc_proto_rawDescGZIP(), []int{10}
  1444  }
  1445  
  1446  func (x *SessionDescription) GetType() string {
  1447  	if x != nil {
  1448  		return x.Type
  1449  	}
  1450  	return ""
  1451  }
  1452  
  1453  func (x *SessionDescription) GetSdp() string {
  1454  	if x != nil {
  1455  		return x.Sdp
  1456  	}
  1457  	return ""
  1458  }
  1459  
  1460  type ParticipantUpdate struct {
  1461  	state         protoimpl.MessageState
  1462  	sizeCache     protoimpl.SizeCache
  1463  	unknownFields protoimpl.UnknownFields
  1464  
  1465  	Participants []*ParticipantInfo `protobuf:"bytes,1,rep,name=participants,proto3" json:"participants,omitempty"`
  1466  }
  1467  
  1468  func (x *ParticipantUpdate) Reset() {
  1469  	*x = ParticipantUpdate{}
  1470  	if protoimpl.UnsafeEnabled {
  1471  		mi := &file_livekit_rtc_proto_msgTypes[11]
  1472  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1473  		ms.StoreMessageInfo(mi)
  1474  	}
  1475  }
  1476  
  1477  func (x *ParticipantUpdate) String() string {
  1478  	return protoimpl.X.MessageStringOf(x)
  1479  }
  1480  
  1481  func (*ParticipantUpdate) ProtoMessage() {}
  1482  
  1483  func (x *ParticipantUpdate) ProtoReflect() protoreflect.Message {
  1484  	mi := &file_livekit_rtc_proto_msgTypes[11]
  1485  	if protoimpl.UnsafeEnabled && x != nil {
  1486  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1487  		if ms.LoadMessageInfo() == nil {
  1488  			ms.StoreMessageInfo(mi)
  1489  		}
  1490  		return ms
  1491  	}
  1492  	return mi.MessageOf(x)
  1493  }
  1494  
  1495  // Deprecated: Use ParticipantUpdate.ProtoReflect.Descriptor instead.
  1496  func (*ParticipantUpdate) Descriptor() ([]byte, []int) {
  1497  	return file_livekit_rtc_proto_rawDescGZIP(), []int{11}
  1498  }
  1499  
  1500  func (x *ParticipantUpdate) GetParticipants() []*ParticipantInfo {
  1501  	if x != nil {
  1502  		return x.Participants
  1503  	}
  1504  	return nil
  1505  }
  1506  
  1507  type UpdateSubscription struct {
  1508  	state         protoimpl.MessageState
  1509  	sizeCache     protoimpl.SizeCache
  1510  	unknownFields protoimpl.UnknownFields
  1511  
  1512  	TrackSids         []string             `protobuf:"bytes,1,rep,name=track_sids,json=trackSids,proto3" json:"track_sids,omitempty"`
  1513  	Subscribe         bool                 `protobuf:"varint,2,opt,name=subscribe,proto3" json:"subscribe,omitempty"`
  1514  	ParticipantTracks []*ParticipantTracks `protobuf:"bytes,3,rep,name=participant_tracks,json=participantTracks,proto3" json:"participant_tracks,omitempty"`
  1515  }
  1516  
  1517  func (x *UpdateSubscription) Reset() {
  1518  	*x = UpdateSubscription{}
  1519  	if protoimpl.UnsafeEnabled {
  1520  		mi := &file_livekit_rtc_proto_msgTypes[12]
  1521  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1522  		ms.StoreMessageInfo(mi)
  1523  	}
  1524  }
  1525  
  1526  func (x *UpdateSubscription) String() string {
  1527  	return protoimpl.X.MessageStringOf(x)
  1528  }
  1529  
  1530  func (*UpdateSubscription) ProtoMessage() {}
  1531  
  1532  func (x *UpdateSubscription) ProtoReflect() protoreflect.Message {
  1533  	mi := &file_livekit_rtc_proto_msgTypes[12]
  1534  	if protoimpl.UnsafeEnabled && x != nil {
  1535  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1536  		if ms.LoadMessageInfo() == nil {
  1537  			ms.StoreMessageInfo(mi)
  1538  		}
  1539  		return ms
  1540  	}
  1541  	return mi.MessageOf(x)
  1542  }
  1543  
  1544  // Deprecated: Use UpdateSubscription.ProtoReflect.Descriptor instead.
  1545  func (*UpdateSubscription) Descriptor() ([]byte, []int) {
  1546  	return file_livekit_rtc_proto_rawDescGZIP(), []int{12}
  1547  }
  1548  
  1549  func (x *UpdateSubscription) GetTrackSids() []string {
  1550  	if x != nil {
  1551  		return x.TrackSids
  1552  	}
  1553  	return nil
  1554  }
  1555  
  1556  func (x *UpdateSubscription) GetSubscribe() bool {
  1557  	if x != nil {
  1558  		return x.Subscribe
  1559  	}
  1560  	return false
  1561  }
  1562  
  1563  func (x *UpdateSubscription) GetParticipantTracks() []*ParticipantTracks {
  1564  	if x != nil {
  1565  		return x.ParticipantTracks
  1566  	}
  1567  	return nil
  1568  }
  1569  
  1570  type UpdateTrackSettings struct {
  1571  	state         protoimpl.MessageState
  1572  	sizeCache     protoimpl.SizeCache
  1573  	unknownFields protoimpl.UnknownFields
  1574  
  1575  	TrackSids []string `protobuf:"bytes,1,rep,name=track_sids,json=trackSids,proto3" json:"track_sids,omitempty"`
  1576  	// when true, the track is placed in a paused state, with no new data returned
  1577  	Disabled bool `protobuf:"varint,3,opt,name=disabled,proto3" json:"disabled,omitempty"`
  1578  	// deprecated in favor of width & height
  1579  	Quality VideoQuality `protobuf:"varint,4,opt,name=quality,proto3,enum=livekit.VideoQuality" json:"quality,omitempty"`
  1580  	// for video, width to receive
  1581  	Width uint32 `protobuf:"varint,5,opt,name=width,proto3" json:"width,omitempty"`
  1582  	// for video, height to receive
  1583  	Height uint32 `protobuf:"varint,6,opt,name=height,proto3" json:"height,omitempty"`
  1584  	Fps    uint32 `protobuf:"varint,7,opt,name=fps,proto3" json:"fps,omitempty"`
  1585  	// subscription priority. 1 being the highest (0 is unset)
  1586  	// when unset, server sill assign priority based on the order of subscription
  1587  	// server will use priority in the following ways:
  1588  	//  1. when subscribed tracks exceed per-participant subscription limit, server will
  1589  	//     pause the lowest priority tracks
  1590  	//  2. when the network is congested, server will assign available bandwidth to
  1591  	//     higher priority tracks first. lowest priority tracks can be paused
  1592  	Priority uint32 `protobuf:"varint,8,opt,name=priority,proto3" json:"priority,omitempty"`
  1593  }
  1594  
  1595  func (x *UpdateTrackSettings) Reset() {
  1596  	*x = UpdateTrackSettings{}
  1597  	if protoimpl.UnsafeEnabled {
  1598  		mi := &file_livekit_rtc_proto_msgTypes[13]
  1599  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1600  		ms.StoreMessageInfo(mi)
  1601  	}
  1602  }
  1603  
  1604  func (x *UpdateTrackSettings) String() string {
  1605  	return protoimpl.X.MessageStringOf(x)
  1606  }
  1607  
  1608  func (*UpdateTrackSettings) ProtoMessage() {}
  1609  
  1610  func (x *UpdateTrackSettings) ProtoReflect() protoreflect.Message {
  1611  	mi := &file_livekit_rtc_proto_msgTypes[13]
  1612  	if protoimpl.UnsafeEnabled && x != nil {
  1613  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1614  		if ms.LoadMessageInfo() == nil {
  1615  			ms.StoreMessageInfo(mi)
  1616  		}
  1617  		return ms
  1618  	}
  1619  	return mi.MessageOf(x)
  1620  }
  1621  
  1622  // Deprecated: Use UpdateTrackSettings.ProtoReflect.Descriptor instead.
  1623  func (*UpdateTrackSettings) Descriptor() ([]byte, []int) {
  1624  	return file_livekit_rtc_proto_rawDescGZIP(), []int{13}
  1625  }
  1626  
  1627  func (x *UpdateTrackSettings) GetTrackSids() []string {
  1628  	if x != nil {
  1629  		return x.TrackSids
  1630  	}
  1631  	return nil
  1632  }
  1633  
  1634  func (x *UpdateTrackSettings) GetDisabled() bool {
  1635  	if x != nil {
  1636  		return x.Disabled
  1637  	}
  1638  	return false
  1639  }
  1640  
  1641  func (x *UpdateTrackSettings) GetQuality() VideoQuality {
  1642  	if x != nil {
  1643  		return x.Quality
  1644  	}
  1645  	return VideoQuality_LOW
  1646  }
  1647  
  1648  func (x *UpdateTrackSettings) GetWidth() uint32 {
  1649  	if x != nil {
  1650  		return x.Width
  1651  	}
  1652  	return 0
  1653  }
  1654  
  1655  func (x *UpdateTrackSettings) GetHeight() uint32 {
  1656  	if x != nil {
  1657  		return x.Height
  1658  	}
  1659  	return 0
  1660  }
  1661  
  1662  func (x *UpdateTrackSettings) GetFps() uint32 {
  1663  	if x != nil {
  1664  		return x.Fps
  1665  	}
  1666  	return 0
  1667  }
  1668  
  1669  func (x *UpdateTrackSettings) GetPriority() uint32 {
  1670  	if x != nil {
  1671  		return x.Priority
  1672  	}
  1673  	return 0
  1674  }
  1675  
  1676  type LeaveRequest struct {
  1677  	state         protoimpl.MessageState
  1678  	sizeCache     protoimpl.SizeCache
  1679  	unknownFields protoimpl.UnknownFields
  1680  
  1681  	// sent when server initiates the disconnect due to server-restart
  1682  	// indicates clients should attempt full-reconnect sequence
  1683  	CanReconnect bool             `protobuf:"varint,1,opt,name=can_reconnect,json=canReconnect,proto3" json:"can_reconnect,omitempty"`
  1684  	Reason       DisconnectReason `protobuf:"varint,2,opt,name=reason,proto3,enum=livekit.DisconnectReason" json:"reason,omitempty"`
  1685  }
  1686  
  1687  func (x *LeaveRequest) Reset() {
  1688  	*x = LeaveRequest{}
  1689  	if protoimpl.UnsafeEnabled {
  1690  		mi := &file_livekit_rtc_proto_msgTypes[14]
  1691  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1692  		ms.StoreMessageInfo(mi)
  1693  	}
  1694  }
  1695  
  1696  func (x *LeaveRequest) String() string {
  1697  	return protoimpl.X.MessageStringOf(x)
  1698  }
  1699  
  1700  func (*LeaveRequest) ProtoMessage() {}
  1701  
  1702  func (x *LeaveRequest) ProtoReflect() protoreflect.Message {
  1703  	mi := &file_livekit_rtc_proto_msgTypes[14]
  1704  	if protoimpl.UnsafeEnabled && x != nil {
  1705  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1706  		if ms.LoadMessageInfo() == nil {
  1707  			ms.StoreMessageInfo(mi)
  1708  		}
  1709  		return ms
  1710  	}
  1711  	return mi.MessageOf(x)
  1712  }
  1713  
  1714  // Deprecated: Use LeaveRequest.ProtoReflect.Descriptor instead.
  1715  func (*LeaveRequest) Descriptor() ([]byte, []int) {
  1716  	return file_livekit_rtc_proto_rawDescGZIP(), []int{14}
  1717  }
  1718  
  1719  func (x *LeaveRequest) GetCanReconnect() bool {
  1720  	if x != nil {
  1721  		return x.CanReconnect
  1722  	}
  1723  	return false
  1724  }
  1725  
  1726  func (x *LeaveRequest) GetReason() DisconnectReason {
  1727  	if x != nil {
  1728  		return x.Reason
  1729  	}
  1730  	return DisconnectReason_UNKNOWN_REASON
  1731  }
  1732  
  1733  // message to indicate published video track dimensions are changing
  1734  type UpdateVideoLayers struct {
  1735  	state         protoimpl.MessageState
  1736  	sizeCache     protoimpl.SizeCache
  1737  	unknownFields protoimpl.UnknownFields
  1738  
  1739  	TrackSid string        `protobuf:"bytes,1,opt,name=track_sid,json=trackSid,proto3" json:"track_sid,omitempty"`
  1740  	Layers   []*VideoLayer `protobuf:"bytes,2,rep,name=layers,proto3" json:"layers,omitempty"`
  1741  }
  1742  
  1743  func (x *UpdateVideoLayers) Reset() {
  1744  	*x = UpdateVideoLayers{}
  1745  	if protoimpl.UnsafeEnabled {
  1746  		mi := &file_livekit_rtc_proto_msgTypes[15]
  1747  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1748  		ms.StoreMessageInfo(mi)
  1749  	}
  1750  }
  1751  
  1752  func (x *UpdateVideoLayers) String() string {
  1753  	return protoimpl.X.MessageStringOf(x)
  1754  }
  1755  
  1756  func (*UpdateVideoLayers) ProtoMessage() {}
  1757  
  1758  func (x *UpdateVideoLayers) ProtoReflect() protoreflect.Message {
  1759  	mi := &file_livekit_rtc_proto_msgTypes[15]
  1760  	if protoimpl.UnsafeEnabled && x != nil {
  1761  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1762  		if ms.LoadMessageInfo() == nil {
  1763  			ms.StoreMessageInfo(mi)
  1764  		}
  1765  		return ms
  1766  	}
  1767  	return mi.MessageOf(x)
  1768  }
  1769  
  1770  // Deprecated: Use UpdateVideoLayers.ProtoReflect.Descriptor instead.
  1771  func (*UpdateVideoLayers) Descriptor() ([]byte, []int) {
  1772  	return file_livekit_rtc_proto_rawDescGZIP(), []int{15}
  1773  }
  1774  
  1775  func (x *UpdateVideoLayers) GetTrackSid() string {
  1776  	if x != nil {
  1777  		return x.TrackSid
  1778  	}
  1779  	return ""
  1780  }
  1781  
  1782  func (x *UpdateVideoLayers) GetLayers() []*VideoLayer {
  1783  	if x != nil {
  1784  		return x.Layers
  1785  	}
  1786  	return nil
  1787  }
  1788  
  1789  type UpdateParticipantMetadata struct {
  1790  	state         protoimpl.MessageState
  1791  	sizeCache     protoimpl.SizeCache
  1792  	unknownFields protoimpl.UnknownFields
  1793  
  1794  	Metadata string `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
  1795  	Name     string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
  1796  }
  1797  
  1798  func (x *UpdateParticipantMetadata) Reset() {
  1799  	*x = UpdateParticipantMetadata{}
  1800  	if protoimpl.UnsafeEnabled {
  1801  		mi := &file_livekit_rtc_proto_msgTypes[16]
  1802  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1803  		ms.StoreMessageInfo(mi)
  1804  	}
  1805  }
  1806  
  1807  func (x *UpdateParticipantMetadata) String() string {
  1808  	return protoimpl.X.MessageStringOf(x)
  1809  }
  1810  
  1811  func (*UpdateParticipantMetadata) ProtoMessage() {}
  1812  
  1813  func (x *UpdateParticipantMetadata) ProtoReflect() protoreflect.Message {
  1814  	mi := &file_livekit_rtc_proto_msgTypes[16]
  1815  	if protoimpl.UnsafeEnabled && x != nil {
  1816  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1817  		if ms.LoadMessageInfo() == nil {
  1818  			ms.StoreMessageInfo(mi)
  1819  		}
  1820  		return ms
  1821  	}
  1822  	return mi.MessageOf(x)
  1823  }
  1824  
  1825  // Deprecated: Use UpdateParticipantMetadata.ProtoReflect.Descriptor instead.
  1826  func (*UpdateParticipantMetadata) Descriptor() ([]byte, []int) {
  1827  	return file_livekit_rtc_proto_rawDescGZIP(), []int{16}
  1828  }
  1829  
  1830  func (x *UpdateParticipantMetadata) GetMetadata() string {
  1831  	if x != nil {
  1832  		return x.Metadata
  1833  	}
  1834  	return ""
  1835  }
  1836  
  1837  func (x *UpdateParticipantMetadata) GetName() string {
  1838  	if x != nil {
  1839  		return x.Name
  1840  	}
  1841  	return ""
  1842  }
  1843  
  1844  type ICEServer struct {
  1845  	state         protoimpl.MessageState
  1846  	sizeCache     protoimpl.SizeCache
  1847  	unknownFields protoimpl.UnknownFields
  1848  
  1849  	Urls       []string `protobuf:"bytes,1,rep,name=urls,proto3" json:"urls,omitempty"`
  1850  	Username   string   `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
  1851  	Credential string   `protobuf:"bytes,3,opt,name=credential,proto3" json:"credential,omitempty"`
  1852  }
  1853  
  1854  func (x *ICEServer) Reset() {
  1855  	*x = ICEServer{}
  1856  	if protoimpl.UnsafeEnabled {
  1857  		mi := &file_livekit_rtc_proto_msgTypes[17]
  1858  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1859  		ms.StoreMessageInfo(mi)
  1860  	}
  1861  }
  1862  
  1863  func (x *ICEServer) String() string {
  1864  	return protoimpl.X.MessageStringOf(x)
  1865  }
  1866  
  1867  func (*ICEServer) ProtoMessage() {}
  1868  
  1869  func (x *ICEServer) ProtoReflect() protoreflect.Message {
  1870  	mi := &file_livekit_rtc_proto_msgTypes[17]
  1871  	if protoimpl.UnsafeEnabled && x != nil {
  1872  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1873  		if ms.LoadMessageInfo() == nil {
  1874  			ms.StoreMessageInfo(mi)
  1875  		}
  1876  		return ms
  1877  	}
  1878  	return mi.MessageOf(x)
  1879  }
  1880  
  1881  // Deprecated: Use ICEServer.ProtoReflect.Descriptor instead.
  1882  func (*ICEServer) Descriptor() ([]byte, []int) {
  1883  	return file_livekit_rtc_proto_rawDescGZIP(), []int{17}
  1884  }
  1885  
  1886  func (x *ICEServer) GetUrls() []string {
  1887  	if x != nil {
  1888  		return x.Urls
  1889  	}
  1890  	return nil
  1891  }
  1892  
  1893  func (x *ICEServer) GetUsername() string {
  1894  	if x != nil {
  1895  		return x.Username
  1896  	}
  1897  	return ""
  1898  }
  1899  
  1900  func (x *ICEServer) GetCredential() string {
  1901  	if x != nil {
  1902  		return x.Credential
  1903  	}
  1904  	return ""
  1905  }
  1906  
  1907  type SpeakersChanged struct {
  1908  	state         protoimpl.MessageState
  1909  	sizeCache     protoimpl.SizeCache
  1910  	unknownFields protoimpl.UnknownFields
  1911  
  1912  	Speakers []*SpeakerInfo `protobuf:"bytes,1,rep,name=speakers,proto3" json:"speakers,omitempty"`
  1913  }
  1914  
  1915  func (x *SpeakersChanged) Reset() {
  1916  	*x = SpeakersChanged{}
  1917  	if protoimpl.UnsafeEnabled {
  1918  		mi := &file_livekit_rtc_proto_msgTypes[18]
  1919  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1920  		ms.StoreMessageInfo(mi)
  1921  	}
  1922  }
  1923  
  1924  func (x *SpeakersChanged) String() string {
  1925  	return protoimpl.X.MessageStringOf(x)
  1926  }
  1927  
  1928  func (*SpeakersChanged) ProtoMessage() {}
  1929  
  1930  func (x *SpeakersChanged) ProtoReflect() protoreflect.Message {
  1931  	mi := &file_livekit_rtc_proto_msgTypes[18]
  1932  	if protoimpl.UnsafeEnabled && x != nil {
  1933  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1934  		if ms.LoadMessageInfo() == nil {
  1935  			ms.StoreMessageInfo(mi)
  1936  		}
  1937  		return ms
  1938  	}
  1939  	return mi.MessageOf(x)
  1940  }
  1941  
  1942  // Deprecated: Use SpeakersChanged.ProtoReflect.Descriptor instead.
  1943  func (*SpeakersChanged) Descriptor() ([]byte, []int) {
  1944  	return file_livekit_rtc_proto_rawDescGZIP(), []int{18}
  1945  }
  1946  
  1947  func (x *SpeakersChanged) GetSpeakers() []*SpeakerInfo {
  1948  	if x != nil {
  1949  		return x.Speakers
  1950  	}
  1951  	return nil
  1952  }
  1953  
  1954  type RoomUpdate struct {
  1955  	state         protoimpl.MessageState
  1956  	sizeCache     protoimpl.SizeCache
  1957  	unknownFields protoimpl.UnknownFields
  1958  
  1959  	Room *Room `protobuf:"bytes,1,opt,name=room,proto3" json:"room,omitempty"`
  1960  }
  1961  
  1962  func (x *RoomUpdate) Reset() {
  1963  	*x = RoomUpdate{}
  1964  	if protoimpl.UnsafeEnabled {
  1965  		mi := &file_livekit_rtc_proto_msgTypes[19]
  1966  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1967  		ms.StoreMessageInfo(mi)
  1968  	}
  1969  }
  1970  
  1971  func (x *RoomUpdate) String() string {
  1972  	return protoimpl.X.MessageStringOf(x)
  1973  }
  1974  
  1975  func (*RoomUpdate) ProtoMessage() {}
  1976  
  1977  func (x *RoomUpdate) ProtoReflect() protoreflect.Message {
  1978  	mi := &file_livekit_rtc_proto_msgTypes[19]
  1979  	if protoimpl.UnsafeEnabled && x != nil {
  1980  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1981  		if ms.LoadMessageInfo() == nil {
  1982  			ms.StoreMessageInfo(mi)
  1983  		}
  1984  		return ms
  1985  	}
  1986  	return mi.MessageOf(x)
  1987  }
  1988  
  1989  // Deprecated: Use RoomUpdate.ProtoReflect.Descriptor instead.
  1990  func (*RoomUpdate) Descriptor() ([]byte, []int) {
  1991  	return file_livekit_rtc_proto_rawDescGZIP(), []int{19}
  1992  }
  1993  
  1994  func (x *RoomUpdate) GetRoom() *Room {
  1995  	if x != nil {
  1996  		return x.Room
  1997  	}
  1998  	return nil
  1999  }
  2000  
  2001  type ConnectionQualityInfo struct {
  2002  	state         protoimpl.MessageState
  2003  	sizeCache     protoimpl.SizeCache
  2004  	unknownFields protoimpl.UnknownFields
  2005  
  2006  	ParticipantSid string            `protobuf:"bytes,1,opt,name=participant_sid,json=participantSid,proto3" json:"participant_sid,omitempty"`
  2007  	Quality        ConnectionQuality `protobuf:"varint,2,opt,name=quality,proto3,enum=livekit.ConnectionQuality" json:"quality,omitempty"`
  2008  	Score          float32           `protobuf:"fixed32,3,opt,name=score,proto3" json:"score,omitempty"`
  2009  }
  2010  
  2011  func (x *ConnectionQualityInfo) Reset() {
  2012  	*x = ConnectionQualityInfo{}
  2013  	if protoimpl.UnsafeEnabled {
  2014  		mi := &file_livekit_rtc_proto_msgTypes[20]
  2015  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2016  		ms.StoreMessageInfo(mi)
  2017  	}
  2018  }
  2019  
  2020  func (x *ConnectionQualityInfo) String() string {
  2021  	return protoimpl.X.MessageStringOf(x)
  2022  }
  2023  
  2024  func (*ConnectionQualityInfo) ProtoMessage() {}
  2025  
  2026  func (x *ConnectionQualityInfo) ProtoReflect() protoreflect.Message {
  2027  	mi := &file_livekit_rtc_proto_msgTypes[20]
  2028  	if protoimpl.UnsafeEnabled && x != nil {
  2029  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2030  		if ms.LoadMessageInfo() == nil {
  2031  			ms.StoreMessageInfo(mi)
  2032  		}
  2033  		return ms
  2034  	}
  2035  	return mi.MessageOf(x)
  2036  }
  2037  
  2038  // Deprecated: Use ConnectionQualityInfo.ProtoReflect.Descriptor instead.
  2039  func (*ConnectionQualityInfo) Descriptor() ([]byte, []int) {
  2040  	return file_livekit_rtc_proto_rawDescGZIP(), []int{20}
  2041  }
  2042  
  2043  func (x *ConnectionQualityInfo) GetParticipantSid() string {
  2044  	if x != nil {
  2045  		return x.ParticipantSid
  2046  	}
  2047  	return ""
  2048  }
  2049  
  2050  func (x *ConnectionQualityInfo) GetQuality() ConnectionQuality {
  2051  	if x != nil {
  2052  		return x.Quality
  2053  	}
  2054  	return ConnectionQuality_POOR
  2055  }
  2056  
  2057  func (x *ConnectionQualityInfo) GetScore() float32 {
  2058  	if x != nil {
  2059  		return x.Score
  2060  	}
  2061  	return 0
  2062  }
  2063  
  2064  type ConnectionQualityUpdate struct {
  2065  	state         protoimpl.MessageState
  2066  	sizeCache     protoimpl.SizeCache
  2067  	unknownFields protoimpl.UnknownFields
  2068  
  2069  	Updates []*ConnectionQualityInfo `protobuf:"bytes,1,rep,name=updates,proto3" json:"updates,omitempty"`
  2070  }
  2071  
  2072  func (x *ConnectionQualityUpdate) Reset() {
  2073  	*x = ConnectionQualityUpdate{}
  2074  	if protoimpl.UnsafeEnabled {
  2075  		mi := &file_livekit_rtc_proto_msgTypes[21]
  2076  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2077  		ms.StoreMessageInfo(mi)
  2078  	}
  2079  }
  2080  
  2081  func (x *ConnectionQualityUpdate) String() string {
  2082  	return protoimpl.X.MessageStringOf(x)
  2083  }
  2084  
  2085  func (*ConnectionQualityUpdate) ProtoMessage() {}
  2086  
  2087  func (x *ConnectionQualityUpdate) ProtoReflect() protoreflect.Message {
  2088  	mi := &file_livekit_rtc_proto_msgTypes[21]
  2089  	if protoimpl.UnsafeEnabled && x != nil {
  2090  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2091  		if ms.LoadMessageInfo() == nil {
  2092  			ms.StoreMessageInfo(mi)
  2093  		}
  2094  		return ms
  2095  	}
  2096  	return mi.MessageOf(x)
  2097  }
  2098  
  2099  // Deprecated: Use ConnectionQualityUpdate.ProtoReflect.Descriptor instead.
  2100  func (*ConnectionQualityUpdate) Descriptor() ([]byte, []int) {
  2101  	return file_livekit_rtc_proto_rawDescGZIP(), []int{21}
  2102  }
  2103  
  2104  func (x *ConnectionQualityUpdate) GetUpdates() []*ConnectionQualityInfo {
  2105  	if x != nil {
  2106  		return x.Updates
  2107  	}
  2108  	return nil
  2109  }
  2110  
  2111  type StreamStateInfo struct {
  2112  	state         protoimpl.MessageState
  2113  	sizeCache     protoimpl.SizeCache
  2114  	unknownFields protoimpl.UnknownFields
  2115  
  2116  	ParticipantSid string      `protobuf:"bytes,1,opt,name=participant_sid,json=participantSid,proto3" json:"participant_sid,omitempty"`
  2117  	TrackSid       string      `protobuf:"bytes,2,opt,name=track_sid,json=trackSid,proto3" json:"track_sid,omitempty"`
  2118  	State          StreamState `protobuf:"varint,3,opt,name=state,proto3,enum=livekit.StreamState" json:"state,omitempty"`
  2119  }
  2120  
  2121  func (x *StreamStateInfo) Reset() {
  2122  	*x = StreamStateInfo{}
  2123  	if protoimpl.UnsafeEnabled {
  2124  		mi := &file_livekit_rtc_proto_msgTypes[22]
  2125  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2126  		ms.StoreMessageInfo(mi)
  2127  	}
  2128  }
  2129  
  2130  func (x *StreamStateInfo) String() string {
  2131  	return protoimpl.X.MessageStringOf(x)
  2132  }
  2133  
  2134  func (*StreamStateInfo) ProtoMessage() {}
  2135  
  2136  func (x *StreamStateInfo) ProtoReflect() protoreflect.Message {
  2137  	mi := &file_livekit_rtc_proto_msgTypes[22]
  2138  	if protoimpl.UnsafeEnabled && x != nil {
  2139  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2140  		if ms.LoadMessageInfo() == nil {
  2141  			ms.StoreMessageInfo(mi)
  2142  		}
  2143  		return ms
  2144  	}
  2145  	return mi.MessageOf(x)
  2146  }
  2147  
  2148  // Deprecated: Use StreamStateInfo.ProtoReflect.Descriptor instead.
  2149  func (*StreamStateInfo) Descriptor() ([]byte, []int) {
  2150  	return file_livekit_rtc_proto_rawDescGZIP(), []int{22}
  2151  }
  2152  
  2153  func (x *StreamStateInfo) GetParticipantSid() string {
  2154  	if x != nil {
  2155  		return x.ParticipantSid
  2156  	}
  2157  	return ""
  2158  }
  2159  
  2160  func (x *StreamStateInfo) GetTrackSid() string {
  2161  	if x != nil {
  2162  		return x.TrackSid
  2163  	}
  2164  	return ""
  2165  }
  2166  
  2167  func (x *StreamStateInfo) GetState() StreamState {
  2168  	if x != nil {
  2169  		return x.State
  2170  	}
  2171  	return StreamState_ACTIVE
  2172  }
  2173  
  2174  type StreamStateUpdate struct {
  2175  	state         protoimpl.MessageState
  2176  	sizeCache     protoimpl.SizeCache
  2177  	unknownFields protoimpl.UnknownFields
  2178  
  2179  	StreamStates []*StreamStateInfo `protobuf:"bytes,1,rep,name=stream_states,json=streamStates,proto3" json:"stream_states,omitempty"`
  2180  }
  2181  
  2182  func (x *StreamStateUpdate) Reset() {
  2183  	*x = StreamStateUpdate{}
  2184  	if protoimpl.UnsafeEnabled {
  2185  		mi := &file_livekit_rtc_proto_msgTypes[23]
  2186  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2187  		ms.StoreMessageInfo(mi)
  2188  	}
  2189  }
  2190  
  2191  func (x *StreamStateUpdate) String() string {
  2192  	return protoimpl.X.MessageStringOf(x)
  2193  }
  2194  
  2195  func (*StreamStateUpdate) ProtoMessage() {}
  2196  
  2197  func (x *StreamStateUpdate) ProtoReflect() protoreflect.Message {
  2198  	mi := &file_livekit_rtc_proto_msgTypes[23]
  2199  	if protoimpl.UnsafeEnabled && x != nil {
  2200  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2201  		if ms.LoadMessageInfo() == nil {
  2202  			ms.StoreMessageInfo(mi)
  2203  		}
  2204  		return ms
  2205  	}
  2206  	return mi.MessageOf(x)
  2207  }
  2208  
  2209  // Deprecated: Use StreamStateUpdate.ProtoReflect.Descriptor instead.
  2210  func (*StreamStateUpdate) Descriptor() ([]byte, []int) {
  2211  	return file_livekit_rtc_proto_rawDescGZIP(), []int{23}
  2212  }
  2213  
  2214  func (x *StreamStateUpdate) GetStreamStates() []*StreamStateInfo {
  2215  	if x != nil {
  2216  		return x.StreamStates
  2217  	}
  2218  	return nil
  2219  }
  2220  
  2221  type SubscribedQuality struct {
  2222  	state         protoimpl.MessageState
  2223  	sizeCache     protoimpl.SizeCache
  2224  	unknownFields protoimpl.UnknownFields
  2225  
  2226  	Quality VideoQuality `protobuf:"varint,1,opt,name=quality,proto3,enum=livekit.VideoQuality" json:"quality,omitempty"`
  2227  	Enabled bool         `protobuf:"varint,2,opt,name=enabled,proto3" json:"enabled,omitempty"`
  2228  }
  2229  
  2230  func (x *SubscribedQuality) Reset() {
  2231  	*x = SubscribedQuality{}
  2232  	if protoimpl.UnsafeEnabled {
  2233  		mi := &file_livekit_rtc_proto_msgTypes[24]
  2234  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2235  		ms.StoreMessageInfo(mi)
  2236  	}
  2237  }
  2238  
  2239  func (x *SubscribedQuality) String() string {
  2240  	return protoimpl.X.MessageStringOf(x)
  2241  }
  2242  
  2243  func (*SubscribedQuality) ProtoMessage() {}
  2244  
  2245  func (x *SubscribedQuality) ProtoReflect() protoreflect.Message {
  2246  	mi := &file_livekit_rtc_proto_msgTypes[24]
  2247  	if protoimpl.UnsafeEnabled && x != nil {
  2248  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2249  		if ms.LoadMessageInfo() == nil {
  2250  			ms.StoreMessageInfo(mi)
  2251  		}
  2252  		return ms
  2253  	}
  2254  	return mi.MessageOf(x)
  2255  }
  2256  
  2257  // Deprecated: Use SubscribedQuality.ProtoReflect.Descriptor instead.
  2258  func (*SubscribedQuality) Descriptor() ([]byte, []int) {
  2259  	return file_livekit_rtc_proto_rawDescGZIP(), []int{24}
  2260  }
  2261  
  2262  func (x *SubscribedQuality) GetQuality() VideoQuality {
  2263  	if x != nil {
  2264  		return x.Quality
  2265  	}
  2266  	return VideoQuality_LOW
  2267  }
  2268  
  2269  func (x *SubscribedQuality) GetEnabled() bool {
  2270  	if x != nil {
  2271  		return x.Enabled
  2272  	}
  2273  	return false
  2274  }
  2275  
  2276  type SubscribedCodec struct {
  2277  	state         protoimpl.MessageState
  2278  	sizeCache     protoimpl.SizeCache
  2279  	unknownFields protoimpl.UnknownFields
  2280  
  2281  	Codec     string               `protobuf:"bytes,1,opt,name=codec,proto3" json:"codec,omitempty"`
  2282  	Qualities []*SubscribedQuality `protobuf:"bytes,2,rep,name=qualities,proto3" json:"qualities,omitempty"`
  2283  }
  2284  
  2285  func (x *SubscribedCodec) Reset() {
  2286  	*x = SubscribedCodec{}
  2287  	if protoimpl.UnsafeEnabled {
  2288  		mi := &file_livekit_rtc_proto_msgTypes[25]
  2289  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2290  		ms.StoreMessageInfo(mi)
  2291  	}
  2292  }
  2293  
  2294  func (x *SubscribedCodec) String() string {
  2295  	return protoimpl.X.MessageStringOf(x)
  2296  }
  2297  
  2298  func (*SubscribedCodec) ProtoMessage() {}
  2299  
  2300  func (x *SubscribedCodec) ProtoReflect() protoreflect.Message {
  2301  	mi := &file_livekit_rtc_proto_msgTypes[25]
  2302  	if protoimpl.UnsafeEnabled && x != nil {
  2303  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2304  		if ms.LoadMessageInfo() == nil {
  2305  			ms.StoreMessageInfo(mi)
  2306  		}
  2307  		return ms
  2308  	}
  2309  	return mi.MessageOf(x)
  2310  }
  2311  
  2312  // Deprecated: Use SubscribedCodec.ProtoReflect.Descriptor instead.
  2313  func (*SubscribedCodec) Descriptor() ([]byte, []int) {
  2314  	return file_livekit_rtc_proto_rawDescGZIP(), []int{25}
  2315  }
  2316  
  2317  func (x *SubscribedCodec) GetCodec() string {
  2318  	if x != nil {
  2319  		return x.Codec
  2320  	}
  2321  	return ""
  2322  }
  2323  
  2324  func (x *SubscribedCodec) GetQualities() []*SubscribedQuality {
  2325  	if x != nil {
  2326  		return x.Qualities
  2327  	}
  2328  	return nil
  2329  }
  2330  
  2331  type SubscribedQualityUpdate struct {
  2332  	state         protoimpl.MessageState
  2333  	sizeCache     protoimpl.SizeCache
  2334  	unknownFields protoimpl.UnknownFields
  2335  
  2336  	TrackSid            string               `protobuf:"bytes,1,opt,name=track_sid,json=trackSid,proto3" json:"track_sid,omitempty"`
  2337  	SubscribedQualities []*SubscribedQuality `protobuf:"bytes,2,rep,name=subscribed_qualities,json=subscribedQualities,proto3" json:"subscribed_qualities,omitempty"`
  2338  	SubscribedCodecs    []*SubscribedCodec   `protobuf:"bytes,3,rep,name=subscribed_codecs,json=subscribedCodecs,proto3" json:"subscribed_codecs,omitempty"`
  2339  }
  2340  
  2341  func (x *SubscribedQualityUpdate) Reset() {
  2342  	*x = SubscribedQualityUpdate{}
  2343  	if protoimpl.UnsafeEnabled {
  2344  		mi := &file_livekit_rtc_proto_msgTypes[26]
  2345  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2346  		ms.StoreMessageInfo(mi)
  2347  	}
  2348  }
  2349  
  2350  func (x *SubscribedQualityUpdate) String() string {
  2351  	return protoimpl.X.MessageStringOf(x)
  2352  }
  2353  
  2354  func (*SubscribedQualityUpdate) ProtoMessage() {}
  2355  
  2356  func (x *SubscribedQualityUpdate) ProtoReflect() protoreflect.Message {
  2357  	mi := &file_livekit_rtc_proto_msgTypes[26]
  2358  	if protoimpl.UnsafeEnabled && x != nil {
  2359  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2360  		if ms.LoadMessageInfo() == nil {
  2361  			ms.StoreMessageInfo(mi)
  2362  		}
  2363  		return ms
  2364  	}
  2365  	return mi.MessageOf(x)
  2366  }
  2367  
  2368  // Deprecated: Use SubscribedQualityUpdate.ProtoReflect.Descriptor instead.
  2369  func (*SubscribedQualityUpdate) Descriptor() ([]byte, []int) {
  2370  	return file_livekit_rtc_proto_rawDescGZIP(), []int{26}
  2371  }
  2372  
  2373  func (x *SubscribedQualityUpdate) GetTrackSid() string {
  2374  	if x != nil {
  2375  		return x.TrackSid
  2376  	}
  2377  	return ""
  2378  }
  2379  
  2380  func (x *SubscribedQualityUpdate) GetSubscribedQualities() []*SubscribedQuality {
  2381  	if x != nil {
  2382  		return x.SubscribedQualities
  2383  	}
  2384  	return nil
  2385  }
  2386  
  2387  func (x *SubscribedQualityUpdate) GetSubscribedCodecs() []*SubscribedCodec {
  2388  	if x != nil {
  2389  		return x.SubscribedCodecs
  2390  	}
  2391  	return nil
  2392  }
  2393  
  2394  type TrackPermission struct {
  2395  	state         protoimpl.MessageState
  2396  	sizeCache     protoimpl.SizeCache
  2397  	unknownFields protoimpl.UnknownFields
  2398  
  2399  	// permission could be granted either by participant sid or identity
  2400  	ParticipantSid      string   `protobuf:"bytes,1,opt,name=participant_sid,json=participantSid,proto3" json:"participant_sid,omitempty"`
  2401  	AllTracks           bool     `protobuf:"varint,2,opt,name=all_tracks,json=allTracks,proto3" json:"all_tracks,omitempty"`
  2402  	TrackSids           []string `protobuf:"bytes,3,rep,name=track_sids,json=trackSids,proto3" json:"track_sids,omitempty"`
  2403  	ParticipantIdentity string   `protobuf:"bytes,4,opt,name=participant_identity,json=participantIdentity,proto3" json:"participant_identity,omitempty"`
  2404  }
  2405  
  2406  func (x *TrackPermission) Reset() {
  2407  	*x = TrackPermission{}
  2408  	if protoimpl.UnsafeEnabled {
  2409  		mi := &file_livekit_rtc_proto_msgTypes[27]
  2410  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2411  		ms.StoreMessageInfo(mi)
  2412  	}
  2413  }
  2414  
  2415  func (x *TrackPermission) String() string {
  2416  	return protoimpl.X.MessageStringOf(x)
  2417  }
  2418  
  2419  func (*TrackPermission) ProtoMessage() {}
  2420  
  2421  func (x *TrackPermission) ProtoReflect() protoreflect.Message {
  2422  	mi := &file_livekit_rtc_proto_msgTypes[27]
  2423  	if protoimpl.UnsafeEnabled && x != nil {
  2424  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2425  		if ms.LoadMessageInfo() == nil {
  2426  			ms.StoreMessageInfo(mi)
  2427  		}
  2428  		return ms
  2429  	}
  2430  	return mi.MessageOf(x)
  2431  }
  2432  
  2433  // Deprecated: Use TrackPermission.ProtoReflect.Descriptor instead.
  2434  func (*TrackPermission) Descriptor() ([]byte, []int) {
  2435  	return file_livekit_rtc_proto_rawDescGZIP(), []int{27}
  2436  }
  2437  
  2438  func (x *TrackPermission) GetParticipantSid() string {
  2439  	if x != nil {
  2440  		return x.ParticipantSid
  2441  	}
  2442  	return ""
  2443  }
  2444  
  2445  func (x *TrackPermission) GetAllTracks() bool {
  2446  	if x != nil {
  2447  		return x.AllTracks
  2448  	}
  2449  	return false
  2450  }
  2451  
  2452  func (x *TrackPermission) GetTrackSids() []string {
  2453  	if x != nil {
  2454  		return x.TrackSids
  2455  	}
  2456  	return nil
  2457  }
  2458  
  2459  func (x *TrackPermission) GetParticipantIdentity() string {
  2460  	if x != nil {
  2461  		return x.ParticipantIdentity
  2462  	}
  2463  	return ""
  2464  }
  2465  
  2466  type SubscriptionPermission struct {
  2467  	state         protoimpl.MessageState
  2468  	sizeCache     protoimpl.SizeCache
  2469  	unknownFields protoimpl.UnknownFields
  2470  
  2471  	AllParticipants  bool               `protobuf:"varint,1,opt,name=all_participants,json=allParticipants,proto3" json:"all_participants,omitempty"`
  2472  	TrackPermissions []*TrackPermission `protobuf:"bytes,2,rep,name=track_permissions,json=trackPermissions,proto3" json:"track_permissions,omitempty"`
  2473  }
  2474  
  2475  func (x *SubscriptionPermission) Reset() {
  2476  	*x = SubscriptionPermission{}
  2477  	if protoimpl.UnsafeEnabled {
  2478  		mi := &file_livekit_rtc_proto_msgTypes[28]
  2479  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2480  		ms.StoreMessageInfo(mi)
  2481  	}
  2482  }
  2483  
  2484  func (x *SubscriptionPermission) String() string {
  2485  	return protoimpl.X.MessageStringOf(x)
  2486  }
  2487  
  2488  func (*SubscriptionPermission) ProtoMessage() {}
  2489  
  2490  func (x *SubscriptionPermission) ProtoReflect() protoreflect.Message {
  2491  	mi := &file_livekit_rtc_proto_msgTypes[28]
  2492  	if protoimpl.UnsafeEnabled && x != nil {
  2493  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2494  		if ms.LoadMessageInfo() == nil {
  2495  			ms.StoreMessageInfo(mi)
  2496  		}
  2497  		return ms
  2498  	}
  2499  	return mi.MessageOf(x)
  2500  }
  2501  
  2502  // Deprecated: Use SubscriptionPermission.ProtoReflect.Descriptor instead.
  2503  func (*SubscriptionPermission) Descriptor() ([]byte, []int) {
  2504  	return file_livekit_rtc_proto_rawDescGZIP(), []int{28}
  2505  }
  2506  
  2507  func (x *SubscriptionPermission) GetAllParticipants() bool {
  2508  	if x != nil {
  2509  		return x.AllParticipants
  2510  	}
  2511  	return false
  2512  }
  2513  
  2514  func (x *SubscriptionPermission) GetTrackPermissions() []*TrackPermission {
  2515  	if x != nil {
  2516  		return x.TrackPermissions
  2517  	}
  2518  	return nil
  2519  }
  2520  
  2521  type SubscriptionPermissionUpdate struct {
  2522  	state         protoimpl.MessageState
  2523  	sizeCache     protoimpl.SizeCache
  2524  	unknownFields protoimpl.UnknownFields
  2525  
  2526  	ParticipantSid string `protobuf:"bytes,1,opt,name=participant_sid,json=participantSid,proto3" json:"participant_sid,omitempty"`
  2527  	TrackSid       string `protobuf:"bytes,2,opt,name=track_sid,json=trackSid,proto3" json:"track_sid,omitempty"`
  2528  	Allowed        bool   `protobuf:"varint,3,opt,name=allowed,proto3" json:"allowed,omitempty"`
  2529  }
  2530  
  2531  func (x *SubscriptionPermissionUpdate) Reset() {
  2532  	*x = SubscriptionPermissionUpdate{}
  2533  	if protoimpl.UnsafeEnabled {
  2534  		mi := &file_livekit_rtc_proto_msgTypes[29]
  2535  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2536  		ms.StoreMessageInfo(mi)
  2537  	}
  2538  }
  2539  
  2540  func (x *SubscriptionPermissionUpdate) String() string {
  2541  	return protoimpl.X.MessageStringOf(x)
  2542  }
  2543  
  2544  func (*SubscriptionPermissionUpdate) ProtoMessage() {}
  2545  
  2546  func (x *SubscriptionPermissionUpdate) ProtoReflect() protoreflect.Message {
  2547  	mi := &file_livekit_rtc_proto_msgTypes[29]
  2548  	if protoimpl.UnsafeEnabled && x != nil {
  2549  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2550  		if ms.LoadMessageInfo() == nil {
  2551  			ms.StoreMessageInfo(mi)
  2552  		}
  2553  		return ms
  2554  	}
  2555  	return mi.MessageOf(x)
  2556  }
  2557  
  2558  // Deprecated: Use SubscriptionPermissionUpdate.ProtoReflect.Descriptor instead.
  2559  func (*SubscriptionPermissionUpdate) Descriptor() ([]byte, []int) {
  2560  	return file_livekit_rtc_proto_rawDescGZIP(), []int{29}
  2561  }
  2562  
  2563  func (x *SubscriptionPermissionUpdate) GetParticipantSid() string {
  2564  	if x != nil {
  2565  		return x.ParticipantSid
  2566  	}
  2567  	return ""
  2568  }
  2569  
  2570  func (x *SubscriptionPermissionUpdate) GetTrackSid() string {
  2571  	if x != nil {
  2572  		return x.TrackSid
  2573  	}
  2574  	return ""
  2575  }
  2576  
  2577  func (x *SubscriptionPermissionUpdate) GetAllowed() bool {
  2578  	if x != nil {
  2579  		return x.Allowed
  2580  	}
  2581  	return false
  2582  }
  2583  
  2584  type SyncState struct {
  2585  	state         protoimpl.MessageState
  2586  	sizeCache     protoimpl.SizeCache
  2587  	unknownFields protoimpl.UnknownFields
  2588  
  2589  	// last subscribe answer before reconnecting
  2590  	Answer        *SessionDescription       `protobuf:"bytes,1,opt,name=answer,proto3" json:"answer,omitempty"`
  2591  	Subscription  *UpdateSubscription       `protobuf:"bytes,2,opt,name=subscription,proto3" json:"subscription,omitempty"`
  2592  	PublishTracks []*TrackPublishedResponse `protobuf:"bytes,3,rep,name=publish_tracks,json=publishTracks,proto3" json:"publish_tracks,omitempty"`
  2593  	DataChannels  []*DataChannelInfo        `protobuf:"bytes,4,rep,name=data_channels,json=dataChannels,proto3" json:"data_channels,omitempty"`
  2594  	// last received server side offer before reconnecting
  2595  	Offer *SessionDescription `protobuf:"bytes,5,opt,name=offer,proto3" json:"offer,omitempty"`
  2596  }
  2597  
  2598  func (x *SyncState) Reset() {
  2599  	*x = SyncState{}
  2600  	if protoimpl.UnsafeEnabled {
  2601  		mi := &file_livekit_rtc_proto_msgTypes[30]
  2602  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2603  		ms.StoreMessageInfo(mi)
  2604  	}
  2605  }
  2606  
  2607  func (x *SyncState) String() string {
  2608  	return protoimpl.X.MessageStringOf(x)
  2609  }
  2610  
  2611  func (*SyncState) ProtoMessage() {}
  2612  
  2613  func (x *SyncState) ProtoReflect() protoreflect.Message {
  2614  	mi := &file_livekit_rtc_proto_msgTypes[30]
  2615  	if protoimpl.UnsafeEnabled && x != nil {
  2616  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2617  		if ms.LoadMessageInfo() == nil {
  2618  			ms.StoreMessageInfo(mi)
  2619  		}
  2620  		return ms
  2621  	}
  2622  	return mi.MessageOf(x)
  2623  }
  2624  
  2625  // Deprecated: Use SyncState.ProtoReflect.Descriptor instead.
  2626  func (*SyncState) Descriptor() ([]byte, []int) {
  2627  	return file_livekit_rtc_proto_rawDescGZIP(), []int{30}
  2628  }
  2629  
  2630  func (x *SyncState) GetAnswer() *SessionDescription {
  2631  	if x != nil {
  2632  		return x.Answer
  2633  	}
  2634  	return nil
  2635  }
  2636  
  2637  func (x *SyncState) GetSubscription() *UpdateSubscription {
  2638  	if x != nil {
  2639  		return x.Subscription
  2640  	}
  2641  	return nil
  2642  }
  2643  
  2644  func (x *SyncState) GetPublishTracks() []*TrackPublishedResponse {
  2645  	if x != nil {
  2646  		return x.PublishTracks
  2647  	}
  2648  	return nil
  2649  }
  2650  
  2651  func (x *SyncState) GetDataChannels() []*DataChannelInfo {
  2652  	if x != nil {
  2653  		return x.DataChannels
  2654  	}
  2655  	return nil
  2656  }
  2657  
  2658  func (x *SyncState) GetOffer() *SessionDescription {
  2659  	if x != nil {
  2660  		return x.Offer
  2661  	}
  2662  	return nil
  2663  }
  2664  
  2665  type DataChannelInfo struct {
  2666  	state         protoimpl.MessageState
  2667  	sizeCache     protoimpl.SizeCache
  2668  	unknownFields protoimpl.UnknownFields
  2669  
  2670  	Label  string       `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"`
  2671  	Id     uint32       `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`
  2672  	Target SignalTarget `protobuf:"varint,3,opt,name=target,proto3,enum=livekit.SignalTarget" json:"target,omitempty"`
  2673  }
  2674  
  2675  func (x *DataChannelInfo) Reset() {
  2676  	*x = DataChannelInfo{}
  2677  	if protoimpl.UnsafeEnabled {
  2678  		mi := &file_livekit_rtc_proto_msgTypes[31]
  2679  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2680  		ms.StoreMessageInfo(mi)
  2681  	}
  2682  }
  2683  
  2684  func (x *DataChannelInfo) String() string {
  2685  	return protoimpl.X.MessageStringOf(x)
  2686  }
  2687  
  2688  func (*DataChannelInfo) ProtoMessage() {}
  2689  
  2690  func (x *DataChannelInfo) ProtoReflect() protoreflect.Message {
  2691  	mi := &file_livekit_rtc_proto_msgTypes[31]
  2692  	if protoimpl.UnsafeEnabled && x != nil {
  2693  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2694  		if ms.LoadMessageInfo() == nil {
  2695  			ms.StoreMessageInfo(mi)
  2696  		}
  2697  		return ms
  2698  	}
  2699  	return mi.MessageOf(x)
  2700  }
  2701  
  2702  // Deprecated: Use DataChannelInfo.ProtoReflect.Descriptor instead.
  2703  func (*DataChannelInfo) Descriptor() ([]byte, []int) {
  2704  	return file_livekit_rtc_proto_rawDescGZIP(), []int{31}
  2705  }
  2706  
  2707  func (x *DataChannelInfo) GetLabel() string {
  2708  	if x != nil {
  2709  		return x.Label
  2710  	}
  2711  	return ""
  2712  }
  2713  
  2714  func (x *DataChannelInfo) GetId() uint32 {
  2715  	if x != nil {
  2716  		return x.Id
  2717  	}
  2718  	return 0
  2719  }
  2720  
  2721  func (x *DataChannelInfo) GetTarget() SignalTarget {
  2722  	if x != nil {
  2723  		return x.Target
  2724  	}
  2725  	return SignalTarget_PUBLISHER
  2726  }
  2727  
  2728  type SimulateScenario struct {
  2729  	state         protoimpl.MessageState
  2730  	sizeCache     protoimpl.SizeCache
  2731  	unknownFields protoimpl.UnknownFields
  2732  
  2733  	// Types that are assignable to Scenario:
  2734  	//
  2735  	//	*SimulateScenario_SpeakerUpdate
  2736  	//	*SimulateScenario_NodeFailure
  2737  	//	*SimulateScenario_Migration
  2738  	//	*SimulateScenario_ServerLeave
  2739  	//	*SimulateScenario_SwitchCandidateProtocol
  2740  	//	*SimulateScenario_SubscriberBandwidth
  2741  	Scenario isSimulateScenario_Scenario `protobuf_oneof:"scenario"`
  2742  }
  2743  
  2744  func (x *SimulateScenario) Reset() {
  2745  	*x = SimulateScenario{}
  2746  	if protoimpl.UnsafeEnabled {
  2747  		mi := &file_livekit_rtc_proto_msgTypes[32]
  2748  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2749  		ms.StoreMessageInfo(mi)
  2750  	}
  2751  }
  2752  
  2753  func (x *SimulateScenario) String() string {
  2754  	return protoimpl.X.MessageStringOf(x)
  2755  }
  2756  
  2757  func (*SimulateScenario) ProtoMessage() {}
  2758  
  2759  func (x *SimulateScenario) ProtoReflect() protoreflect.Message {
  2760  	mi := &file_livekit_rtc_proto_msgTypes[32]
  2761  	if protoimpl.UnsafeEnabled && x != nil {
  2762  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2763  		if ms.LoadMessageInfo() == nil {
  2764  			ms.StoreMessageInfo(mi)
  2765  		}
  2766  		return ms
  2767  	}
  2768  	return mi.MessageOf(x)
  2769  }
  2770  
  2771  // Deprecated: Use SimulateScenario.ProtoReflect.Descriptor instead.
  2772  func (*SimulateScenario) Descriptor() ([]byte, []int) {
  2773  	return file_livekit_rtc_proto_rawDescGZIP(), []int{32}
  2774  }
  2775  
  2776  func (m *SimulateScenario) GetScenario() isSimulateScenario_Scenario {
  2777  	if m != nil {
  2778  		return m.Scenario
  2779  	}
  2780  	return nil
  2781  }
  2782  
  2783  func (x *SimulateScenario) GetSpeakerUpdate() int32 {
  2784  	if x, ok := x.GetScenario().(*SimulateScenario_SpeakerUpdate); ok {
  2785  		return x.SpeakerUpdate
  2786  	}
  2787  	return 0
  2788  }
  2789  
  2790  func (x *SimulateScenario) GetNodeFailure() bool {
  2791  	if x, ok := x.GetScenario().(*SimulateScenario_NodeFailure); ok {
  2792  		return x.NodeFailure
  2793  	}
  2794  	return false
  2795  }
  2796  
  2797  func (x *SimulateScenario) GetMigration() bool {
  2798  	if x, ok := x.GetScenario().(*SimulateScenario_Migration); ok {
  2799  		return x.Migration
  2800  	}
  2801  	return false
  2802  }
  2803  
  2804  func (x *SimulateScenario) GetServerLeave() bool {
  2805  	if x, ok := x.GetScenario().(*SimulateScenario_ServerLeave); ok {
  2806  		return x.ServerLeave
  2807  	}
  2808  	return false
  2809  }
  2810  
  2811  func (x *SimulateScenario) GetSwitchCandidateProtocol() CandidateProtocol {
  2812  	if x, ok := x.GetScenario().(*SimulateScenario_SwitchCandidateProtocol); ok {
  2813  		return x.SwitchCandidateProtocol
  2814  	}
  2815  	return CandidateProtocol_UDP
  2816  }
  2817  
  2818  func (x *SimulateScenario) GetSubscriberBandwidth() int64 {
  2819  	if x, ok := x.GetScenario().(*SimulateScenario_SubscriberBandwidth); ok {
  2820  		return x.SubscriberBandwidth
  2821  	}
  2822  	return 0
  2823  }
  2824  
  2825  type isSimulateScenario_Scenario interface {
  2826  	isSimulateScenario_Scenario()
  2827  }
  2828  
  2829  type SimulateScenario_SpeakerUpdate struct {
  2830  	// simulate N seconds of speaker activity
  2831  	SpeakerUpdate int32 `protobuf:"varint,1,opt,name=speaker_update,json=speakerUpdate,proto3,oneof"`
  2832  }
  2833  
  2834  type SimulateScenario_NodeFailure struct {
  2835  	// simulate local node failure
  2836  	NodeFailure bool `protobuf:"varint,2,opt,name=node_failure,json=nodeFailure,proto3,oneof"`
  2837  }
  2838  
  2839  type SimulateScenario_Migration struct {
  2840  	// simulate migration
  2841  	Migration bool `protobuf:"varint,3,opt,name=migration,proto3,oneof"`
  2842  }
  2843  
  2844  type SimulateScenario_ServerLeave struct {
  2845  	// server to send leave
  2846  	ServerLeave bool `protobuf:"varint,4,opt,name=server_leave,json=serverLeave,proto3,oneof"`
  2847  }
  2848  
  2849  type SimulateScenario_SwitchCandidateProtocol struct {
  2850  	// switch candidate protocol to tcp
  2851  	SwitchCandidateProtocol CandidateProtocol `protobuf:"varint,5,opt,name=switch_candidate_protocol,json=switchCandidateProtocol,proto3,enum=livekit.CandidateProtocol,oneof"`
  2852  }
  2853  
  2854  type SimulateScenario_SubscriberBandwidth struct {
  2855  	// maximum bandwidth for subscribers, in bps
  2856  	// when zero, clears artificial bandwidth limit
  2857  	SubscriberBandwidth int64 `protobuf:"varint,6,opt,name=subscriber_bandwidth,json=subscriberBandwidth,proto3,oneof"`
  2858  }
  2859  
  2860  func (*SimulateScenario_SpeakerUpdate) isSimulateScenario_Scenario() {}
  2861  
  2862  func (*SimulateScenario_NodeFailure) isSimulateScenario_Scenario() {}
  2863  
  2864  func (*SimulateScenario_Migration) isSimulateScenario_Scenario() {}
  2865  
  2866  func (*SimulateScenario_ServerLeave) isSimulateScenario_Scenario() {}
  2867  
  2868  func (*SimulateScenario_SwitchCandidateProtocol) isSimulateScenario_Scenario() {}
  2869  
  2870  func (*SimulateScenario_SubscriberBandwidth) isSimulateScenario_Scenario() {}
  2871  
  2872  type Ping struct {
  2873  	state         protoimpl.MessageState
  2874  	sizeCache     protoimpl.SizeCache
  2875  	unknownFields protoimpl.UnknownFields
  2876  
  2877  	Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
  2878  	// rtt in milliseconds calculated by client
  2879  	Rtt int64 `protobuf:"varint,2,opt,name=rtt,proto3" json:"rtt,omitempty"`
  2880  }
  2881  
  2882  func (x *Ping) Reset() {
  2883  	*x = Ping{}
  2884  	if protoimpl.UnsafeEnabled {
  2885  		mi := &file_livekit_rtc_proto_msgTypes[33]
  2886  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2887  		ms.StoreMessageInfo(mi)
  2888  	}
  2889  }
  2890  
  2891  func (x *Ping) String() string {
  2892  	return protoimpl.X.MessageStringOf(x)
  2893  }
  2894  
  2895  func (*Ping) ProtoMessage() {}
  2896  
  2897  func (x *Ping) ProtoReflect() protoreflect.Message {
  2898  	mi := &file_livekit_rtc_proto_msgTypes[33]
  2899  	if protoimpl.UnsafeEnabled && x != nil {
  2900  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2901  		if ms.LoadMessageInfo() == nil {
  2902  			ms.StoreMessageInfo(mi)
  2903  		}
  2904  		return ms
  2905  	}
  2906  	return mi.MessageOf(x)
  2907  }
  2908  
  2909  // Deprecated: Use Ping.ProtoReflect.Descriptor instead.
  2910  func (*Ping) Descriptor() ([]byte, []int) {
  2911  	return file_livekit_rtc_proto_rawDescGZIP(), []int{33}
  2912  }
  2913  
  2914  func (x *Ping) GetTimestamp() int64 {
  2915  	if x != nil {
  2916  		return x.Timestamp
  2917  	}
  2918  	return 0
  2919  }
  2920  
  2921  func (x *Ping) GetRtt() int64 {
  2922  	if x != nil {
  2923  		return x.Rtt
  2924  	}
  2925  	return 0
  2926  }
  2927  
  2928  type Pong struct {
  2929  	state         protoimpl.MessageState
  2930  	sizeCache     protoimpl.SizeCache
  2931  	unknownFields protoimpl.UnknownFields
  2932  
  2933  	// timestamp field of last received ping request
  2934  	LastPingTimestamp int64 `protobuf:"varint,1,opt,name=last_ping_timestamp,json=lastPingTimestamp,proto3" json:"last_ping_timestamp,omitempty"`
  2935  	Timestamp         int64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
  2936  }
  2937  
  2938  func (x *Pong) Reset() {
  2939  	*x = Pong{}
  2940  	if protoimpl.UnsafeEnabled {
  2941  		mi := &file_livekit_rtc_proto_msgTypes[34]
  2942  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2943  		ms.StoreMessageInfo(mi)
  2944  	}
  2945  }
  2946  
  2947  func (x *Pong) String() string {
  2948  	return protoimpl.X.MessageStringOf(x)
  2949  }
  2950  
  2951  func (*Pong) ProtoMessage() {}
  2952  
  2953  func (x *Pong) ProtoReflect() protoreflect.Message {
  2954  	mi := &file_livekit_rtc_proto_msgTypes[34]
  2955  	if protoimpl.UnsafeEnabled && x != nil {
  2956  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2957  		if ms.LoadMessageInfo() == nil {
  2958  			ms.StoreMessageInfo(mi)
  2959  		}
  2960  		return ms
  2961  	}
  2962  	return mi.MessageOf(x)
  2963  }
  2964  
  2965  // Deprecated: Use Pong.ProtoReflect.Descriptor instead.
  2966  func (*Pong) Descriptor() ([]byte, []int) {
  2967  	return file_livekit_rtc_proto_rawDescGZIP(), []int{34}
  2968  }
  2969  
  2970  func (x *Pong) GetLastPingTimestamp() int64 {
  2971  	if x != nil {
  2972  		return x.LastPingTimestamp
  2973  	}
  2974  	return 0
  2975  }
  2976  
  2977  func (x *Pong) GetTimestamp() int64 {
  2978  	if x != nil {
  2979  		return x.Timestamp
  2980  	}
  2981  	return 0
  2982  }
  2983  
  2984  type RegionSettings struct {
  2985  	state         protoimpl.MessageState
  2986  	sizeCache     protoimpl.SizeCache
  2987  	unknownFields protoimpl.UnknownFields
  2988  
  2989  	Regions []*RegionInfo `protobuf:"bytes,1,rep,name=regions,proto3" json:"regions,omitempty"`
  2990  }
  2991  
  2992  func (x *RegionSettings) Reset() {
  2993  	*x = RegionSettings{}
  2994  	if protoimpl.UnsafeEnabled {
  2995  		mi := &file_livekit_rtc_proto_msgTypes[35]
  2996  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2997  		ms.StoreMessageInfo(mi)
  2998  	}
  2999  }
  3000  
  3001  func (x *RegionSettings) String() string {
  3002  	return protoimpl.X.MessageStringOf(x)
  3003  }
  3004  
  3005  func (*RegionSettings) ProtoMessage() {}
  3006  
  3007  func (x *RegionSettings) ProtoReflect() protoreflect.Message {
  3008  	mi := &file_livekit_rtc_proto_msgTypes[35]
  3009  	if protoimpl.UnsafeEnabled && x != nil {
  3010  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3011  		if ms.LoadMessageInfo() == nil {
  3012  			ms.StoreMessageInfo(mi)
  3013  		}
  3014  		return ms
  3015  	}
  3016  	return mi.MessageOf(x)
  3017  }
  3018  
  3019  // Deprecated: Use RegionSettings.ProtoReflect.Descriptor instead.
  3020  func (*RegionSettings) Descriptor() ([]byte, []int) {
  3021  	return file_livekit_rtc_proto_rawDescGZIP(), []int{35}
  3022  }
  3023  
  3024  func (x *RegionSettings) GetRegions() []*RegionInfo {
  3025  	if x != nil {
  3026  		return x.Regions
  3027  	}
  3028  	return nil
  3029  }
  3030  
  3031  type RegionInfo struct {
  3032  	state         protoimpl.MessageState
  3033  	sizeCache     protoimpl.SizeCache
  3034  	unknownFields protoimpl.UnknownFields
  3035  
  3036  	Region   string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"`
  3037  	Url      string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
  3038  	Distance int64  `protobuf:"varint,3,opt,name=distance,proto3" json:"distance,omitempty"`
  3039  }
  3040  
  3041  func (x *RegionInfo) Reset() {
  3042  	*x = RegionInfo{}
  3043  	if protoimpl.UnsafeEnabled {
  3044  		mi := &file_livekit_rtc_proto_msgTypes[36]
  3045  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3046  		ms.StoreMessageInfo(mi)
  3047  	}
  3048  }
  3049  
  3050  func (x *RegionInfo) String() string {
  3051  	return protoimpl.X.MessageStringOf(x)
  3052  }
  3053  
  3054  func (*RegionInfo) ProtoMessage() {}
  3055  
  3056  func (x *RegionInfo) ProtoReflect() protoreflect.Message {
  3057  	mi := &file_livekit_rtc_proto_msgTypes[36]
  3058  	if protoimpl.UnsafeEnabled && x != nil {
  3059  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3060  		if ms.LoadMessageInfo() == nil {
  3061  			ms.StoreMessageInfo(mi)
  3062  		}
  3063  		return ms
  3064  	}
  3065  	return mi.MessageOf(x)
  3066  }
  3067  
  3068  // Deprecated: Use RegionInfo.ProtoReflect.Descriptor instead.
  3069  func (*RegionInfo) Descriptor() ([]byte, []int) {
  3070  	return file_livekit_rtc_proto_rawDescGZIP(), []int{36}
  3071  }
  3072  
  3073  func (x *RegionInfo) GetRegion() string {
  3074  	if x != nil {
  3075  		return x.Region
  3076  	}
  3077  	return ""
  3078  }
  3079  
  3080  func (x *RegionInfo) GetUrl() string {
  3081  	if x != nil {
  3082  		return x.Url
  3083  	}
  3084  	return ""
  3085  }
  3086  
  3087  func (x *RegionInfo) GetDistance() int64 {
  3088  	if x != nil {
  3089  		return x.Distance
  3090  	}
  3091  	return 0
  3092  }
  3093  
  3094  var File_livekit_rtc_proto protoreflect.FileDescriptor
  3095  
  3096  var file_livekit_rtc_proto_rawDesc = []byte{
  3097  	0x0a, 0x11, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x72, 0x74, 0x63, 0x2e, 0x70, 0x72,
  3098  	0x6f, 0x74, 0x6f, 0x12, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x1a, 0x14, 0x6c, 0x69,
  3099  	0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f,
  3100  	0x74, 0x6f, 0x22, 0xfa, 0x06, 0x0a, 0x0d, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x71,
  3101  	0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x05, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x18, 0x01, 0x20,
  3102  	0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65,
  3103  	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
  3104  	0x48, 0x00, 0x52, 0x05, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x06, 0x61, 0x6e, 0x73,
  3105  	0x77, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65,
  3106  	0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x72,
  3107  	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72,
  3108  	0x12, 0x33, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x63, 0x6b, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
  3109  	0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x69, 0x63,
  3110  	0x6b, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x74, 0x72,
  3111  	0x69, 0x63, 0x6b, 0x6c, 0x65, 0x12, 0x37, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x5f, 0x74, 0x72, 0x61,
  3112  	0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
  3113  	0x69, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65,
  3114  	0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x61, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x12, 0x2f,
  3115  	0x0a, 0x04, 0x6d, 0x75, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c,
  3116  	0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4d, 0x75, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x6b,
  3117  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x6d, 0x75, 0x74, 0x65, 0x12,
  3118  	0x41, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18,
  3119  	0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e,
  3120  	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
  3121  	0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
  3122  	0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x74, 0x74,
  3123  	0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65,
  3124  	0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53,
  3125  	0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x63, 0x6b,
  3126  	0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x2d, 0x0a, 0x05, 0x6c, 0x65, 0x61, 0x76, 0x65,
  3127  	0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74,
  3128  	0x2e, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52,
  3129  	0x05, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x12, 0x41, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
  3130  	0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
  3131  	0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x69,
  3132  	0x64, 0x65, 0x6f, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x75, 0x70, 0x64,
  3133  	0x61, 0x74, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x5a, 0x0a, 0x17, 0x73, 0x75, 0x62,
  3134  	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73,
  3135  	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6c, 0x69, 0x76,
  3136  	0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
  3137  	0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x16, 0x73,
  3138  	0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69,
  3139  	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x0a, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x73, 0x74,
  3140  	0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65,
  3141  	0x6b, 0x69, 0x74, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52,
  3142  	0x09, 0x73, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x73, 0x69,
  3143  	0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c,
  3144  	0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x53,
  3145  	0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x48, 0x00, 0x52, 0x08, 0x73, 0x69, 0x6d, 0x75, 0x6c,
  3146  	0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28,
  3147  	0x03, 0x48, 0x00, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x4d, 0x0a, 0x0f, 0x75, 0x70, 0x64,
  3148  	0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0f, 0x20, 0x01,
  3149  	0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64,
  3150  	0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65,
  3151  	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
  3152  	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x08, 0x70, 0x69, 0x6e, 0x67,
  3153  	0x5f, 0x72, 0x65, 0x71, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x69, 0x76,
  3154  	0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x70, 0x69, 0x6e,
  3155  	0x67, 0x52, 0x65, 0x71, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22,
  3156  	0xb3, 0x09, 0x0a, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
  3157  	0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
  3158  	0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x52,
  3159  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x04, 0x6a, 0x6f, 0x69, 0x6e, 0x12,
  3160  	0x35, 0x0a, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
  3161  	0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f,
  3162  	0x6e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06,
  3163  	0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x05, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x18,
  3164  	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e,
  3165  	0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
  3166  	0x6f, 0x6e, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x07, 0x74,
  3167  	0x72, 0x69, 0x63, 0x6b, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c,
  3168  	0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x69, 0x63, 0x6b, 0x6c, 0x65, 0x52, 0x65,
  3169  	0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x74, 0x72, 0x69, 0x63, 0x6b, 0x6c, 0x65,
  3170  	0x12, 0x34, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
  3171  	0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69,
  3172  	0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x06,
  3173  	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x4a, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f,
  3174  	0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
  3175  	0x1f, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x50,
  3176  	0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  3177  	0x48, 0x00, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68,
  3178  	0x65, 0x64, 0x12, 0x2d, 0x0a, 0x05, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28,
  3179  	0x0b, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x65, 0x61, 0x76,
  3180  	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x65, 0x61, 0x76,
  3181  	0x65, 0x12, 0x2f, 0x0a, 0x04, 0x6d, 0x75, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32,
  3182  	0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4d, 0x75, 0x74, 0x65, 0x54, 0x72,
  3183  	0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x6d, 0x75,
  3184  	0x74, 0x65, 0x12, 0x45, 0x0a, 0x10, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x5f, 0x63,
  3185  	0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c,
  3186  	0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x43,
  3187  	0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65,
  3188  	0x72, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x0b, 0x72, 0x6f, 0x6f,
  3189  	0x6d, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13,
  3190  	0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x55, 0x70, 0x64,
  3191  	0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x6f, 0x6f, 0x6d, 0x55, 0x70, 0x64, 0x61, 0x74,
  3192  	0x65, 0x12, 0x51, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
  3193  	0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e,
  3194  	0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69,
  3195  	0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48,
  3196  	0x00, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61,
  3197  	0x6c, 0x69, 0x74, 0x79, 0x12, 0x4c, 0x0a, 0x13, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x73,
  3198  	0x74, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28,
  3199  	0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65,
  3200  	0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52,
  3201  	0x11, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x55, 0x70, 0x64, 0x61,
  3202  	0x74, 0x65, 0x12, 0x5e, 0x0a, 0x19, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64,
  3203  	0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18,
  3204  	0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e,
  3205  	0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74,
  3206  	0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x17, 0x73, 0x75, 0x62, 0x73, 0x63,
  3207  	0x72, 0x69, 0x62, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61,
  3208  	0x74, 0x65, 0x12, 0x6d, 0x0a, 0x1e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
  3209  	0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x70,
  3210  	0x64, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6c, 0x69, 0x76,
  3211  	0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
  3212  	0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74,
  3213  	0x65, 0x48, 0x00, 0x52, 0x1c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
  3214  	0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74,
  3215  	0x65, 0x12, 0x25, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x6b,
  3216  	0x65, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x72,
  3217  	0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x50, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x63,
  3218  	0x6b, 0x5f, 0x75, 0x6e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x11, 0x20,
  3219  	0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72,
  3220  	0x61, 0x63, 0x6b, 0x55, 0x6e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65,
  3221  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x10, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x55,
  3222  	0x6e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x04, 0x70, 0x6f,
  3223  	0x6e, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x6e, 0x67,
  3224  	0x12, 0x3a, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x13, 0x20,
  3225  	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65,
  3226  	0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48,
  3227  	0x00, 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x2c, 0x0a, 0x09,
  3228  	0x70, 0x6f, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32,
  3229  	0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x6f, 0x6e, 0x67, 0x48, 0x00,
  3230  	0x52, 0x08, 0x70, 0x6f, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65,
  3231  	0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x70, 0x0a, 0x0e, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x63, 0x61,
  3232  	0x73, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63,
  3233  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x10, 0x0a,
  3234  	0x03, 0x63, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x12,
  3235  	0x36, 0x0a, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x63,
  3236  	0x61, 0x73, 0x74, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
  3237  	0x52, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x63, 0x61, 0x73,
  3238  	0x74, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0xe8, 0x03, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x54,
  3239  	0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x63,
  3240  	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x12, 0x12, 0x0a,
  3241  	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
  3242  	0x65, 0x12, 0x26, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32,
  3243  	0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x54,
  3244  	0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64,
  3245  	0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12,
  3246  	0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52,
  3247  	0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64,
  3248  	0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x12, 0x1f, 0x0a,
  3249  	0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x74, 0x78, 0x18, 0x07, 0x20, 0x01,
  3250  	0x28, 0x08, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x74, 0x78, 0x12, 0x2c,
  3251  	0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14,
  3252  	0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x6f,
  3253  	0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x06,
  3254  	0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c,
  3255  	0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x61, 0x79, 0x65,
  3256  	0x72, 0x52, 0x06, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x42, 0x0a, 0x10, 0x73, 0x69, 0x6d,
  3257  	0x75, 0x6c, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x18, 0x0a, 0x20,
  3258  	0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x69,
  3259  	0x6d, 0x75, 0x6c, 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x0f, 0x73, 0x69,
  3260  	0x6d, 0x75, 0x6c, 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x12, 0x10, 0x0a,
  3261  	0x03, 0x73, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x69, 0x64, 0x12,
  3262  	0x16, 0x0a, 0x06, 0x73, 0x74, 0x65, 0x72, 0x65, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52,
  3263  	0x06, 0x73, 0x74, 0x65, 0x72, 0x65, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62,
  3264  	0x6c, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x69,
  3265  	0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x72,
  3266  	0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c,
  3267  	0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f,
  3268  	0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69,
  3269  	0x6f, 0x6e, 0x22, 0x65, 0x0a, 0x0e, 0x54, 0x72, 0x69, 0x63, 0x6b, 0x6c, 0x65, 0x52, 0x65, 0x71,
  3270  	0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74,
  3271  	0x65, 0x49, 0x6e, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x6e,
  3272  	0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61,
  3273  	0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76,
  3274  	0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x54, 0x61, 0x72, 0x67, 0x65,
  3275  	0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x3a, 0x0a, 0x10, 0x4d, 0x75, 0x74,
  3276  	0x65, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a,
  3277  	0x03, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x69, 0x64, 0x12,
  3278  	0x14, 0x0a, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05,
  3279  	0x6d, 0x75, 0x74, 0x65, 0x64, 0x22, 0xde, 0x04, 0x0a, 0x0c, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x65,
  3280  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01,
  3281  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52,
  3282  	0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x3a, 0x0a, 0x0b, 0x70, 0x61, 0x72,
  3283  	0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18,
  3284  	0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69,
  3285  	0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63,
  3286  	0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x12, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x70,
  3287  	0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
  3288  	0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74,
  3289  	0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x11, 0x6f, 0x74, 0x68,
  3290  	0x65, 0x72, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x25,
  3291  	0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
  3292  	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x65,
  3293  	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x0b, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x72,
  3294  	0x76, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76,
  3295  	0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x43, 0x45, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x0a,
  3296  	0x69, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x73, 0x75,
  3297  	0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79,
  3298  	0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62,
  3299  	0x65, 0x72, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x6c, 0x74,
  3300  	0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01,
  3301  	0x28, 0x09, 0x52, 0x0e, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x55,
  3302  	0x72, 0x6c, 0x12, 0x4f, 0x0a, 0x14, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e,
  3303  	0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
  3304  	0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e,
  3305  	0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13,
  3306  	0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74,
  3307  	0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x65,
  3308  	0x67, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76,
  3309  	0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69, 0x6e, 0x67,
  3310  	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b,
  3311  	0x70, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x70,
  3312  	0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x0b, 0x20, 0x01,
  3313  	0x28, 0x05, 0x52, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c,
  3314  	0x12, 0x34, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
  3315  	0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e,
  3316  	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76,
  3317  	0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x99, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x63, 0x6f, 0x6e,
  3318  	0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x0b,
  3319  	0x69, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
  3320  	0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x43, 0x45, 0x53,
  3321  	0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x0a, 0x69, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
  3322  	0x73, 0x12, 0x4f, 0x0a, 0x14, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
  3323  	0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
  3324  	0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
  3325  	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x63,
  3326  	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69,
  3327  	0x6f, 0x6e, 0x22, 0x54, 0x0a, 0x16, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x50, 0x75, 0x62, 0x6c, 0x69,
  3328  	0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03,
  3329  	0x63, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x12, 0x28,
  3330  	0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
  3331  	0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66,
  3332  	0x6f, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x22, 0x37, 0x0a, 0x18, 0x54, 0x72, 0x61, 0x63,
  3333  	0x6b, 0x55, 0x6e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70,
  3334  	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x69,
  3335  	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x69,
  3336  	0x64, 0x22, 0x3a, 0x0a, 0x12, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x73, 0x63,
  3337  	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
  3338  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73,
  3339  	0x64, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x64, 0x70, 0x22, 0x51, 0x0a,
  3340  	0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61,
  3341  	0x74, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e,
  3342  	0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
  3343  	0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e,
  3344  	0x66, 0x6f, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73,
  3345  	0x22, 0x9c, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63,
  3346  	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b,
  3347  	0x5f, 0x73, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72, 0x61,
  3348  	0x63, 0x6b, 0x53, 0x69, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72,
  3349  	0x69, 0x62, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x75, 0x62, 0x73, 0x63,
  3350  	0x72, 0x69, 0x62, 0x65, 0x12, 0x49, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70,
  3351  	0x61, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
  3352  	0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69,
  3353  	0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x52, 0x11, 0x70, 0x61,
  3354  	0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x22,
  3355  	0xdd, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53,
  3356  	0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b,
  3357  	0x5f, 0x73, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72, 0x61,
  3358  	0x63, 0x6b, 0x53, 0x69, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
  3359  	0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
  3360  	0x65, 0x64, 0x12, 0x2f, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20,
  3361  	0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69,
  3362  	0x64, 0x65, 0x6f, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c,
  3363  	0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01,
  3364  	0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69,
  3365  	0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68,
  3366  	0x74, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x70, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
  3367  	0x66, 0x70, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18,
  3368  	0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22,
  3369  	0x66, 0x0a, 0x0c, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
  3370  	0x23, 0x0a, 0x0d, 0x63, 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
  3371  	0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x6e,
  3372  	0x6e, 0x65, 0x63, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02,
  3373  	0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44,
  3374  	0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52,
  3375  	0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x5d, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74,
  3376  	0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x1b, 0x0a, 0x09,
  3377  	0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  3378  	0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x06, 0x6c, 0x61, 0x79,
  3379  	0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65,
  3380  	0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x06,
  3381  	0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0x4b, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
  3382  	0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64,
  3383  	0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18,
  3384  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12,
  3385  	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
  3386  	0x61, 0x6d, 0x65, 0x22, 0x5b, 0x0a, 0x09, 0x49, 0x43, 0x45, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
  3387  	0x12, 0x12, 0x0a, 0x04, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04,
  3388  	0x75, 0x72, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65,
  3389  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65,
  3390  	0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x03,
  3391  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c,
  3392  	0x22, 0x43, 0x0a, 0x0f, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61, 0x6e,
  3393  	0x67, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x08, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x18,
  3394  	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e,
  3395  	0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x73, 0x70, 0x65,
  3396  	0x61, 0x6b, 0x65, 0x72, 0x73, 0x22, 0x2f, 0x0a, 0x0a, 0x52, 0x6f, 0x6f, 0x6d, 0x55, 0x70, 0x64,
  3397  	0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28,
  3398  	0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d,
  3399  	0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x22, 0x8c, 0x01, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x6e, 0x65,
  3400  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f,
  3401  	0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f,
  3402  	0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69,
  3403  	0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x69, 0x64, 0x12, 0x34, 0x0a, 0x07, 0x71, 0x75, 0x61,
  3404  	0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76,
  3405  	0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51,
  3406  	0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12,
  3407  	0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05,
  3408  	0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x53, 0x0a, 0x17, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
  3409  	0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
  3410  	0x12, 0x38, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
  3411  	0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x6e,
  3412  	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66,
  3413  	0x6f, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x0f, 0x53,
  3414  	0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x27,
  3415  	0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x69,
  3416  	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69,
  3417  	0x70, 0x61, 0x6e, 0x74, 0x53, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b,
  3418  	0x5f, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, 0x61, 0x63,
  3419  	0x6b, 0x53, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20,
  3420  	0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74,
  3421  	0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65,
  3422  	0x22, 0x52, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x55,
  3423  	0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f,
  3424  	0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c,
  3425  	0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61,
  3426  	0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74,
  3427  	0x61, 0x74, 0x65, 0x73, 0x22, 0x5e, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62,
  3428  	0x65, 0x64, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x2f, 0x0a, 0x07, 0x71, 0x75, 0x61,
  3429  	0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76,
  3430  	0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74,
  3431  	0x79, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e,
  3432  	0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61,
  3433  	0x62, 0x6c, 0x65, 0x64, 0x22, 0x61, 0x0a, 0x0f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62,
  3434  	0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63,
  3435  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x38, 0x0a,
  3436  	0x09, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
  3437  	0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63,
  3438  	0x72, 0x69, 0x62, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x09, 0x71, 0x75,
  3439  	0x61, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0xcc, 0x01, 0x0a, 0x17, 0x53, 0x75, 0x62, 0x73,
  3440  	0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64,
  3441  	0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x64,
  3442  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x69, 0x64,
  3443  	0x12, 0x4d, 0x0a, 0x14, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x5f, 0x71,
  3444  	0x75, 0x61, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a,
  3445  	0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
  3446  	0x62, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x13, 0x73, 0x75, 0x62, 0x73,
  3447  	0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12,
  3448  	0x45, 0x0a, 0x11, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x5f, 0x63, 0x6f,
  3449  	0x64, 0x65, 0x63, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76,
  3450  	0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x43,
  3451  	0x6f, 0x64, 0x65, 0x63, 0x52, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64,
  3452  	0x43, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x22, 0xab, 0x01, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x63, 0x6b,
  3453  	0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61,
  3454  	0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20,
  3455  	0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74,
  3456  	0x53, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b,
  3457  	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x54, 0x72, 0x61, 0x63,
  3458  	0x6b, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x64, 0x73,
  3459  	0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x69, 0x64,
  3460  	0x73, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74,
  3461  	0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
  3462  	0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e,
  3463  	0x74, 0x69, 0x74, 0x79, 0x22, 0x8a, 0x01, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
  3464  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12,
  3465  	0x29, 0x0a, 0x10, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61,
  3466  	0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x50, 0x61,
  3467  	0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x45, 0x0a, 0x11, 0x74, 0x72,
  3468  	0x61, 0x63, 0x6b, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18,
  3469  	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e,
  3470  	0x54, 0x72, 0x61, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52,
  3471  	0x10, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
  3472  	0x73, 0x22, 0x7e, 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
  3473  	0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74,
  3474  	0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74,
  3475  	0x5f, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74,
  3476  	0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72,
  3477  	0x61, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74,
  3478  	0x72, 0x61, 0x63, 0x6b, 0x53, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x6c, 0x6c, 0x6f, 0x77,
  3479  	0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65,
  3480  	0x64, 0x22, 0xbb, 0x02, 0x0a, 0x09, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
  3481  	0x33, 0x0a, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
  3482  	0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f,
  3483  	0x6e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x6e,
  3484  	0x73, 0x77, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70,
  3485  	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76,
  3486  	0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63,
  3487  	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
  3488  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x0e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68,
  3489  	0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
  3490  	0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x50, 0x75, 0x62,
  3491  	0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0d,
  3492  	0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x3d, 0x0a,
  3493  	0x0d, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x04,
  3494  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44,
  3495  	0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c,
  3496  	0x64, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x31, 0x0a, 0x05,
  3497  	0x6f, 0x66, 0x66, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69,
  3498  	0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x73,
  3499  	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x22,
  3500  	0x66, 0x0a, 0x0f, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e,
  3501  	0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28,
  3502  	0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02,
  3503  	0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67,
  3504  	0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
  3505  	0x69, 0x74, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52,
  3506  	0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0xc0, 0x02, 0x0a, 0x10, 0x53, 0x69, 0x6d, 0x75,
  3507  	0x6c, 0x61, 0x74, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x12, 0x27, 0x0a, 0x0e,
  3508  	0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01,
  3509  	0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x55,
  3510  	0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x66, 0x61,
  3511  	0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x6e,
  3512  	0x6f, 0x64, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x09, 0x6d, 0x69,
  3513  	0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52,
  3514  	0x09, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x65,
  3515  	0x72, 0x76, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08,
  3516  	0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x12,
  3517  	0x58, 0x0a, 0x19, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64,
  3518  	0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x05, 0x20, 0x01,
  3519  	0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x61, 0x6e,
  3520  	0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x00,
  3521  	0x52, 0x17, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74,
  3522  	0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x33, 0x0a, 0x14, 0x73, 0x75, 0x62,
  3523  	0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74,
  3524  	0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x13, 0x73, 0x75, 0x62, 0x73, 0x63,
  3525  	0x72, 0x69, 0x62, 0x65, 0x72, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x42, 0x0a,
  3526  	0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x22, 0x36, 0x0a, 0x04, 0x50, 0x69,
  3527  	0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18,
  3528  	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
  3529  	0x12, 0x10, 0x0a, 0x03, 0x72, 0x74, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x72,
  3530  	0x74, 0x74, 0x22, 0x54, 0x0a, 0x04, 0x50, 0x6f, 0x6e, 0x67, 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x61,
  3531  	0x73, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
  3532  	0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x69, 0x6e,
  3533  	0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69,
  3534  	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74,
  3535  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x3f, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69,
  3536  	0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2d, 0x0a, 0x07, 0x72, 0x65,
  3537  	0x67, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69,
  3538  	0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
  3539  	0x52, 0x07, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x52, 0x0a, 0x0a, 0x52, 0x65, 0x67,
  3540  	0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f,
  3541  	0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12,
  3542  	0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72,
  3543  	0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20,
  3544  	0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2a, 0x2d, 0x0a,
  3545  	0x0c, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x0d, 0x0a,
  3546  	0x09, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a,
  3547  	0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x52, 0x10, 0x01, 0x2a, 0x25, 0x0a, 0x0b,
  3548  	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x41,
  3549  	0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x41, 0x55, 0x53, 0x45,
  3550  	0x44, 0x10, 0x01, 0x2a, 0x2e, 0x0a, 0x11, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65,
  3551  	0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x44, 0x50, 0x10,
  3552  	0x00, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x4c,
  3553  	0x53, 0x10, 0x02, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
  3554  	0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
  3555  	0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, 0x69, 0x76,
  3556  	0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, 0x69, 0x76,
  3557  	0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
  3558  	0x74, 0x6f, 0x33,
  3559  }
  3560  
  3561  var (
  3562  	file_livekit_rtc_proto_rawDescOnce sync.Once
  3563  	file_livekit_rtc_proto_rawDescData = file_livekit_rtc_proto_rawDesc
  3564  )
  3565  
  3566  func file_livekit_rtc_proto_rawDescGZIP() []byte {
  3567  	file_livekit_rtc_proto_rawDescOnce.Do(func() {
  3568  		file_livekit_rtc_proto_rawDescData = protoimpl.X.CompressGZIP(file_livekit_rtc_proto_rawDescData)
  3569  	})
  3570  	return file_livekit_rtc_proto_rawDescData
  3571  }
  3572  
  3573  var file_livekit_rtc_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
  3574  var file_livekit_rtc_proto_msgTypes = make([]protoimpl.MessageInfo, 37)
  3575  var file_livekit_rtc_proto_goTypes = []interface{}{
  3576  	(SignalTarget)(0),                    // 0: livekit.SignalTarget
  3577  	(StreamState)(0),                     // 1: livekit.StreamState
  3578  	(CandidateProtocol)(0),               // 2: livekit.CandidateProtocol
  3579  	(*SignalRequest)(nil),                // 3: livekit.SignalRequest
  3580  	(*SignalResponse)(nil),               // 4: livekit.SignalResponse
  3581  	(*SimulcastCodec)(nil),               // 5: livekit.SimulcastCodec
  3582  	(*AddTrackRequest)(nil),              // 6: livekit.AddTrackRequest
  3583  	(*TrickleRequest)(nil),               // 7: livekit.TrickleRequest
  3584  	(*MuteTrackRequest)(nil),             // 8: livekit.MuteTrackRequest
  3585  	(*JoinResponse)(nil),                 // 9: livekit.JoinResponse
  3586  	(*ReconnectResponse)(nil),            // 10: livekit.ReconnectResponse
  3587  	(*TrackPublishedResponse)(nil),       // 11: livekit.TrackPublishedResponse
  3588  	(*TrackUnpublishedResponse)(nil),     // 12: livekit.TrackUnpublishedResponse
  3589  	(*SessionDescription)(nil),           // 13: livekit.SessionDescription
  3590  	(*ParticipantUpdate)(nil),            // 14: livekit.ParticipantUpdate
  3591  	(*UpdateSubscription)(nil),           // 15: livekit.UpdateSubscription
  3592  	(*UpdateTrackSettings)(nil),          // 16: livekit.UpdateTrackSettings
  3593  	(*LeaveRequest)(nil),                 // 17: livekit.LeaveRequest
  3594  	(*UpdateVideoLayers)(nil),            // 18: livekit.UpdateVideoLayers
  3595  	(*UpdateParticipantMetadata)(nil),    // 19: livekit.UpdateParticipantMetadata
  3596  	(*ICEServer)(nil),                    // 20: livekit.ICEServer
  3597  	(*SpeakersChanged)(nil),              // 21: livekit.SpeakersChanged
  3598  	(*RoomUpdate)(nil),                   // 22: livekit.RoomUpdate
  3599  	(*ConnectionQualityInfo)(nil),        // 23: livekit.ConnectionQualityInfo
  3600  	(*ConnectionQualityUpdate)(nil),      // 24: livekit.ConnectionQualityUpdate
  3601  	(*StreamStateInfo)(nil),              // 25: livekit.StreamStateInfo
  3602  	(*StreamStateUpdate)(nil),            // 26: livekit.StreamStateUpdate
  3603  	(*SubscribedQuality)(nil),            // 27: livekit.SubscribedQuality
  3604  	(*SubscribedCodec)(nil),              // 28: livekit.SubscribedCodec
  3605  	(*SubscribedQualityUpdate)(nil),      // 29: livekit.SubscribedQualityUpdate
  3606  	(*TrackPermission)(nil),              // 30: livekit.TrackPermission
  3607  	(*SubscriptionPermission)(nil),       // 31: livekit.SubscriptionPermission
  3608  	(*SubscriptionPermissionUpdate)(nil), // 32: livekit.SubscriptionPermissionUpdate
  3609  	(*SyncState)(nil),                    // 33: livekit.SyncState
  3610  	(*DataChannelInfo)(nil),              // 34: livekit.DataChannelInfo
  3611  	(*SimulateScenario)(nil),             // 35: livekit.SimulateScenario
  3612  	(*Ping)(nil),                         // 36: livekit.Ping
  3613  	(*Pong)(nil),                         // 37: livekit.Pong
  3614  	(*RegionSettings)(nil),               // 38: livekit.RegionSettings
  3615  	(*RegionInfo)(nil),                   // 39: livekit.RegionInfo
  3616  	(TrackType)(0),                       // 40: livekit.TrackType
  3617  	(TrackSource)(0),                     // 41: livekit.TrackSource
  3618  	(*VideoLayer)(nil),                   // 42: livekit.VideoLayer
  3619  	(Encryption_Type)(0),                 // 43: livekit.Encryption.Type
  3620  	(*Room)(nil),                         // 44: livekit.Room
  3621  	(*ParticipantInfo)(nil),              // 45: livekit.ParticipantInfo
  3622  	(*ClientConfiguration)(nil),          // 46: livekit.ClientConfiguration
  3623  	(*ServerInfo)(nil),                   // 47: livekit.ServerInfo
  3624  	(*TrackInfo)(nil),                    // 48: livekit.TrackInfo
  3625  	(*ParticipantTracks)(nil),            // 49: livekit.ParticipantTracks
  3626  	(VideoQuality)(0),                    // 50: livekit.VideoQuality
  3627  	(DisconnectReason)(0),                // 51: livekit.DisconnectReason
  3628  	(*SpeakerInfo)(nil),                  // 52: livekit.SpeakerInfo
  3629  	(ConnectionQuality)(0),               // 53: livekit.ConnectionQuality
  3630  }
  3631  var file_livekit_rtc_proto_depIdxs = []int32{
  3632  	13, // 0: livekit.SignalRequest.offer:type_name -> livekit.SessionDescription
  3633  	13, // 1: livekit.SignalRequest.answer:type_name -> livekit.SessionDescription
  3634  	7,  // 2: livekit.SignalRequest.trickle:type_name -> livekit.TrickleRequest
  3635  	6,  // 3: livekit.SignalRequest.add_track:type_name -> livekit.AddTrackRequest
  3636  	8,  // 4: livekit.SignalRequest.mute:type_name -> livekit.MuteTrackRequest
  3637  	15, // 5: livekit.SignalRequest.subscription:type_name -> livekit.UpdateSubscription
  3638  	16, // 6: livekit.SignalRequest.track_setting:type_name -> livekit.UpdateTrackSettings
  3639  	17, // 7: livekit.SignalRequest.leave:type_name -> livekit.LeaveRequest
  3640  	18, // 8: livekit.SignalRequest.update_layers:type_name -> livekit.UpdateVideoLayers
  3641  	31, // 9: livekit.SignalRequest.subscription_permission:type_name -> livekit.SubscriptionPermission
  3642  	33, // 10: livekit.SignalRequest.sync_state:type_name -> livekit.SyncState
  3643  	35, // 11: livekit.SignalRequest.simulate:type_name -> livekit.SimulateScenario
  3644  	19, // 12: livekit.SignalRequest.update_metadata:type_name -> livekit.UpdateParticipantMetadata
  3645  	36, // 13: livekit.SignalRequest.ping_req:type_name -> livekit.Ping
  3646  	9,  // 14: livekit.SignalResponse.join:type_name -> livekit.JoinResponse
  3647  	13, // 15: livekit.SignalResponse.answer:type_name -> livekit.SessionDescription
  3648  	13, // 16: livekit.SignalResponse.offer:type_name -> livekit.SessionDescription
  3649  	7,  // 17: livekit.SignalResponse.trickle:type_name -> livekit.TrickleRequest
  3650  	14, // 18: livekit.SignalResponse.update:type_name -> livekit.ParticipantUpdate
  3651  	11, // 19: livekit.SignalResponse.track_published:type_name -> livekit.TrackPublishedResponse
  3652  	17, // 20: livekit.SignalResponse.leave:type_name -> livekit.LeaveRequest
  3653  	8,  // 21: livekit.SignalResponse.mute:type_name -> livekit.MuteTrackRequest
  3654  	21, // 22: livekit.SignalResponse.speakers_changed:type_name -> livekit.SpeakersChanged
  3655  	22, // 23: livekit.SignalResponse.room_update:type_name -> livekit.RoomUpdate
  3656  	24, // 24: livekit.SignalResponse.connection_quality:type_name -> livekit.ConnectionQualityUpdate
  3657  	26, // 25: livekit.SignalResponse.stream_state_update:type_name -> livekit.StreamStateUpdate
  3658  	29, // 26: livekit.SignalResponse.subscribed_quality_update:type_name -> livekit.SubscribedQualityUpdate
  3659  	32, // 27: livekit.SignalResponse.subscription_permission_update:type_name -> livekit.SubscriptionPermissionUpdate
  3660  	12, // 28: livekit.SignalResponse.track_unpublished:type_name -> livekit.TrackUnpublishedResponse
  3661  	10, // 29: livekit.SignalResponse.reconnect:type_name -> livekit.ReconnectResponse
  3662  	37, // 30: livekit.SignalResponse.pong_resp:type_name -> livekit.Pong
  3663  	40, // 31: livekit.AddTrackRequest.type:type_name -> livekit.TrackType
  3664  	41, // 32: livekit.AddTrackRequest.source:type_name -> livekit.TrackSource
  3665  	42, // 33: livekit.AddTrackRequest.layers:type_name -> livekit.VideoLayer
  3666  	5,  // 34: livekit.AddTrackRequest.simulcast_codecs:type_name -> livekit.SimulcastCodec
  3667  	43, // 35: livekit.AddTrackRequest.encryption:type_name -> livekit.Encryption.Type
  3668  	0,  // 36: livekit.TrickleRequest.target:type_name -> livekit.SignalTarget
  3669  	44, // 37: livekit.JoinResponse.room:type_name -> livekit.Room
  3670  	45, // 38: livekit.JoinResponse.participant:type_name -> livekit.ParticipantInfo
  3671  	45, // 39: livekit.JoinResponse.other_participants:type_name -> livekit.ParticipantInfo
  3672  	20, // 40: livekit.JoinResponse.ice_servers:type_name -> livekit.ICEServer
  3673  	46, // 41: livekit.JoinResponse.client_configuration:type_name -> livekit.ClientConfiguration
  3674  	47, // 42: livekit.JoinResponse.server_info:type_name -> livekit.ServerInfo
  3675  	20, // 43: livekit.ReconnectResponse.ice_servers:type_name -> livekit.ICEServer
  3676  	46, // 44: livekit.ReconnectResponse.client_configuration:type_name -> livekit.ClientConfiguration
  3677  	48, // 45: livekit.TrackPublishedResponse.track:type_name -> livekit.TrackInfo
  3678  	45, // 46: livekit.ParticipantUpdate.participants:type_name -> livekit.ParticipantInfo
  3679  	49, // 47: livekit.UpdateSubscription.participant_tracks:type_name -> livekit.ParticipantTracks
  3680  	50, // 48: livekit.UpdateTrackSettings.quality:type_name -> livekit.VideoQuality
  3681  	51, // 49: livekit.LeaveRequest.reason:type_name -> livekit.DisconnectReason
  3682  	42, // 50: livekit.UpdateVideoLayers.layers:type_name -> livekit.VideoLayer
  3683  	52, // 51: livekit.SpeakersChanged.speakers:type_name -> livekit.SpeakerInfo
  3684  	44, // 52: livekit.RoomUpdate.room:type_name -> livekit.Room
  3685  	53, // 53: livekit.ConnectionQualityInfo.quality:type_name -> livekit.ConnectionQuality
  3686  	23, // 54: livekit.ConnectionQualityUpdate.updates:type_name -> livekit.ConnectionQualityInfo
  3687  	1,  // 55: livekit.StreamStateInfo.state:type_name -> livekit.StreamState
  3688  	25, // 56: livekit.StreamStateUpdate.stream_states:type_name -> livekit.StreamStateInfo
  3689  	50, // 57: livekit.SubscribedQuality.quality:type_name -> livekit.VideoQuality
  3690  	27, // 58: livekit.SubscribedCodec.qualities:type_name -> livekit.SubscribedQuality
  3691  	27, // 59: livekit.SubscribedQualityUpdate.subscribed_qualities:type_name -> livekit.SubscribedQuality
  3692  	28, // 60: livekit.SubscribedQualityUpdate.subscribed_codecs:type_name -> livekit.SubscribedCodec
  3693  	30, // 61: livekit.SubscriptionPermission.track_permissions:type_name -> livekit.TrackPermission
  3694  	13, // 62: livekit.SyncState.answer:type_name -> livekit.SessionDescription
  3695  	15, // 63: livekit.SyncState.subscription:type_name -> livekit.UpdateSubscription
  3696  	11, // 64: livekit.SyncState.publish_tracks:type_name -> livekit.TrackPublishedResponse
  3697  	34, // 65: livekit.SyncState.data_channels:type_name -> livekit.DataChannelInfo
  3698  	13, // 66: livekit.SyncState.offer:type_name -> livekit.SessionDescription
  3699  	0,  // 67: livekit.DataChannelInfo.target:type_name -> livekit.SignalTarget
  3700  	2,  // 68: livekit.SimulateScenario.switch_candidate_protocol:type_name -> livekit.CandidateProtocol
  3701  	39, // 69: livekit.RegionSettings.regions:type_name -> livekit.RegionInfo
  3702  	70, // [70:70] is the sub-list for method output_type
  3703  	70, // [70:70] is the sub-list for method input_type
  3704  	70, // [70:70] is the sub-list for extension type_name
  3705  	70, // [70:70] is the sub-list for extension extendee
  3706  	0,  // [0:70] is the sub-list for field type_name
  3707  }
  3708  
  3709  func init() { file_livekit_rtc_proto_init() }
  3710  func file_livekit_rtc_proto_init() {
  3711  	if File_livekit_rtc_proto != nil {
  3712  		return
  3713  	}
  3714  	file_livekit_models_proto_init()
  3715  	if !protoimpl.UnsafeEnabled {
  3716  		file_livekit_rtc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  3717  			switch v := v.(*SignalRequest); i {
  3718  			case 0:
  3719  				return &v.state
  3720  			case 1:
  3721  				return &v.sizeCache
  3722  			case 2:
  3723  				return &v.unknownFields
  3724  			default:
  3725  				return nil
  3726  			}
  3727  		}
  3728  		file_livekit_rtc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  3729  			switch v := v.(*SignalResponse); i {
  3730  			case 0:
  3731  				return &v.state
  3732  			case 1:
  3733  				return &v.sizeCache
  3734  			case 2:
  3735  				return &v.unknownFields
  3736  			default:
  3737  				return nil
  3738  			}
  3739  		}
  3740  		file_livekit_rtc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  3741  			switch v := v.(*SimulcastCodec); i {
  3742  			case 0:
  3743  				return &v.state
  3744  			case 1:
  3745  				return &v.sizeCache
  3746  			case 2:
  3747  				return &v.unknownFields
  3748  			default:
  3749  				return nil
  3750  			}
  3751  		}
  3752  		file_livekit_rtc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  3753  			switch v := v.(*AddTrackRequest); i {
  3754  			case 0:
  3755  				return &v.state
  3756  			case 1:
  3757  				return &v.sizeCache
  3758  			case 2:
  3759  				return &v.unknownFields
  3760  			default:
  3761  				return nil
  3762  			}
  3763  		}
  3764  		file_livekit_rtc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  3765  			switch v := v.(*TrickleRequest); i {
  3766  			case 0:
  3767  				return &v.state
  3768  			case 1:
  3769  				return &v.sizeCache
  3770  			case 2:
  3771  				return &v.unknownFields
  3772  			default:
  3773  				return nil
  3774  			}
  3775  		}
  3776  		file_livekit_rtc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  3777  			switch v := v.(*MuteTrackRequest); i {
  3778  			case 0:
  3779  				return &v.state
  3780  			case 1:
  3781  				return &v.sizeCache
  3782  			case 2:
  3783  				return &v.unknownFields
  3784  			default:
  3785  				return nil
  3786  			}
  3787  		}
  3788  		file_livekit_rtc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  3789  			switch v := v.(*JoinResponse); i {
  3790  			case 0:
  3791  				return &v.state
  3792  			case 1:
  3793  				return &v.sizeCache
  3794  			case 2:
  3795  				return &v.unknownFields
  3796  			default:
  3797  				return nil
  3798  			}
  3799  		}
  3800  		file_livekit_rtc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  3801  			switch v := v.(*ReconnectResponse); i {
  3802  			case 0:
  3803  				return &v.state
  3804  			case 1:
  3805  				return &v.sizeCache
  3806  			case 2:
  3807  				return &v.unknownFields
  3808  			default:
  3809  				return nil
  3810  			}
  3811  		}
  3812  		file_livekit_rtc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  3813  			switch v := v.(*TrackPublishedResponse); i {
  3814  			case 0:
  3815  				return &v.state
  3816  			case 1:
  3817  				return &v.sizeCache
  3818  			case 2:
  3819  				return &v.unknownFields
  3820  			default:
  3821  				return nil
  3822  			}
  3823  		}
  3824  		file_livekit_rtc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  3825  			switch v := v.(*TrackUnpublishedResponse); i {
  3826  			case 0:
  3827  				return &v.state
  3828  			case 1:
  3829  				return &v.sizeCache
  3830  			case 2:
  3831  				return &v.unknownFields
  3832  			default:
  3833  				return nil
  3834  			}
  3835  		}
  3836  		file_livekit_rtc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  3837  			switch v := v.(*SessionDescription); i {
  3838  			case 0:
  3839  				return &v.state
  3840  			case 1:
  3841  				return &v.sizeCache
  3842  			case 2:
  3843  				return &v.unknownFields
  3844  			default:
  3845  				return nil
  3846  			}
  3847  		}
  3848  		file_livekit_rtc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  3849  			switch v := v.(*ParticipantUpdate); i {
  3850  			case 0:
  3851  				return &v.state
  3852  			case 1:
  3853  				return &v.sizeCache
  3854  			case 2:
  3855  				return &v.unknownFields
  3856  			default:
  3857  				return nil
  3858  			}
  3859  		}
  3860  		file_livekit_rtc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  3861  			switch v := v.(*UpdateSubscription); i {
  3862  			case 0:
  3863  				return &v.state
  3864  			case 1:
  3865  				return &v.sizeCache
  3866  			case 2:
  3867  				return &v.unknownFields
  3868  			default:
  3869  				return nil
  3870  			}
  3871  		}
  3872  		file_livekit_rtc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  3873  			switch v := v.(*UpdateTrackSettings); i {
  3874  			case 0:
  3875  				return &v.state
  3876  			case 1:
  3877  				return &v.sizeCache
  3878  			case 2:
  3879  				return &v.unknownFields
  3880  			default:
  3881  				return nil
  3882  			}
  3883  		}
  3884  		file_livekit_rtc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  3885  			switch v := v.(*LeaveRequest); i {
  3886  			case 0:
  3887  				return &v.state
  3888  			case 1:
  3889  				return &v.sizeCache
  3890  			case 2:
  3891  				return &v.unknownFields
  3892  			default:
  3893  				return nil
  3894  			}
  3895  		}
  3896  		file_livekit_rtc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  3897  			switch v := v.(*UpdateVideoLayers); i {
  3898  			case 0:
  3899  				return &v.state
  3900  			case 1:
  3901  				return &v.sizeCache
  3902  			case 2:
  3903  				return &v.unknownFields
  3904  			default:
  3905  				return nil
  3906  			}
  3907  		}
  3908  		file_livekit_rtc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  3909  			switch v := v.(*UpdateParticipantMetadata); i {
  3910  			case 0:
  3911  				return &v.state
  3912  			case 1:
  3913  				return &v.sizeCache
  3914  			case 2:
  3915  				return &v.unknownFields
  3916  			default:
  3917  				return nil
  3918  			}
  3919  		}
  3920  		file_livekit_rtc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  3921  			switch v := v.(*ICEServer); i {
  3922  			case 0:
  3923  				return &v.state
  3924  			case 1:
  3925  				return &v.sizeCache
  3926  			case 2:
  3927  				return &v.unknownFields
  3928  			default:
  3929  				return nil
  3930  			}
  3931  		}
  3932  		file_livekit_rtc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  3933  			switch v := v.(*SpeakersChanged); i {
  3934  			case 0:
  3935  				return &v.state
  3936  			case 1:
  3937  				return &v.sizeCache
  3938  			case 2:
  3939  				return &v.unknownFields
  3940  			default:
  3941  				return nil
  3942  			}
  3943  		}
  3944  		file_livekit_rtc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  3945  			switch v := v.(*RoomUpdate); i {
  3946  			case 0:
  3947  				return &v.state
  3948  			case 1:
  3949  				return &v.sizeCache
  3950  			case 2:
  3951  				return &v.unknownFields
  3952  			default:
  3953  				return nil
  3954  			}
  3955  		}
  3956  		file_livekit_rtc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
  3957  			switch v := v.(*ConnectionQualityInfo); i {
  3958  			case 0:
  3959  				return &v.state
  3960  			case 1:
  3961  				return &v.sizeCache
  3962  			case 2:
  3963  				return &v.unknownFields
  3964  			default:
  3965  				return nil
  3966  			}
  3967  		}
  3968  		file_livekit_rtc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
  3969  			switch v := v.(*ConnectionQualityUpdate); i {
  3970  			case 0:
  3971  				return &v.state
  3972  			case 1:
  3973  				return &v.sizeCache
  3974  			case 2:
  3975  				return &v.unknownFields
  3976  			default:
  3977  				return nil
  3978  			}
  3979  		}
  3980  		file_livekit_rtc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
  3981  			switch v := v.(*StreamStateInfo); i {
  3982  			case 0:
  3983  				return &v.state
  3984  			case 1:
  3985  				return &v.sizeCache
  3986  			case 2:
  3987  				return &v.unknownFields
  3988  			default:
  3989  				return nil
  3990  			}
  3991  		}
  3992  		file_livekit_rtc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
  3993  			switch v := v.(*StreamStateUpdate); i {
  3994  			case 0:
  3995  				return &v.state
  3996  			case 1:
  3997  				return &v.sizeCache
  3998  			case 2:
  3999  				return &v.unknownFields
  4000  			default:
  4001  				return nil
  4002  			}
  4003  		}
  4004  		file_livekit_rtc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
  4005  			switch v := v.(*SubscribedQuality); i {
  4006  			case 0:
  4007  				return &v.state
  4008  			case 1:
  4009  				return &v.sizeCache
  4010  			case 2:
  4011  				return &v.unknownFields
  4012  			default:
  4013  				return nil
  4014  			}
  4015  		}
  4016  		file_livekit_rtc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
  4017  			switch v := v.(*SubscribedCodec); i {
  4018  			case 0:
  4019  				return &v.state
  4020  			case 1:
  4021  				return &v.sizeCache
  4022  			case 2:
  4023  				return &v.unknownFields
  4024  			default:
  4025  				return nil
  4026  			}
  4027  		}
  4028  		file_livekit_rtc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
  4029  			switch v := v.(*SubscribedQualityUpdate); i {
  4030  			case 0:
  4031  				return &v.state
  4032  			case 1:
  4033  				return &v.sizeCache
  4034  			case 2:
  4035  				return &v.unknownFields
  4036  			default:
  4037  				return nil
  4038  			}
  4039  		}
  4040  		file_livekit_rtc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
  4041  			switch v := v.(*TrackPermission); i {
  4042  			case 0:
  4043  				return &v.state
  4044  			case 1:
  4045  				return &v.sizeCache
  4046  			case 2:
  4047  				return &v.unknownFields
  4048  			default:
  4049  				return nil
  4050  			}
  4051  		}
  4052  		file_livekit_rtc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
  4053  			switch v := v.(*SubscriptionPermission); i {
  4054  			case 0:
  4055  				return &v.state
  4056  			case 1:
  4057  				return &v.sizeCache
  4058  			case 2:
  4059  				return &v.unknownFields
  4060  			default:
  4061  				return nil
  4062  			}
  4063  		}
  4064  		file_livekit_rtc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
  4065  			switch v := v.(*SubscriptionPermissionUpdate); i {
  4066  			case 0:
  4067  				return &v.state
  4068  			case 1:
  4069  				return &v.sizeCache
  4070  			case 2:
  4071  				return &v.unknownFields
  4072  			default:
  4073  				return nil
  4074  			}
  4075  		}
  4076  		file_livekit_rtc_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
  4077  			switch v := v.(*SyncState); i {
  4078  			case 0:
  4079  				return &v.state
  4080  			case 1:
  4081  				return &v.sizeCache
  4082  			case 2:
  4083  				return &v.unknownFields
  4084  			default:
  4085  				return nil
  4086  			}
  4087  		}
  4088  		file_livekit_rtc_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
  4089  			switch v := v.(*DataChannelInfo); i {
  4090  			case 0:
  4091  				return &v.state
  4092  			case 1:
  4093  				return &v.sizeCache
  4094  			case 2:
  4095  				return &v.unknownFields
  4096  			default:
  4097  				return nil
  4098  			}
  4099  		}
  4100  		file_livekit_rtc_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
  4101  			switch v := v.(*SimulateScenario); i {
  4102  			case 0:
  4103  				return &v.state
  4104  			case 1:
  4105  				return &v.sizeCache
  4106  			case 2:
  4107  				return &v.unknownFields
  4108  			default:
  4109  				return nil
  4110  			}
  4111  		}
  4112  		file_livekit_rtc_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
  4113  			switch v := v.(*Ping); i {
  4114  			case 0:
  4115  				return &v.state
  4116  			case 1:
  4117  				return &v.sizeCache
  4118  			case 2:
  4119  				return &v.unknownFields
  4120  			default:
  4121  				return nil
  4122  			}
  4123  		}
  4124  		file_livekit_rtc_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
  4125  			switch v := v.(*Pong); i {
  4126  			case 0:
  4127  				return &v.state
  4128  			case 1:
  4129  				return &v.sizeCache
  4130  			case 2:
  4131  				return &v.unknownFields
  4132  			default:
  4133  				return nil
  4134  			}
  4135  		}
  4136  		file_livekit_rtc_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
  4137  			switch v := v.(*RegionSettings); i {
  4138  			case 0:
  4139  				return &v.state
  4140  			case 1:
  4141  				return &v.sizeCache
  4142  			case 2:
  4143  				return &v.unknownFields
  4144  			default:
  4145  				return nil
  4146  			}
  4147  		}
  4148  		file_livekit_rtc_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
  4149  			switch v := v.(*RegionInfo); i {
  4150  			case 0:
  4151  				return &v.state
  4152  			case 1:
  4153  				return &v.sizeCache
  4154  			case 2:
  4155  				return &v.unknownFields
  4156  			default:
  4157  				return nil
  4158  			}
  4159  		}
  4160  	}
  4161  	file_livekit_rtc_proto_msgTypes[0].OneofWrappers = []interface{}{
  4162  		(*SignalRequest_Offer)(nil),
  4163  		(*SignalRequest_Answer)(nil),
  4164  		(*SignalRequest_Trickle)(nil),
  4165  		(*SignalRequest_AddTrack)(nil),
  4166  		(*SignalRequest_Mute)(nil),
  4167  		(*SignalRequest_Subscription)(nil),
  4168  		(*SignalRequest_TrackSetting)(nil),
  4169  		(*SignalRequest_Leave)(nil),
  4170  		(*SignalRequest_UpdateLayers)(nil),
  4171  		(*SignalRequest_SubscriptionPermission)(nil),
  4172  		(*SignalRequest_SyncState)(nil),
  4173  		(*SignalRequest_Simulate)(nil),
  4174  		(*SignalRequest_Ping)(nil),
  4175  		(*SignalRequest_UpdateMetadata)(nil),
  4176  		(*SignalRequest_PingReq)(nil),
  4177  	}
  4178  	file_livekit_rtc_proto_msgTypes[1].OneofWrappers = []interface{}{
  4179  		(*SignalResponse_Join)(nil),
  4180  		(*SignalResponse_Answer)(nil),
  4181  		(*SignalResponse_Offer)(nil),
  4182  		(*SignalResponse_Trickle)(nil),
  4183  		(*SignalResponse_Update)(nil),
  4184  		(*SignalResponse_TrackPublished)(nil),
  4185  		(*SignalResponse_Leave)(nil),
  4186  		(*SignalResponse_Mute)(nil),
  4187  		(*SignalResponse_SpeakersChanged)(nil),
  4188  		(*SignalResponse_RoomUpdate)(nil),
  4189  		(*SignalResponse_ConnectionQuality)(nil),
  4190  		(*SignalResponse_StreamStateUpdate)(nil),
  4191  		(*SignalResponse_SubscribedQualityUpdate)(nil),
  4192  		(*SignalResponse_SubscriptionPermissionUpdate)(nil),
  4193  		(*SignalResponse_RefreshToken)(nil),
  4194  		(*SignalResponse_TrackUnpublished)(nil),
  4195  		(*SignalResponse_Pong)(nil),
  4196  		(*SignalResponse_Reconnect)(nil),
  4197  		(*SignalResponse_PongResp)(nil),
  4198  	}
  4199  	file_livekit_rtc_proto_msgTypes[32].OneofWrappers = []interface{}{
  4200  		(*SimulateScenario_SpeakerUpdate)(nil),
  4201  		(*SimulateScenario_NodeFailure)(nil),
  4202  		(*SimulateScenario_Migration)(nil),
  4203  		(*SimulateScenario_ServerLeave)(nil),
  4204  		(*SimulateScenario_SwitchCandidateProtocol)(nil),
  4205  		(*SimulateScenario_SubscriberBandwidth)(nil),
  4206  	}
  4207  	type x struct{}
  4208  	out := protoimpl.TypeBuilder{
  4209  		File: protoimpl.DescBuilder{
  4210  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  4211  			RawDescriptor: file_livekit_rtc_proto_rawDesc,
  4212  			NumEnums:      3,
  4213  			NumMessages:   37,
  4214  			NumExtensions: 0,
  4215  			NumServices:   0,
  4216  		},
  4217  		GoTypes:           file_livekit_rtc_proto_goTypes,
  4218  		DependencyIndexes: file_livekit_rtc_proto_depIdxs,
  4219  		EnumInfos:         file_livekit_rtc_proto_enumTypes,
  4220  		MessageInfos:      file_livekit_rtc_proto_msgTypes,
  4221  	}.Build()
  4222  	File_livekit_rtc_proto = out.File
  4223  	file_livekit_rtc_proto_rawDesc = nil
  4224  	file_livekit_rtc_proto_goTypes = nil
  4225  	file_livekit_rtc_proto_depIdxs = nil
  4226  }