// Copyright 2019 Google Inc. Use of this source code is governed by an
// MIT-style license that can be found in the LICENSE file or at
// https://opensource.org/licenses/MIT.

// This protocol buffer uses optional fields, which requires either [buf] or a
// [protoc] version 3.15 or later.
//
// [buf]: https://buf.build/
// [protoc]: https://github.com/protocolbuffers/protobuf#protobuf-compiler-installation

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.35.2
// 	protoc        v5.29.0
// source: embedded_sass.proto

package embeddedsass

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// Possible ways to format the CSS output. The compiler is not required to
// support all possible options; if the host requests an unsupported style, the
// compiler should choose the closest supported style.
type OutputStyle int32

const (
	// Each selector and declaration is written on its own line.
	OutputStyle_EXPANDED OutputStyle = 0
	// The entire stylesheet is written on a single line, with as few characters
	// as possible.
	OutputStyle_COMPRESSED OutputStyle = 1
)

// Enum value maps for OutputStyle.
var (
	OutputStyle_name = map[int32]string{
		0: "EXPANDED",
		1: "COMPRESSED",
	}
	OutputStyle_value = map[string]int32{
		"EXPANDED":   0,
		"COMPRESSED": 1,
	}
)

func (x OutputStyle) Enum() *OutputStyle {
	p := new(OutputStyle)
	*p = x
	return p
}

func (x OutputStyle) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (OutputStyle) Descriptor() protoreflect.EnumDescriptor {
	return file_embedded_sass_proto_enumTypes[0].Descriptor()
}

func (OutputStyle) Type() protoreflect.EnumType {
	return &file_embedded_sass_proto_enumTypes[0]
}

func (x OutputStyle) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use OutputStyle.Descriptor instead.
func (OutputStyle) EnumDescriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{0}
}

// Possible syntaxes for a Sass stylesheet.
type Syntax int32

const (
	// The CSS-superset `.scss` syntax.
	Syntax_SCSS Syntax = 0
	// The indented `.sass` syntax.
	Syntax_INDENTED Syntax = 1
	// Plain CSS syntax that doesn't support any special Sass features.
	Syntax_CSS Syntax = 2
)

// Enum value maps for Syntax.
var (
	Syntax_name = map[int32]string{
		0: "SCSS",
		1: "INDENTED",
		2: "CSS",
	}
	Syntax_value = map[string]int32{
		"SCSS":     0,
		"INDENTED": 1,
		"CSS":      2,
	}
)

func (x Syntax) Enum() *Syntax {
	p := new(Syntax)
	*p = x
	return p
}

func (x Syntax) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Syntax) Descriptor() protoreflect.EnumDescriptor {
	return file_embedded_sass_proto_enumTypes[1].Descriptor()
}

func (Syntax) Type() protoreflect.EnumType {
	return &file_embedded_sass_proto_enumTypes[1]
}

func (x Syntax) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Syntax.Descriptor instead.
func (Syntax) EnumDescriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{1}
}

// The possible types of [LogEvent].
type LogEventType int32

const (
	// A warning for something other than a deprecated Sass feature. Often emitted
	// due to a stylesheet using the `@warn` rule.
	LogEventType_WARNING LogEventType = 0
	// A warning indicating that the stylesheet is using a deprecated Sass
	// feature. Compilers should not add text like "deprecation warning" to
	// deprecation warnings; it's up to the host to determine how to signal that
	// to the user.
	LogEventType_DEPRECATION_WARNING LogEventType = 1
	// A message generated by the user for their own debugging purposes.
	LogEventType_DEBUG LogEventType = 2
)

// Enum value maps for LogEventType.
var (
	LogEventType_name = map[int32]string{
		0: "WARNING",
		1: "DEPRECATION_WARNING",
		2: "DEBUG",
	}
	LogEventType_value = map[string]int32{
		"WARNING":             0,
		"DEPRECATION_WARNING": 1,
		"DEBUG":               2,
	}
)

func (x LogEventType) Enum() *LogEventType {
	p := new(LogEventType)
	*p = x
	return p
}

func (x LogEventType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (LogEventType) Descriptor() protoreflect.EnumDescriptor {
	return file_embedded_sass_proto_enumTypes[2].Descriptor()
}

func (LogEventType) Type() protoreflect.EnumType {
	return &file_embedded_sass_proto_enumTypes[2]
}

func (x LogEventType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use LogEventType.Descriptor instead.
func (LogEventType) EnumDescriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{2}
}

// Potential types of protocol errors.
type ProtocolErrorType int32

const (
	// A message was received that couldn't be decoded as an `InboundMessage` (for
	// the compiler) or `OutboundMessage` (for the host).
	ProtocolErrorType_PARSE ProtocolErrorType = 0
	// A message was received that violated a documented restriction, such as not
	// providing a mandatory field.
	ProtocolErrorType_PARAMS ProtocolErrorType = 1
	// Something unexpected went wrong within the endpoint.
	ProtocolErrorType_INTERNAL ProtocolErrorType = 2
)

// Enum value maps for ProtocolErrorType.
var (
	ProtocolErrorType_name = map[int32]string{
		0: "PARSE",
		1: "PARAMS",
		2: "INTERNAL",
	}
	ProtocolErrorType_value = map[string]int32{
		"PARSE":    0,
		"PARAMS":   1,
		"INTERNAL": 2,
	}
)

func (x ProtocolErrorType) Enum() *ProtocolErrorType {
	p := new(ProtocolErrorType)
	*p = x
	return p
}

func (x ProtocolErrorType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ProtocolErrorType) Descriptor() protoreflect.EnumDescriptor {
	return file_embedded_sass_proto_enumTypes[3].Descriptor()
}

func (ProtocolErrorType) Type() protoreflect.EnumType {
	return &file_embedded_sass_proto_enumTypes[3]
}

func (x ProtocolErrorType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ProtocolErrorType.Descriptor instead.
func (ProtocolErrorType) EnumDescriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{3}
}

// Different types of separators a list can have.
type ListSeparator int32

const (
	// List elements are separated by a comma.
	ListSeparator_COMMA ListSeparator = 0
	// List elements are separated by whitespace.
	ListSeparator_SPACE ListSeparator = 1
	// List elements are separated by a forward slash.
	ListSeparator_SLASH ListSeparator = 2
	// The list's separator hasn't yet been determined. This is only allowed for
	// singleton and empty lists.
	//
	// Singleton lists and empty lists don't have separators defined. This means
	// that list functions will prefer other lists' separators if possible.
	ListSeparator_UNDECIDED ListSeparator = 3
)

// Enum value maps for ListSeparator.
var (
	ListSeparator_name = map[int32]string{
		0: "COMMA",
		1: "SPACE",
		2: "SLASH",
		3: "UNDECIDED",
	}
	ListSeparator_value = map[string]int32{
		"COMMA":     0,
		"SPACE":     1,
		"SLASH":     2,
		"UNDECIDED": 3,
	}
)

func (x ListSeparator) Enum() *ListSeparator {
	p := new(ListSeparator)
	*p = x
	return p
}

func (x ListSeparator) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ListSeparator) Descriptor() protoreflect.EnumDescriptor {
	return file_embedded_sass_proto_enumTypes[4].Descriptor()
}

func (ListSeparator) Type() protoreflect.EnumType {
	return &file_embedded_sass_proto_enumTypes[4]
}

func (x ListSeparator) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ListSeparator.Descriptor instead.
func (ListSeparator) EnumDescriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{4}
}

// Singleton SassScript values that have no internal state.
type SingletonValue int32

const (
	// The SassScript boolean true value.
	SingletonValue_TRUE SingletonValue = 0
	// The SassScript boolean false value.
	SingletonValue_FALSE SingletonValue = 1
	// The SassScript null value.
	SingletonValue_NULL SingletonValue = 2
)

// Enum value maps for SingletonValue.
var (
	SingletonValue_name = map[int32]string{
		0: "TRUE",
		1: "FALSE",
		2: "NULL",
	}
	SingletonValue_value = map[string]int32{
		"TRUE":  0,
		"FALSE": 1,
		"NULL":  2,
	}
)

func (x SingletonValue) Enum() *SingletonValue {
	p := new(SingletonValue)
	*p = x
	return p
}

func (x SingletonValue) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SingletonValue) Descriptor() protoreflect.EnumDescriptor {
	return file_embedded_sass_proto_enumTypes[5].Descriptor()
}

func (SingletonValue) Type() protoreflect.EnumType {
	return &file_embedded_sass_proto_enumTypes[5]
}

func (x SingletonValue) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SingletonValue.Descriptor instead.
func (SingletonValue) EnumDescriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{5}
}

// An operator used in a calculation value's operation.
type CalculationOperator int32

const (
	// The addition operator.
	CalculationOperator_PLUS CalculationOperator = 0
	// The subtraction operator.
	CalculationOperator_MINUS CalculationOperator = 1
	// The multiplication operator.
	CalculationOperator_TIMES CalculationOperator = 2
	// The division operator.
	CalculationOperator_DIVIDE CalculationOperator = 3
)

// Enum value maps for CalculationOperator.
var (
	CalculationOperator_name = map[int32]string{
		0: "PLUS",
		1: "MINUS",
		2: "TIMES",
		3: "DIVIDE",
	}
	CalculationOperator_value = map[string]int32{
		"PLUS":   0,
		"MINUS":  1,
		"TIMES":  2,
		"DIVIDE": 3,
	}
)

func (x CalculationOperator) Enum() *CalculationOperator {
	p := new(CalculationOperator)
	*p = x
	return p
}

func (x CalculationOperator) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (CalculationOperator) Descriptor() protoreflect.EnumDescriptor {
	return file_embedded_sass_proto_enumTypes[6].Descriptor()
}

func (CalculationOperator) Type() protoreflect.EnumType {
	return &file_embedded_sass_proto_enumTypes[6]
}

func (x CalculationOperator) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use CalculationOperator.Descriptor instead.
func (CalculationOperator) EnumDescriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{6}
}

// The wrapper type for all messages sent from the host to the compiler. This
// provides a `oneof` that makes it possible to determine the type of each
// inbound message.
type InboundMessage struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The wrapped message. Mandatory.
	//
	// Types that are assignable to Message:
	//
	//	*InboundMessage_CompileRequest_
	//	*InboundMessage_CanonicalizeResponse_
	//	*InboundMessage_ImportResponse_
	//	*InboundMessage_FileImportResponse_
	//	*InboundMessage_FunctionCallResponse_
	//	*InboundMessage_VersionRequest_
	Message isInboundMessage_Message `protobuf_oneof:"message"`
}

func (x *InboundMessage) Reset() {
	*x = InboundMessage{}
	mi := &file_embedded_sass_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InboundMessage) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InboundMessage) ProtoMessage() {}

func (x *InboundMessage) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InboundMessage.ProtoReflect.Descriptor instead.
func (*InboundMessage) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{0}
}

func (m *InboundMessage) GetMessage() isInboundMessage_Message {
	if m != nil {
		return m.Message
	}
	return nil
}

func (x *InboundMessage) GetCompileRequest() *InboundMessage_CompileRequest {
	if x, ok := x.GetMessage().(*InboundMessage_CompileRequest_); ok {
		return x.CompileRequest
	}
	return nil
}

func (x *InboundMessage) GetCanonicalizeResponse() *InboundMessage_CanonicalizeResponse {
	if x, ok := x.GetMessage().(*InboundMessage_CanonicalizeResponse_); ok {
		return x.CanonicalizeResponse
	}
	return nil
}

func (x *InboundMessage) GetImportResponse() *InboundMessage_ImportResponse {
	if x, ok := x.GetMessage().(*InboundMessage_ImportResponse_); ok {
		return x.ImportResponse
	}
	return nil
}

func (x *InboundMessage) GetFileImportResponse() *InboundMessage_FileImportResponse {
	if x, ok := x.GetMessage().(*InboundMessage_FileImportResponse_); ok {
		return x.FileImportResponse
	}
	return nil
}

func (x *InboundMessage) GetFunctionCallResponse() *InboundMessage_FunctionCallResponse {
	if x, ok := x.GetMessage().(*InboundMessage_FunctionCallResponse_); ok {
		return x.FunctionCallResponse
	}
	return nil
}

func (x *InboundMessage) GetVersionRequest() *InboundMessage_VersionRequest {
	if x, ok := x.GetMessage().(*InboundMessage_VersionRequest_); ok {
		return x.VersionRequest
	}
	return nil
}

type isInboundMessage_Message interface {
	isInboundMessage_Message()
}

type InboundMessage_CompileRequest_ struct {
	CompileRequest *InboundMessage_CompileRequest `protobuf:"bytes,2,opt,name=compile_request,json=compileRequest,proto3,oneof"`
}

type InboundMessage_CanonicalizeResponse_ struct {
	CanonicalizeResponse *InboundMessage_CanonicalizeResponse `protobuf:"bytes,3,opt,name=canonicalize_response,json=canonicalizeResponse,proto3,oneof"`
}

type InboundMessage_ImportResponse_ struct {
	ImportResponse *InboundMessage_ImportResponse `protobuf:"bytes,4,opt,name=import_response,json=importResponse,proto3,oneof"`
}

type InboundMessage_FileImportResponse_ struct {
	FileImportResponse *InboundMessage_FileImportResponse `protobuf:"bytes,5,opt,name=file_import_response,json=fileImportResponse,proto3,oneof"`
}

type InboundMessage_FunctionCallResponse_ struct {
	FunctionCallResponse *InboundMessage_FunctionCallResponse `protobuf:"bytes,6,opt,name=function_call_response,json=functionCallResponse,proto3,oneof"`
}

type InboundMessage_VersionRequest_ struct {
	VersionRequest *InboundMessage_VersionRequest `protobuf:"bytes,7,opt,name=version_request,json=versionRequest,proto3,oneof"`
}

func (*InboundMessage_CompileRequest_) isInboundMessage_Message() {}

func (*InboundMessage_CanonicalizeResponse_) isInboundMessage_Message() {}

func (*InboundMessage_ImportResponse_) isInboundMessage_Message() {}

func (*InboundMessage_FileImportResponse_) isInboundMessage_Message() {}

func (*InboundMessage_FunctionCallResponse_) isInboundMessage_Message() {}

func (*InboundMessage_VersionRequest_) isInboundMessage_Message() {}

// The wrapper type for all messages sent from the compiler to the host. This
// provides a `oneof` that makes it possible to determine the type of each
// outbound message.
type OutboundMessage struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The wrapped message. Mandatory.
	//
	// Types that are assignable to Message:
	//
	//	*OutboundMessage_Error
	//	*OutboundMessage_CompileResponse_
	//	*OutboundMessage_LogEvent_
	//	*OutboundMessage_CanonicalizeRequest_
	//	*OutboundMessage_ImportRequest_
	//	*OutboundMessage_FileImportRequest_
	//	*OutboundMessage_FunctionCallRequest_
	//	*OutboundMessage_VersionResponse_
	Message isOutboundMessage_Message `protobuf_oneof:"message"`
}

func (x *OutboundMessage) Reset() {
	*x = OutboundMessage{}
	mi := &file_embedded_sass_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *OutboundMessage) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OutboundMessage) ProtoMessage() {}

func (x *OutboundMessage) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OutboundMessage.ProtoReflect.Descriptor instead.
func (*OutboundMessage) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{1}
}

func (m *OutboundMessage) GetMessage() isOutboundMessage_Message {
	if m != nil {
		return m.Message
	}
	return nil
}

func (x *OutboundMessage) GetError() *ProtocolError {
	if x, ok := x.GetMessage().(*OutboundMessage_Error); ok {
		return x.Error
	}
	return nil
}

func (x *OutboundMessage) GetCompileResponse() *OutboundMessage_CompileResponse {
	if x, ok := x.GetMessage().(*OutboundMessage_CompileResponse_); ok {
		return x.CompileResponse
	}
	return nil
}

func (x *OutboundMessage) GetLogEvent() *OutboundMessage_LogEvent {
	if x, ok := x.GetMessage().(*OutboundMessage_LogEvent_); ok {
		return x.LogEvent
	}
	return nil
}

func (x *OutboundMessage) GetCanonicalizeRequest() *OutboundMessage_CanonicalizeRequest {
	if x, ok := x.GetMessage().(*OutboundMessage_CanonicalizeRequest_); ok {
		return x.CanonicalizeRequest
	}
	return nil
}

func (x *OutboundMessage) GetImportRequest() *OutboundMessage_ImportRequest {
	if x, ok := x.GetMessage().(*OutboundMessage_ImportRequest_); ok {
		return x.ImportRequest
	}
	return nil
}

func (x *OutboundMessage) GetFileImportRequest() *OutboundMessage_FileImportRequest {
	if x, ok := x.GetMessage().(*OutboundMessage_FileImportRequest_); ok {
		return x.FileImportRequest
	}
	return nil
}

func (x *OutboundMessage) GetFunctionCallRequest() *OutboundMessage_FunctionCallRequest {
	if x, ok := x.GetMessage().(*OutboundMessage_FunctionCallRequest_); ok {
		return x.FunctionCallRequest
	}
	return nil
}

func (x *OutboundMessage) GetVersionResponse() *OutboundMessage_VersionResponse {
	if x, ok := x.GetMessage().(*OutboundMessage_VersionResponse_); ok {
		return x.VersionResponse
	}
	return nil
}

type isOutboundMessage_Message interface {
	isOutboundMessage_Message()
}

type OutboundMessage_Error struct {
	Error *ProtocolError `protobuf:"bytes,1,opt,name=error,proto3,oneof"`
}

type OutboundMessage_CompileResponse_ struct {
	CompileResponse *OutboundMessage_CompileResponse `protobuf:"bytes,2,opt,name=compile_response,json=compileResponse,proto3,oneof"`
}

type OutboundMessage_LogEvent_ struct {
	LogEvent *OutboundMessage_LogEvent `protobuf:"bytes,3,opt,name=log_event,json=logEvent,proto3,oneof"`
}

type OutboundMessage_CanonicalizeRequest_ struct {
	CanonicalizeRequest *OutboundMessage_CanonicalizeRequest `protobuf:"bytes,4,opt,name=canonicalize_request,json=canonicalizeRequest,proto3,oneof"`
}

