mirror of
https://github.com/genuinetools/reg.git
synced 2024-08-21 06:10:23 -04:00
1503 lines
61 KiB
Go
1503 lines
61 KiB
Go
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||
// source: google/cloud/dialogflow/v2/session.proto
|
||
|
||
package dialogflow // import "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
|
||
|
||
import proto "github.com/golang/protobuf/proto"
|
||
import fmt "fmt"
|
||
import math "math"
|
||
import _struct "github.com/golang/protobuf/ptypes/struct"
|
||
import _ "google.golang.org/genproto/googleapis/api/annotations"
|
||
import status "google.golang.org/genproto/googleapis/rpc/status"
|
||
import latlng "google.golang.org/genproto/googleapis/type/latlng"
|
||
|
||
import (
|
||
context "golang.org/x/net/context"
|
||
grpc "google.golang.org/grpc"
|
||
)
|
||
|
||
// Reference imports to suppress errors if they are not otherwise used.
|
||
var _ = proto.Marshal
|
||
var _ = fmt.Errorf
|
||
var _ = math.Inf
|
||
|
||
// This is a compile-time assertion to ensure that this generated file
|
||
// is compatible with the proto package it is being compiled against.
|
||
// A compilation error at this line likely means your copy of the
|
||
// proto package needs to be updated.
|
||
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
|
||
|
||
// Audio encoding of the audio content sent in the conversational query request.
|
||
// Refer to the [Cloud Speech API documentation](/speech/docs/basics) for more
|
||
// details.
|
||
type AudioEncoding int32
|
||
|
||
const (
|
||
// Not specified.
|
||
AudioEncoding_AUDIO_ENCODING_UNSPECIFIED AudioEncoding = 0
|
||
// Uncompressed 16-bit signed little-endian samples (Linear PCM).
|
||
AudioEncoding_AUDIO_ENCODING_LINEAR_16 AudioEncoding = 1
|
||
// [`FLAC`](https://xiph.org/flac/documentation.html) (Free Lossless Audio
|
||
// Codec) is the recommended encoding because it is lossless (therefore
|
||
// recognition is not compromised) and requires only about half the
|
||
// bandwidth of `LINEAR16`. `FLAC` stream encoding supports 16-bit and
|
||
// 24-bit samples, however, not all fields in `STREAMINFO` are supported.
|
||
AudioEncoding_AUDIO_ENCODING_FLAC AudioEncoding = 2
|
||
// 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.
|
||
AudioEncoding_AUDIO_ENCODING_MULAW AudioEncoding = 3
|
||
// Adaptive Multi-Rate Narrowband codec. `sample_rate_hertz` must be 8000.
|
||
AudioEncoding_AUDIO_ENCODING_AMR AudioEncoding = 4
|
||
// Adaptive Multi-Rate Wideband codec. `sample_rate_hertz` must be 16000.
|
||
AudioEncoding_AUDIO_ENCODING_AMR_WB AudioEncoding = 5
|
||
// Opus encoded audio frames in Ogg container
|
||
// ([OggOpus](https://wiki.xiph.org/OggOpus)).
|
||
// `sample_rate_hertz` must be 16000.
|
||
AudioEncoding_AUDIO_ENCODING_OGG_OPUS AudioEncoding = 6
|
||
// Although the use of lossy encodings is not recommended, if a very low
|
||
// bitrate encoding is required, `OGG_OPUS` is highly preferred over
|
||
// Speex encoding. The [Speex](https://speex.org/) encoding supported by
|
||
// Dialogflow API has a header byte in each block, as in MIME type
|
||
// `audio/x-speex-with-header-byte`.
|
||
// It is a variant of the RTP Speex encoding defined in
|
||
// [RFC 5574](https://tools.ietf.org/html/rfc5574).
|
||
// The stream is a sequence of blocks, one block per RTP packet. Each block
|
||
// starts with a byte containing the length of the block, in bytes, followed
|
||
// by one or more frames of Speex data, padded to an integral number of
|
||
// bytes (octets) as specified in RFC 5574. In other words, each RTP header
|
||
// is replaced with a single byte containing the block length. Only Speex
|
||
// wideband is supported. `sample_rate_hertz` must be 16000.
|
||
AudioEncoding_AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE AudioEncoding = 7
|
||
)
|
||
|
||
var AudioEncoding_name = map[int32]string{
|
||
0: "AUDIO_ENCODING_UNSPECIFIED",
|
||
1: "AUDIO_ENCODING_LINEAR_16",
|
||
2: "AUDIO_ENCODING_FLAC",
|
||
3: "AUDIO_ENCODING_MULAW",
|
||
4: "AUDIO_ENCODING_AMR",
|
||
5: "AUDIO_ENCODING_AMR_WB",
|
||
6: "AUDIO_ENCODING_OGG_OPUS",
|
||
7: "AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE",
|
||
}
|
||
var AudioEncoding_value = map[string]int32{
|
||
"AUDIO_ENCODING_UNSPECIFIED": 0,
|
||
"AUDIO_ENCODING_LINEAR_16": 1,
|
||
"AUDIO_ENCODING_FLAC": 2,
|
||
"AUDIO_ENCODING_MULAW": 3,
|
||
"AUDIO_ENCODING_AMR": 4,
|
||
"AUDIO_ENCODING_AMR_WB": 5,
|
||
"AUDIO_ENCODING_OGG_OPUS": 6,
|
||
"AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE": 7,
|
||
}
|
||
|
||
func (x AudioEncoding) String() string {
|
||
return proto.EnumName(AudioEncoding_name, int32(x))
|
||
}
|
||
func (AudioEncoding) EnumDescriptor() ([]byte, []int) {
|
||
return fileDescriptor_session_b14c9b148c96ead1, []int{0}
|
||
}
|
||
|
||
// Type of the response message.
|
||
type StreamingRecognitionResult_MessageType int32
|
||
|
||
const (
|
||
// Not specified. Should never be used.
|
||
StreamingRecognitionResult_MESSAGE_TYPE_UNSPECIFIED StreamingRecognitionResult_MessageType = 0
|
||
// Message contains a (possibly partial) transcript.
|
||
StreamingRecognitionResult_TRANSCRIPT StreamingRecognitionResult_MessageType = 1
|
||
// Event indicates that the server has detected the end of the user's speech
|
||
// utterance and expects no additional speech. Therefore, the server will
|
||
// not process additional audio (although it may subsequently return
|
||
// additional results). The client should stop sending additional audio
|
||
// data, half-close the gRPC connection, and wait for any additional results
|
||
// until the server closes the gRPC connection. This message is only sent if
|
||
// `single_utterance` was set to `true`, and is not used otherwise.
|
||
StreamingRecognitionResult_END_OF_SINGLE_UTTERANCE StreamingRecognitionResult_MessageType = 2
|
||
)
|
||
|
||
var StreamingRecognitionResult_MessageType_name = map[int32]string{
|
||
0: "MESSAGE_TYPE_UNSPECIFIED",
|
||
1: "TRANSCRIPT",
|
||
2: "END_OF_SINGLE_UTTERANCE",
|
||
}
|
||
var StreamingRecognitionResult_MessageType_value = map[string]int32{
|
||
"MESSAGE_TYPE_UNSPECIFIED": 0,
|
||
"TRANSCRIPT": 1,
|
||
"END_OF_SINGLE_UTTERANCE": 2,
|
||
}
|
||
|
||
func (x StreamingRecognitionResult_MessageType) String() string {
|
||
return proto.EnumName(StreamingRecognitionResult_MessageType_name, int32(x))
|
||
}
|
||
func (StreamingRecognitionResult_MessageType) EnumDescriptor() ([]byte, []int) {
|
||
return fileDescriptor_session_b14c9b148c96ead1, []int{7, 0}
|
||
}
|
||
|
||
// The request to detect user's intent.
|
||
type DetectIntentRequest struct {
|
||
// Required. The name of the session this query is sent to. Format:
|
||
// `projects/<Project ID>/agent/sessions/<Session ID>`. It's up to the API
|
||
// caller to choose an appropriate session ID. It can be a random number or
|
||
// some type of user identifier (preferably hashed). The length of the session
|
||
// ID must not exceed 36 bytes.
|
||
Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
|
||
// Optional. The parameters of this query.
|
||
QueryParams *QueryParameters `protobuf:"bytes,2,opt,name=query_params,json=queryParams,proto3" json:"query_params,omitempty"`
|
||
// Required. The input specification. It can be set to:
|
||
//
|
||
// 1. an audio config
|
||
// which instructs the speech recognizer how to process the speech audio,
|
||
//
|
||
// 2. a conversational query in the form of text, or
|
||
//
|
||
// 3. an event that specifies which intent to trigger.
|
||
QueryInput *QueryInput `protobuf:"bytes,3,opt,name=query_input,json=queryInput,proto3" json:"query_input,omitempty"`
|
||
// Optional. The natural language speech audio to be processed. This field
|
||
// should be populated iff `query_input` is set to an input audio config.
|
||
// A single request can contain up to 1 minute of speech audio data.
|
||
InputAudio []byte `protobuf:"bytes,5,opt,name=input_audio,json=inputAudio,proto3" json:"input_audio,omitempty"`
|
||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||
XXX_unrecognized []byte `json:"-"`
|
||
XXX_sizecache int32 `json:"-"`
|
||
}
|
||
|
||
func (m *DetectIntentRequest) Reset() { *m = DetectIntentRequest{} }
|
||
func (m *DetectIntentRequest) String() string { return proto.CompactTextString(m) }
|
||
func (*DetectIntentRequest) ProtoMessage() {}
|
||
func (*DetectIntentRequest) Descriptor() ([]byte, []int) {
|
||
return fileDescriptor_session_b14c9b148c96ead1, []int{0}
|
||
}
|
||
func (m *DetectIntentRequest) XXX_Unmarshal(b []byte) error {
|
||
return xxx_messageInfo_DetectIntentRequest.Unmarshal(m, b)
|
||
}
|
||
func (m *DetectIntentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||
return xxx_messageInfo_DetectIntentRequest.Marshal(b, m, deterministic)
|
||
}
|
||
func (dst *DetectIntentRequest) XXX_Merge(src proto.Message) {
|
||
xxx_messageInfo_DetectIntentRequest.Merge(dst, src)
|
||
}
|
||
func (m *DetectIntentRequest) XXX_Size() int {
|
||
return xxx_messageInfo_DetectIntentRequest.Size(m)
|
||
}
|
||
func (m *DetectIntentRequest) XXX_DiscardUnknown() {
|
||
xxx_messageInfo_DetectIntentRequest.DiscardUnknown(m)
|
||
}
|
||
|
||
var xxx_messageInfo_DetectIntentRequest proto.InternalMessageInfo
|
||
|
||
func (m *DetectIntentRequest) GetSession() string {
|
||
if m != nil {
|
||
return m.Session
|
||
}
|
||
return ""
|
||
}
|
||
|
||
func (m *DetectIntentRequest) GetQueryParams() *QueryParameters {
|
||
if m != nil {
|
||
return m.QueryParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
func (m *DetectIntentRequest) GetQueryInput() *QueryInput {
|
||
if m != nil {
|
||
return m.QueryInput
|
||
}
|
||
return nil
|
||
}
|
||
|
||
func (m *DetectIntentRequest) GetInputAudio() []byte {
|
||
if m != nil {
|
||
return m.InputAudio
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// The message returned from the DetectIntent method.
|
||
type DetectIntentResponse struct {
|
||
// The unique identifier of the response. It can be used to
|
||
// locate a response in the training example set or for reporting issues.
|
||
ResponseId string `protobuf:"bytes,1,opt,name=response_id,json=responseId,proto3" json:"response_id,omitempty"`
|
||
// The results of the conversational query or event processing.
|
||
QueryResult *QueryResult `protobuf:"bytes,2,opt,name=query_result,json=queryResult,proto3" json:"query_result,omitempty"`
|
||
// Specifies the status of the webhook request. `webhook_status`
|
||
// is never populated in webhook requests.
|
||
WebhookStatus *status.Status `protobuf:"bytes,3,opt,name=webhook_status,json=webhookStatus,proto3" json:"webhook_status,omitempty"`
|
||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||
XXX_unrecognized []byte `json:"-"`
|
||
XXX_sizecache int32 `json:"-"`
|
||
}
|
||
|
||
func (m *DetectIntentResponse) Reset() { *m = DetectIntentResponse{} }
|
||
func (m *DetectIntentResponse) String() string { return proto.CompactTextString(m) }
|
||
func (*DetectIntentResponse) ProtoMessage() {}
|
||
func (*DetectIntentResponse) Descriptor() ([]byte, []int) {
|
||
return fileDescriptor_session_b14c9b148c96ead1, []int{1}
|
||
}
|
||
func (m *DetectIntentResponse) XXX_Unmarshal(b []byte) error {
|
||
return xxx_messageInfo_DetectIntentResponse.Unmarshal(m, b)
|
||
}
|
||
func (m *DetectIntentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||
return xxx_messageInfo_DetectIntentResponse.Marshal(b, m, deterministic)
|
||
}
|
||
func (dst *DetectIntentResponse) XXX_Merge(src proto.Message) {
|
||
xxx_messageInfo_DetectIntentResponse.Merge(dst, src)
|
||
}
|
||
func (m *DetectIntentResponse) XXX_Size() int {
|
||
return xxx_messageInfo_DetectIntentResponse.Size(m)
|
||
}
|
||
func (m *DetectIntentResponse) XXX_DiscardUnknown() {
|
||
xxx_messageInfo_DetectIntentResponse.DiscardUnknown(m)
|
||
}
|
||
|
||
var xxx_messageInfo_DetectIntentResponse proto.InternalMessageInfo
|
||
|
||
func (m *DetectIntentResponse) GetResponseId() string {
|
||
if m != nil {
|
||
return m.ResponseId
|
||
}
|
||
return ""
|
||
}
|
||
|
||
func (m *DetectIntentResponse) GetQueryResult() *QueryResult {
|
||
if m != nil {
|
||
return m.QueryResult
|
||
}
|
||
return nil
|
||
}
|
||
|
||
func (m *DetectIntentResponse) GetWebhookStatus() *status.Status {
|
||
if m != nil {
|
||
return m.WebhookStatus
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// Represents the parameters of the conversational query.
|
||
type QueryParameters struct {
|
||
// Optional. The time zone of this conversational query from the
|
||
// [time zone database](https://www.iana.org/time-zones), e.g.,
|
||
// America/New_York, Europe/Paris. If not provided, the time zone specified in
|
||
// agent settings is used.
|
||
TimeZone string `protobuf:"bytes,1,opt,name=time_zone,json=timeZone,proto3" json:"time_zone,omitempty"`
|
||
// Optional. The geo location of this conversational query.
|
||
GeoLocation *latlng.LatLng `protobuf:"bytes,2,opt,name=geo_location,json=geoLocation,proto3" json:"geo_location,omitempty"`
|
||
// Optional. The collection of contexts to be activated before this query is
|
||
// executed.
|
||
Contexts []*Context `protobuf:"bytes,3,rep,name=contexts,proto3" json:"contexts,omitempty"`
|
||
// Optional. Specifies whether to delete all contexts in the current session
|
||
// before the new ones are activated.
|
||
ResetContexts bool `protobuf:"varint,4,opt,name=reset_contexts,json=resetContexts,proto3" json:"reset_contexts,omitempty"`
|
||
// Optional. The collection of session entity types to replace or extend
|
||
// developer entities with for this query only. The entity synonyms apply
|
||
// to all languages.
|
||
SessionEntityTypes []*SessionEntityType `protobuf:"bytes,5,rep,name=session_entity_types,json=sessionEntityTypes,proto3" json:"session_entity_types,omitempty"`
|
||
// Optional. This field can be used to pass custom data into the webhook
|
||
// associated with the agent. Arbitrary JSON objects are supported.
|
||
Payload *_struct.Struct `protobuf:"bytes,6,opt,name=payload,proto3" json:"payload,omitempty"`
|
||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||
XXX_unrecognized []byte `json:"-"`
|
||
XXX_sizecache int32 `json:"-"`
|
||
}
|
||
|
||
func (m *QueryParameters) Reset() { *m = QueryParameters{} }
|
||
func (m *QueryParameters) String() string { return proto.CompactTextString(m) }
|
||
func (*QueryParameters) ProtoMessage() {}
|
||
func (*QueryParameters) Descriptor() ([]byte, []int) {
|
||
return fileDescriptor_session_b14c9b148c96ead1, []int{2}
|
||
}
|
||
func (m *QueryParameters) XXX_Unmarshal(b []byte) error {
|
||
return xxx_messageInfo_QueryParameters.Unmarshal(m, b)
|
||
}
|
||
func (m *QueryParameters) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||
return xxx_messageInfo_QueryParameters.Marshal(b, m, deterministic)
|
||
}
|
||
func (dst *QueryParameters) XXX_Merge(src proto.Message) {
|
||
xxx_messageInfo_QueryParameters.Merge(dst, src)
|
||
}
|
||
func (m *QueryParameters) XXX_Size() int {
|
||
return xxx_messageInfo_QueryParameters.Size(m)
|
||
}
|
||
func (m *QueryParameters) XXX_DiscardUnknown() {
|
||
xxx_messageInfo_QueryParameters.DiscardUnknown(m)
|
||
}
|
||
|
||
var xxx_messageInfo_QueryParameters proto.InternalMessageInfo
|
||
|
||
func (m *QueryParameters) GetTimeZone() string {
|
||
if m != nil {
|
||
return m.TimeZone
|
||
}
|
||
return ""
|
||
}
|
||
|
||
func (m *QueryParameters) GetGeoLocation() *latlng.LatLng {
|
||
if m != nil {
|
||
return m.GeoLocation
|
||
}
|
||
return nil
|
||
}
|
||
|
||
func (m *QueryParameters) GetContexts() []*Context {
|
||
if m != nil {
|
||
return m.Contexts
|
||
}
|
||
return nil
|
||
}
|
||
|
||
func (m *QueryParameters) GetResetContexts() bool {
|
||
if m != nil {
|
||
return m.ResetContexts
|
||
}
|
||
return false
|
||
}
|
||
|
||
func (m *QueryParameters) GetSessionEntityTypes() []*SessionEntityType {
|
||
if m != nil {
|
||
return m.SessionEntityTypes
|
||
}
|
||
return nil
|
||
}
|
||
|
||
func (m *QueryParameters) GetPayload() *_struct.Struct {
|
||
if m != nil {
|
||
return m.Payload
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// Represents the query input. It can contain either:
|
||
//
|
||
// 1. An audio config which
|
||
// instructs the speech recognizer how to process the speech audio.
|
||
//
|
||
// 2. A conversational query in the form of text,.
|
||
//
|
||
// 3. An event that specifies which intent to trigger.
|
||
type QueryInput struct {
|
||
// Required. The input specification.
|
||
//
|
||
// Types that are valid to be assigned to Input:
|
||
// *QueryInput_AudioConfig
|
||
// *QueryInput_Text
|
||
// *QueryInput_Event
|
||
Input isQueryInput_Input `protobuf_oneof:"input"`
|
||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||
XXX_unrecognized []byte `json:"-"`
|
||
XXX_sizecache int32 `json:"-"`
|
||
}
|
||
|
||
func (m *QueryInput) Reset() { *m = QueryInput{} }
|
||
func (m *QueryInput) String() string { return proto.CompactTextString(m) }
|
||
func (*QueryInput) ProtoMessage() {}
|
||
func (*QueryInput) Descriptor() ([]byte, []int) {
|
||
return fileDescriptor_session_b14c9b148c96ead1, []int{3}
|
||
}
|
||
func (m *QueryInput) XXX_Unmarshal(b []byte) error {
|
||
return xxx_messageInfo_QueryInput.Unmarshal(m, b)
|
||
}
|
||
func (m *QueryInput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||
return xxx_messageInfo_QueryInput.Marshal(b, m, deterministic)
|
||
}
|
||
func (dst *QueryInput) XXX_Merge(src proto.Message) {
|
||
xxx_messageInfo_QueryInput.Merge(dst, src)
|
||
}
|
||
func (m *QueryInput) XXX_Size() int {
|
||
return xxx_messageInfo_QueryInput.Size(m)
|
||
}
|
||
func (m *QueryInput) XXX_DiscardUnknown() {
|
||
xxx_messageInfo_QueryInput.DiscardUnknown(m)
|
||
}
|
||
|
||
var xxx_messageInfo_QueryInput proto.InternalMessageInfo
|
||
|
||
type isQueryInput_Input interface {
|
||
isQueryInput_Input()
|
||
}
|
||
|
||
type QueryInput_AudioConfig struct {
|
||
AudioConfig *InputAudioConfig `protobuf:"bytes,1,opt,name=audio_config,json=audioConfig,proto3,oneof"`
|
||
}
|
||
type QueryInput_Text struct {
|
||
Text *TextInput `protobuf:"bytes,2,opt,name=text,proto3,oneof"`
|
||
}
|
||
type QueryInput_Event struct {
|
||
Event *EventInput `protobuf:"bytes,3,opt,name=event,proto3,oneof"`
|
||
}
|
||
|
||
func (*QueryInput_AudioConfig) isQueryInput_Input() {}
|
||
func (*QueryInput_Text) isQueryInput_Input() {}
|
||
func (*QueryInput_Event) isQueryInput_Input() {}
|
||
|
||
func (m *QueryInput) GetInput() isQueryInput_Input {
|
||
if m != nil {
|
||
return m.Input
|
||
}
|
||
return nil
|
||
}
|
||
|
||
func (m *QueryInput) GetAudioConfig() *InputAudioConfig {
|
||
if x, ok := m.GetInput().(*QueryInput_AudioConfig); ok {
|
||
return x.AudioConfig
|
||
}
|
||
return nil
|
||
}
|
||
|
||
func (m *QueryInput) GetText() *TextInput {
|
||
if x, ok := m.GetInput().(*QueryInput_Text); ok {
|
||
return x.Text
|
||
}
|
||
return nil
|
||
}
|
||
|
||
func (m *QueryInput) GetEvent() *EventInput {
|
||
if x, ok := m.GetInput().(*QueryInput_Event); ok {
|
||
return x.Event
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// XXX_OneofFuncs is for the internal use of the proto package.
|
||
func (*QueryInput) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
|
||
return _QueryInput_OneofMarshaler, _QueryInput_OneofUnmarshaler, _QueryInput_OneofSizer, []interface{}{
|
||
(*QueryInput_AudioConfig)(nil),
|
||
(*QueryInput_Text)(nil),
|
||
(*QueryInput_Event)(nil),
|
||
}
|
||
}
|
||
|
||
func _QueryInput_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
|
||
m := msg.(*QueryInput)
|
||
// input
|
||
switch x := m.Input.(type) {
|
||
case *QueryInput_AudioConfig:
|
||
b.EncodeVarint(1<<3 | proto.WireBytes)
|
||
if err := b.EncodeMessage(x.AudioConfig); err != nil {
|
||
return err
|
||
}
|
||
case *QueryInput_Text:
|
||
b.EncodeVarint(2<<3 | proto.WireBytes)
|
||
if err := b.EncodeMessage(x.Text); err != nil {
|
||
return err
|
||
}
|
||
case *QueryInput_Event:
|
||
b.EncodeVarint(3<<3 | proto.WireBytes)
|
||
if err := b.EncodeMessage(x.Event); err != nil {
|
||
return err
|
||
}
|
||
case nil:
|
||
default:
|
||
return fmt.Errorf("QueryInput.Input has unexpected type %T", x)
|
||
}
|
||
return nil
|
||
}
|
||
|
||
func _QueryInput_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
|
||
m := msg.(*QueryInput)
|
||
switch tag {
|
||
case 1: // input.audio_config
|
||
if wire != proto.WireBytes {
|
||
return true, proto.ErrInternalBadWireType
|
||
}
|
||
msg := new(InputAudioConfig)
|
||
err := b.DecodeMessage(msg)
|
||
m.Input = &QueryInput_AudioConfig{msg}
|
||
return true, err
|
||
case 2: // input.text
|
||
if wire != proto.WireBytes {
|
||
return true, proto.ErrInternalBadWireType
|
||
}
|
||
msg := new(TextInput)
|
||
err := b.DecodeMessage(msg)
|
||
m.Input = &QueryInput_Text{msg}
|
||
return true, err
|
||
case 3: // input.event
|
||
if wire != proto.WireBytes {
|
||
return true, proto.ErrInternalBadWireType
|
||
}
|
||
msg := new(EventInput)
|
||
err := b.DecodeMessage(msg)
|
||
m.Input = &QueryInput_Event{msg}
|
||
return true, err
|
||
default:
|
||
return false, nil
|
||
}
|
||
}
|
||
|
||
func _QueryInput_OneofSizer(msg proto.Message) (n int) {
|
||
m := msg.(*QueryInput)
|
||
// input
|
||
switch x := m.Input.(type) {
|
||
case *QueryInput_AudioConfig:
|
||
s := proto.Size(x.AudioConfig)
|
||
n += 1 // tag and wire
|
||
n += proto.SizeVarint(uint64(s))
|
||
n += s
|
||
case *QueryInput_Text:
|
||
s := proto.Size(x.Text)
|
||
n += 1 // tag and wire
|
||
n += proto.SizeVarint(uint64(s))
|
||
n += s
|
||
case *QueryInput_Event:
|
||
s := proto.Size(x.Event)
|
||
n += 1 // tag and wire
|
||
n += proto.SizeVarint(uint64(s))
|
||
n += s
|
||
case nil:
|
||
default:
|
||
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
|
||
}
|
||
return n
|
||
}
|
||
|
||
// Represents the result of conversational query or event processing.
|
||
type QueryResult struct {
|
||
// The original conversational query text:
|
||
// - If natural language text was provided as input, `query_text` contains
|
||
// a copy of the input.
|
||
// - If natural language speech audio was provided as input, `query_text`
|
||
// contains the speech recognition result. If speech recognizer produced
|
||
// multiple alternatives, a particular one is picked.
|
||
// - If an event was provided as input, `query_text` is not set.
|
||
QueryText string `protobuf:"bytes,1,opt,name=query_text,json=queryText,proto3" json:"query_text,omitempty"`
|
||
// The language that was triggered during intent detection.
|
||
// See [Language Support](https://dialogflow.com/docs/reference/language)
|
||
// for a list of the currently supported language codes.
|
||
LanguageCode string `protobuf:"bytes,15,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
|
||
// The Speech recognition confidence between 0.0 and 1.0. A higher number
|
||
// indicates an estimated greater likelihood that the recognized words are
|
||
// correct. The default of 0.0 is a sentinel value indicating that confidence
|
||
// was not set.
|
||
//
|
||
// You should not rely on this field as it isn't guaranteed to be accurate, or
|
||
// even set. In particular this field isn't set in Webhook calls and for
|
||
// StreamingDetectIntent since the streaming endpoint has separate confidence
|
||
// estimates per portion of the audio in StreamingRecognitionResult.
|
||
SpeechRecognitionConfidence float32 `protobuf:"fixed32,2,opt,name=speech_recognition_confidence,json=speechRecognitionConfidence,proto3" json:"speech_recognition_confidence,omitempty"`
|
||
// The action name from the matched intent.
|
||
Action string `protobuf:"bytes,3,opt,name=action,proto3" json:"action,omitempty"`
|
||
// The collection of extracted parameters.
|
||
Parameters *_struct.Struct `protobuf:"bytes,4,opt,name=parameters,proto3" json:"parameters,omitempty"`
|
||
// This field is set to:
|
||
// - `false` if the matched intent has required parameters and not all of
|
||
// the required parameter values have been collected.
|
||
// - `true` if all required parameter values have been collected, or if the
|
||
// matched intent doesn't contain any required parameters.
|
||
AllRequiredParamsPresent bool `protobuf:"varint,5,opt,name=all_required_params_present,json=allRequiredParamsPresent,proto3" json:"all_required_params_present,omitempty"`
|
||
// The text to be pronounced to the user or shown on the screen.
|
||
FulfillmentText string `protobuf:"bytes,6,opt,name=fulfillment_text,json=fulfillmentText,proto3" json:"fulfillment_text,omitempty"`
|
||
// The collection of rich messages to present to the user.
|
||
FulfillmentMessages []*Intent_Message `protobuf:"bytes,7,rep,name=fulfillment_messages,json=fulfillmentMessages,proto3" json:"fulfillment_messages,omitempty"`
|
||
// If the query was fulfilled by a webhook call, this field is set to the
|
||
// value of the `source` field returned in the webhook response.
|
||
WebhookSource string `protobuf:"bytes,8,opt,name=webhook_source,json=webhookSource,proto3" json:"webhook_source,omitempty"`
|
||
// If the query was fulfilled by a webhook call, this field is set to the
|
||
// value of the `payload` field returned in the webhook response.
|
||
WebhookPayload *_struct.Struct `protobuf:"bytes,9,opt,name=webhook_payload,json=webhookPayload,proto3" json:"webhook_payload,omitempty"`
|
||
// The collection of output contexts. If applicable,
|
||
// `output_contexts.parameters` contains entries with name
|
||
// `<parameter name>.original` containing the original parameter values
|
||
// before the query.
|
||
OutputContexts []*Context `protobuf:"bytes,10,rep,name=output_contexts,json=outputContexts,proto3" json:"output_contexts,omitempty"`
|
||
// The intent that matched the conversational query. Some, not
|
||
// all fields are filled in this message, including but not limited to:
|
||
// `name`, `display_name` and `webhook_state`.
|
||
Intent *Intent `protobuf:"bytes,11,opt,name=intent,proto3" json:"intent,omitempty"`
|
||
// The intent detection confidence. Values range from 0.0
|
||
// (completely uncertain) to 1.0 (completely certain).
|
||
IntentDetectionConfidence float32 `protobuf:"fixed32,12,opt,name=intent_detection_confidence,json=intentDetectionConfidence,proto3" json:"intent_detection_confidence,omitempty"`
|
||
// The free-form diagnostic info. For example, this field
|
||
// could contain webhook call latency.
|
||
DiagnosticInfo *_struct.Struct `protobuf:"bytes,14,opt,name=diagnostic_info,json=diagnosticInfo,proto3" json:"diagnostic_info,omitempty"`
|
||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||
XXX_unrecognized []byte `json:"-"`
|
||
XXX_sizecache int32 `json:"-"`
|
||
}
|
||
|
||
func (m *QueryResult) Reset() { *m = QueryResult{} }
|
||
func (m *QueryResult) String() string { return proto.CompactTextString(m) }
|
||
func (*QueryResult) ProtoMessage() {}
|
||
func (*QueryResult) Descriptor() ([]byte, []int) {
|
||
return fileDescriptor_session_b14c9b148c96ead1, []int{4}
|
||
}
|
||
func (m *QueryResult) XXX_Unmarshal(b []byte) error {
|
||
return xxx_messageInfo_QueryResult.Unmarshal(m, b)
|
||
}
|
||
func (m *QueryResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||
return xxx_messageInfo_QueryResult.Marshal(b, m, deterministic)
|
||
}
|
||
func (dst *QueryResult) XXX_Merge(src proto.Message) {
|
||
xxx_messageInfo_QueryResult.Merge(dst, src)
|
||
}
|
||
func (m *QueryResult) XXX_Size() int {
|
||
return xxx_messageInfo_QueryResult.Size(m)
|
||
}
|
||
func (m *QueryResult) XXX_DiscardUnknown() {
|
||
xxx_messageInfo_QueryResult.DiscardUnknown(m)
|
||
}
|
||
|
||
var xxx_messageInfo_QueryResult proto.InternalMessageInfo
|
||
|
||
func (m *QueryResult) GetQueryText() string {
|
||
if m != nil {
|
||
return m.QueryText
|
||
}
|
||
return ""
|
||
}
|
||
|
||
func (m *QueryResult) GetLanguageCode() string {
|
||
if m != nil {
|
||
return m.LanguageCode
|
||
}
|
||
return ""
|
||
}
|
||
|
||
func (m *QueryResult) GetSpeechRecognitionConfidence() float32 {
|
||
if m != nil {
|
||
return m.SpeechRecognitionConfidence
|
||
}
|
||
return 0
|
||
}
|
||
|
||
func (m *QueryResult) GetAction() string {
|
||
if m != nil {
|
||
return m.Action
|
||
}
|
||
return ""
|
||
}
|
||
|
||
func (m *QueryResult) GetParameters() *_struct.Struct {
|
||
if m != nil {
|
||
return m.Parameters
|
||
}
|
||
return nil
|
||
}
|
||
|
||
func (m *QueryResult) GetAllRequiredParamsPresent() bool {
|
||
if m != nil {
|
||
return m.AllRequiredParamsPresent
|
||
}
|
||
return false
|
||
}
|
||
|
||
func (m *QueryResult) GetFulfillmentText() string {
|
||
if m != nil {
|
||
return m.FulfillmentText
|
||
}
|
||
return ""
|
||
}
|
||
|
||
func (m *QueryResult) GetFulfillmentMessages() []*Intent_Message {
|
||
if m != nil {
|
||
return m.FulfillmentMessages
|
||
}
|
||
return nil
|
||
}
|
||
|
||
func (m *QueryResult) GetWebhookSource() string {
|
||
if m != nil {
|
||
return m.WebhookSource
|
||
}
|
||
return ""
|
||
}
|
||
|
||
func (m *QueryResult) GetWebhookPayload() *_struct.Struct {
|
||
if m != nil {
|
||
return m.WebhookPayload
|
||
}
|
||
return nil
|
||
}
|
||
|
||
func (m *QueryResult) GetOutputContexts() []*Context {
|
||
if m != nil {
|
||
return m.OutputContexts
|
||
}
|
||
return nil
|
||
}
|
||
|
||
func (m *QueryResult) GetIntent() *Intent {
|
||
if m != nil {
|
||
return m.Intent
|
||
}
|
||
return nil
|
||
}
|
||
|
||
func (m *QueryResult) GetIntentDetectionConfidence() float32 {
|
||
if m != nil {
|
||
return m.IntentDetectionConfidence
|
||
}
|
||
return 0
|
||
}
|
||
|
||
func (m *QueryResult) GetDiagnosticInfo() *_struct.Struct {
|
||
if m != nil {
|
||
return m.DiagnosticInfo
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// The top-level message sent by the client to the
|
||
// `StreamingDetectIntent` method.
|
||
//
|
||
// Multiple request messages should be sent in order:
|
||
//
|
||
// 1. The first message must contain `session`, `query_input` plus optionally
|
||
// `query_params` and/or `single_utterance`. The message must not contain `input_audio`.
|
||
//
|
||
// 2. If `query_input` was set to a streaming input audio config,
|
||
// all subsequent messages must contain only `input_audio`.
|
||
// Otherwise, finish the request stream.
|
||
type StreamingDetectIntentRequest struct {
|
||
// Required. The name of the session the query is sent to.
|
||
// Format of the session name:
|
||
// `projects/<Project ID>/agent/sessions/<Session ID>`. It’s up to the API
|
||
// caller to choose an appropriate <Session ID>. It can be a random number or
|
||
// some type of user identifier (preferably hashed). The length of the session
|
||
// ID must not exceed 36 characters.
|
||
Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
|
||
// Optional. The parameters of this query.
|
||
QueryParams *QueryParameters `protobuf:"bytes,2,opt,name=query_params,json=queryParams,proto3" json:"query_params,omitempty"`
|
||
// Required. The input specification. It can be set to:
|
||
//
|
||
// 1. an audio config which instructs the speech recognizer how to process
|
||
// the speech audio,
|
||
//
|
||
// 2. a conversational query in the form of text, or
|
||
//
|
||
// 3. an event that specifies which intent to trigger.
|
||
QueryInput *QueryInput `protobuf:"bytes,3,opt,name=query_input,json=queryInput,proto3" json:"query_input,omitempty"`
|
||
// Optional. If `false` (default), recognition does not cease until the
|
||
// client closes the stream.
|
||
// If `true`, the recognizer will detect a single spoken utterance in input
|
||
// audio. Recognition ceases when it detects the audio's voice has
|
||
// stopped or paused. In this case, once a detected intent is received, the
|
||
// client should close the stream and start a new request with a new stream as
|
||
// needed.
|
||
// This setting is ignored when `query_input` is a piece of text or an event.
|
||
SingleUtterance bool `protobuf:"varint,4,opt,name=single_utterance,json=singleUtterance,proto3" json:"single_utterance,omitempty"`
|
||
// Optional. The input audio content to be recognized. Must be sent if
|
||
// `query_input` was set to a streaming input audio config. The complete audio
|
||
// over all streaming messages must not exceed 1 minute.
|
||
InputAudio []byte `protobuf:"bytes,6,opt,name=input_audio,json=inputAudio,proto3" json:"input_audio,omitempty"`
|
||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||
XXX_unrecognized []byte `json:"-"`
|
||
XXX_sizecache int32 `json:"-"`
|
||
}
|
||
|
||
func (m *StreamingDetectIntentRequest) Reset() { *m = StreamingDetectIntentRequest{} }
|
||
func (m *StreamingDetectIntentRequest) String() string { return proto.CompactTextString(m) }
|
||
func (*StreamingDetectIntentRequest) ProtoMessage() {}
|
||
func (*StreamingDetectIntentRequest) Descriptor() ([]byte, []int) {
|
||
return fileDescriptor_session_b14c9b148c96ead1, []int{5}
|
||
}
|
||
func (m *StreamingDetectIntentRequest) XXX_Unmarshal(b []byte) error {
|
||
return xxx_messageInfo_StreamingDetectIntentRequest.Unmarshal(m, b)
|
||
}
|
||
func (m *StreamingDetectIntentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||
return xxx_messageInfo_StreamingDetectIntentRequest.Marshal(b, m, deterministic)
|
||
}
|
||
func (dst *StreamingDetectIntentRequest) XXX_Merge(src proto.Message) {
|
||
xxx_messageInfo_StreamingDetectIntentRequest.Merge(dst, src)
|
||
}
|
||
func (m *StreamingDetectIntentRequest) XXX_Size() int {
|
||
return xxx_messageInfo_StreamingDetectIntentRequest.Size(m)
|
||
}
|
||
func (m *StreamingDetectIntentRequest) XXX_DiscardUnknown() {
|
||
xxx_messageInfo_StreamingDetectIntentRequest.DiscardUnknown(m)
|
||
}
|
||
|
||
var xxx_messageInfo_StreamingDetectIntentRequest proto.InternalMessageInfo
|
||
|
||
func (m *StreamingDetectIntentRequest) GetSession() string {
|
||
if m != nil {
|
||
return m.Session
|
||
}
|
||
return ""
|
||
}
|
||
|
||
func (m *StreamingDetectIntentRequest) GetQueryParams() *QueryParameters {
|
||
if m != nil {
|
||
return m.QueryParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
func (m *StreamingDetectIntentRequest) GetQueryInput() *QueryInput {
|
||
if m != nil {
|
||
return m.QueryInput
|
||
}
|
||
return nil
|
||
}
|
||
|
||
func (m *StreamingDetectIntentRequest) GetSingleUtterance() bool {
|
||
if m != nil {
|
||
return m.SingleUtterance
|
||
}
|
||
return false
|
||
}
|
||
|
||
func (m *StreamingDetectIntentRequest) GetInputAudio() []byte {
|
||
if m != nil {
|
||
return m.InputAudio
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// The top-level message returned from the
|
||
// `StreamingDetectIntent` method.
|
||
//
|
||
// Multiple response messages can be returned in order:
|
||
//
|
||
// 1. If the input was set to streaming audio, the first one or more messages
|
||
// contain `recognition_result`. Each `recognition_result` represents a more
|
||
// complete transcript of what the user said. The last `recognition_result`
|
||
// has `is_final` set to `true`.
|
||
//
|
||
// 2. The next message contains `response_id`, `query_result`
|
||
// and optionally `webhook_status` if a WebHook was called.
|
||
type StreamingDetectIntentResponse struct {
|
||
// The unique identifier of the response. It can be used to
|
||
// locate a response in the training example set or for reporting issues.
|
||
ResponseId string `protobuf:"bytes,1,opt,name=response_id,json=responseId,proto3" json:"response_id,omitempty"`
|
||
// The result of speech recognition.
|
||
RecognitionResult *StreamingRecognitionResult `protobuf:"bytes,2,opt,name=recognition_result,json=recognitionResult,proto3" json:"recognition_result,omitempty"`
|
||
// The result of the conversational query or event processing.
|
||
QueryResult *QueryResult `protobuf:"bytes,3,opt,name=query_result,json=queryResult,proto3" json:"query_result,omitempty"`
|
||
// Specifies the status of the webhook request.
|
||
WebhookStatus *status.Status `protobuf:"bytes,4,opt,name=webhook_status,json=webhookStatus,proto3" json:"webhook_status,omitempty"`
|
||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||
XXX_unrecognized []byte `json:"-"`
|
||
XXX_sizecache int32 `json:"-"`
|
||
}
|
||
|
||
func (m *StreamingDetectIntentResponse) Reset() { *m = StreamingDetectIntentResponse{} }
|
||
func (m *StreamingDetectIntentResponse) String() string { return proto.CompactTextString(m) }
|
||
func (*StreamingDetectIntentResponse) ProtoMessage() {}
|
||
func (*StreamingDetectIntentResponse) Descriptor() ([]byte, []int) {
|
||
return fileDescriptor_session_b14c9b148c96ead1, []int{6}
|
||
}
|
||
func (m *StreamingDetectIntentResponse) XXX_Unmarshal(b []byte) error {
|
||
return xxx_messageInfo_StreamingDetectIntentResponse.Unmarshal(m, b)
|
||
}
|
||
func (m *StreamingDetectIntentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||
return xxx_messageInfo_StreamingDetectIntentResponse.Marshal(b, m, deterministic)
|
||
}
|
||
func (dst *StreamingDetectIntentResponse) XXX_Merge(src proto.Message) {
|
||
xxx_messageInfo_StreamingDetectIntentResponse.Merge(dst, src)
|
||
}
|
||
func (m *StreamingDetectIntentResponse) XXX_Size() int {
|
||
return xxx_messageInfo_StreamingDetectIntentResponse.Size(m)
|
||
}
|
||
func (m *StreamingDetectIntentResponse) XXX_DiscardUnknown() {
|
||
xxx_messageInfo_StreamingDetectIntentResponse.DiscardUnknown(m)
|
||
}
|
||
|
||
var xxx_messageInfo_StreamingDetectIntentResponse proto.InternalMessageInfo
|
||
|
||
func (m *StreamingDetectIntentResponse) GetResponseId() string {
|
||
if m != nil {
|
||
return m.ResponseId
|
||
}
|
||
return ""
|
||
}
|
||
|
||
func (m *StreamingDetectIntentResponse) GetRecognitionResult() *StreamingRecognitionResult {
|
||
if m != nil {
|
||
return m.RecognitionResult
|
||
}
|
||
return nil
|
||
}
|
||
|
||
func (m *StreamingDetectIntentResponse) GetQueryResult() *QueryResult {
|
||
if m != nil {
|
||
return m.QueryResult
|
||
}
|
||
return nil
|
||
}
|
||
|
||
func (m *StreamingDetectIntentResponse) GetWebhookStatus() *status.Status {
|
||
if m != nil {
|
||
return m.WebhookStatus
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// Contains a speech recognition result corresponding to a portion of the audio
|
||
// that is currently being processed or an indication that this is the end
|
||
// of the single requested utterance.
|
||
//
|
||
// Example:
|
||
//
|
||
// 1. transcript: "tube"
|
||
//
|
||
// 2. transcript: "to be a"
|
||
//
|
||
// 3. transcript: "to be"
|
||
//
|
||
// 4. transcript: "to be or not to be"
|
||
// is_final: true
|
||
//
|
||
// 5. transcript: " that's"
|
||
//
|
||
// 6. transcript: " that is"
|
||
//
|
||
// 7. recognition_event_type: `RECOGNITION_EVENT_END_OF_SINGLE_UTTERANCE`
|
||
//
|
||
// 8. transcript: " that is the question"
|
||
// is_final: true
|
||
//
|
||
// Only two of the responses contain final results (#4 and #8 indicated by
|
||
// `is_final: true`). Concatenating these generates the full transcript: "to be
|
||
// or not to be that is the question".
|
||
//
|
||
// In each response we populate:
|
||
//
|
||
// * for `MESSAGE_TYPE_TRANSCRIPT`: `transcript` and possibly `is_final`.
|
||
//
|
||
// * for `MESSAGE_TYPE_END_OF_SINGLE_UTTERANCE`: only `event_type`.
|
||
type StreamingRecognitionResult struct {
|
||
// Type of the result message.
|
||
MessageType StreamingRecognitionResult_MessageType `protobuf:"varint,1,opt,name=message_type,json=messageType,proto3,enum=google.cloud.dialogflow.v2.StreamingRecognitionResult_MessageType" json:"message_type,omitempty"`
|
||
// Transcript text representing the words that the user spoke.
|
||
// Populated if and only if `event_type` = `RECOGNITION_EVENT_TRANSCRIPT`.
|
||
Transcript string `protobuf:"bytes,2,opt,name=transcript,proto3" json:"transcript,omitempty"`
|
||
// The default of 0.0 is a sentinel value indicating `confidence` was not set.
|
||
// If `false`, the `StreamingRecognitionResult` represents an
|
||
// interim result that may change. If `true`, the recognizer will not return
|
||
// any further hypotheses about this piece of the audio. May only be populated
|
||
// for `event_type` = `RECOGNITION_EVENT_TRANSCRIPT`.
|
||
IsFinal bool `protobuf:"varint,3,opt,name=is_final,json=isFinal,proto3" json:"is_final,omitempty"`
|
||
// The Speech confidence between 0.0 and 1.0 for the current portion of audio.
|
||
// A higher number indicates an estimated greater likelihood that the
|
||
// recognized words are correct. The default of 0.0 is a sentinel value
|
||
// indicating that confidence was not set.
|
||
//
|
||
// This field is typically only provided if `is_final` is true and you should
|
||
// not rely on it being accurate or even set.
|
||
Confidence float32 `protobuf:"fixed32,4,opt,name=confidence,proto3" json:"confidence,omitempty"`
|
||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||
XXX_unrecognized []byte `json:"-"`
|
||
XXX_sizecache int32 `json:"-"`
|
||
}
|
||
|
||
func (m *StreamingRecognitionResult) Reset() { *m = StreamingRecognitionResult{} }
|
||
func (m *StreamingRecognitionResult) String() string { return proto.CompactTextString(m) }
|
||
func (*StreamingRecognitionResult) ProtoMessage() {}
|
||
func (*StreamingRecognitionResult) Descriptor() ([]byte, []int) {
|
||
return fileDescriptor_session_b14c9b148c96ead1, []int{7}
|
||
}
|
||
func (m *StreamingRecognitionResult) XXX_Unmarshal(b []byte) error {
|
||
return xxx_messageInfo_StreamingRecognitionResult.Unmarshal(m, b)
|
||
}
|
||
func (m *StreamingRecognitionResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||
return xxx_messageInfo_StreamingRecognitionResult.Marshal(b, m, deterministic)
|
||
}
|
||
func (dst *StreamingRecognitionResult) XXX_Merge(src proto.Message) {
|
||
xxx_messageInfo_StreamingRecognitionResult.Merge(dst, src)
|
||
}
|
||
func (m *StreamingRecognitionResult) XXX_Size() int {
|
||
return xxx_messageInfo_StreamingRecognitionResult.Size(m)
|
||
}
|
||
func (m *StreamingRecognitionResult) XXX_DiscardUnknown() {
|
||
xxx_messageInfo_StreamingRecognitionResult.DiscardUnknown(m)
|
||
}
|
||
|
||
var xxx_messageInfo_StreamingRecognitionResult proto.InternalMessageInfo
|
||
|
||
func (m *StreamingRecognitionResult) GetMessageType() StreamingRecognitionResult_MessageType {
|
||
if m != nil {
|
||
return m.MessageType
|
||
}
|
||
return StreamingRecognitionResult_MESSAGE_TYPE_UNSPECIFIED
|
||
}
|
||
|
||
func (m *StreamingRecognitionResult) GetTranscript() string {
|
||
if m != nil {
|
||
return m.Transcript
|
||
}
|
||
return ""
|
||
}
|
||
|
||
func (m *StreamingRecognitionResult) GetIsFinal() bool {
|
||
if m != nil {
|
||
return m.IsFinal
|
||
}
|
||
return false
|
||
}
|
||
|
||
func (m *StreamingRecognitionResult) GetConfidence() float32 {
|
||
if m != nil {
|
||
return m.Confidence
|
||
}
|
||
return 0
|
||
}
|
||
|
||
// Instructs the speech recognizer how to process the audio content.
|
||
type InputAudioConfig struct {
|
||
// Required. Audio encoding of the audio content to process.
|
||
AudioEncoding AudioEncoding `protobuf:"varint,1,opt,name=audio_encoding,json=audioEncoding,proto3,enum=google.cloud.dialogflow.v2.AudioEncoding" json:"audio_encoding,omitempty"`
|
||
// Required. Sample rate (in Hertz) of the audio content sent in the query.
|
||
// Refer to [Cloud Speech API documentation](/speech/docs/basics) for more
|
||
// details.
|
||
SampleRateHertz int32 `protobuf:"varint,2,opt,name=sample_rate_hertz,json=sampleRateHertz,proto3" json:"sample_rate_hertz,omitempty"`
|
||
// Required. The language of the supplied audio. Dialogflow does not do
|
||
// translations. See [Language
|
||
// Support](https://dialogflow.com/docs/languages) for a list of the
|
||
// currently supported language codes. Note that queries in the same session
|
||
// do not necessarily need to specify the same language.
|
||
LanguageCode string `protobuf:"bytes,3,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
|
||
// Optional. The collection of phrase hints which are used to boost accuracy
|
||
// of speech recognition.
|
||
// Refer to [Cloud Speech API documentation](/speech/docs/basics#phrase-hints)
|
||
// for more details.
|
||
PhraseHints []string `protobuf:"bytes,4,rep,name=phrase_hints,json=phraseHints,proto3" json:"phrase_hints,omitempty"`
|
||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||
XXX_unrecognized []byte `json:"-"`
|
||
XXX_sizecache int32 `json:"-"`
|
||
}
|
||
|
||
func (m *InputAudioConfig) Reset() { *m = InputAudioConfig{} }
|
||
func (m *InputAudioConfig) String() string { return proto.CompactTextString(m) }
|
||
func (*InputAudioConfig) ProtoMessage() {}
|
||
func (*InputAudioConfig) Descriptor() ([]byte, []int) {
|
||
return fileDescriptor_session_b14c9b148c96ead1, []int{8}
|
||
}
|
||
func (m *InputAudioConfig) XXX_Unmarshal(b []byte) error {
|
||
return xxx_messageInfo_InputAudioConfig.Unmarshal(m, b)
|
||
}
|
||
func (m *InputAudioConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||
return xxx_messageInfo_InputAudioConfig.Marshal(b, m, deterministic)
|
||
}
|
||
func (dst *InputAudioConfig) XXX_Merge(src proto.Message) {
|
||
xxx_messageInfo_InputAudioConfig.Merge(dst, src)
|
||
}
|
||
func (m *InputAudioConfig) XXX_Size() int {
|
||
return xxx_messageInfo_InputAudioConfig.Size(m)
|
||
}
|
||
func (m *InputAudioConfig) XXX_DiscardUnknown() {
|
||
xxx_messageInfo_InputAudioConfig.DiscardUnknown(m)
|
||
}
|
||
|
||
var xxx_messageInfo_InputAudioConfig proto.InternalMessageInfo
|
||
|
||
func (m *InputAudioConfig) GetAudioEncoding() AudioEncoding {
|
||
if m != nil {
|
||
return m.AudioEncoding
|
||
}
|
||
return AudioEncoding_AUDIO_ENCODING_UNSPECIFIED
|
||
}
|
||
|
||
func (m *InputAudioConfig) GetSampleRateHertz() int32 {
|
||
if m != nil {
|
||
return m.SampleRateHertz
|
||
}
|
||
return 0
|
||
}
|
||
|
||
func (m *InputAudioConfig) GetLanguageCode() string {
|
||
if m != nil {
|
||
return m.LanguageCode
|
||
}
|
||
return ""
|
||
}
|
||
|
||
func (m *InputAudioConfig) GetPhraseHints() []string {
|
||
if m != nil {
|
||
return m.PhraseHints
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// Represents the natural language text to be processed.
|
||
type TextInput struct {
|
||
// Required. The UTF-8 encoded natural language text to be processed.
|
||
// Text length must not exceed 256 bytes.
|
||
Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
|
||
// Required. The language of this conversational query. See [Language
|
||
// Support](https://dialogflow.com/docs/languages) for a list of the
|
||
// currently supported language codes. Note that queries in the same session
|
||
// do not necessarily need to specify the same language.
|
||
LanguageCode string `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
|
||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||
XXX_unrecognized []byte `json:"-"`
|
||
XXX_sizecache int32 `json:"-"`
|
||
}
|
||
|
||
func (m *TextInput) Reset() { *m = TextInput{} }
|
||
func (m *TextInput) String() string { return proto.CompactTextString(m) }
|
||
func (*TextInput) ProtoMessage() {}
|
||
func (*TextInput) Descriptor() ([]byte, []int) {
|
||
return fileDescriptor_session_b14c9b148c96ead1, []int{9}
|
||
}
|
||
func (m *TextInput) XXX_Unmarshal(b []byte) error {
|
||
return xxx_messageInfo_TextInput.Unmarshal(m, b)
|
||
}
|
||
func (m *TextInput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||
return xxx_messageInfo_TextInput.Marshal(b, m, deterministic)
|
||
}
|
||
func (dst *TextInput) XXX_Merge(src proto.Message) {
|
||
xxx_messageInfo_TextInput.Merge(dst, src)
|
||
}
|
||
func (m *TextInput) XXX_Size() int {
|
||
return xxx_messageInfo_TextInput.Size(m)
|
||
}
|
||
func (m *TextInput) XXX_DiscardUnknown() {
|
||
xxx_messageInfo_TextInput.DiscardUnknown(m)
|
||
}
|
||
|
||
var xxx_messageInfo_TextInput proto.InternalMessageInfo
|
||
|
||
func (m *TextInput) GetText() string {
|
||
if m != nil {
|
||
return m.Text
|
||
}
|
||
return ""
|
||
}
|
||
|
||
func (m *TextInput) GetLanguageCode() string {
|
||
if m != nil {
|
||
return m.LanguageCode
|
||
}
|
||
return ""
|
||
}
|
||
|
||
// Events allow for matching intents by event name instead of the natural
|
||
// language input. For instance, input `<event: { name: “welcome_event”,
|
||
// parameters: { name: “Sam” } }>` can trigger a personalized welcome response.
|
||
// The parameter `name` may be used by the agent in the response:
|
||
// `“Hello #welcome_event.name! What can I do for you today?”`.
|
||
type EventInput struct {
|
||
// Required. The unique identifier of the event.
|
||
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
||
// Optional. The collection of parameters associated with the event.
|
||
Parameters *_struct.Struct `protobuf:"bytes,2,opt,name=parameters,proto3" json:"parameters,omitempty"`
|
||
// Required. The language of this query. See [Language
|
||
// Support](https://dialogflow.com/docs/languages) for a list of the
|
||
// currently supported language codes. Note that queries in the same session
|
||
// do not necessarily need to specify the same language.
|
||
LanguageCode string `protobuf:"bytes,3,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
|
||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||
XXX_unrecognized []byte `json:"-"`
|
||
XXX_sizecache int32 `json:"-"`
|
||
}
|
||
|
||
func (m *EventInput) Reset() { *m = EventInput{} }
|
||
func (m *EventInput) String() string { return proto.CompactTextString(m) }
|
||
func (*EventInput) ProtoMessage() {}
|
||
func (*EventInput) Descriptor() ([]byte, []int) {
|
||
return fileDescriptor_session_b14c9b148c96ead1, []int{10}
|
||
}
|
||
func (m *EventInput) XXX_Unmarshal(b []byte) error {
|
||
return xxx_messageInfo_EventInput.Unmarshal(m, b)
|
||
}
|
||
func (m *EventInput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||
return xxx_messageInfo_EventInput.Marshal(b, m, deterministic)
|
||
}
|
||
func (dst *EventInput) XXX_Merge(src proto.Message) {
|
||
xxx_messageInfo_EventInput.Merge(dst, src)
|
||
}
|
||
func (m *EventInput) XXX_Size() int {
|
||
return xxx_messageInfo_EventInput.Size(m)
|
||
}
|
||
func (m *EventInput) XXX_DiscardUnknown() {
|
||
xxx_messageInfo_EventInput.DiscardUnknown(m)
|
||
}
|
||
|
||
var xxx_messageInfo_EventInput proto.InternalMessageInfo
|
||
|
||
func (m *EventInput) GetName() string {
|
||
if m != nil {
|
||
return m.Name
|
||
}
|
||
return ""
|
||
}
|
||
|
||
func (m *EventInput) GetParameters() *_struct.Struct {
|
||
if m != nil {
|
||
return m.Parameters
|
||
}
|
||
return nil
|
||
}
|
||
|
||
func (m *EventInput) GetLanguageCode() string {
|
||
if m != nil {
|
||
return m.LanguageCode
|
||
}
|
||
return ""
|
||
}
|
||
|
||
func init() {
|
||
proto.RegisterType((*DetectIntentRequest)(nil), "google.cloud.dialogflow.v2.DetectIntentRequest")
|
||
proto.RegisterType((*DetectIntentResponse)(nil), "google.cloud.dialogflow.v2.DetectIntentResponse")
|
||
proto.RegisterType((*QueryParameters)(nil), "google.cloud.dialogflow.v2.QueryParameters")
|
||
proto.RegisterType((*QueryInput)(nil), "google.cloud.dialogflow.v2.QueryInput")
|
||
proto.RegisterType((*QueryResult)(nil), "google.cloud.dialogflow.v2.QueryResult")
|
||
proto.RegisterType((*StreamingDetectIntentRequest)(nil), "google.cloud.dialogflow.v2.StreamingDetectIntentRequest")
|
||
proto.RegisterType((*StreamingDetectIntentResponse)(nil), "google.cloud.dialogflow.v2.StreamingDetectIntentResponse")
|
||
proto.RegisterType((*StreamingRecognitionResult)(nil), "google.cloud.dialogflow.v2.StreamingRecognitionResult")
|
||
proto.RegisterType((*InputAudioConfig)(nil), "google.cloud.dialogflow.v2.InputAudioConfig")
|
||
proto.RegisterType((*TextInput)(nil), "google.cloud.dialogflow.v2.TextInput")
|
||
proto.RegisterType((*EventInput)(nil), "google.cloud.dialogflow.v2.EventInput")
|
||
proto.RegisterEnum("google.cloud.dialogflow.v2.AudioEncoding", AudioEncoding_name, AudioEncoding_value)
|
||
proto.RegisterEnum("google.cloud.dialogflow.v2.StreamingRecognitionResult_MessageType", StreamingRecognitionResult_MessageType_name, StreamingRecognitionResult_MessageType_value)
|
||
}
|
||
|
||
// Reference imports to suppress errors if they are not otherwise used.
|
||
var _ context.Context
|
||
var _ grpc.ClientConn
|
||
|
||
// This is a compile-time assertion to ensure that this generated file
|
||
// is compatible with the grpc package it is being compiled against.
|
||
const _ = grpc.SupportPackageIsVersion4
|
||
|
||
// SessionsClient is the client API for Sessions service.
|
||
//
|
||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
|
||
type SessionsClient interface {
|
||
// Processes a natural language query and returns structured, actionable data
|
||
// as a result. This method is not idempotent, because it may cause contexts
|
||
// and session entity types to be updated, which in turn might affect
|
||
// results of future queries.
|
||
DetectIntent(ctx context.Context, in *DetectIntentRequest, opts ...grpc.CallOption) (*DetectIntentResponse, error)
|
||
// Processes a natural language query in audio format in a streaming fashion
|
||
// and returns structured, actionable data as a result. This method is only
|
||
// available via the gRPC API (not REST).
|
||
StreamingDetectIntent(ctx context.Context, opts ...grpc.CallOption) (Sessions_StreamingDetectIntentClient, error)
|
||
}
|
||
|
||
type sessionsClient struct {
|
||
cc *grpc.ClientConn
|
||
}
|
||
|
||
func NewSessionsClient(cc *grpc.ClientConn) SessionsClient {
|
||
return &sessionsClient{cc}
|
||
}
|
||
|
||
func (c *sessionsClient) DetectIntent(ctx context.Context, in *DetectIntentRequest, opts ...grpc.CallOption) (*DetectIntentResponse, error) {
|
||
out := new(DetectIntentResponse)
|
||
err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.v2.Sessions/DetectIntent", in, out, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return out, nil
|
||
}
|
||
|
||
func (c *sessionsClient) StreamingDetectIntent(ctx context.Context, opts ...grpc.CallOption) (Sessions_StreamingDetectIntentClient, error) {
|
||
stream, err := c.cc.NewStream(ctx, &_Sessions_serviceDesc.Streams[0], "/google.cloud.dialogflow.v2.Sessions/StreamingDetectIntent", opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
x := &sessionsStreamingDetectIntentClient{stream}
|
||
return x, nil
|
||
}
|
||
|
||
type Sessions_StreamingDetectIntentClient interface {
|
||
Send(*StreamingDetectIntentRequest) error
|
||
Recv() (*StreamingDetectIntentResponse, error)
|
||
grpc.ClientStream
|
||
}
|
||
|
||
type sessionsStreamingDetectIntentClient struct {
|
||
grpc.ClientStream
|
||
}
|
||
|
||
func (x *sessionsStreamingDetectIntentClient) Send(m *StreamingDetectIntentRequest) error {
|
||
return x.ClientStream.SendMsg(m)
|
||
}
|
||
|
||
func (x *sessionsStreamingDetectIntentClient) Recv() (*StreamingDetectIntentResponse, error) {
|
||
m := new(StreamingDetectIntentResponse)
|
||
if err := x.ClientStream.RecvMsg(m); err != nil {
|
||
return nil, err
|
||
}
|
||
return m, nil
|
||
}
|
||
|
||
// SessionsServer is the server API for Sessions service.
|
||
type SessionsServer interface {
|
||
// Processes a natural language query and returns structured, actionable data
|
||
// as a result. This method is not idempotent, because it may cause contexts
|
||
// and session entity types to be updated, which in turn might affect
|
||
// results of future queries.
|
||
DetectIntent(context.Context, *DetectIntentRequest) (*DetectIntentResponse, error)
|
||
// Processes a natural language query in audio format in a streaming fashion
|
||
// and returns structured, actionable data as a result. This method is only
|
||
// available via the gRPC API (not REST).
|
||
StreamingDetectIntent(Sessions_StreamingDetectIntentServer) error
|
||
}
|
||
|
||
func RegisterSessionsServer(s *grpc.Server, srv SessionsServer) {
|
||
s.RegisterService(&_Sessions_serviceDesc, srv)
|
||
}
|
||
|
||
func _Sessions_DetectIntent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||
in := new(DetectIntentRequest)
|
||
if err := dec(in); err != nil {
|
||
return nil, err
|
||
}
|
||
if interceptor == nil {
|
||
return srv.(SessionsServer).DetectIntent(ctx, in)
|
||
}
|
||
info := &grpc.UnaryServerInfo{
|
||
Server: srv,
|
||
FullMethod: "/google.cloud.dialogflow.v2.Sessions/DetectIntent",
|
||
}
|
||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||
return srv.(SessionsServer).DetectIntent(ctx, req.(*DetectIntentRequest))
|
||
}
|
||
return interceptor(ctx, in, info, handler)
|
||
}
|
||
|
||
func _Sessions_StreamingDetectIntent_Handler(srv interface{}, stream grpc.ServerStream) error {
|
||
return srv.(SessionsServer).StreamingDetectIntent(&sessionsStreamingDetectIntentServer{stream})
|
||
}
|
||
|
||
type Sessions_StreamingDetectIntentServer interface {
|
||
Send(*StreamingDetectIntentResponse) error
|
||
Recv() (*StreamingDetectIntentRequest, error)
|
||
grpc.ServerStream
|
||
}
|
||
|
||
type sessionsStreamingDetectIntentServer struct {
|
||
grpc.ServerStream
|
||
}
|
||
|
||
func (x *sessionsStreamingDetectIntentServer) Send(m *StreamingDetectIntentResponse) error {
|
||
return x.ServerStream.SendMsg(m)
|
||
}
|
||
|
||
func (x *sessionsStreamingDetectIntentServer) Recv() (*StreamingDetectIntentRequest, error) {
|
||
m := new(StreamingDetectIntentRequest)
|
||
if err := x.ServerStream.RecvMsg(m); err != nil {
|
||
return nil, err
|
||
}
|
||
return m, nil
|
||
}
|
||
|
||
var _Sessions_serviceDesc = grpc.ServiceDesc{
|
||
ServiceName: "google.cloud.dialogflow.v2.Sessions",
|
||
HandlerType: (*SessionsServer)(nil),
|
||
Methods: []grpc.MethodDesc{
|
||
{
|
||
MethodName: "DetectIntent",
|
||
Handler: _Sessions_DetectIntent_Handler,
|
||
},
|
||
},
|
||
Streams: []grpc.StreamDesc{
|
||
{
|
||
StreamName: "StreamingDetectIntent",
|
||
Handler: _Sessions_StreamingDetectIntent_Handler,
|
||
ServerStreams: true,
|
||
ClientStreams: true,
|
||
},
|
||
},
|
||
Metadata: "google/cloud/dialogflow/v2/session.proto",
|
||
}
|
||
|
||
func init() {
|
||
proto.RegisterFile("google/cloud/dialogflow/v2/session.proto", fileDescriptor_session_b14c9b148c96ead1)
|
||
}
|
||
|
||
var fileDescriptor_session_b14c9b148c96ead1 = []byte{
|
||
// 1575 bytes of a gzipped FileDescriptorProto
|
||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x57, 0x4f, 0x73, 0x1b, 0x49,
|
||
0x15, 0xcf, 0xc8, 0xff, 0xe4, 0x27, 0xd9, 0xd2, 0x76, 0xb2, 0x9b, 0x89, 0x9d, 0x84, 0xa0, 0xad,
|
||
0xb0, 0x8a, 0x01, 0x69, 0x57, 0x50, 0x81, 0x4d, 0x6a, 0x97, 0x95, 0xa5, 0xb1, 0x2d, 0x4a, 0x96,
|
||
0xb5, 0x2d, 0x99, 0xec, 0x6e, 0x15, 0xd5, 0xd5, 0x19, 0xb5, 0xc6, 0x03, 0xa3, 0xee, 0xf1, 0x74,
|
||
0x2b, 0xbb, 0x5e, 0x0a, 0x0e, 0x7c, 0x02, 0xaa, 0x38, 0x52, 0x5c, 0x28, 0x4e, 0x1c, 0x38, 0x71,
|
||
0xe0, 0xc4, 0x97, 0x80, 0x03, 0x67, 0x0a, 0x0e, 0x7c, 0x03, 0xaa, 0xb8, 0x50, 0xd3, 0x3d, 0x23,
|
||
0x29, 0xb2, 0x23, 0xab, 0x52, 0x9c, 0xf6, 0x36, 0xfd, 0xfa, 0xf7, 0x5e, 0xbf, 0xf7, 0xe6, 0xd7,
|
||
0xef, 0x37, 0x03, 0x65, 0x4f, 0x08, 0x2f, 0x60, 0x55, 0x37, 0x10, 0xe3, 0x41, 0x75, 0xe0, 0xd3,
|
||
0x40, 0x78, 0xc3, 0x40, 0x7c, 0x5e, 0x7d, 0x51, 0xab, 0x4a, 0x26, 0xa5, 0x2f, 0x78, 0x25, 0x8c,
|
||
0x84, 0x12, 0x68, 0xc7, 0x20, 0x2b, 0x1a, 0x59, 0x99, 0x22, 0x2b, 0x2f, 0x6a, 0x3b, 0x77, 0x93,
|
||
0x28, 0x34, 0xf4, 0xab, 0x94, 0x73, 0xa1, 0xa8, 0xf2, 0x05, 0x97, 0xc6, 0x73, 0x67, 0xd1, 0x19,
|
||
0xae, 0xe0, 0x8a, 0x7d, 0xa1, 0x12, 0xe4, 0x3b, 0x0b, 0x90, 0x3e, 0x57, 0x8c, 0xa7, 0xc0, 0xef,
|
||
0x5e, 0x9f, 0x36, 0x61, 0x5c, 0xf9, 0xea, 0x82, 0xa8, 0x8b, 0x90, 0x25, 0x5e, 0x69, 0x9a, 0x7a,
|
||
0xf5, 0x7c, 0x3c, 0xac, 0x4a, 0x15, 0x8d, 0xdd, 0x34, 0xe6, 0xed, 0x64, 0x37, 0x0a, 0xdd, 0xaa,
|
||
0x54, 0x54, 0x8d, 0xd3, 0xfc, 0xed, 0x64, 0x23, 0x8e, 0x54, 0x0d, 0xa8, 0x0a, 0xb8, 0x67, 0x76,
|
||
0x4a, 0xff, 0xb6, 0xe0, 0x66, 0x93, 0x29, 0xe6, 0xaa, 0x96, 0xce, 0x0e, 0xb3, 0xf3, 0x31, 0x93,
|
||
0x0a, 0xd9, 0xb0, 0x91, 0x64, 0x61, 0x5b, 0x0f, 0xac, 0xf2, 0x26, 0x4e, 0x97, 0xa8, 0x03, 0xf9,
|
||
0xf3, 0x31, 0x8b, 0x2e, 0x48, 0x48, 0x23, 0x3a, 0x92, 0x76, 0xe6, 0x81, 0x55, 0xce, 0xd5, 0xbe,
|
||
0x59, 0x79, 0x75, 0x73, 0x2b, 0x1f, 0xc7, 0xf8, 0x6e, 0x0c, 0x67, 0x8a, 0x45, 0x12, 0xe7, 0xce,
|
||
0x27, 0x06, 0x89, 0x0e, 0xc1, 0x2c, 0x89, 0xcf, 0xc3, 0xb1, 0xb2, 0x57, 0x74, 0xb8, 0x6f, 0x5c,
|
||
0x1b, 0xae, 0x15, 0xa3, 0x31, 0x9c, 0x4f, 0x9e, 0xd1, 0xd7, 0x20, 0xa7, 0x43, 0x10, 0x3a, 0x1e,
|
||
0xf8, 0xc2, 0x5e, 0x7b, 0x60, 0x95, 0xf3, 0x18, 0xb4, 0xa9, 0x1e, 0x5b, 0x4a, 0x7f, 0xb1, 0xe0,
|
||
0xd6, 0xcb, 0xb5, 0xca, 0x50, 0x70, 0xc9, 0x62, 0xcf, 0x28, 0x79, 0x26, 0xfe, 0x20, 0x29, 0x18,
|
||
0x52, 0x53, 0x6b, 0x80, 0x7e, 0x98, 0xd6, 0x1c, 0x31, 0x39, 0x0e, 0x54, 0x52, 0xf3, 0x3b, 0xd7,
|
||
0x26, 0x89, 0x35, 0x3c, 0xa9, 0xd7, 0x2c, 0xd0, 0xfb, 0xb0, 0xfd, 0x39, 0x7b, 0x7e, 0x26, 0xc4,
|
||
0x4f, 0x89, 0x79, 0x47, 0x49, 0xc9, 0x28, 0x8d, 0x16, 0x85, 0x6e, 0xa5, 0xa7, 0x77, 0xf0, 0x56,
|
||
0x82, 0x34, 0xcb, 0xd2, 0x3f, 0x32, 0x50, 0x98, 0xeb, 0x25, 0xda, 0x85, 0x4d, 0xe5, 0x8f, 0x18,
|
||
0xf9, 0x52, 0x70, 0x96, 0x64, 0x9e, 0x8d, 0x0d, 0x9f, 0x09, 0xce, 0xd0, 0x63, 0xc8, 0x7b, 0x4c,
|
||
0x90, 0x40, 0xb8, 0x9a, 0xce, 0x49, 0xde, 0x37, 0xd3, 0x93, 0x34, 0xb1, 0xda, 0x54, 0xb5, 0xb9,
|
||
0x87, 0x73, 0x1e, 0x13, 0xed, 0x04, 0x87, 0x7e, 0x00, 0xd9, 0x84, 0xd6, 0x71, 0x76, 0x2b, 0xe5,
|
||
0x5c, 0xed, 0xed, 0x45, 0xb5, 0x36, 0x0c, 0x16, 0x4f, 0x9c, 0xd0, 0x43, 0xd8, 0x8e, 0x98, 0x64,
|
||
0x8a, 0x4c, 0xc2, 0xac, 0x3e, 0xb0, 0xca, 0x59, 0xbc, 0xa5, 0xad, 0x8d, 0x14, 0x46, 0xe0, 0xd6,
|
||
0x15, 0x5c, 0x97, 0xf6, 0x9a, 0x3e, 0xf3, 0xdb, 0x8b, 0xce, 0xec, 0x19, 0x3f, 0x47, 0xbb, 0xf5,
|
||
0x2f, 0x42, 0x86, 0x91, 0x9c, 0x37, 0x49, 0xf4, 0x1e, 0x6c, 0x84, 0xf4, 0x22, 0x10, 0x74, 0x60,
|
||
0xaf, 0xeb, 0xda, 0x6f, 0xa7, 0x31, 0xd3, 0x1b, 0x54, 0xe9, 0xe9, 0x1b, 0x84, 0x53, 0x5c, 0xe9,
|
||
0x5f, 0x16, 0xc0, 0x94, 0x61, 0xe8, 0x63, 0xc8, 0x6b, 0x3e, 0xc5, 0x95, 0x0c, 0x7d, 0x4f, 0xb7,
|
||
0x38, 0x57, 0xfb, 0xd6, 0xa2, 0xd4, 0x5a, 0x13, 0xca, 0x35, 0xb4, 0xcf, 0xd1, 0x0d, 0x9c, 0xa3,
|
||
0xd3, 0x25, 0x7a, 0x0a, 0xab, 0x71, 0xf9, 0xc9, 0xdb, 0x78, 0xb8, 0x28, 0x54, 0x9f, 0x7d, 0xa1,
|
||
0x74, 0xb8, 0xa3, 0x1b, 0x58, 0x3b, 0xa1, 0x0f, 0x61, 0x8d, 0xbd, 0x60, 0x7c, 0xa9, 0x8b, 0xe2,
|
||
0xc4, 0xc0, 0xd4, 0xdd, 0xb8, 0xed, 0x6f, 0xc0, 0x9a, 0xbe, 0x12, 0xa5, 0xdf, 0xaf, 0x43, 0x6e,
|
||
0x86, 0xa4, 0xe8, 0x1e, 0x98, 0xcb, 0x44, 0x74, 0x6e, 0x86, 0x49, 0x9b, 0xda, 0x12, 0x27, 0x81,
|
||
0xde, 0x86, 0xad, 0x80, 0x72, 0x6f, 0x4c, 0x3d, 0x46, 0x5c, 0x31, 0x60, 0x76, 0x41, 0x23, 0xf2,
|
||
0xa9, 0xb1, 0x21, 0x06, 0x0c, 0xed, 0xc3, 0x3d, 0x19, 0x32, 0xe6, 0x9e, 0x91, 0x88, 0xb9, 0xc2,
|
||
0xe3, 0x7e, 0xcc, 0x26, 0xd3, 0xb9, 0x01, 0xe3, 0x2e, 0xd3, 0x25, 0x67, 0xf0, 0xae, 0x01, 0xe1,
|
||
0x29, 0xa6, 0x31, 0x81, 0xa0, 0xb7, 0x60, 0x9d, 0xba, 0x9a, 0xad, 0x2b, 0xfa, 0x84, 0x64, 0x85,
|
||
0xbe, 0x07, 0x10, 0x4e, 0x68, 0xaf, 0xe9, 0xb4, 0xe0, 0x6d, 0xce, 0x40, 0xd1, 0x07, 0xb0, 0x4b,
|
||
0x83, 0x80, 0x44, 0xec, 0x7c, 0xec, 0x47, 0x6c, 0x90, 0xcc, 0x2d, 0x12, 0xc6, 0x54, 0xe4, 0x4a,
|
||
0xcf, 0x89, 0x2c, 0xb6, 0x69, 0x10, 0xe0, 0x04, 0x61, 0x06, 0x53, 0xd7, 0xec, 0xa3, 0x47, 0x50,
|
||
0x1c, 0x8e, 0x83, 0xa1, 0x1f, 0x04, 0x23, 0xc6, 0x95, 0xe9, 0xce, 0xba, 0xce, 0xac, 0x30, 0x63,
|
||
0xd7, 0x3d, 0xfa, 0x31, 0xdc, 0x9a, 0x85, 0x8e, 0x98, 0x94, 0xd4, 0x63, 0xd2, 0xde, 0xd0, 0x74,
|
||
0xde, 0x5b, 0xcc, 0x19, 0xad, 0x0d, 0xc7, 0xc6, 0x05, 0xdf, 0x9c, 0x89, 0x93, 0xd8, 0xf4, 0xa5,
|
||
0x9a, 0x4c, 0x0e, 0x31, 0x8e, 0x5c, 0x66, 0x67, 0x75, 0x1e, 0x93, 0x29, 0xa1, 0x8d, 0xe8, 0x23,
|
||
0x28, 0xa4, 0xb0, 0x94, 0xfb, 0x9b, 0x8b, 0xbb, 0x95, 0x86, 0xed, 0x1a, 0x38, 0x6a, 0x43, 0x41,
|
||
0x8c, 0x55, 0x3c, 0x4a, 0x27, 0xd7, 0x17, 0x96, 0x9f, 0x02, 0xdb, 0xc6, 0x77, 0x72, 0xc9, 0x9f,
|
||
0xc0, 0xba, 0x51, 0x3e, 0x3b, 0xa7, 0xd3, 0x28, 0x5d, 0xdf, 0x07, 0x9c, 0x78, 0xa0, 0x0f, 0x61,
|
||
0xd7, 0x3c, 0x91, 0x81, 0x1e, 0xdc, 0x73, 0x74, 0xca, 0x6b, 0x3a, 0xdd, 0x31, 0x90, 0x66, 0x8a,
|
||
0x98, 0x21, 0xd3, 0x47, 0x50, 0x18, 0xf8, 0xd4, 0xe3, 0x42, 0x2a, 0xdf, 0x25, 0x3e, 0x1f, 0x0a,
|
||
0x7b, 0xfb, 0x9a, 0x5e, 0x4c, 0xf1, 0x2d, 0x3e, 0x14, 0xa5, 0xdf, 0x66, 0xe0, 0x6e, 0x4f, 0x45,
|
||
0x8c, 0x8e, 0x7c, 0xee, 0x7d, 0x45, 0x94, 0xf2, 0x11, 0x14, 0xa5, 0xcf, 0xbd, 0x80, 0x91, 0xb1,
|
||
0x52, 0x2c, 0xa2, 0x71, 0x2b, 0xcd, 0x7c, 0x2e, 0x18, 0xfb, 0x69, 0x6a, 0x9e, 0x17, 0xd5, 0xf5,
|
||
0x4b, 0xa2, 0xfa, 0xc7, 0x0c, 0xdc, 0x7b, 0x45, 0x7f, 0x96, 0x55, 0x57, 0x06, 0x68, 0x76, 0x5c,
|
||
0xbc, 0xa4, 0xb1, 0x8f, 0x17, 0x6a, 0x40, 0x7a, 0xee, 0xcc, 0x24, 0x49, 0x24, 0xf7, 0x8d, 0x68,
|
||
0xde, 0x74, 0x49, 0xc4, 0x57, 0xfe, 0xaf, 0x22, 0xbe, 0xba, 0xac, 0x88, 0xff, 0x39, 0x03, 0x3b,
|
||
0xaf, 0x4e, 0x1c, 0x31, 0xc8, 0x27, 0x73, 0x43, 0x6b, 0xa1, 0x6e, 0xd7, 0x76, 0x6d, 0xff, 0xf5,
|
||
0xda, 0x90, 0xce, 0x13, 0xad, 0x8f, 0xb9, 0xd1, 0x74, 0x81, 0xee, 0x03, 0xa8, 0x88, 0x72, 0xe9,
|
||
0x46, 0x7e, 0x68, 0x7a, 0xbd, 0x89, 0x67, 0x2c, 0xe8, 0x0e, 0x64, 0x7d, 0x49, 0x86, 0x3e, 0xa7,
|
||
0x81, 0x6e, 0x54, 0x16, 0x6f, 0xf8, 0xf2, 0x20, 0x5e, 0xc6, 0xae, 0x33, 0x57, 0x70, 0x55, 0x5f,
|
||
0xc1, 0x19, 0x4b, 0xe9, 0x13, 0xc8, 0xcd, 0x1c, 0x8b, 0xee, 0x82, 0x7d, 0xec, 0xf4, 0x7a, 0xf5,
|
||
0x43, 0x87, 0xf4, 0x3f, 0xed, 0x3a, 0xe4, 0xb4, 0xd3, 0xeb, 0x3a, 0x8d, 0xd6, 0x41, 0xcb, 0x69,
|
||
0x16, 0x6f, 0xa0, 0x6d, 0x80, 0x3e, 0xae, 0x77, 0x7a, 0x0d, 0xdc, 0xea, 0xf6, 0x8b, 0x16, 0xda,
|
||
0x85, 0xdb, 0x4e, 0xa7, 0x49, 0x4e, 0x0e, 0x48, 0xaf, 0xd5, 0x39, 0x6c, 0x3b, 0xe4, 0xb4, 0xdf,
|
||
0x77, 0x70, 0xbd, 0xd3, 0x70, 0x8a, 0x99, 0xd2, 0xdf, 0x2d, 0x28, 0xce, 0x8b, 0x2b, 0xea, 0xc2,
|
||
0xb6, 0x11, 0x68, 0xc6, 0x5d, 0x31, 0xf0, 0xb9, 0x97, 0xb4, 0xec, 0xd1, 0xa2, 0x96, 0xe9, 0x00,
|
||
0x4e, 0xe2, 0x80, 0xb7, 0xe8, 0xec, 0x12, 0xed, 0xc1, 0x1b, 0x92, 0x8e, 0xc2, 0x80, 0x91, 0x88,
|
||
0x2a, 0x46, 0xce, 0x58, 0xa4, 0xbe, 0xd4, 0x2d, 0x5a, 0xc3, 0x05, 0xb3, 0x81, 0xa9, 0x62, 0x47,
|
||
0xb1, 0xf9, 0xb2, 0x2c, 0xae, 0x5c, 0x21, 0x8b, 0x5f, 0x87, 0x7c, 0x78, 0x16, 0x51, 0xc9, 0xc8,
|
||
0x99, 0xcf, 0xf5, 0xb7, 0xd0, 0x4a, 0x79, 0x13, 0xe7, 0x8c, 0xed, 0x28, 0x36, 0x95, 0x9a, 0xb0,
|
||
0x39, 0xd1, 0x7a, 0x84, 0x92, 0x0f, 0x04, 0x73, 0x55, 0x8c, 0xee, 0x5f, 0x3a, 0x28, 0x73, 0xf9,
|
||
0xa0, 0xd2, 0x2f, 0x00, 0xa6, 0x9a, 0x1f, 0x87, 0xe1, 0x74, 0x94, 0x7e, 0x15, 0xea, 0xe7, 0x39,
|
||
0x15, 0xcd, 0x2c, 0xaf, 0xa2, 0xcb, 0x14, 0xba, 0xf7, 0x5f, 0x0b, 0xb6, 0x5e, 0x6a, 0x2d, 0xba,
|
||
0x0f, 0x3b, 0xf5, 0xd3, 0x66, 0xeb, 0x84, 0x38, 0x9d, 0xc6, 0x49, 0xb3, 0xd5, 0x39, 0x9c, 0x7b,
|
||
0xff, 0x77, 0xc1, 0x9e, 0xdb, 0x6f, 0xb7, 0x3a, 0x4e, 0x1d, 0x93, 0xf7, 0x1e, 0x17, 0x2d, 0x74,
|
||
0x1b, 0x6e, 0xce, 0xed, 0x1e, 0xb4, 0xeb, 0x8d, 0x62, 0x06, 0xd9, 0x70, 0x6b, 0x6e, 0xe3, 0xf8,
|
||
0xb4, 0x5d, 0x7f, 0x56, 0x5c, 0x41, 0x6f, 0x01, 0x9a, 0xdb, 0xa9, 0x1f, 0xe3, 0xe2, 0x2a, 0xba,
|
||
0x03, 0x6f, 0x5e, 0xb6, 0x93, 0x67, 0xfb, 0xc5, 0xb5, 0x98, 0x73, 0x73, 0x5b, 0x27, 0x87, 0x87,
|
||
0xe4, 0xa4, 0x7b, 0xda, 0x2b, 0xae, 0xa3, 0x47, 0xf0, 0x70, 0x6e, 0xb3, 0xd7, 0x75, 0x9c, 0x4f,
|
||
0xc8, 0xb3, 0x56, 0xff, 0x88, 0x1c, 0x39, 0xf5, 0xa6, 0x83, 0xc9, 0xfe, 0xa7, 0x7d, 0xa7, 0xb8,
|
||
0x51, 0xfb, 0x5b, 0x06, 0xb2, 0xc9, 0x67, 0xa9, 0x44, 0x7f, 0xb2, 0x20, 0x3f, 0x3b, 0x0e, 0x51,
|
||
0x75, 0x11, 0x1f, 0xaf, 0x10, 0x96, 0x9d, 0x77, 0x97, 0x77, 0x30, 0xa3, 0xb4, 0x54, 0xff, 0xe5,
|
||
0x5f, 0xff, 0xf9, 0xeb, 0xcc, 0xd3, 0xd2, 0xe3, 0xf8, 0x27, 0xf2, 0x67, 0x89, 0x0c, 0x7d, 0x10,
|
||
0x46, 0xe2, 0x27, 0xcc, 0x55, 0xb2, 0xba, 0x57, 0xa5, 0x1e, 0xe3, 0x2a, 0xfd, 0xbd, 0x94, 0xd5,
|
||
0xbd, 0x9f, 0x3f, 0x19, 0xcc, 0xc4, 0x79, 0x62, 0xed, 0xa1, 0x5f, 0x59, 0xf0, 0xe6, 0x95, 0xe3,
|
||
0x1c, 0x7d, 0x7f, 0xa9, 0x11, 0x74, 0x55, 0x21, 0xef, 0xbf, 0x86, 0xa7, 0xa9, 0xa8, 0x6c, 0xbd,
|
||
0x6b, 0xed, 0xff, 0xc6, 0x82, 0xfb, 0xae, 0x18, 0x2d, 0x08, 0xb2, 0x9f, 0x4f, 0xda, 0xde, 0x8d,
|
||
0x09, 0xdc, 0xb5, 0x3e, 0x6b, 0x26, 0x58, 0x4f, 0xc4, 0xf4, 0xac, 0x88, 0xc8, 0xab, 0x7a, 0x8c,
|
||
0x6b, 0x7a, 0x57, 0xcd, 0x16, 0x0d, 0x7d, 0x79, 0xd5, 0xbf, 0xf7, 0xd3, 0xe9, 0xea, 0x3f, 0x96,
|
||
0xf5, 0xbb, 0x4c, 0xa6, 0x79, 0xf0, 0x87, 0xcc, 0xce, 0xa1, 0x09, 0xd7, 0xd0, 0x47, 0x37, 0xa7,
|
||
0x47, 0xff, 0xa8, 0xf6, 0x7c, 0x5d, 0x47, 0xfd, 0xce, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0xe8,
|
||
0xf3, 0x64, 0x26, 0x87, 0x10, 0x00, 0x00,
|
||
}
|