type OutboundMessage_ImportRequest_ struct {
	ImportRequest *OutboundMessage_ImportRequest `protobuf:"bytes,5,opt,name=import_request,json=importRequest,proto3,oneof"`
}

type OutboundMessage_FileImportRequest_ struct {
	FileImportRequest *OutboundMessage_FileImportRequest `protobuf:"bytes,6,opt,name=file_import_request,json=fileImportRequest,proto3,oneof"`
}

type OutboundMessage_FunctionCallRequest_ struct {
	FunctionCallRequest *OutboundMessage_FunctionCallRequest `protobuf:"bytes,7,opt,name=function_call_request,json=functionCallRequest,proto3,oneof"`
}

type OutboundMessage_VersionResponse_ struct {
	VersionResponse *OutboundMessage_VersionResponse `protobuf:"bytes,8,opt,name=version_response,json=versionResponse,proto3,oneof"`
}

func (*OutboundMessage_Error) isOutboundMessage_Message() {}

func (*OutboundMessage_CompileResponse_) isOutboundMessage_Message() {}

func (*OutboundMessage_LogEvent_) isOutboundMessage_Message() {}

func (*OutboundMessage_CanonicalizeRequest_) isOutboundMessage_Message() {}

func (*OutboundMessage_ImportRequest_) isOutboundMessage_Message() {}

func (*OutboundMessage_FileImportRequest_) isOutboundMessage_Message() {}

func (*OutboundMessage_FunctionCallRequest_) isOutboundMessage_Message() {}

func (*OutboundMessage_VersionResponse_) isOutboundMessage_Message() {}

// An error reported when an endpoint violates the embedded Sass protocol.
type ProtocolError struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Type ProtocolErrorType `protobuf:"varint,1,opt,name=type,proto3,enum=sass.embedded_protocol.ProtocolErrorType" json:"type,omitempty"`
	// The ID of the request that had an error. This MUST be `4294967295` if the
	// request ID couldn't be determined, or if the error is being reported for a
	// response or an event.
	Id uint32 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`
	// A human-readable message providing more detail about the error.
	Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"`
}

func (x *ProtocolError) Reset() {
	*x = ProtocolError{}
	mi := &file_embedded_sass_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ProtocolError) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ProtocolError) ProtoMessage() {}

func (x *ProtocolError) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ProtocolError.ProtoReflect.Descriptor instead.
func (*ProtocolError) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{2}
}

func (x *ProtocolError) GetType() ProtocolErrorType {
	if x != nil {
		return x.Type
	}
	return ProtocolErrorType_PARSE
}

func (x *ProtocolError) GetId() uint32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *ProtocolError) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

// A chunk of a source file.
type SourceSpan struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The text covered by the source span. Compilers must guarantee that this is
	// the text between `start.offset` and `end.offset` in the source file
	// referred to by `url`.
	Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
	// The location of the first character in this span.
	Start *SourceSpan_SourceLocation `protobuf:"bytes,2,opt,name=start,proto3" json:"start,omitempty"`
	// The location of the first character after this span.
	//
	// If this is omitted, it indicates that the span is empty and points
	// immediately before `start`. In that case, `text` must be empty.
	//
	// This must not point to a location before `start`.
	End *SourceSpan_SourceLocation `protobuf:"bytes,3,opt,name=end,proto3,oneof" json:"end,omitempty"`
	// The URL of the file to which this span refers.
	//
	// This may be empty, indicating that the span refers to a
	// `CompileRequest.StringInput` file that doesn't specify a URL.
	Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url,omitempty"`
	// Additional source text surrounding this span.
	//
	// If this isn't empty, it must contain `text`. Furthermore, `text` must begin
	// at column `start.column` of a line in `context`.
	//
	// This usually contains the full lines the span begins and ends on if the
	// span itself doesn't cover the full lines.
	Context string `protobuf:"bytes,5,opt,name=context,proto3" json:"context,omitempty"`
}

func (x *SourceSpan) Reset() {
	*x = SourceSpan{}
	mi := &file_embedded_sass_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SourceSpan) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SourceSpan) ProtoMessage() {}

func (x *SourceSpan) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SourceSpan.ProtoReflect.Descriptor instead.
func (*SourceSpan) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{3}
}

func (x *SourceSpan) GetText() string {
	if x != nil {
		return x.Text
	}
	return ""
}

func (x *SourceSpan) GetStart() *SourceSpan_SourceLocation {
	if x != nil {
		return x.Start
	}
	return nil
}

func (x *SourceSpan) GetEnd() *SourceSpan_SourceLocation {
	if x != nil {
		return x.End
	}
	return nil
}

func (x *SourceSpan) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *SourceSpan) GetContext() string {
	if x != nil {
		return x.Context
	}
	return ""
}

// A SassScript value, passed to and returned by functions.
type Value struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The value itself. Mandatory.
	//
	// This is wrapped in a message type rather than used directly to reduce
	// repetition, and because oneofs can't be repeated.
	//
	// Types that are assignable to Value:
	//
	//	*Value_String_
	//	*Value_Number_
	//	*Value_List_
	//	*Value_Map_
	//	*Value_Singleton
	//	*Value_CompilerFunction_
	//	*Value_HostFunction_
	//	*Value_ArgumentList_
	//	*Value_Calculation_
	//	*Value_CompilerMixin_
	//	*Value_Color_
	Value isValue_Value `protobuf_oneof:"value"`
}

func (x *Value) Reset() {
	*x = Value{}
	mi := &file_embedded_sass_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Value) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Value) ProtoMessage() {}

func (x *Value) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Value.ProtoReflect.Descriptor instead.
func (*Value) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{4}
}

func (m *Value) GetValue() isValue_Value {
	if m != nil {
		return m.Value
	}
	return nil
}

func (x *Value) GetString_() *Value_String {
	if x, ok := x.GetValue().(*Value_String_); ok {
		return x.String_
	}
	return nil
}

func (x *Value) GetNumber() *Value_Number {
	if x, ok := x.GetValue().(*Value_Number_); ok {
		return x.Number
	}
	return nil
}

func (x *Value) GetList() *Value_List {
	if x, ok := x.GetValue().(*Value_List_); ok {
		return x.List
	}
	return nil
}

func (x *Value) GetMap() *Value_Map {
	if x, ok := x.GetValue().(*Value_Map_); ok {
		return x.Map
	}
	return nil
}

func (x *Value) GetSingleton() SingletonValue {
	if x, ok := x.GetValue().(*Value_Singleton); ok {
		return x.Singleton
	}
	return SingletonValue_TRUE
}

func (x *Value) GetCompilerFunction() *Value_CompilerFunction {
	if x, ok := x.GetValue().(*Value_CompilerFunction_); ok {
		return x.CompilerFunction
	}
	return nil
}

func (x *Value) GetHostFunction() *Value_HostFunction {
	if x, ok := x.GetValue().(*Value_HostFunction_); ok {
		return x.HostFunction
	}
	return nil
}

func (x *Value) GetArgumentList() *Value_ArgumentList {
	if x, ok := x.GetValue().(*Value_ArgumentList_); ok {
		return x.ArgumentList
	}
	return nil
}

func (x *Value) GetCalculation() *Value_Calculation {
	if x, ok := x.GetValue().(*Value_Calculation_); ok {
		return x.Calculation
	}
	return nil
}

func (x *Value) GetCompilerMixin() *Value_CompilerMixin {
	if x, ok := x.GetValue().(*Value_CompilerMixin_); ok {
		return x.CompilerMixin
	}
	return nil
}

func (x *Value) GetColor() *Value_Color {
	if x, ok := x.GetValue().(*Value_Color_); ok {
		return x.Color
	}
	return nil
}

type isValue_Value interface {
	isValue_Value()
}

type Value_String_ struct {
	String_ *Value_String `protobuf:"bytes,1,opt,name=string,proto3,oneof"`
}

type Value_Number_ struct {
	Number *Value_Number `protobuf:"bytes,2,opt,name=number,proto3,oneof"`
}

type Value_List_ struct {
	List *Value_List `protobuf:"bytes,5,opt,name=list,proto3,oneof"`
}

type Value_Map_ struct {
	Map *Value_Map `protobuf:"bytes,6,opt,name=map,proto3,oneof"`
}

type Value_Singleton struct {
	Singleton SingletonValue `protobuf:"varint,7,opt,name=singleton,proto3,enum=sass.embedded_protocol.SingletonValue,oneof"`
}

type Value_CompilerFunction_ struct {
	CompilerFunction *Value_CompilerFunction `protobuf:"bytes,8,opt,name=compiler_function,json=compilerFunction,proto3,oneof"`
}

type Value_HostFunction_ struct {
	HostFunction *Value_HostFunction `protobuf:"bytes,9,opt,name=host_function,json=hostFunction,proto3,oneof"`
}

type Value_ArgumentList_ struct {
	ArgumentList *Value_ArgumentList `protobuf:"bytes,10,opt,name=argument_list,json=argumentList,proto3,oneof"`
}

type Value_Calculation_ struct {
	Calculation *Value_Calculation `protobuf:"bytes,12,opt,name=calculation,proto3,oneof"`
}

type Value_CompilerMixin_ struct {
	CompilerMixin *Value_CompilerMixin `protobuf:"bytes,13,opt,name=compiler_mixin,json=compilerMixin,proto3,oneof"`
}

type Value_Color_ struct {
	Color *Value_Color `protobuf:"bytes,14,opt,name=color,proto3,oneof"`
}

func (*Value_String_) isValue_Value() {}

func (*Value_Number_) isValue_Value() {}

func (*Value_List_) isValue_Value() {}

func (*Value_Map_) isValue_Value() {}

func (*Value_Singleton) isValue_Value() {}

func (*Value_CompilerFunction_) isValue_Value() {}

func (*Value_HostFunction_) isValue_Value() {}

func (*Value_ArgumentList_) isValue_Value() {}

func (*Value_Calculation_) isValue_Value() {}

func (*Value_CompilerMixin_) isValue_Value() {}

func (*Value_Color_) isValue_Value() {}

// The built-in Node.js Package Importer, which is a Package Importer that
// resolves using the standards and conventions of the Node.js ecosystem. It
// enables a `pkg:` URL scheme for usage with `@use` that directs an
// implementation to resolve a URL within a dependency.
type NodePackageImporter struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The absolute path to associate with the Node Package Importer, with
	// semantics identical to the [entryPointDirectory option] in the JavaScript
	// API.
	//
	// [entryPointDirectory option]: https://sass-lang.com/documentation/js-api/classes/NodePackageImporter.html#constructor
	EntryPointDirectory string `protobuf:"bytes,1,opt,name=entry_point_directory,json=entryPointDirectory,proto3" json:"entry_point_directory,omitempty"`
}

func (x *NodePackageImporter) Reset() {
	*x = NodePackageImporter{}
	mi := &file_embedded_sass_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *NodePackageImporter) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NodePackageImporter) ProtoMessage() {}

func (x *NodePackageImporter) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NodePackageImporter.ProtoReflect.Descriptor instead.
func (*NodePackageImporter) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{5}
}

func (x *NodePackageImporter) GetEntryPointDirectory() string {
	if x != nil {
		return x.EntryPointDirectory
	}
	return ""
}

// A request for information about the version of the embedded compiler. The
// host can use this to provide diagnostic information to the user, to check
// which features the compiler supports, or to ensure that it's compatible
// with the same protocol version the compiler supports.
type InboundMessage_VersionRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// This version request's id.
	Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *InboundMessage_VersionRequest) Reset() {
	*x = InboundMessage_VersionRequest{}
	mi := &file_embedded_sass_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InboundMessage_VersionRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InboundMessage_VersionRequest) ProtoMessage() {}

func (x *InboundMessage_VersionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InboundMessage_VersionRequest.ProtoReflect.Descriptor instead.
func (*InboundMessage_VersionRequest) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{0, 0}
}

func (x *InboundMessage_VersionRequest) GetId() uint32 {
	if x != nil {
		return x.Id
	}
	return 0
}

// A request that compiles an entrypoint to CSS.
type InboundMessage_CompileRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The input stylesheet to parse. Mandatory.
	//
	// Types that are assignable to Input:
	//
	//	*InboundMessage_CompileRequest_String_
	//	*InboundMessage_CompileRequest_Path
	Input isInboundMessage_CompileRequest_Input `protobuf_oneof:"input"`
	// How to format the CSS output.
	Style OutputStyle `protobuf:"varint,4,opt,name=style,proto3,enum=sass.embedded_protocol.OutputStyle" json:"style,omitempty"`
	// Whether to generate a source map. Note that this will *not* add a source
	// map comment to the stylesheet; that's up to the host or its users.
	SourceMap bool `protobuf:"varint,5,opt,name=source_map,json=sourceMap,proto3" json:"source_map,omitempty"`
	// Importers (including load paths on the filesystem) to use when resolving
	// imports that can't be resolved relative to the file that contains it. Each
	// importer is checked in order until one recognizes the imported URL.
	Importers []*InboundMessage_CompileRequest_Importer `protobuf:"bytes,6,rep,name=importers,proto3" json:"importers,omitempty"`
	// Signatures for custom global functions whose behavior is defined by the
	// host.
	//
	// If this is not a valid Sass function signature that could appear after
	// `@function` in a Sass stylesheet (such as `mix($color1, $color2, $weight:
	// 50%)`), or if it conflicts with a function name that's built into the
	// Sass language, the compiler must treat the compilation as failed.
	//
	// Compilers must ensure that pure-Sass functions take precedence over
	// custom global functions.
	GlobalFunctions []string `protobuf:"bytes,7,rep,name=global_functions,json=globalFunctions,proto3" json:"global_functions,omitempty"`
	// Whether to use terminal colors in the formatted message of errors and
	// logs.
	AlertColor bool `protobuf:"varint,8,opt,name=alert_color,json=alertColor,proto3" json:"alert_color,omitempty"`
	// Whether to encode the formatted message of errors and logs in ASCII.
	AlertAscii bool `protobuf:"varint,9,opt,name=alert_ascii,json=alertAscii,proto3" json:"alert_ascii,omitempty"`
	// Whether to report all deprecation warnings or only the first few ones.
	// If this is `false`, the compiler may choose not to send events for
	// repeated deprecation warnings. If this is `true`, the compiler must emit
	// an event for every deprecation warning it encounters.
	Verbose bool `protobuf:"varint,10,opt,name=verbose,proto3" json:"verbose,omitempty"`
	// Whether to omit events for deprecation warnings coming from dependencies
	// (files loaded from a different importer than the input).
	QuietDeps bool `protobuf:"varint,11,opt,name=quiet_deps,json=quietDeps,proto3" json:"quiet_deps,omitempty"`
	// Whether to include sources in the generated sourcemap
	SourceMapIncludeSources bool `protobuf:"varint,12,opt,name=source_map_include_sources,json=sourceMapIncludeSources,proto3" json:"source_map_include_sources,omitempty"`
	// Whether to emit a `@charset`/BOM for non-ASCII stylesheets.
	Charset bool `protobuf:"varint,13,opt,name=charset,proto3" json:"charset,omitempty"`
	// Whether to silently suppresses all `LogEvent`s.
	Silent bool `protobuf:"varint,14,opt,name=silent,proto3" json:"silent,omitempty"`
	// Deprecation IDs or versions to treat as fatal.
	FatalDeprecation []string `protobuf:"bytes,15,rep,name=fatal_deprecation,json=fatalDeprecation,proto3" json:"fatal_deprecation,omitempty"`
	// Deprecation IDs to ignore.
	SilenceDeprecation []string `protobuf:"bytes,16,rep,name=silence_deprecation,json=silenceDeprecation,proto3" json:"silence_deprecation,omitempty"`
	// Deprecation IDs to opt into early.
	FutureDeprecation []string `protobuf:"bytes,17,rep,name=future_deprecation,json=futureDeprecation,proto3" json:"future_deprecation,omitempty"`
}

func (x *InboundMessage_CompileRequest) Reset() {
	*x = InboundMessage_CompileRequest{}
	mi := &file_embedded_sass_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InboundMessage_CompileRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InboundMessage_CompileRequest) ProtoMessage() {}

func (x *InboundMessage_CompileRequest) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InboundMessage_CompileRequest.ProtoReflect.Descriptor instead.
func (*InboundMessage_CompileRequest) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{0, 1}
}

func (m *InboundMessage_CompileRequest) GetInput() isInboundMessage_CompileRequest_Input {
	if m != nil {
		return m.Input
	}
	return nil
}

func (x *InboundMessage_CompileRequest) GetString_() *InboundMessage_CompileRequest_StringInput {
	if x, ok := x.GetInput().(*InboundMessage_CompileRequest_String_); ok {
		return x.String_
	}
	return nil
}

func (x *InboundMessage_CompileRequest) GetPath() string {
	if x, ok := x.GetInput().(*InboundMessage_CompileRequest_Path); ok {
		return x.Path
	}
	return ""
}

func (x *InboundMessage_CompileRequest) GetStyle() OutputStyle {
	if x != nil {
		return x.Style
	}
	return OutputStyle_EXPANDED
}

func (x *InboundMessage_CompileRequest) GetSourceMap() bool {
	if x != nil {
		return x.SourceMap
	}
	return false
}

func (x *InboundMessage_CompileRequest) GetImporters() []*InboundMessage_CompileRequest_Importer {
	if x != nil {
		return x.Importers
	}
	return nil
}

func (x *InboundMessage_CompileRequest) GetGlobalFunctions() []string {
	if x != nil {
		return x.GlobalFunctions
	}
	return nil
}

func (x *InboundMessage_CompileRequest) GetAlertColor() bool {
	if x != nil {
		return x.AlertColor
	}
	return false
}

func (x *InboundMessage_CompileRequest) GetAlertAscii() bool {
	if x != nil {
		return x.AlertAscii
	}
	return false
}

func (x *InboundMessage_CompileRequest) GetVerbose() bool {
	if x != nil {
		return x.Verbose
	}
	return false
}

func (x *InboundMessage_CompileRequest) GetQuietDeps() bool {
	if x != nil {
		return x.QuietDeps
	}
	return false
}

func (x *InboundMessage_CompileRequest) GetSourceMapIncludeSources() bool {
	if x != nil {
		return x.SourceMapIncludeSources
	}
	return false
}

func (x *InboundMessage_CompileRequest) GetCharset() bool {
	if x != nil {
		return x.Charset
	}
	return false
}

func (x *InboundMessage_CompileRequest) GetSilent() bool {
	if x != nil {
		return x.Silent
	}
	return false
}

func (x *InboundMessage_CompileRequest) GetFatalDeprecation() []string {
	if x != nil {
		return x.FatalDeprecation
	}
	return nil
}

func (x *InboundMessage_CompileRequest) GetSilenceDeprecation() []string {
	if x != nil {
		return x.SilenceDeprecation
	}
	return nil
}

func (x *InboundMessage_CompileRequest) GetFutureDeprecation() []string {
	if x != nil {
		return x.FutureDeprecation
	}
	return nil
}

type isInboundMessage_CompileRequest_Input interface {
	isInboundMessage_CompileRequest_Input()
}

type InboundMessage_CompileRequest_String_ struct {
	// A stylesheet loaded from its contents.
	String_ *InboundMessage_CompileRequest_StringInput `protobuf:"bytes,2,opt,name=string,proto3,oneof"`
}

type InboundMessage_CompileRequest_Path struct {
	// A stylesheet loaded from the given path on the filesystem.
	Path string `protobuf:"bytes,3,opt,name=path,proto3,oneof"`
}

func (*InboundMessage_CompileRequest_String_) isInboundMessage_CompileRequest_Input() {}

func (*InboundMessage_CompileRequest_Path) isInboundMessage_CompileRequest_Input() {}

// A response indicating the result of canonicalizing an imported URL.
type InboundMessage_CanonicalizeResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// The result of canonicalization. If this is unset, it indicates that the
	// importer either did not recognize the URL, or could not find a stylesheet
	// at the location it referred to. Optional.
	//
	// Types that are assignable to Result:
	//
	//	*InboundMessage_CanonicalizeResponse_Url
	//	*InboundMessage_CanonicalizeResponse_Error
	Result isInboundMessage_CanonicalizeResponse_Result `protobuf_oneof:"result"`
	// Whether `containing_url` in `CanonicalizeRequest` is unused.
	//
	// The compiler can cache the `CanonicalizeResponse` if the `containing_url`
	// is unused.
	//
	// The default value is `false`, thus when the value is not set by the host,
	// the `CanonicalizeResponse` will not be cached by the compiler.
	ContainingUrlUnused bool `protobuf:"varint,4,opt,name=containing_url_unused,json=containingUrlUnused,proto3" json:"containing_url_unused,omitempty"`
}

func (x *InboundMessage_CanonicalizeResponse) Reset() {
	*x = InboundMessage_CanonicalizeResponse{}
	mi := &file_embedded_sass_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InboundMessage_CanonicalizeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InboundMessage_CanonicalizeResponse) ProtoMessage() {}

func (x *InboundMessage_CanonicalizeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InboundMessage_CanonicalizeResponse.ProtoReflect.Descriptor instead.
func (*InboundMessage_CanonicalizeResponse) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{0, 2}
}

func (x *InboundMessage_CanonicalizeResponse) GetId() uint32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (m *InboundMessage_CanonicalizeResponse) GetResult() isInboundMessage_CanonicalizeResponse_Result {
	if m != nil {
		return m.Result
	}
	return nil
}

func (x *InboundMessage_CanonicalizeResponse) GetUrl() string {
	if x, ok := x.GetResult().(*InboundMessage_CanonicalizeResponse_Url); ok {
		return x.Url
	}
	return ""
}

func (x *InboundMessage_CanonicalizeResponse) GetError() string {
	if x, ok := x.GetResult().(*InboundMessage_CanonicalizeResponse_Error); ok {
		return x.Error
	}
	return ""
}

func (x *InboundMessage_CanonicalizeResponse) GetContainingUrlUnused() bool {
	if x != nil {
		return x.ContainingUrlUnused
	}
	return false
}

type isInboundMessage_CanonicalizeResponse_Result interface {
	isInboundMessage_CanonicalizeResponse_Result()
}

type InboundMessage_CanonicalizeResponse_Url struct {
	// The successfully canonicalized URL.
	//
	// If this is not an absolute URL (including scheme), the compiler must
	// treat that as an error thrown by the importer. If this URL's scheme is
	// an `Importer.non_canonical_scheme` for the importer being invoked, the
	// compiler must treat that as an error thrown by the importer.
	Url string `protobuf:"bytes,2,opt,name=url,proto3,oneof"`
}

type InboundMessage_CanonicalizeResponse_Error struct {
	// An error message explaining why canonicalization failed.
	//
	// This indicates that a stylesheet was found, but a canonical URL for it
	// could not be determined. If no stylesheet was found, `result` should be
	// `null` instead.
	Error string `protobuf:"bytes,3,opt,name=error,proto3,oneof"`
}

func (*InboundMessage_CanonicalizeResponse_Url) isInboundMessage_CanonicalizeResponse_Result() {}

func (*InboundMessage_CanonicalizeResponse_Error) isInboundMessage_CanonicalizeResponse_Result() {}

// A response indicating the result of importing a canonical URL.
type InboundMessage_ImportResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// The result of loading the URL. If this is unset, it indicates that the
	// importer either did not recognize the URL, or could not find a stylesheet
	// at the location it referred to. Optional.
	//
	// Types that are assignable to Result:
	//
	//	*InboundMessage_ImportResponse_Success
	//	*InboundMessage_ImportResponse_Error
	Result isInboundMessage_ImportResponse_Result `protobuf_oneof:"result"`
}

func (x *InboundMessage_ImportResponse) Reset() {
	*x = InboundMessage_ImportResponse{}
	mi := &file_embedded_sass_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InboundMessage_ImportResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InboundMessage_ImportResponse) ProtoMessage() {}

func (x *InboundMessage_ImportResponse) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InboundMessage_ImportResponse.ProtoReflect.Descriptor instead.
func (*InboundMessage_ImportResponse) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{0, 3}
}

func (x *InboundMessage_ImportResponse) GetId() uint32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (m *InboundMessage_ImportResponse) GetResult() isInboundMessage_ImportResponse_Result {
	if m != nil {
		return m.Result
	}
	return nil
}

func (x *InboundMessage_ImportResponse) GetSuccess() *InboundMessage_ImportResponse_ImportSuccess {
	if x, ok := x.GetResult().(*InboundMessage_ImportResponse_Success); ok {
		return x.Success
	}
	return nil
}

func (x *InboundMessage_ImportResponse) GetError() string {
	if x, ok := x.GetResult().(*InboundMessage_ImportResponse_Error); ok {
		return x.Error
	}
	return ""
}

type isInboundMessage_ImportResponse_Result interface {
	isInboundMessage_ImportResponse_Result()
}

type InboundMessage_ImportResponse_Success struct {
	// The contents of the loaded stylesheet.
	Success *InboundMessage_ImportResponse_ImportSuccess `protobuf:"bytes,2,opt,name=success,proto3,oneof"`
}

type InboundMessage_ImportResponse_Error struct {
	// An error message explaining why the URL could not be loaded.
	Error string `protobuf:"bytes,3,opt,name=error,proto3,oneof"`
}

func (*InboundMessage_ImportResponse_Success) isInboundMessage_ImportResponse_Result() {}

func (*InboundMessage_ImportResponse_Error) isInboundMessage_ImportResponse_Result() {}

// A response indicating the result of redirecting a URL to the filesystem.
type InboundMessage_FileImportResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// The result of loading the URL. An unset result indicates that the
	// importer did not recognize the URL and other importers or load paths
	// should be tried. Optional.
	//
	// Types that are assignable to Result:
	//
	//	*InboundMessage_FileImportResponse_FileUrl
	//	*InboundMessage_FileImportResponse_Error
	Result isInboundMessage_FileImportResponse_Result `protobuf_oneof:"result"`
	// Whether `containing_url` in `FileImportRequest` is unused.
	//
	// The compiler can cache the `FileImportResponse` if the `containing_url`
	// is unused.
	//
	// The default value is `false`, thus when the value is not set by the host,
	// the `FileImportResponse` will not be cached by the compiler.
	ContainingUrlUnused bool `protobuf:"varint,4,opt,name=containing_url_unused,json=containingUrlUnused,proto3" json:"containing_url_unused,omitempty"`
}

func (x *InboundMessage_FileImportResponse) Reset() {
	*x = InboundMessage_FileImportResponse{}
	mi := &file_embedded_sass_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InboundMessage_FileImportResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InboundMessage_FileImportResponse) ProtoMessage() {}

func (x *InboundMessage_FileImportResponse) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InboundMessage_FileImportResponse.ProtoReflect.Descriptor instead.
func (*InboundMessage_FileImportResponse) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{0, 4}
}

func (x *InboundMessage_FileImportResponse) GetId() uint32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (m *InboundMessage_FileImportResponse) GetResult() isInboundMessage_FileImportResponse_Result {
	if m != nil {
		return m.Result
	}
	return nil
}

func (x *InboundMessage_FileImportResponse) GetFileUrl() string {
	if x, ok := x.GetResult().(*InboundMessage_FileImportResponse_FileUrl); ok {
		return x.FileUrl
	}
	return ""
}

func (x *InboundMessage_FileImportResponse) GetError() string {
	if x, ok := x.GetResult().(*InboundMessage_FileImportResponse_Error); ok {
		return x.Error
	}
	return ""
}

func (x *InboundMessage_FileImportResponse) GetContainingUrlUnused() bool {
	if x != nil {
		return x.ContainingUrlUnused
	}
	return false
}

type isInboundMessage_FileImportResponse_Result interface {
	isInboundMessage_FileImportResponse_Result()
}

type InboundMessage_FileImportResponse_FileUrl struct {
	// The absolute `file:` URL to look for the file on the physical
	// filesystem.
	//
	// The compiler must verify to the best of its ability that this URL
	// follows the format for an absolute `file:` URL on the current operating
	// system without a hostname. If it doesn't, the compiler must treat that
	// as an error thrown by the importer. See
	// https://en.wikipedia.org/wiki/File_URI_scheme for details on the
	// format.
	//
	// The compiler must handle turning this into a canonical URL by resolving
	// it for partials, file extensions, and index files. The compiler must
	// then loading the contents of the resulting canonical URL from the
	// filesystem.
	FileUrl string `protobuf:"bytes,2,opt,name=file_url,json=fileUrl,proto3,oneof"`
}

type InboundMessage_FileImportResponse_Error struct {
	// An error message explaining why the URL could not be loaded.
	Error string `protobuf:"bytes,3,opt,name=error,proto3,oneof"`
}

func (*InboundMessage_FileImportResponse_FileUrl) isInboundMessage_FileImportResponse_Result() {}

func (*InboundMessage_FileImportResponse_Error) isInboundMessage_FileImportResponse_Result() {}

// A response indicating the result of calling a custom Sass function defined
// in the host.
type InboundMessage_FunctionCallResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// The result of calling the function. Mandatory.
	//
	// Types that are assignable to Result:
	//
	//	*InboundMessage_FunctionCallResponse_Success
	//	*InboundMessage_FunctionCallResponse_Error
	Result isInboundMessage_FunctionCallResponse_Result `protobuf_oneof:"result"`
	// The IDs of all `Value.ArgumentList`s in `FunctionCallRequest.arguments`
	// whose keywords were accessed. See `Value.ArgumentList` for details. This
	// may not include the special value `0` and it may not include multiple
	// instances of the same ID.
	AccessedArgumentLists []uint32 `protobuf:"varint,4,rep,packed,name=accessed_argument_lists,json=accessedArgumentLists,proto3" json:"accessed_argument_lists,omitempty"`
}

func (x *InboundMessage_FunctionCallResponse) Reset() {
	*x = InboundMessage_FunctionCallResponse{}
	mi := &file_embedded_sass_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InboundMessage_FunctionCallResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InboundMessage_FunctionCallResponse) ProtoMessage() {}

func (x *InboundMessage_FunctionCallResponse) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InboundMessage_FunctionCallResponse.ProtoReflect.Descriptor instead.
func (*InboundMessage_FunctionCallResponse) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{0, 5}
}

func (x *InboundMessage_FunctionCallResponse) GetId() uint32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (m *InboundMessage_FunctionCallResponse) GetResult() isInboundMessage_FunctionCallResponse_Result {
	if m != nil {
		return m.Result
	}
	return nil
}

func (x *InboundMessage_FunctionCallResponse) GetSuccess() *Value {
	if x, ok := x.GetResult().(*InboundMessage_FunctionCallResponse_Success); ok {
		return x.Success
	}
	return nil
}

func (x *InboundMessage_FunctionCallResponse) GetError() string {
	if x, ok := x.GetResult().(*InboundMessage_FunctionCallResponse_Error); ok {
		return x.Error
	}
	return ""
}

func (x *InboundMessage_FunctionCallResponse) GetAccessedArgumentLists() []uint32 {
	if x != nil {
		return x.AccessedArgumentLists
	}
	return nil
}

type isInboundMessage_FunctionCallResponse_Result interface {
	isInboundMessage_FunctionCallResponse_Result()
}

type InboundMessage_FunctionCallResponse_Success struct {
	// The return value of a successful function call.
	Success *Value `protobuf:"bytes,2,opt,name=success,proto3,oneof"`
}

type InboundMessage_FunctionCallResponse_Error struct {
	// An error message explaining why the function call failed.
	Error string `protobuf:"bytes,3,opt,name=error,proto3,oneof"`
}

func (*InboundMessage_FunctionCallResponse_Success) isInboundMessage_FunctionCallResponse_Result() {}

func (*InboundMessage_FunctionCallResponse_Error) isInboundMessage_FunctionCallResponse_Result() {}

// An input stylesheet provided as plain text, rather than loaded from the
// filesystem.
type InboundMessage_CompileRequest_StringInput struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The contents of the stylesheet.
	Source string `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"`
	// The location from which `source` was loaded. If this is empty, it
	// indicates that the URL is unknown.
	//
	// This must be a canonical URL recognized by `importer`, if it's passed.
	Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
	// The syntax to use to parse `source`.
	Syntax Syntax `protobuf:"varint,3,opt,name=syntax,proto3,enum=sass.embedded_protocol.Syntax" json:"syntax,omitempty"`
	// The importer to use to resolve imports relative to `url`.
	Importer *InboundMessage_CompileRequest_Importer `protobuf:"bytes,4,opt,name=importer,proto3" json:"importer,omitempty"`
}

func (x *InboundMessage_CompileRequest_StringInput) Reset() {
	*x = InboundMessage_CompileRequest_StringInput{}
	mi := &file_embedded_sass_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InboundMessage_CompileRequest_StringInput) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InboundMessage_CompileRequest_StringInput) ProtoMessage() {}

func (x *InboundMessage_CompileRequest_StringInput) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InboundMessage_CompileRequest_StringInput.ProtoReflect.Descriptor instead.
func (*InboundMessage_CompileRequest_StringInput) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{0, 1, 0}
}

func (x *InboundMessage_CompileRequest_StringInput) GetSource() string {
	if x != nil {
		return x.Source
	}
	return ""
}

func (x *InboundMessage_CompileRequest_StringInput) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *InboundMessage_CompileRequest_StringInput) GetSyntax() Syntax {
	if x != nil {
		return x.Syntax
	}
	return Syntax_SCSS
}

func (x *InboundMessage_CompileRequest_StringInput) GetImporter() *InboundMessage_CompileRequest_Importer {
	if x != nil {
		return x.Importer
	}
	return nil
}

// A wrapper message that represents either a user-defined importer or a
// load path on disk. This must be a wrapper because `oneof` types can't be
// `repeated`.
type InboundMessage_CompileRequest_Importer struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The possible types of importer. Mandatory.
	//
	// Types that are assignable to Importer:
	//
	//	*InboundMessage_CompileRequest_Importer_Path
	//	*InboundMessage_CompileRequest_Importer_ImporterId
	//	*InboundMessage_CompileRequest_Importer_FileImporterId
	//	*InboundMessage_CompileRequest_Importer_NodePackageImporter
	Importer isInboundMessage_CompileRequest_Importer_Importer `protobuf_oneof:"importer"`
	// The set of URL schemes that are considered *non-canonical* for this
	// importer. This must be empty unless `importer.importer_id` is set.
	//
	// If any element of this contains a character other than a lowercase
	// ASCII letter, an ASCII numeral, U+002B (`+`), U+002D (`-`), or U+002E
	// (`.`), the compiler must treat the compilation as failed.
	NonCanonicalScheme []string `protobuf:"bytes,4,rep,name=non_canonical_scheme,json=nonCanonicalScheme,proto3" json:"non_canonical_scheme,omitempty"`
}

func (x *InboundMessage_CompileRequest_Importer) Reset() {
	*x = InboundMessage_CompileRequest_Importer{}
	mi := &file_embedded_sass_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InboundMessage_CompileRequest_Importer) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InboundMessage_CompileRequest_Importer) ProtoMessage() {}

func (x *InboundMessage_CompileRequest_Importer) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InboundMessage_CompileRequest_Importer.ProtoReflect.Descriptor instead.
func (*InboundMessage_CompileRequest_Importer) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{0, 1, 1}
}

func (m *InboundMessage_CompileRequest_Importer) GetImporter() isInboundMessage_CompileRequest_Importer_Importer {
	if m != nil {
		return m.Importer
	}
	return nil
}

func (x *InboundMessage_CompileRequest_Importer) GetPath() string {
	if x, ok := x.GetImporter().(*InboundMessage_CompileRequest_Importer_Path); ok {
		return x.Path
	}
	return ""
}

func (x *InboundMessage_CompileRequest_Importer) GetImporterId() uint32 {
	if x, ok := x.GetImporter().(*InboundMessage_CompileRequest_Importer_ImporterId); ok {
		return x.ImporterId
	}
	return 0
}

func (x *InboundMessage_CompileRequest_Importer) GetFileImporterId() uint32 {
	if x, ok := x.GetImporter().(*InboundMessage_CompileRequest_Importer_FileImporterId); ok {
		return x.FileImporterId
	}
	return 0
}

func (x *InboundMessage_CompileRequest_Importer) GetNodePackageImporter() *NodePackageImporter {
	if x, ok := x.GetImporter().(*InboundMessage_CompileRequest_Importer_NodePackageImporter); ok {
		return x.NodePackageImporter
	}
	return nil
}

func (x *InboundMessage_CompileRequest_Importer) GetNonCanonicalScheme() []string {
	if x != nil {
		return x.NonCanonicalScheme
	}
	return nil
}

type isInboundMessage_CompileRequest_Importer_Importer interface {
	isInboundMessage_CompileRequest_Importer_Importer()
}

type InboundMessage_CompileRequest_Importer_Path struct {
	// A built-in importer that loads Sass files within the given directory
	// on disk.
	Path string `protobuf:"bytes,1,opt,name=path,proto3,oneof"`
}

type InboundMessage_CompileRequest_Importer_ImporterId struct {
	// A unique ID for a user-defined importer. This ID will be included in
	// outbound `CanonicalizeRequest` and `ImportRequest` messages to
	// indicate which importer is being called. The host is responsible for
	// generating this ID and ensuring that it's unique across all
	// importers registered for this compilation.
	ImporterId uint32 `protobuf:"varint,2,opt,name=importer_id,json=importerId,proto3,oneof"`
}

type InboundMessage_CompileRequest_Importer_FileImporterId struct {
	// A unique ID for a special kind of user-defined importer that tells
	// the compiler where to look for files on the physical filesystem, but
	// leaves the details of resolving partials and extensions and loading
	// the file from disk up to the compiler itself.
	//
	// This ID will be included in outbound `FileImportRequest` messages to
	// indicate which importer is being called. The host is responsible for
	// generating this ID and ensuring that it's unique across all importers
	// registered for this compilation.
	FileImporterId uint32 `protobuf:"varint,3,opt,name=file_importer_id,json=fileImporterId,proto3,oneof"`
}

type InboundMessage_CompileRequest_Importer_NodePackageImporter struct {
	// The [Node.js package importer], which is a built-in Package Importer
	// with an associated `entry_point_directory` that resolves `pkg:` URLs
	// using the standards and conventions of the Node ecosystem.
	//
	// [Node.js package importer]: https://github.com/sass/sass/tree/main/spec/modules.md#node-package-importer
	NodePackageImporter *NodePackageImporter `protobuf:"bytes,5,opt,name=node_package_importer,json=nodePackageImporter,proto3,oneof"`
}

func (*InboundMessage_CompileRequest_Importer_Path) isInboundMessage_CompileRequest_Importer_Importer() {
}

func (*InboundMessage_CompileRequest_Importer_ImporterId) isInboundMessage_CompileRequest_Importer_Importer() {
}

func (*InboundMessage_CompileRequest_Importer_FileImporterId) isInboundMessage_CompileRequest_Importer_Importer() {
}

func (*InboundMessage_CompileRequest_Importer_NodePackageImporter) isInboundMessage_CompileRequest_Importer_Importer() {
}

// The stylesheet's contents were loaded successfully.
type InboundMessage_ImportResponse_ImportSuccess struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The text of the stylesheet.
	Contents string `protobuf:"bytes,1,opt,name=contents,proto3" json:"contents,omitempty"`
	// The syntax of `contents`.
	Syntax Syntax `protobuf:"varint,2,opt,name=syntax,proto3,enum=sass.embedded_protocol.Syntax" json:"syntax,omitempty"`
	// An absolute, browser-accessible URL indicating the resolved location of
	// the imported stylesheet.
	//
	// This should be a `file:` URL if one is available, but an `http:` URL is
	// acceptable as well. If no URL is supplied, a `data:` URL is generated
	// automatically from `contents`.
	//
	// If this is provided and is not an absolute URL (including scheme) the
	// compiler must treat that as an error thrown by the importer.
	SourceMapUrl *string `protobuf:"bytes,3,opt,name=source_map_url,json=sourceMapUrl,proto3,oneof" json:"source_map_url,omitempty"`
}

func (x *InboundMessage_ImportResponse_ImportSuccess) Reset() {
	*x = InboundMessage_ImportResponse_ImportSuccess{}
	mi := &file_embedded_sass_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InboundMessage_ImportResponse_ImportSuccess) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InboundMessage_ImportResponse_ImportSuccess) ProtoMessage() {}

func (x *InboundMessage_ImportResponse_ImportSuccess) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[14]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InboundMessage_ImportResponse_ImportSuccess.ProtoReflect.Descriptor instead.
func (*InboundMessage_ImportResponse_ImportSuccess) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{0, 3, 0}
}

func (x *InboundMessage_ImportResponse_ImportSuccess) GetContents() string {
	if x != nil {
		return x.Contents
	}
	return ""
}

func (x *InboundMessage_ImportResponse_ImportSuccess) GetSyntax() Syntax {
	if x != nil {
		return x.Syntax
	}
	return Syntax_SCSS
}

func (x *InboundMessage_ImportResponse_ImportSuccess) GetSourceMapUrl() string {
	if x != nil && x.SourceMapUrl != nil {
		return *x.SourceMapUrl
	}
	return ""
}

// A response that contains the version of the embedded compiler.
type OutboundMessage_VersionResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// This version request's id.
	Id uint32 `protobuf:"varint,5,opt,name=id,proto3" json:"id,omitempty"`
	// The version of the embedded protocol, in semver format.
	ProtocolVersion string `protobuf:"bytes,1,opt,name=protocol_version,json=protocolVersion,proto3" json:"protocol_version,omitempty"`
	// The version of the embedded compiler package. This has no guaranteed
	// format, although compilers are encouraged to use semver.
	CompilerVersion string `protobuf:"bytes,2,opt,name=compiler_version,json=compilerVersion,proto3" json:"compiler_version,omitempty"`
	// The version of the Sass implementation that the embedded compiler wraps.
	// This has no guaranteed format, although Sass implementations are
	// encouraged to use semver.
	ImplementationVersion string `protobuf:"bytes,3,opt,name=implementation_version,json=implementationVersion,proto3" json:"implementation_version,omitempty"`
	// The name of the Sass implementation that the embedded compiler wraps.
	ImplementationName string `protobuf:"bytes,4,opt,name=implementation_name,json=implementationName,proto3" json:"implementation_name,omitempty"`
}

func (x *OutboundMessage_VersionResponse) Reset() {
	*x = OutboundMessage_VersionResponse{}
	mi := &file_embedded_sass_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *OutboundMessage_VersionResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OutboundMessage_VersionResponse) ProtoMessage() {}

func (x *OutboundMessage_VersionResponse) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[15]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OutboundMessage_VersionResponse.ProtoReflect.Descriptor instead.
func (*OutboundMessage_VersionResponse) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{1, 0}
}

func (x *OutboundMessage_VersionResponse) GetId() uint32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *OutboundMessage_VersionResponse) GetProtocolVersion() string {
	if x != nil {
		return x.ProtocolVersion
	}
	return ""
}

func (x *OutboundMessage_VersionResponse) GetCompilerVersion() string {
	if x != nil {
		return x.CompilerVersion
	}
	return ""
}

func (x *OutboundMessage_VersionResponse) GetImplementationVersion() string {
	if x != nil {
		return x.ImplementationVersion
	}
	return ""
}

func (x *OutboundMessage_VersionResponse) GetImplementationName() string {
	if x != nil {
		return x.ImplementationName
	}
	return ""
}

// A response that contains the result of a compilation.
type OutboundMessage_CompileResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The success or failure result of the compilation. Mandatory.
	//
	// Types that are assignable to Result:
	//
	//	*OutboundMessage_CompileResponse_Success
	//	*OutboundMessage_CompileResponse_Failure
	Result isOutboundMessage_CompileResponse_Result `protobuf_oneof:"result"`
	// The canonical URLs of all source files loaded during the compilation.
	//
	// The compiler must ensure that each canonical URL appears only once in
	// this list. This must include the entrypoint file's URL if either
	// `CompileRequest.input.path` or `CompileRequest.StringInput.url` was
	// passed.
	LoadedUrls []string `protobuf:"bytes,4,rep,name=loaded_urls,json=loadedUrls,proto3" json:"loaded_urls,omitempty"`
}

func (x *OutboundMessage_CompileResponse) Reset() {
	*x = OutboundMessage_CompileResponse{}
	mi := &file_embedded_sass_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *OutboundMessage_CompileResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OutboundMessage_CompileResponse) ProtoMessage() {}

func (x *OutboundMessage_CompileResponse) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[16]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OutboundMessage_CompileResponse.ProtoReflect.Descriptor instead.
func (*OutboundMessage_CompileResponse) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{1, 1}
}

func (m *OutboundMessage_CompileResponse) GetResult() isOutboundMessage_CompileResponse_Result {
	if m != nil {
		return m.Result
	}
	return nil
}

func (x *OutboundMessage_CompileResponse) GetSuccess() *OutboundMessage_CompileResponse_CompileSuccess {
	if x, ok := x.GetResult().(*OutboundMessage_CompileResponse_Success); ok {
		return x.Success
	}
	return nil
}

func (x *OutboundMessage_CompileResponse) GetFailure() *OutboundMessage_CompileResponse_CompileFailure {
	if x, ok := x.GetResult().(*OutboundMessage_CompileResponse_Failure); ok {
		return x.Failure
	}
	return nil
}

func (x *OutboundMessage_CompileResponse) GetLoadedUrls() []string {
	if x != nil {
		return x.LoadedUrls
	}
	return nil
}

type isOutboundMessage_CompileResponse_Result interface {
	isOutboundMessage_CompileResponse_Result()
}

type OutboundMessage_CompileResponse_Success struct {
	// The result of a successful compilation.
	Success *OutboundMessage_CompileResponse_CompileSuccess `protobuf:"bytes,2,opt,name=success,proto3,oneof"`
}

type OutboundMessage_CompileResponse_Failure struct {
	// The result of a failed compilation.
	Failure *OutboundMessage_CompileResponse_CompileFailure `protobuf:"bytes,3,opt,name=failure,proto3,oneof"`
}

func (*OutboundMessage_CompileResponse_Success) isOutboundMessage_CompileResponse_Result() {}

func (*OutboundMessage_CompileResponse_Failure) isOutboundMessage_CompileResponse_Result() {}

// An event indicating that a message should be displayed to the user.
type OutboundMessage_LogEvent struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Type LogEventType `protobuf:"varint,2,opt,name=type,proto3,enum=sass.embedded_protocol.LogEventType" json:"type,omitempty"`
	// The text of the message.
	Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"`
	// The span associated with this message.
	Span *SourceSpan `protobuf:"bytes,4,opt,name=span,proto3,oneof" json:"span,omitempty"`
	// The stack trace associated with this message.
	//
	// The empty string indicates that no stack trace is available. Otherwise,
	// the format of this stack trace is not specified and is likely to be
	// inconsistent between implementations.
	StackTrace string `protobuf:"bytes,5,opt,name=stack_trace,json=stackTrace,proto3" json:"stack_trace,omitempty"`
	// A formatted, human-readable string that contains the message, span (if
	// available), and trace (if available). The format of this string is not
	// specified and is likely to be inconsistent between implementations.
	Formatted string `protobuf:"bytes,6,opt,name=formatted,proto3" json:"formatted,omitempty"`
	// The deprecation ID for this warning, if type is DEPRECATION_WARNING.
	DeprecationType *string `protobuf:"bytes,7,opt,name=deprecation_type,json=deprecationType,proto3,oneof" json:"deprecation_type,omitempty"`
}

func (x *OutboundMessage_LogEvent) Reset() {
	*x = OutboundMessage_LogEvent{}
	mi := &file_embedded_sass_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *OutboundMessage_LogEvent) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OutboundMessage_LogEvent) ProtoMessage() {}

func (x *OutboundMessage_LogEvent) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[17]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OutboundMessage_LogEvent.ProtoReflect.Descriptor instead.
func (*OutboundMessage_LogEvent) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{1, 2}
}

func (x *OutboundMessage_LogEvent) GetType() LogEventType {
	if x != nil {
		return x.Type
	}
	return LogEventType_WARNING
}

func (x *OutboundMessage_LogEvent) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

func (x *OutboundMessage_LogEvent) GetSpan() *SourceSpan {
	if x != nil {
		return x.Span
	}
	return nil
}

func (x *OutboundMessage_LogEvent) GetStackTrace() string {
	if x != nil {
		return x.StackTrace
	}
	return ""
}

func (x *OutboundMessage_LogEvent) GetFormatted() string {
	if x != nil {
		return x.Formatted
	}
	return ""
}

func (x *OutboundMessage_LogEvent) GetDeprecationType() string {
	if x != nil && x.DeprecationType != nil {
		return *x.DeprecationType
	}
	return ""
}

// A request for a custom importer to convert an imported URL to its canonical
// format.
//
// If the URL is not recognized by this importer, or if no stylesheet is found
// at that URL, `CanonicalizeResponse.result` must be `null`. Otherwise, the
// importer must return an absolute URL, including a scheme.
//
// > The host's documentation should encourage the use of file importers (via
// > `CompileRequest.Importer.file_importer_id`, `FileImportRequest`, and
// > `FileImportResponse`) for any importers that simply refer to files on
// > disk. This will allow Sass to handle the logic of resolving partials,
// > file extensions, and index files.
//
// If Sass has already loaded a stylesheet with the returned canonical URL, it
// re-uses the existing parse tree. This means that importers must ensure that
// the same canonical URL always refers to the same stylesheet, *even across
// different importers*. Importers must also ensure that any canonicalized
// URLs they return can be passed back to `CanonicalizeRequest` and will be
// returned unchanged.
//
// If this importer's URL format supports file extensions, it should
// canonicalize them the same way as the default filesystem importer:
//
//   - The importer should look for stylesheets by adding the prefix `_` to the
//     URL's basename, and by adding the extensions `.sass` and `.scss` if the
//     URL doesn't already have one of those extensions. For example, if the URL
//     was `foo/bar/baz`, the importer would look for:
//
//   - `foo/bar/baz.sass`
//
//   - `foo/bar/baz.scss`
//
//   - `foo/bar/_baz.sass`
//
//   - `foo/bar/_baz.scss`
//
//     If the URL was foo/bar/baz.scss, the importer would just look for:
//
//   - `foo/bar/baz.scss`
//
//   - `foo/bar/_baz.scss`
//
//     If the importer finds a stylesheet at more than one of these URLs, it
//     should respond with a `CanonicalizeResponse.result.error` indicating that
//     the import is ambiguous. Note that if the extension is explicitly
//     specified, a stylesheet with another extension may exist without error.
//
//   - If none of the possible paths is valid, the importer should perform the
//     same resolution on the URL followed by `/index`. In the example above, it
//     would look for:
//
//   - `foo/bar/baz/_index.sass`
//
//   - `foo/bar/baz/index.sass`
//
//   - `foo/bar/baz/_index.scss`
//
//   - `foo/bar/baz/index.scss`
//
//     As above, if the importer finds a stylesheet at more than one of these
//     URLs, it should respond with a `CanonicalizeResponse.result.error`
//     indicating that the import is ambiguous.
type OutboundMessage_CanonicalizeRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// The unique ID of the importer being invoked. This must match an importer
	// ID passed to this compilation in `CompileRequest.importers` or
	// `CompileRequest.input.string.importer`.
	ImporterId uint32 `protobuf:"varint,3,opt,name=importer_id,json=importerId,proto3" json:"importer_id,omitempty"`
	// The URL of the import to be canonicalized. This may be either absolute or
	// relative.
	//
	// When loading a URL, the compiler must first try resolving that URL
	// relative to the canonical URL of the current file, and canonicalizing the
	// result using the importer that loaded the current file. If this returns
	// `null`, the compiler must then try canonicalizing the original URL with
	// each importer in order until one returns something other than `null`.
	// That is the result of the import.
	Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url,omitempty"`
	// Whether this request comes from an `@import` rule.
	//
	// When evaluating `@import` rules, URLs should canonicalize to an
	// [import-only file] if one exists for the URL being canonicalized.
	// Otherwise, canonicalization should be identical for `@import` and `@use`
	// rules.
	//
	// [import-only file]: https://sass-lang.com/documentation/at-rules/import#import-only-files
	FromImport bool `protobuf:"varint,5,opt,name=from_import,json=fromImport,proto3" json:"from_import,omitempty"`
	// The canonical URL of the [current source file] that contained the load
	// to be canonicalized.
	//
	// [current source file]: ../spec.md#current-source-file
	//
	// The compiler must set this if and only if `url` is relative or its
	// scheme is an `Importer.non_canonical_scheme` for the importer being
	// invoked, unless the current source file has no canonical URL.
	//
	// [non-canonical-proto]: #non_canonical_scheme
	ContainingUrl *string `protobuf:"bytes,6,opt,name=containing_url,json=containingUrl,proto3,oneof" json:"containing_url,omitempty"`
}

func (x *OutboundMessage_CanonicalizeRequest) Reset() {
	*x = OutboundMessage_CanonicalizeRequest{}
	mi := &file_embedded_sass_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *OutboundMessage_CanonicalizeRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OutboundMessage_CanonicalizeRequest) ProtoMessage() {}

func (x *OutboundMessage_CanonicalizeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[18]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OutboundMessage_CanonicalizeRequest.ProtoReflect.Descriptor instead.
func (*OutboundMessage_CanonicalizeRequest) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{1, 3}
}

func (x *OutboundMessage_CanonicalizeRequest) GetId() uint32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *OutboundMessage_CanonicalizeRequest) GetImporterId() uint32 {
	if x != nil {
		return x.ImporterId
	}
	return 0
}

func (x *OutboundMessage_CanonicalizeRequest) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *OutboundMessage_CanonicalizeRequest) GetFromImport() bool {
	if x != nil {
		return x.FromImport
	}
	return false
}

func (x *OutboundMessage_CanonicalizeRequest) GetContainingUrl() string {
	if x != nil && x.ContainingUrl != nil {
		return *x.ContainingUrl
	}
	return ""
}

// A request for a custom importer to load the contents of a stylesheet.
type OutboundMessage_ImportRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// The unique ID of the importer being invoked. This must match an
	// `Importer.importer_id` passed to this compilation in
	// `CompileRequest.importers` or `CompileRequest.input.string.importer`.
	ImporterId uint32 `protobuf:"varint,3,opt,name=importer_id,json=importerId,proto3" json:"importer_id,omitempty"`
	// The canonical URL of the import. This is guaranteed to be a URL returned
	// by a `CanonicalizeRequest` to this importer.
	Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url,omitempty"`
}

func (x *OutboundMessage_ImportRequest) Reset() {
	*x = OutboundMessage_ImportRequest{}
	mi := &file_embedded_sass_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *OutboundMessage_ImportRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OutboundMessage_ImportRequest) ProtoMessage() {}

func (x *OutboundMessage_ImportRequest) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[19]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OutboundMessage_ImportRequest.ProtoReflect.Descriptor instead.
func (*OutboundMessage_ImportRequest) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{1, 4}
}

func (x *OutboundMessage_ImportRequest) GetId() uint32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *OutboundMessage_ImportRequest) GetImporterId() uint32 {
	if x != nil {
		return x.ImporterId
	}
	return 0
}

func (x *OutboundMessage_ImportRequest) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

// A request for a custom filesystem importer to load the contents of a
// stylesheet.
//
// A filesystem importer is represented in the compiler as an [importer]. When
// the importer is invoked with a string `string`:
//
// * If `string` is an absolute URL whose scheme is `file`:
//
//   - Let `url` be string.
//
// * Otherwise:
//
//   - Let `fromImport` be `true` if the importer is being run for an
//     `@import` and `false` otherwise.
//
//   - Let `containingUrl` be the canonical URL of the [current source file]
//     if it has one, or undefined otherwise.
//
//   - Let `response` be the result of sending a `FileImportRequest` with
//     `string` as its `url`, `fromImport` as `from_import`, and
//     `containingUrl` as `containing_url`.
//
//   - If `response.result` is null, return null.
//
//   - Otherwise, if `response.result.error` is set, throw an error.
//
//   - Otherwise, let `url` be `response.result.file_url`.
//
// * Let `resolved` be the result of [resolving `url`].
//
// * If `resolved` is null, return null.
//
// * Let `text` be the contents of the file at `resolved`.
//
// * Let `syntax` be:
//
//   - "scss" if `url` ends in `.scss`.
//
//   - "indented" if `url` ends in `.sass`.
//
//   - "css" if `url` ends in `.css`.
//
//     > The algorithm for resolving a `file:` URL guarantees that `url` will have
//     > one of these extensions.
//
// * Return `text`, `syntax`, and `resolved`.
//
// [current source file]: ../spec.md#current-source-file
// [resolving `url`]: https://github.com/sass/sass/tree/main/spec/modules.md#resolving-a-file-url
//
// [importer]: https://github.com/sass/sass/tree/main/spec/modules.md#importer
type OutboundMessage_FileImportRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// The unique ID of the importer being invoked. This must match an
	// `Importer.file_importer_id` passed to this compilation in
	// `CompileRequest.importers` or `CompileRequest.input.string.importer`.
	ImporterId uint32 `protobuf:"varint,3,opt,name=importer_id,json=importerId,proto3" json:"importer_id,omitempty"`
	// The (non-canonicalized) URL of the import.
	Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url,omitempty"`
	// Whether this request comes from an `@import` rule.
	//
	// When evaluating `@import` rules, filesystem importers should load an
	// [import-only file] if one exists for the URL being canonicalized.
	// Otherwise, canonicalization should be identical for `@import` and `@use`
	// rules.
	//
	// [import-only file]: https://sass-lang.com/documentation/at-rules/import#import-only-files
	FromImport bool `protobuf:"varint,5,opt,name=from_import,json=fromImport,proto3" json:"from_import,omitempty"`
	// The canonical URL of the [current source file] that contained the load
	// being resolved. The compiler must set this unless the current source file
	// has no canonical URL.
	ContainingUrl *string `protobuf:"bytes,6,opt,name=containing_url,json=containingUrl,proto3,oneof" json:"containing_url,omitempty"`
}

func (x *OutboundMessage_FileImportRequest) Reset() {
	*x = OutboundMessage_FileImportRequest{}
	mi := &file_embedded_sass_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *OutboundMessage_FileImportRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OutboundMessage_FileImportRequest) ProtoMessage() {}

func (x *OutboundMessage_FileImportRequest) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[20]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OutboundMessage_FileImportRequest.ProtoReflect.Descriptor instead.
func (*OutboundMessage_FileImportRequest) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{1, 5}
}

func (x *OutboundMessage_FileImportRequest) GetId() uint32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *OutboundMessage_FileImportRequest) GetImporterId() uint32 {
	if x != nil {
		return x.ImporterId
	}
	return 0
}

func (x *OutboundMessage_FileImportRequest) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *OutboundMessage_FileImportRequest) GetFromImport() bool {
	if x != nil {
		return x.FromImport
	}
	return false
}

func (x *OutboundMessage_FileImportRequest) GetContainingUrl() string {
	if x != nil && x.ContainingUrl != nil {
		return *x.ContainingUrl
	}
	return ""
}

// A request to invoke a custom Sass function and return its result.
type OutboundMessage_FunctionCallRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// An identifier that indicates which function to invoke. Mandatory.
	//
	// Types that are assignable to Identifier:
	//
	//	*OutboundMessage_FunctionCallRequest_Name
	//	*OutboundMessage_FunctionCallRequest_FunctionId
	Identifier isOutboundMessage_FunctionCallRequest_Identifier `protobuf_oneof:"identifier"`
	// The arguments passed to the function, in the order they appear in the
	// function signature passed to `CompileRequest.global_functions`.
	//
	// The compiler must ensure that a valid number of arguments are passed for
	// the given signature, that default argument values are instantiated
	// appropriately, and that variable argument lists (`$args...`) are passed
	// as `Value.ArgumentList`s.
	Arguments []*Value `protobuf:"bytes,5,rep,name=arguments,proto3" json:"arguments,omitempty"`
}

func (x *OutboundMessage_FunctionCallRequest) Reset() {
	*x = OutboundMessage_FunctionCallRequest{}
	mi := &file_embedded_sass_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *OutboundMessage_FunctionCallRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OutboundMessage_FunctionCallRequest) ProtoMessage() {}

func (x *OutboundMessage_FunctionCallRequest) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[21]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OutboundMessage_FunctionCallRequest.ProtoReflect.Descriptor instead.
func (*OutboundMessage_FunctionCallRequest) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{1, 6}
}

func (x *OutboundMessage_FunctionCallRequest) GetId() uint32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (m *OutboundMessage_FunctionCallRequest) GetIdentifier() isOutboundMessage_FunctionCallRequest_Identifier {
	if m != nil {
		return m.Identifier
	}
	return nil
}

func (x *OutboundMessage_FunctionCallRequest) GetName() string {
	if x, ok := x.GetIdentifier().(*OutboundMessage_FunctionCallRequest_Name); ok {
		return x.Name
	}
	return ""
}

func (x *OutboundMessage_FunctionCallRequest) GetFunctionId() uint32 {
	if x, ok := x.GetIdentifier().(*OutboundMessage_FunctionCallRequest_FunctionId); ok {
		return x.FunctionId
	}
	return 0
}

func (x *OutboundMessage_FunctionCallRequest) GetArguments() []*Value {
	if x != nil {
		return x.Arguments
	}
	return nil
}

type isOutboundMessage_FunctionCallRequest_Identifier interface {
	isOutboundMessage_FunctionCallRequest_Identifier()
}

type OutboundMessage_FunctionCallRequest_Name struct {
	// The name of the function to invoke.
	//
	// This must match the name of a function signature the host passed to the
	// corresponding `CompileRequest.global_functions` call, including hyphens
	// and underscores.
	Name string `protobuf:"bytes,3,opt,name=name,proto3,oneof"`
}

type OutboundMessage_FunctionCallRequest_FunctionId struct {
	// The opaque ID of the function to invoke.
	//
	// This must match the ID of a `Value.HostFunction` that the host passed
	// to the compiler.
	FunctionId uint32 `protobuf:"varint,4,opt,name=function_id,json=functionId,proto3,oneof"`
}

func (*OutboundMessage_FunctionCallRequest_Name) isOutboundMessage_FunctionCallRequest_Identifier() {}

func (*OutboundMessage_FunctionCallRequest_FunctionId) isOutboundMessage_FunctionCallRequest_Identifier() {
}

// A message indicating that the Sass file was successfully compiled to CSS.
type OutboundMessage_CompileResponse_CompileSuccess struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The compiled CSS.
	Css string `protobuf:"bytes,1,opt,name=css,proto3" json:"css,omitempty"`
	// The JSON-encoded source map, or the empty string if
	// `CompileRequest.source_map` was `false`.
	//
	// The compiler must not add a `"file"` key to this source map. It's the
	// host's (or the host's user's) responsibility to determine how the
	// generated CSS can be reached from the source map.
	SourceMap string `protobuf:"bytes,2,opt,name=source_map,json=sourceMap,proto3" json:"source_map,omitempty"`
}

func (x *OutboundMessage_CompileResponse_CompileSuccess) Reset() {
	*x = OutboundMessage_CompileResponse_CompileSuccess{}
	mi := &file_embedded_sass_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *OutboundMessage_CompileResponse_CompileSuccess) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OutboundMessage_CompileResponse_CompileSuccess) ProtoMessage() {}

func (x *OutboundMessage_CompileResponse_CompileSuccess) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[22]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OutboundMessage_CompileResponse_CompileSuccess.ProtoReflect.Descriptor instead.
func (*OutboundMessage_CompileResponse_CompileSuccess) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{1, 1, 0}
}

func (x *OutboundMessage_CompileResponse_CompileSuccess) GetCss() string {
	if x != nil {
		return x.Css
	}
	return ""
}

func (x *OutboundMessage_CompileResponse_CompileSuccess) GetSourceMap() string {
	if x != nil {
		return x.SourceMap
	}
	return ""
}

// A message indicating that the Sass file could not be successfully
// compiled to CSS.
type OutboundMessage_CompileResponse_CompileFailure struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// A message describing the reason for the failure.
	Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
	// The span associated with the failure.
	Span *SourceSpan `protobuf:"bytes,2,opt,name=span,proto3" json:"span,omitempty"`
	// The stack trace associated with the failure.
	//
	// The empty string indicates that no stack trace is available. Otherwise,
	// the format of this stack trace is not specified and is likely to be
	// inconsistent between implementations.
	StackTrace string `protobuf:"bytes,3,opt,name=stack_trace,json=stackTrace,proto3" json:"stack_trace,omitempty"`
	// A formatted, human-readable string that contains the message, span
	// (if available), and trace (if available). The format of this string is
	// not specified and is likely to be inconsistent between implementations.
	Formatted string `protobuf:"bytes,4,opt,name=formatted,proto3" json:"formatted,omitempty"`
}

func (x *OutboundMessage_CompileResponse_CompileFailure) Reset() {
	*x = OutboundMessage_CompileResponse_CompileFailure{}
	mi := &file_embedded_sass_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *OutboundMessage_CompileResponse_CompileFailure) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OutboundMessage_CompileResponse_CompileFailure) ProtoMessage() {}

func (x *OutboundMessage_CompileResponse_CompileFailure) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[23]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OutboundMessage_CompileResponse_CompileFailure.ProtoReflect.Descriptor instead.
func (*OutboundMessage_CompileResponse_CompileFailure) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{1, 1, 1}
}

func (x *OutboundMessage_CompileResponse_CompileFailure) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

func (x *OutboundMessage_CompileResponse_CompileFailure) GetSpan() *SourceSpan {
	if x != nil {
		return x.Span
	}
	return nil
}

func (x *OutboundMessage_CompileResponse_CompileFailure) GetStackTrace() string {
	if x != nil {
		return x.StackTrace
	}
	return ""
}

func (x *OutboundMessage_CompileResponse_CompileFailure) GetFormatted() string {
	if x != nil {
		return x.Formatted
	}
	return ""
}

// A single point in a source file.
type SourceSpan_SourceLocation struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The 0-based offset of this location within the source file.
	Offset uint32 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"`
	// The 0-based line number of this location within the source file.
	Line uint32 `protobuf:"varint,2,opt,name=line,proto3" json:"line,omitempty"`
	// The 0-based column number of this location within its line.
	Column uint32 `protobuf:"varint,3,opt,name=column,proto3" json:"column,omitempty"`
}

func (x *SourceSpan_SourceLocation) Reset() {
	*x = SourceSpan_SourceLocation{}
	mi := &file_embedded_sass_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SourceSpan_SourceLocation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SourceSpan_SourceLocation) ProtoMessage() {}

func (x *SourceSpan_SourceLocation) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[24]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SourceSpan_SourceLocation.ProtoReflect.Descriptor instead.
func (*SourceSpan_SourceLocation) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{3, 0}
}

func (x *SourceSpan_SourceLocation) GetOffset() uint32 {
	if x != nil {
		return x.Offset
	}
	return 0
}

func (x *SourceSpan_SourceLocation) GetLine() uint32 {
	if x != nil {
		return x.Line
	}
	return 0
}

func (x *SourceSpan_SourceLocation) GetColumn() uint32 {
	if x != nil {
		return x.Column
	}
	return 0
}

// A SassScript string value.
type Value_String struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The contents of the string.
	Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
	// Whether the string is quoted or unquoted.
	Quoted bool `protobuf:"varint,2,opt,name=quoted,proto3" json:"quoted,omitempty"`
}

func (x *Value_String) Reset() {
	*x = Value_String{}
	mi := &file_embedded_sass_proto_msgTypes[25]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Value_String) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Value_String) ProtoMessage() {}

func (x *Value_String) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[25]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Value_String.ProtoReflect.Descriptor instead.
func (*Value_String) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{4, 0}
}

func (x *Value_String) GetText() string {
	if x != nil {
		return x.Text
	}
	return ""
}

func (x *Value_String) GetQuoted() bool {
	if x != nil {
		return x.Quoted
	}
	return false
}

// A SassScript number value.
type Value_Number struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The number's numeric value.
	Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"`
	// The number's numerator units.
	//
	// The endpoint sending the number must ensure that no numerator units are
	// [compatible][] with any denominator units. Such compatible units must be
	// simplified away according to the multiplicative factor between them
	// defined in the CSS Values and Units spec.
	//
	// [compatible]: https://www.w3.org/TR/css-values-4/#compat
	Numerators []string `protobuf:"bytes,2,rep,name=numerators,proto3" json:"numerators,omitempty"`
	// The number's denominator units.
	Denominators []string `protobuf:"bytes,3,rep,name=denominators,proto3" json:"denominators,omitempty"`
}

func (x *Value_Number) Reset() {
	*x = Value_Number{}
	mi := &file_embedded_sass_proto_msgTypes[26]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Value_Number) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Value_Number) ProtoMessage() {}

func (x *Value_Number) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[26]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Value_Number.ProtoReflect.Descriptor instead.
func (*Value_Number) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{4, 1}
}

func (x *Value_Number) GetValue() float64 {
	if x != nil {
		return x.Value
	}
	return 0
}

func (x *Value_Number) GetNumerators() []string {
	if x != nil {
		return x.Numerators
	}
	return nil
}

func (x *Value_Number) GetDenominators() []string {
	if x != nil {
		return x.Denominators
	}
	return nil
}

// A SassScript color value.
type Value_Color struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The name of a known color space.
	Space string `protobuf:"bytes,1,opt,name=space,proto3" json:"space,omitempty"`
	// The value of the first channel associated with `space`. A [missing]
	// channel is represented by an unset value.
	//
	// [missing]: types/color.md#missing-components
	Channel1 *float64 `protobuf:"fixed64,2,opt,name=channel1,proto3,oneof" json:"channel1,omitempty"`
	// The value of the second channel associated with `space`. A [missing]
	// channel is represented by an unset value.
	//
	// [missing]: types/color.md#missing-components
	Channel2 *float64 `protobuf:"fixed64,3,opt,name=channel2,proto3,oneof" json:"channel2,omitempty"`
	// The value of the third channel associated with `space`. A [missing]
	// channel is represented by an unset value.
	//
	// [missing]: types/color.md#missing-components
	Channel3 *float64 `protobuf:"fixed64,4,opt,name=channel3,proto3,oneof" json:"channel3,omitempty"`
	// The color's alpha channel. Mandatory. Must be between 0 and 1, inclusive.
	// A [missing] channel is represented by an unset value.
	//
	// [missing]: types/color.md#missing-components
	Alpha *float64 `protobuf:"fixed64,5,opt,name=alpha,proto3,oneof" json:"alpha,omitempty"`
}

func (x *Value_Color) Reset() {
	*x = Value_Color{}
	mi := &file_embedded_sass_proto_msgTypes[27]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Value_Color) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Value_Color) ProtoMessage() {}

func (x *Value_Color) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[27]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Value_Color.ProtoReflect.Descriptor instead.
func (*Value_Color) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{4, 2}
}

func (x *Value_Color) GetSpace() string {
	if x != nil {
		return x.Space
	}
	return ""
}

func (x *Value_Color) GetChannel1() float64 {
	if x != nil && x.Channel1 != nil {
		return *x.Channel1
	}
	return 0
}

func (x *Value_Color) GetChannel2() float64 {
	if x != nil && x.Channel2 != nil {
		return *x.Channel2
	}
	return 0
}

func (x *Value_Color) GetChannel3() float64 {
	if x != nil && x.Channel3 != nil {
		return *x.Channel3
	}
	return 0
}

func (x *Value_Color) GetAlpha() float64 {
	if x != nil && x.Alpha != nil {
		return *x.Alpha
	}
	return 0
}

// A SassScript list value.
type Value_List struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The type of separator for this list. Mandatory.
	Separator ListSeparator `protobuf:"varint,1,opt,name=separator,proto3,enum=sass.embedded_protocol.ListSeparator" json:"separator,omitempty"`
	// Whether this list has square brackets. Mandatory.
	HasBrackets bool `protobuf:"varint,2,opt,name=has_brackets,json=hasBrackets,proto3" json:"has_brackets,omitempty"`
	// The elements of this list.
	Contents []*Value `protobuf:"bytes,3,rep,name=contents,proto3" json:"contents,omitempty"`
}

func (x *Value_List) Reset() {
	*x = Value_List{}
	mi := &file_embedded_sass_proto_msgTypes[28]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Value_List) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Value_List) ProtoMessage() {}

func (x *Value_List) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[28]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Value_List.ProtoReflect.Descriptor instead.
func (*Value_List) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{4, 3}
}

func (x *Value_List) GetSeparator() ListSeparator {
	if x != nil {
		return x.Separator
	}
	return ListSeparator_COMMA
}

func (x *Value_List) GetHasBrackets() bool {
	if x != nil {
		return x.HasBrackets
	}
	return false
}

func (x *Value_List) GetContents() []*Value {
	if x != nil {
		return x.Contents
	}
	return nil
}

// A SassScript map value.
type Value_Map struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The entries in this map. The sending endpoint must guarantee that no two
	// entries have the same key.
	Entries []*Value_Map_Entry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"`
}

func (x *Value_Map) Reset() {
	*x = Value_Map{}
	mi := &file_embedded_sass_proto_msgTypes[29]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Value_Map) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Value_Map) ProtoMessage() {}

func (x *Value_Map) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[29]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Value_Map.ProtoReflect.Descriptor instead.
func (*Value_Map) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{4, 4}
}

func (x *Value_Map) GetEntries() []*Value_Map_Entry {
	if x != nil {
		return x.Entries
	}
	return nil
}

// A first-class function defined in the compiler. New `CompilerFunction`s may
// only be created by the compiler, but the host may pass `CompilerFunction`s
// back to the compiler as long as their IDs match IDs of functions received
// by the host during that same compilation.
type Value_CompilerFunction struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// A unique ID for this function. The compiler is responsible for generating
	// this ID and ensuring it's unique across all functions passed to the host
	// for this compilation. Mandatory.
	Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *Value_CompilerFunction) Reset() {
	*x = Value_CompilerFunction{}
	mi := &file_embedded_sass_proto_msgTypes[30]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Value_CompilerFunction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Value_CompilerFunction) ProtoMessage() {}

func (x *Value_CompilerFunction) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[30]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Value_CompilerFunction.ProtoReflect.Descriptor instead.
func (*Value_CompilerFunction) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{4, 5}
}

func (x *Value_CompilerFunction) GetId() uint32 {
	if x != nil {
		return x.Id
	}
	return 0
}

// An anonymous custom function defined in the host. New `HostFunction`s may
// only be created by the host, and `HostFunction`s may *never* be passed from
// the compiler to the host. The compiler must instead pass a
// `CompilerFunction` that wraps the `HostFunction`.
type Value_HostFunction struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// A unique ID for this function. The compiler must pass this ID as
	// `OutboundRequest.FunctionCallRequest.id` when invoking this function. The
	// host is responsible for generating this ID and ensuring it's unique
	// across all functions for *all* compilations. Mandatory.
	Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// The signature for this function. Mandatory.
	//
	// If this isn't a valid Sass function signature that could appear after
	// `@function` in a Sass stylesheet (such as `mix($color1, $color2, $weight:
	// 50%)`), the compiler must treat it as though the function that returned
	// this `HostFunction` threw an error.
	//
	// > This ensures that the host doesn't need to be able to correctly parse
	// > the entire function declaration syntax.
	//
	// The compiler may not invoke the function by its name, since it's not
	// guaranteed to be globally unique. However, it may use the name to
	// generate the string representation of this function.
	Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
}

func (x *Value_HostFunction) Reset() {
	*x = Value_HostFunction{}
	mi := &file_embedded_sass_proto_msgTypes[31]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Value_HostFunction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Value_HostFunction) ProtoMessage() {}

func (x *Value_HostFunction) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[31]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Value_HostFunction.ProtoReflect.Descriptor instead.
func (*Value_HostFunction) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{4, 6}
}

func (x *Value_HostFunction) GetId() uint32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *Value_HostFunction) GetSignature() string {
	if x != nil {
		return x.Signature
	}
	return ""
}

// A first-class mixin defined in the compiler. New `CompilerMixin`s may
// only be created by the compiler, but the host may pass `CompilerMixin`s
// back to the compiler as long as their IDs match IDs of mixins received
// by the host during that same compilation.
type Value_CompilerMixin struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// A unique ID for this mixin. The compiler is responsible for generating
	// this ID and ensuring it's unique across all mixins passed to the host
	// for this compilation. Mandatory.
	Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *Value_CompilerMixin) Reset() {
	*x = Value_CompilerMixin{}
	mi := &file_embedded_sass_proto_msgTypes[32]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Value_CompilerMixin) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Value_CompilerMixin) ProtoMessage() {}

func (x *Value_CompilerMixin) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[32]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Value_CompilerMixin.ProtoReflect.Descriptor instead.
func (*Value_CompilerMixin) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{4, 7}
}

func (x *Value_CompilerMixin) GetId() uint32 {
	if x != nil {
		return x.Id
	}
	return 0
}

// A SassScript argument list value. This represents rest arguments passed to
// a function's `$arg...` parameter. Unlike a normal `List`, an argument list
// has an associated keywords map which tracks keyword arguments passed in
// alongside positional arguments.
//
// For each `ArgumentList` in `FunctionCallRequest.arguments` (including those
// nested within `List`s and `Map`s), the host must track whether its keyword
// arguments were accessed by the user. If they were, it must add its
// `ArgumentList.id` to `FunctionCallResponse.accessed_argument_lists`.
//
// The compiler must treat every `ArgumentList` whose `ArgumentList.id`
// appears in `FunctionCallResponse.accessed_argument_lists` as though it had
// been passed to `meta.keywords()`.
type Value_ArgumentList struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// An ID for this argument list that's unique within the scope of a given
	// `FunctionCallRequest`.
	//
	// The special ID `0` is reserved for `ArgumentList`s created by the host,
	// and may not be used by the compiler. These `ArgumentList`s do not need to
	// have their IDs added to `FunctionCallResponse.accessed_argument_lists`,
	// and the compiler should treat them as though their keywords have always
	// been accessed.
	Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// The type of separator for this list. The compiler must set this, but
	// the host may omit it for `ArgumentList`s that were originally created by
	// the compiler (that is, those with a non-0 ID).
	Separator ListSeparator `protobuf:"varint,2,opt,name=separator,proto3,enum=sass.embedded_protocol.ListSeparator" json:"separator,omitempty"`
	// The argument list's positional contents. The compiler must set this, but
	// the host may omit it for `ArgumentList`s that were originally created by
	// the compiler (that is, those with a non-0 ID).
	Contents []*Value `protobuf:"bytes,3,rep,name=contents,proto3" json:"contents,omitempty"`
	// The argument list's keywords. The compiler must set this, but the host
	// may omit it for `ArgumentList`s that were originally created by the
	// compiler (that is, those with a non-0 ID).
	Keywords map[string]*Value `protobuf:"bytes,4,rep,name=keywords,proto3" json:"keywords,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

func (x *Value_ArgumentList) Reset() {
	*x = Value_ArgumentList{}
	mi := &file_embedded_sass_proto_msgTypes[33]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Value_ArgumentList) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Value_ArgumentList) ProtoMessage() {}

func (x *Value_ArgumentList) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[33]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Value_ArgumentList.ProtoReflect.Descriptor instead.
func (*Value_ArgumentList) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{4, 8}
}

func (x *Value_ArgumentList) GetId() uint32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *Value_ArgumentList) GetSeparator() ListSeparator {
	if x != nil {
		return x.Separator
	}
	return ListSeparator_COMMA
}

func (x *Value_ArgumentList) GetContents() []*Value {
	if x != nil {
		return x.Contents
	}
	return nil
}

func (x *Value_ArgumentList) GetKeywords() map[string]*Value {
	if x != nil {
		return x.Keywords
	}
	return nil
}

// A SassScript calculation value. The compiler must send fully [simplified]
// calculations, meaning that simplifying it again will produce the same
// calculation. The host is not required to simplify calculations.
//
// The compiler must simplify any calculations it receives from the host
// before returning them from a function. If this simplification produces an
// error, it should be treated as though the function call threw that error.
// It should *not* be treated as a protocol error.
//
// [simplified]: https://github.com/sass/sass/tree/main/spec/types/calculation.md#simplifying-a-calculation
type Value_Calculation struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The calculation's name. Mandatory. The host may only set this to names
	// that the Sass specification uses to create calculations.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The calculation's arguments. Mandatory. The host must use exactly the
	// number of arguments used by the Sass specification for calculations with
	// the given `name`.
	Arguments []*Value_Calculation_CalculationValue `protobuf:"bytes,2,rep,name=arguments,proto3" json:"arguments,omitempty"`
}

func (x *Value_Calculation) Reset() {
	*x = Value_Calculation{}
	mi := &file_embedded_sass_proto_msgTypes[34]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Value_Calculation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Value_Calculation) ProtoMessage() {}

func (x *Value_Calculation) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[34]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Value_Calculation.ProtoReflect.Descriptor instead.
func (*Value_Calculation) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{4, 9}
}

func (x *Value_Calculation) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Value_Calculation) GetArguments() []*Value_Calculation_CalculationValue {
	if x != nil {
		return x.Arguments
	}
	return nil
}

// A single key/value pair in the map.
type Value_Map_Entry struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The key this entry is associated with. Mandatory.
	Key *Value `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// The value associated with this key. Mandatory.
	Value *Value `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}

func (x *Value_Map_Entry) Reset() {
	*x = Value_Map_Entry{}
	mi := &file_embedded_sass_proto_msgTypes[35]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Value_Map_Entry) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Value_Map_Entry) ProtoMessage() {}

func (x *Value_Map_Entry) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[35]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Value_Map_Entry.ProtoReflect.Descriptor instead.
func (*Value_Map_Entry) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{4, 4, 0}
}

func (x *Value_Map_Entry) GetKey() *Value {
	if x != nil {
		return x.Key
	}
	return nil
}

func (x *Value_Map_Entry) GetValue() *Value {
	if x != nil {
		return x.Value
	}
	return nil
}

// A single component of a calculation expression.
type Value_Calculation_CalculationValue struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The value of the component. Mandatory.
	//
	// Types that are assignable to Value:
	//
	//	*Value_Calculation_CalculationValue_Number
	//	*Value_Calculation_CalculationValue_String_
	//	*Value_Calculation_CalculationValue_Interpolation
	//	*Value_Calculation_CalculationValue_Operation
	//	*Value_Calculation_CalculationValue_Calculation
	Value isValue_Calculation_CalculationValue_Value `protobuf_oneof:"value"`
}

func (x *Value_Calculation_CalculationValue) Reset() {
	*x = Value_Calculation_CalculationValue{}
	mi := &file_embedded_sass_proto_msgTypes[37]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Value_Calculation_CalculationValue) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Value_Calculation_CalculationValue) ProtoMessage() {}

func (x *Value_Calculation_CalculationValue) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[37]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Value_Calculation_CalculationValue.ProtoReflect.Descriptor instead.
func (*Value_Calculation_CalculationValue) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{4, 9, 0}
}

func (m *Value_Calculation_CalculationValue) GetValue() isValue_Calculation_CalculationValue_Value {
	if m != nil {
		return m.Value
	}
	return nil
}

func (x *Value_Calculation_CalculationValue) GetNumber() *Value_Number {
	if x, ok := x.GetValue().(*Value_Calculation_CalculationValue_Number); ok {
		return x.Number
	}
	return nil
}

func (x *Value_Calculation_CalculationValue) GetString_() string {
	if x, ok := x.GetValue().(*Value_Calculation_CalculationValue_String_); ok {
		return x.String_
	}
	return ""
}

func (x *Value_Calculation_CalculationValue) GetInterpolation() string {
	if x, ok := x.GetValue().(*Value_Calculation_CalculationValue_Interpolation); ok {
		return x.Interpolation
	}
	return ""
}

func (x *Value_Calculation_CalculationValue) GetOperation() *Value_Calculation_CalculationOperation {
	if x, ok := x.GetValue().(*Value_Calculation_CalculationValue_Operation); ok {
		return x.Operation
	}
	return nil
}

func (x *Value_Calculation_CalculationValue) GetCalculation() *Value_Calculation {
	if x, ok := x.GetValue().(*Value_Calculation_CalculationValue_Calculation); ok {
		return x.Calculation
	}
	return nil
}

type isValue_Calculation_CalculationValue_Value interface {
	isValue_Calculation_CalculationValue_Value()
}

type Value_Calculation_CalculationValue_Number struct {
	Number *Value_Number `protobuf:"bytes,1,opt,name=number,proto3,oneof"`
}

type Value_Calculation_CalculationValue_String_ struct {
	// An unquoted string, as from a function like `var()` or `env()`.
	String_ string `protobuf:"bytes,2,opt,name=string,proto3,oneof"`
}

type Value_Calculation_CalculationValue_Interpolation struct {
	// An unquoted string as created by interpolation for
	// backwards-compatibility with older Sass syntax.
	//
	// The compiler must treat this as identical to a `string` option whose
	// value is `"(" + interpolation + ")"`.
	//
	// This field is deprecated and hosts should avoid using it.
	Interpolation string `protobuf:"bytes,3,opt,name=interpolation,proto3,oneof"`
}

type Value_Calculation_CalculationValue_Operation struct {
	Operation *Value_Calculation_CalculationOperation `protobuf:"bytes,4,opt,name=operation,proto3,oneof"`
}

type Value_Calculation_CalculationValue_Calculation struct {
	Calculation *Value_Calculation `protobuf:"bytes,5,opt,name=calculation,proto3,oneof"`
}

func (*Value_Calculation_CalculationValue_Number) isValue_Calculation_CalculationValue_Value() {}

func (*Value_Calculation_CalculationValue_String_) isValue_Calculation_CalculationValue_Value() {}

func (*Value_Calculation_CalculationValue_Interpolation) isValue_Calculation_CalculationValue_Value() {
}

func (*Value_Calculation_CalculationValue_Operation) isValue_Calculation_CalculationValue_Value() {}

func (*Value_Calculation_CalculationValue_Calculation) isValue_Calculation_CalculationValue_Value() {}

// A binary operation that appears in a calculation.
type Value_Calculation_CalculationOperation struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The operator to perform.
	Operator CalculationOperator `protobuf:"varint,1,opt,name=operator,proto3,enum=sass.embedded_protocol.CalculationOperator" json:"operator,omitempty"`
	// The left-hand side of the operation.
	Left *Value_Calculation_CalculationValue `protobuf:"bytes,2,opt,name=left,proto3" json:"left,omitempty"`
	// The right-hand side of the operation.
	Right *Value_Calculation_CalculationValue `protobuf:"bytes,3,opt,name=right,proto3" json:"right,omitempty"`
}

func (x *Value_Calculation_CalculationOperation) Reset() {
	*x = Value_Calculation_CalculationOperation{}
	mi := &file_embedded_sass_proto_msgTypes[38]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Value_Calculation_CalculationOperation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Value_Calculation_CalculationOperation) ProtoMessage() {}

func (x *Value_Calculation_CalculationOperation) ProtoReflect() protoreflect.Message {
	mi := &file_embedded_sass_proto_msgTypes[38]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Value_Calculation_CalculationOperation.ProtoReflect.Descriptor instead.
func (*Value_Calculation_CalculationOperation) Descriptor() ([]byte, []int) {
	return file_embedded_sass_proto_rawDescGZIP(), []int{4, 9, 1}
}

func (x *Value_Calculation_CalculationOperation) GetOperator() CalculationOperator {
	if x != nil {
		return x.Operator
	}
	return CalculationOperator_PLUS
}

func (x *Value_Calculation_CalculationOperation) GetLeft() *Value_Calculation_CalculationValue {
	if x != nil {
		return x.Left
	}
	return nil
}

func (x *Value_Calculation_CalculationOperation) GetRight() *Value_Calculation_CalculationValue {
	if x != nil {
		return x.Right
	}
	return nil
}

var File_embedded_sass_proto protoreflect.FileDescriptor

var file_embedded_sass_proto_rawDesc = []byte{
	0x0a, 0x13, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x73, 0x61, 0x73, 0x73, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65,
	0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0xc0, 0x15,
	0x0a, 0x0e, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x12, 0x60, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x73, 0x61, 0x73, 0x73,
	0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
	0x6f, 0x6c, 0x2e, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x48, 0x00, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x72, 0x0a, 0x15, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x69,
	0x7a, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x3b, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65,
	0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x49, 0x6e, 0x62, 0x6f, 0x75,
	0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x61, 0x6e, 0x6f, 0x6e, 0x69,
	0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00,
	0x52, 0x14, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x0f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74,
	0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x35, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x14, 0x66, 0x69, 0x6c, 0x65,
	0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d,
	0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e,
	0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x46,
	0x69, 0x6c, 0x65, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x48, 0x00, 0x52, 0x12, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x16, 0x66, 0x75, 0x6e, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65,
	0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
	0x2e, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e,
	0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x14, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x0f,
	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18,
	0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62,
	0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x49,
	0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x56, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e,
	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20,
	0x0a, 0x0e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64,
	0x1a, 0xcd, 0x09, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x5b, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64,
	0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x49, 0x6e, 0x62,
	0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70,
	0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
	0x67, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
	0x12, 0x14, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
	0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x39, 0x0a, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62,
	0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4f,
	0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x52, 0x05, 0x73, 0x74, 0x79, 0x6c,
	0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x70,
	0x12, 0x5c, 0x0a, 0x09, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64,
	0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x49, 0x6e, 0x62,
	0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70,
	0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72,
	0x74, 0x65, 0x72, 0x52, 0x09, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x73, 0x12, 0x29,
	0x0a, 0x10, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
	0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x6c, 0x65,
	0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a,
	0x61, 0x6c, 0x65, 0x72, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x6c,
	0x65, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x63, 0x69, 0x69, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x0a, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x41, 0x73, 0x63, 0x69, 0x69, 0x12, 0x18, 0x0a, 0x07, 0x76,
	0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x65,
	0x72, 0x62, 0x6f, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x71, 0x75, 0x69, 0x65, 0x74, 0x5f, 0x64,
	0x65, 0x70, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x71, 0x75, 0x69, 0x65, 0x74,
	0x44, 0x65, 0x70, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d,
	0x61, 0x70, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x4d, 0x61, 0x70, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x18, 0x0d, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x07, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73,
	0x69, 0x6c, 0x65, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x69, 0x6c,
	0x65, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x66, 0x61, 0x74, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x70,
	0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10,
	0x66, 0x61, 0x74, 0x61, 0x6c, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x2f, 0x0a, 0x13, 0x73, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x72,
	0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x73,
	0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x12, 0x2d, 0x0a, 0x12, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x72,
	0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x66,
	0x75, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x1a, 0xcb, 0x01, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x70, 0x75, 0x74,
	0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x36, 0x0a, 0x06, 0x73, 0x79,
	0x6e, 0x74, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x73, 0x61, 0x73,
	0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x63, 0x6f, 0x6c, 0x2e, 0x53, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x52, 0x06, 0x73, 0x79, 0x6e, 0x74,
	0x61, 0x78, 0x12, 0x5a, 0x0a, 0x08, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65,
	0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x49, 0x6e,
	0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x6f, 0x6d,
	0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6d, 0x70, 0x6f,
	0x72, 0x74, 0x65, 0x72, 0x52, 0x08, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x1a, 0x90,
	0x02, 0x0a, 0x08, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x04, 0x70,
	0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x74,
	0x68, 0x12, 0x21, 0x0a, 0x0b, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74,
	0x65, 0x72, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x6d, 0x70,
	0x6f, 0x72, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00,
	0x52, 0x0e, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x49, 0x64,
	0x12, 0x61, 0x0a, 0x15, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65,
	0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x2b, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x61, 0x63,
	0x6b, 0x61, 0x67, 0x65, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x13,
	0x6e, 0x6f, 0x64, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, 0x6d, 0x70, 0x6f, 0x72,
	0x74, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x14, 0x6e, 0x6f, 0x6e, 0x5f, 0x63, 0x61, 0x6e, 0x6f, 0x6e,
	0x69, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28,
	0x09, 0x52, 0x12, 0x6e, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x53,
	0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65,
	0x72, 0x42, 0x07, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02,
	0x1a, 0x90, 0x01, 0x0a, 0x14, 0x43, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x69, 0x7a,
	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x03, 0x75, 0x72, 0x6c,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x16, 0x0a,
	0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05,
	0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
	0x69, 0x6e, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67,
	0x55, 0x72, 0x6c, 0x55, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73,
	0x75, 0x6c, 0x74, 0x1a, 0xc7, 0x02, 0x0a, 0x0e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x5f, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73,
	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65,
	0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
	0x2e, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e,
	0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49,
	0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x07,
	0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a,
	0xa1, 0x01, 0x0a, 0x0d, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73,
	0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x36, 0x0a,
	0x06, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e,
	0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x53, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x52, 0x06, 0x73,
	0x79, 0x6e, 0x74, 0x61, 0x78, 0x12, 0x29, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f,
	0x6d, 0x61, 0x70, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
	0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x70, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01,
	0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x5f,
	0x75, 0x72, 0x6c, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x97, 0x01,
	0x0a, 0x12, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x75, 0x72, 0x6c,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72,
	0x6c, 0x12, 0x16, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x6f, 0x6e,
	0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x75, 0x6e, 0x75, 0x73,
	0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69,
	0x6e, 0x69, 0x6e, 0x67, 0x55, 0x72, 0x6c, 0x55, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x42, 0x08, 0x0a,
	0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0xbb, 0x01, 0x0a, 0x14, 0x46, 0x75, 0x6e, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64,
	0x12, 0x39, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65,
	0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65,
	0x48, 0x00, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x05, 0x65,
	0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72,
	0x72, 0x6f, 0x72, 0x12, 0x36, 0x0a, 0x17, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f,
	0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x04,
	0x20, 0x03, 0x28, 0x0d, 0x52, 0x15, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x41, 0x72,
	0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x72,
	0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x22, 0xc3, 0x13, 0x0a, 0x0f, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x12, 0x3d, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64,
	0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x50, 0x72, 0x6f,
	0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72,
	0x72, 0x6f, 0x72, 0x12, 0x64, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x5f, 0x72,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e,
	0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c,
	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x09, 0x6c, 0x6f, 0x67,
	0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x73,
	0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00,
	0x52, 0x08, 0x6c, 0x6f, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x70, 0x0a, 0x14, 0x63, 0x61,
	0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e,
	0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
	0x6c, 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x2e, 0x43, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x13, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63,
	0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5e, 0x0a, 0x0e,
	0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65,
	0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4f, 0x75,
	0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d,
	0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x69,
	0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6b, 0x0a, 0x13,
	0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x73, 0x61, 0x73, 0x73,
	0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
	0x6f, 0x6c, 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x11, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x70, 0x6f,
	0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x71, 0x0a, 0x15, 0x66, 0x75, 0x6e,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e,
	0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
	0x6c, 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x13, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x64, 0x0a, 0x10,
	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d,
	0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e,
	0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e,
	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48,
	0x00, 0x52, 0x0f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x1a, 0xdf, 0x01, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
	0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
	0x6e, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x76, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6d,
	0x70, 0x69, 0x6c, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x16,
	0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76,
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x69, 0x6d,
	0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x73,
	0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x13, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x12, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x4e, 0x61, 0x6d, 0x65, 0x1a, 0xf7, 0x03, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63,
	0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x73, 0x61, 0x73, 0x73,
	0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
	0x6f, 0x6c, 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73,
	0x73, 0x48, 0x00, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x62, 0x0a, 0x07,
	0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e,
	0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x46, 0x61,
	0x69, 0x6c, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x07, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65,
	0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18,
	0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x55, 0x72, 0x6c,
	0x73, 0x1a, 0x47, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x53, 0x75, 0x63, 0x63,
	0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x03, 0x63, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f,
	0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x4d, 0x61, 0x70, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x1a, 0xa1, 0x01, 0x0a, 0x0e, 0x43,
	0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x18, 0x0a,
	0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x73, 0x70, 0x61, 0x6e, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62,
	0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x53,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x52, 0x04, 0x73, 0x70, 0x61, 0x6e, 0x12,
	0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65,
	0x12, 0x1c, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x42, 0x08,
	0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x1a, 0xae,
	0x02, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x74,
	0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x61, 0x73, 0x73,
	0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
	0x6f, 0x6c, 0x2e, 0x4c, 0x6f, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52,
	0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
	0x3b, 0x0a, 0x04, 0x73, 0x70, 0x61, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e,
	0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x61,
	0x6e, 0x48, 0x00, 0x52, 0x04, 0x73, 0x70, 0x61, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x0b,
	0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x12, 0x1c, 0x0a,
	0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x10, 0x64,
	0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
	0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f,
	0x73, 0x70, 0x61, 0x6e, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x1a,
	0xbe, 0x01, 0x0a, 0x13, 0x43, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6d, 0x70, 0x6f, 0x72,
	0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x69, 0x6d,
	0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x72,
	0x6f, 0x6d, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x2a, 0x0a, 0x0e, 0x63,
	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e,
	0x67, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x63, 0x6f, 0x6e, 0x74,
	0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03,
	0x1a, 0x58, 0x0a, 0x0d, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69,
	0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72,
	0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x03, 0x75, 0x72, 0x6c, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x1a, 0xbc, 0x01, 0x0a, 0x11, 0x46,
	0x69, 0x6c, 0x65, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64,
	0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x49,
	0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
	0x75, 0x72, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x69, 0x6d, 0x70, 0x6f,
	0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x49, 0x6d,
	0x70, 0x6f, 0x72, 0x74, 0x12, 0x2a, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69,
	0x6e, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d,
	0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01,
	0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f,
	0x75, 0x72, 0x6c, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x1a, 0xaf, 0x01, 0x0a, 0x13, 0x46, 0x75,
	0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69,
	0x64, 0x12, 0x14, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48,
	0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x66, 0x75, 0x6e, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0a,
	0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x09, 0x61, 0x72,
	0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e,
	0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x61, 0x72,
	0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74,
	0x69, 0x66, 0x69, 0x65, 0x72, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x42, 0x09, 0x0a, 0x07, 0x6d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x78, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63,
	0x6f, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x3d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62,
	0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x50,
	0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65,
	0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x22, 0xbd, 0x02, 0x0a, 0x0a, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x12,
	0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74,
	0x65, 0x78, 0x74, 0x12, 0x47, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x31, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64,
	0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x53, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x6f, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x48, 0x0a, 0x03,
	0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x73, 0x61, 0x73, 0x73,
	0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
	0x6f, 0x6c, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x2e, 0x53, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x03,
	0x65, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74,
	0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
	0x78, 0x74, 0x1a, 0x54, 0x0a, 0x0e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04,
	0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65,
	0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x65, 0x6e, 0x64,
	0x22, 0xa6, 0x15, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x73, 0x74,
	0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x61, 0x73,
	0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x63, 0x6f, 0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
	0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x3e, 0x0a, 0x06, 0x6e, 0x75,
	0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x61, 0x73,
	0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x63, 0x6f, 0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72,
	0x48, 0x00, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x04, 0x6c, 0x69,
	0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e,
	0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
	0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04,
	0x6c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x03, 0x6d, 0x61, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x21, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65,
	0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65,
	0x2e, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x61, 0x70, 0x12, 0x46, 0x0a, 0x09, 0x73,
	0x69, 0x6e, 0x67, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26,
	0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x74, 0x6f,
	0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65,
	0x74, 0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x5f,
	0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e,
	0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x43, 0x6f,
	0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00,
	0x52, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x0d, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x61, 0x73, 0x73,
	0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
	0x6f, 0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x46, 0x75, 0x6e,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x68, 0x6f, 0x73, 0x74, 0x46, 0x75, 0x6e,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x0d, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e,
	0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73,
	0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x41, 0x72, 0x67, 0x75,
	0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x72, 0x67, 0x75,
	0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x0b, 0x63, 0x61, 0x6c, 0x63,
	0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e,
	0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x43, 0x61, 0x6c,
	0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x61, 0x6c, 0x63,
	0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
	0x6c, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x78, 0x69, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x2b, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x43,
	0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x0d,
	0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x12, 0x3b, 0x0a,
	0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73,
	0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x43, 0x6f, 0x6c, 0x6f,
	0x72, 0x48, 0x00, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x1a, 0x34, 0x0a, 0x06, 0x53, 0x74,
	0x72, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x71, 0x75, 0x6f, 0x74,
	0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x64,
	0x1a, 0x62, 0x0a, 0x06, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
	0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
	0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73,
	0x12, 0x22, 0x0a, 0x0c, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x73,
	0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61,
	0x74, 0x6f, 0x72, 0x73, 0x1a, 0xcc, 0x01, 0x0a, 0x05, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x14,
	0x0a, 0x05, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73,
	0x70, 0x61, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x31,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x31, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
	0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x32, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x33, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x48, 0x02, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e,
	0x6e, 0x65, 0x6c, 0x33, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x61, 0x6c, 0x70, 0x68, 0x61,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x48, 0x03, 0x52, 0x05, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x88,
	0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x31, 0x42,
	0x0b, 0x0a, 0x09, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x32, 0x42, 0x0b, 0x0a, 0x09,
	0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x33, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, 0x6c,
	0x70, 0x68, 0x61, 0x1a, 0xa9, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x09,
	0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x25, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x70,
	0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f,
	0x72, 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x61, 0x73, 0x5f, 0x62, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74,
	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x68, 0x61, 0x73, 0x42, 0x72, 0x61, 0x63,
	0x6b, 0x65, 0x74, 0x73, 0x12, 0x39, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73,
	0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d,
	0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e,
	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x1a,
	0xb7, 0x01, 0x0a, 0x03, 0x4d, 0x61, 0x70, 0x12, 0x41, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69,
	0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e,
	0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
	0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x2e, 0x45, 0x6e, 0x74, 0x72,
	0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x6d, 0x0a, 0x05, 0x45, 0x6e,
	0x74, 0x72, 0x79, 0x12, 0x2f, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1d, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64,
	0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
	0x03, 0x6b, 0x65, 0x79, 0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64,
	0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x56, 0x61, 0x6c,
	0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x22, 0x0a, 0x10, 0x43, 0x6f, 0x6d,
	0x70, 0x69, 0x6c, 0x65, 0x72, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a,
	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x1a, 0x3c, 0x0a,
	0x0c, 0x48, 0x6f, 0x73, 0x74, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a,
	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a,
	0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x1a, 0x1f, 0x0a, 0x0d, 0x43,
	0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x1a, 0xd0, 0x02, 0x0a,
	0x0c, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x0e, 0x0a,
	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x43, 0x0a,
	0x09, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e,
	0x32, 0x25, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64,
	0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65,
	0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74,
	0x6f, 0x72, 0x12, 0x39, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65,
	0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x56, 0x61,
	0x6c, 0x75, 0x65, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x54, 0x0a,
	0x08, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x38, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x41,
	0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x4b, 0x65, 0x79, 0x77,
	0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x77, 0x6f,
	0x72, 0x64, 0x73, 0x1a, 0x5a, 0x0a, 0x0d, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x45,
	0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62,
	0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x56,
	0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
	0xce, 0x05, 0x0a, 0x0b, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
	0x61, 0x6d, 0x65, 0x12, 0x58, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73,
	0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d,
	0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e,
	0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c,
	0x75, 0x65, 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0xcc, 0x02,
	0x0a, 0x10, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c,
	0x75, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64,
	0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75,
	0x65, 0x2e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62,
	0x65, 0x72, 0x12, 0x18, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x26, 0x0a, 0x0d,
	0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65,
	0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
	0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70,
	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x0b, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x61, 0x73, 0x73,
	0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
	0x6f, 0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x81, 0x02, 0x0a,
	0x14, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f,
	0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x2e, 0x65,
	0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
	0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72,
	0x61, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x4e,
	0x0a, 0x04, 0x6c, 0x65, 0x66, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x73,
	0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x43, 0x61, 0x6c, 0x63,
	0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6c, 0x65, 0x66, 0x74, 0x12, 0x50,
	0x0a, 0x05, 0x72, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e,
	0x73, 0x61, 0x73, 0x73, 0x2e, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x43, 0x61, 0x6c,
	0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x72, 0x69, 0x67, 0x68, 0x74,
	0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x49, 0x0a, 0x13, 0x4e, 0x6f, 0x64,
	0x65, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72,
	0x12, 0x32, 0x0a, 0x15, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f,
	0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x13, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63,
	0x74, 0x6f, 0x72, 0x79, 0x2a, 0x2b, 0x0a, 0x0b, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x74,
	0x79, 0x6c, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x58, 0x50, 0x41, 0x4e, 0x44, 0x45, 0x44, 0x10,
	0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x45, 0x44, 0x10,
	0x01, 0x2a, 0x29, 0x0a, 0x06, 0x53, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x12, 0x08, 0x0a, 0x04, 0x53,
	0x43, 0x53, 0x53, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x44, 0x45, 0x4e, 0x54, 0x45,
	0x44, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x43, 0x53, 0x53, 0x10, 0x02, 0x2a, 0x3f, 0x0a, 0x0c,
	0x4c, 0x6f, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07,
	0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x45, 0x50,
	0x52, 0x45, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47,
	0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x02, 0x2a, 0x38, 0x0a,
	0x11, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x79,
	0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x41, 0x52, 0x53, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a,
	0x06, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x53, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x54,
	0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x2a, 0x3f, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x53,
	0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x4f, 0x4d, 0x4d,
	0x41, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x50, 0x41, 0x43, 0x45, 0x10, 0x01, 0x12, 0x09,
	0x0a, 0x05, 0x53, 0x4c, 0x41, 0x53, 0x48, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4e, 0x44,
	0x45, 0x43, 0x49, 0x44, 0x45, 0x44, 0x10, 0x03, 0x2a, 0x2f, 0x0a, 0x0e, 0x53, 0x69, 0x6e, 0x67,
	0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x52,
	0x55, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x10, 0x01, 0x12,
	0x08, 0x0a, 0x04, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x02, 0x2a, 0x41, 0x0a, 0x13, 0x43, 0x61, 0x6c,
	0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72,
	0x12, 0x08, 0x0a, 0x04, 0x50, 0x4c, 0x55, 0x53, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x49,
	0x4e, 0x55, 0x53, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x10, 0x02,
	0x12, 0x0a, 0x0a, 0x06, 0x44, 0x49, 0x56, 0x49, 0x44, 0x45, 0x10, 0x03, 0x42, 0x23, 0x0a, 0x1f,
	0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x61, 0x73, 0x73, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x65, 0x6d,
	0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x50,
	0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_embedded_sass_proto_rawDescOnce sync.Once
	file_embedded_sass_proto_rawDescData = file_embedded_sass_proto_rawDesc
)

func file_embedded_sass_proto_rawDescGZIP() []byte {
	file_embedded_sass_proto_rawDescOnce.Do(func() {
		file_embedded_sass_proto_rawDescData = protoimpl.X.CompressGZIP(file_embedded_sass_proto_rawDescData)
	})
	return file_embedded_sass_proto_rawDescData
}

var file_embedded_sass_proto_enumTypes = make([]protoimpl.EnumInfo, 7)
var file_embedded_sass_proto_msgTypes = make([]protoimpl.MessageInfo, 39)
var file_embedded_sass_proto_goTypes = []any{
	(OutputStyle)(0),                                       // 0: sass.embedded_protocol.OutputStyle
	(Syntax)(0),                                            // 1: sass.embedded_protocol.Syntax
	(LogEventType)(0),                                      // 2: sass.embedded_protocol.LogEventType
	(ProtocolErrorType)(0),                                 // 3: sass.embedded_protocol.ProtocolErrorType
	(ListSeparator)(0),                                     // 4: sass.embedded_protocol.ListSeparator
	(SingletonValue)(0),                                    // 5: sass.embedded_protocol.SingletonValue
	(CalculationOperator)(0),                               // 6: sass.embedded_protocol.CalculationOperator
	(*InboundMessage)(nil),                                 // 7: sass.embedded_protocol.InboundMessage
	(*OutboundMessage)(nil),                                // 8: sass.embedded_protocol.OutboundMessage
	(*ProtocolError)(nil),                                  // 9: sass.embedded_protocol.ProtocolError
	(*SourceSpan)(nil),                                     // 10: sass.embedded_protocol.SourceSpan
	(*Value)(nil),                                          // 11: sass.embedded_protocol.Value
	(*NodePackageImporter)(nil),                            // 12: sass.embedded_protocol.NodePackageImporter
	(*InboundMessage_VersionRequest)(nil),                  // 13: sass.embedded_protocol.InboundMessage.VersionRequest
	(*InboundMessage_CompileRequest)(nil),                  // 14: sass.embedded_protocol.InboundMessage.CompileRequest
	(*InboundMessage_CanonicalizeResponse)(nil),            // 15: sass.embedded_protocol.InboundMessage.CanonicalizeResponse
	(*InboundMessage_ImportResponse)(nil),                  // 16: sass.embedded_protocol.InboundMessage.ImportResponse
	(*InboundMessage_FileImportResponse)(nil),              // 17: sass.embedded_protocol.InboundMessage.FileImportResponse
	(*InboundMessage_FunctionCallResponse)(nil),            // 18: sass.embedded_protocol.InboundMessage.FunctionCallResponse
	(*InboundMessage_CompileRequest_StringInput)(nil),      // 19: sass.embedded_protocol.InboundMessage.CompileRequest.StringInput
	(*InboundMessage_CompileRequest_Importer)(nil),         // 20: sass.embedded_protocol.InboundMessage.CompileRequest.Importer
	(*InboundMessage_ImportResponse_ImportSuccess)(nil),    // 21: sass.embedded_protocol.InboundMessage.ImportResponse.ImportSuccess
	(*OutboundMessage_VersionResponse)(nil),                // 22: sass.embedded_protocol.OutboundMessage.VersionResponse
	(*OutboundMessage_CompileResponse)(nil),                // 23: sass.embedded_protocol.OutboundMessage.CompileResponse
	(*OutboundMessage_LogEvent)(nil),                       // 24: sass.embedded_protocol.OutboundMessage.LogEvent
	(*OutboundMessage_CanonicalizeRequest)(nil),            // 25: sass.embedded_protocol.OutboundMessage.CanonicalizeRequest
	(*OutboundMessage_ImportRequest)(nil),                  // 26: sass.embedded_protocol.OutboundMessage.ImportRequest
	(*OutboundMessage_FileImportRequest)(nil),              // 27: sass.embedded_protocol.OutboundMessage.FileImportRequest
	(*OutboundMessage_FunctionCallRequest)(nil),            // 28: sass.embedded_protocol.OutboundMessage.FunctionCallRequest
	(*OutboundMessage_CompileResponse_CompileSuccess)(nil), // 29: sass.embedded_protocol.OutboundMessage.CompileResponse.CompileSuccess
	(*OutboundMessage_CompileResponse_CompileFailure)(nil), // 30: sass.embedded_protocol.OutboundMessage.CompileResponse.CompileFailure
	(*SourceSpan_SourceLocation)(nil),                      // 31: sass.embedded_protocol.SourceSpan.SourceLocation
	(*Value_String)(nil),                                   // 32: sass.embedded_protocol.Value.String
	(*Value_Number)(nil),                                   // 33: sass.embedded_protocol.Value.Number
	(*Value_Color)(nil),                                    // 34: sass.embedded_protocol.Value.Color
	(*Value_List)(nil),                                     // 35: sass.embedded_protocol.Value.List
	(*Value_Map)(nil),                                      // 36: sass.embedded_protocol.Value.Map
	(*Value_CompilerFunction)(nil),                         // 37: sass.embedded_protocol.Value.CompilerFunction
	(*Value_HostFunction)(nil),                             // 38: sass.embedded_protocol.Value.HostFunction
	(*Value_CompilerMixin)(nil),                            // 39: sass.embedded_protocol.Value.CompilerMixin
	(*Value_ArgumentList)(nil),                             // 40: sass.embedded_protocol.Value.ArgumentList
	(*Value_Calculation)(nil),                              // 41: sass.embedded_protocol.Value.Calculation
	(*Value_Map_Entry)(nil),                                // 42: sass.embedded_protocol.Value.Map.Entry
	nil,                                                    // 43: sass.embedded_protocol.Value.ArgumentList.KeywordsEntry
	(*Value_Calculation_CalculationValue)(nil),             // 44: sass.embedded_protocol.Value.Calculation.CalculationValue
	(*Value_Calculation_CalculationOperation)(nil),         // 45: sass.embedded_protocol.Value.Calculation.CalculationOperation
}
var file_embedded_sass_proto_depIdxs = []int32{
	14, // 0: sass.embedded_protocol.InboundMessage.compile_request:type_name -> sass.embedded_protocol.InboundMessage.CompileRequest
	15, // 1: sass.embedded_protocol.InboundMessage.canonicalize_response:type_name -> sass.embedded_protocol.InboundMessage.CanonicalizeResponse
	16, // 2: sass.embedded_protocol.InboundMessage.import_response:type_name -> sass.embedded_protocol.InboundMessage.ImportResponse
	17, // 3: sass.embedded_protocol.InboundMessage.file_import_response:type_name -> sass.embedded_protocol.InboundMessage.FileImportResponse
	18, // 4: sass.embedded_protocol.InboundMessage.function_call_response:type_name -> sass.embedded_protocol.InboundMessage.FunctionCallResponse
	13, // 5: sass.embedded_protocol.InboundMessage.version_request:type_name -> sass.embedded_protocol.InboundMessage.VersionRequest
	9,  // 6: sass.embedded_protocol.OutboundMessage.error:type_name -> sass.embedded_protocol.ProtocolError
	23, // 7: sass.embedded_protocol.OutboundMessage.compile_response:type_name -> sass.embedded_protocol.OutboundMessage.CompileResponse
	24, // 8: sass.embedded_protocol.OutboundMessage.log_event:type_name -> sass.embedded_protocol.OutboundMessage.LogEvent
	25, // 9: sass.embedded_protocol.OutboundMessage.canonicalize_request:type_name -> sass.embedded_protocol.OutboundMessage.CanonicalizeRequest
	26, // 10: sass.embedded_protocol.OutboundMessage.import_request:type_name -> sass.embedded_protocol.OutboundMessage.ImportRequest
	27, // 11: sass.embedded_protocol.OutboundMessage.file_import_request:type_name -> sass.embedded_protocol.OutboundMessage.FileImportRequest
	28, // 12: sass.embedded_protocol.OutboundMessage.function_call_request:type_name -> sass.embedded_protocol.OutboundMessage.FunctionCallRequest
	22, // 13: sass.embedded_protocol.OutboundMessage.version_response:type_name -> sass.embedded_protocol.OutboundMessage.VersionResponse
	3,  // 14: sass.embedded_protocol.ProtocolError.type:type_name -> sass.embedded_protocol.ProtocolErrorType
	31, // 15: sass.embedded_protocol.SourceSpan.start:type_name -> sass.embedded_protocol.SourceSpan.SourceLocation
	31, // 16: sass.embedded_protocol.SourceSpan.end:type_name -> sass.embedded_protocol.SourceSpan.SourceLocation
	32, // 17: sass.embedded_protocol.Value.string:type_name -> sass.embedded_protocol.Value.String
	33, // 18: sass.embedded_protocol.Value.number:type_name -> sass.embedded_protocol.Value.Number
	35, // 19: sass.embedded_protocol.Value.list:type_name -> sass.embedded_protocol.Value.List
	36, // 20: sass.embedded_protocol.Value.map:type_name -> sass.embedded_protocol.Value.Map
	5,  // 21: sass.embedded_protocol.Value.singleton:type_name -> sass.embedded_protocol.SingletonValue
	37, // 22: sass.embedded_protocol.Value.compiler_function:type_name -> sass.embedded_protocol.Value.CompilerFunction
	38, // 23: sass.embedded_protocol.Value.host_function:type_name -> sass.embedded_protocol.Value.HostFunction
	40, // 24: sass.embedded_protocol.Value.argument_list:type_name -> sass.embedded_protocol.Value.ArgumentList
	41, // 25: sass.embedded_protocol.Value.calculation:type_name -> sass.embedded_protocol.Value.Calculation
	39, // 26: sass.embedded_protocol.Value.compiler_mixin:type_name -> sass.embedded_protocol.Value.CompilerMixin
	34, // 27: sass.embedded_protocol.Value.color:type_name -> sass.embedded_protocol.Value.Color
	19, // 28: sass.embedded_protocol.InboundMessage.CompileRequest.string:type_name -> sass.embedded_protocol.InboundMessage.CompileRequest.StringInput
	0,  // 29: sass.embedded_protocol.InboundMessage.CompileRequest.style:type_name -> sass.embedded_protocol.OutputStyle
	20, // 30: sass.embedded_protocol.InboundMessage.CompileRequest.importers:type_name -> sass.embedded_protocol.InboundMessage.CompileRequest.Importer
	21, // 31: sass.embedded_protocol.InboundMessage.ImportResponse.success:type_name -> sass.embedded_protocol.InboundMessage.ImportResponse.ImportSuccess
	11, // 32: sass.embedded_protocol.InboundMessage.FunctionCallResponse.success:type_name -> sass.embedded_protocol.Value
	1,  // 33: sass.embedded_protocol.InboundMessage.CompileRequest.StringInput.syntax:type_name -> sass.embedded_protocol.Syntax
	20, // 34: sass.embedded_protocol.InboundMessage.CompileRequest.StringInput.importer:type_name -> sass.embedded_protocol.InboundMessage.CompileRequest.Importer
	12, // 35: sass.embedded_protocol.InboundMessage.CompileRequest.Importer.node_package_importer:type_name -> sass.embedded_protocol.NodePackageImporter
	1,  // 36: sass.embedded_protocol.InboundMessage.ImportResponse.ImportSuccess.syntax:type_name -> sass.embedded_protocol.Syntax
	29, // 37: sass.embedded_protocol.OutboundMessage.CompileResponse.success:type_name -> sass.embedded_protocol.OutboundMessage.CompileResponse.CompileSuccess
	30, // 38: sass.embedded_protocol.OutboundMessage.CompileResponse.failure:type_name -> sass.embedded_protocol.OutboundMessage.CompileResponse.CompileFailure
	2,  // 39: sass.embedded_protocol.OutboundMessage.LogEvent.type:type_name -> sass.embedded_protocol.LogEventType
	10, // 40: sass.embedded_protocol.OutboundMessage.LogEvent.span:type_name -> sass.embedded_protocol.SourceSpan
	11, // 41: sass.embedded_protocol.OutboundMessage.FunctionCallRequest.arguments:type_name -> sass.embedded_protocol.Value
	10, // 42: sass.embedded_protocol.OutboundMessage.CompileResponse.CompileFailure.span:type_name -> sass.embedded_protocol.SourceSpan
	4,  // 43: sass.embedded_protocol.Value.List.separator:type_name -> sass.embedded_protocol.ListSeparator
	11, // 44: sass.embedded_protocol.Value.List.contents:type_name -> sass.embedded_protocol.Value
	42, // 45: sass.embedded_protocol.Value.Map.entries:type_name -> sass.embedded_protocol.Value.Map.Entry
	4,  // 46: sass.embedded_protocol.Value.ArgumentList.separator:type_name -> sass.embedded_protocol.ListSeparator
	11, // 47: sass.embedded_protocol.Value.ArgumentList.contents:type_name -> sass.embedded_protocol.Value
	43, // 48: sass.embedded_protocol.Value.ArgumentList.keywords:type_name -> sass.embedded_protocol.Value.ArgumentList.KeywordsEntry
	44, // 49: sass.embedded_protocol.Value.Calculation.arguments:type_name -> sass.embedded_protocol.Value.Calculation.CalculationValue
	11, // 50: sass.embedded_protocol.Value.Map.Entry.key:type_name -> sass.embedded_protocol.Value
	11, // 51: sass.embedded_protocol.Value.Map.Entry.value:type_name -> sass.embedded_protocol.Value
	11, // 52: sass.embedded_protocol.Value.ArgumentList.KeywordsEntry.value:type_name -> sass.embedded_protocol.Value
	33, // 53: sass.embedded_protocol.Value.Calculation.CalculationValue.number:type_name -> sass.embedded_protocol.Value.Number
	45, // 54: sass.embedded_protocol.Value.Calculation.CalculationValue.operation:type_name -> sass.embedded_protocol.Value.Calculation.CalculationOperation
	41, // 55: sass.embedded_protocol.Value.Calculation.CalculationValue.calculation:type_name -> sass.embedded_protocol.Value.Calculation
	6,  // 56: sass.embedded_protocol.Value.Calculation.CalculationOperation.operator:type_name -> sass.embedded_protocol.CalculationOperator
	44, // 57: sass.embedded_protocol.Value.Calculation.CalculationOperation.left:type_name -> sass.embedded_protocol.Value.Calculation.CalculationValue
	44, // 58: sass.embedded_protocol.Value.Calculation.CalculationOperation.right:type_name -> sass.embedded_protocol.Value.Calculation.CalculationValue
	59, // [59:59] is the sub-list for method output_type
	59, // [59:59] is the sub-list for method input_type
	59, // [59:59] is the sub-list for extension type_name
	59, // [59:59] is the sub-list for extension extendee
	0,  // [0:59] is the sub-list for field type_name
}

func init() { file_embedded_sass_proto_init() }
func file_embedded_sass_proto_init() {
	if File_embedded_sass_proto != nil {
		return
	}
	file_embedded_sass_proto_msgTypes[0].OneofWrappers = []any{
		(*InboundMessage_CompileRequest_)(nil),
		(*InboundMessage_CanonicalizeResponse_)(nil),
		(*InboundMessage_ImportResponse_)(nil),
		(*InboundMessage_FileImportResponse_)(nil),
		(*InboundMessage_FunctionCallResponse_)(nil),
		(*InboundMessage_VersionRequest_)(nil),
	}
	file_embedded_sass_proto_msgTypes[1].OneofWrappers = []any{
		(*OutboundMessage_Error)(nil),
		(*OutboundMessage_CompileResponse_)(nil),
		(*OutboundMessage_LogEvent_)(nil),
		(*OutboundMessage_CanonicalizeRequest_)(nil),
		(*OutboundMessage_ImportRequest_)(nil),
		(*OutboundMessage_FileImportRequest_)(nil),
		(*OutboundMessage_FunctionCallRequest_)(nil),
		(*OutboundMessage_VersionResponse_)(nil),
	}
	file_embedded_sass_proto_msgTypes[3].OneofWrappers = []any{}
	file_embedded_sass_proto_msgTypes[4].OneofWrappers = []any{
		(*Value_String_)(nil),
		(*Value_Number_)(nil),
		(*Value_List_)(nil),
		(*Value_Map_)(nil),
		(*Value_Singleton)(nil),
		(*Value_CompilerFunction_)(nil),
		(*Value_HostFunction_)(nil),
		(*Value_ArgumentList_)(nil),
		(*Value_Calculation_)(nil),
		(*Value_CompilerMixin_)(nil),
		(*Value_Color_)(nil),
	}
	file_embedded_sass_proto_msgTypes[7].OneofWrappers = []any{
		(*InboundMessage_CompileRequest_String_)(nil),
		(*InboundMessage_CompileRequest_Path)(nil),
	}
	file_embedded_sass_proto_msgTypes[8].OneofWrappers = []any{
		(*InboundMessage_CanonicalizeResponse_Url)(nil),
		(*InboundMessage_CanonicalizeResponse_Error)(nil),
	}
	file_embedded_sass_proto_msgTypes[9].OneofWrappers = []any{
		(*InboundMessage_ImportResponse_Success)(nil),
		(*InboundMessage_ImportResponse_Error)(nil),
	}
	file_embedded_sass_proto_msgTypes[10].OneofWrappers = []any{
		(*InboundMessage_FileImportResponse_FileUrl)(nil),
		(*InboundMessage_FileImportResponse_Error)(nil),
	}
	file_embedded_sass_proto_msgTypes[11].OneofWrappers = []any{
		(*InboundMessage_FunctionCallResponse_Success)(nil),
		(*InboundMessage_FunctionCallResponse_Error)(nil),
	}
	file_embedded_sass_proto_msgTypes[13].OneofWrappers = []any{
		(*InboundMessage_CompileRequest_Importer_Path)(nil),
		(*InboundMessage_CompileRequest_Importer_ImporterId)(nil),
		(*InboundMessage_CompileRequest_Importer_FileImporterId)(nil),
		(*InboundMessage_CompileRequest_Importer_NodePackageImporter)(nil),
	}
	file_embedded_sass_proto_msgTypes[14].OneofWrappers = []any{}
	file_embedded_sass_proto_msgTypes[16].OneofWrappers = []any{
		(*OutboundMessage_CompileResponse_Success)(nil),
		(*OutboundMessage_CompileResponse_Failure)(nil),
	}
	file_embedded_sass_proto_msgTypes[17].OneofWrappers = []any{}
	file_embedded_sass_proto_msgTypes[18].OneofWrappers = []any{}
	file_embedded_sass_proto_msgTypes[20].OneofWrappers = []any{}
	file_embedded_sass_proto_msgTypes[21].OneofWrappers = []any{
		(*OutboundMessage_FunctionCallRequest_Name)(nil),
		(*OutboundMessage_FunctionCallRequest_FunctionId)(nil),
	}
	file_embedded_sass_proto_msgTypes[27].OneofWrappers = []any{}
	file_embedded_sass_proto_msgTypes[37].OneofWrappers = []any{
		(*Value_Calculation_CalculationValue_Number)(nil),
		(*Value_Calculation_CalculationValue_String_)(nil),
		(*Value_Calculation_CalculationValue_Interpolation)(nil),
		(*Value_Calculation_CalculationValue_Operation)(nil),
		(*Value_Calculation_CalculationValue_Calculation)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_embedded_sass_proto_rawDesc,
			NumEnums:      7,
			NumMessages:   39,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_embedded_sass_proto_goTypes,
		DependencyIndexes: file_embedded_sass_proto_depIdxs,
		EnumInfos:         file_embedded_sass_proto_enumTypes,
		MessageInfos:      file_embedded_sass_proto_msgTypes,
	}.Build()
	File_embedded_sass_proto = out.File
	file_embedded_sass_proto_rawDesc = nil
	file_embedded_sass_proto_goTypes = nil
	file_embedded_sass_proto_depIdxs = nil
}
