1// Code generated by protoc-gen-go. DO NOT EDIT. 2// source: google/cloud/dialogflow/v2beta1/audio_config.proto 3 4package dialogflow 5 6import ( 7 fmt "fmt" 8 math "math" 9 10 proto "github.com/golang/protobuf/proto" 11 duration "github.com/golang/protobuf/ptypes/duration" 12 _ "google.golang.org/genproto/googleapis/api/annotations" 13) 14 15// Reference imports to suppress errors if they are not otherwise used. 16var _ = proto.Marshal 17var _ = fmt.Errorf 18var _ = math.Inf 19 20// This is a compile-time assertion to ensure that this generated file 21// is compatible with the proto package it is being compiled against. 22// A compilation error at this line likely means your copy of the 23// proto package needs to be updated. 24const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package 25 26// Audio encoding of the audio content sent in the conversational query request. 27// Refer to the 28// [Cloud Speech API 29// documentation](https://cloud.google.com/speech-to-text/docs/basics) for more 30// details. 31type AudioEncoding int32 32 33const ( 34 // Not specified. 35 AudioEncoding_AUDIO_ENCODING_UNSPECIFIED AudioEncoding = 0 36 // Uncompressed 16-bit signed little-endian samples (Linear PCM). 37 AudioEncoding_AUDIO_ENCODING_LINEAR_16 AudioEncoding = 1 38 // [`FLAC`](https://xiph.org/flac/documentation.html) (Free Lossless Audio 39 // Codec) is the recommended encoding because it is lossless (therefore 40 // recognition is not compromised) and requires only about half the 41 // bandwidth of `LINEAR16`. `FLAC` stream encoding supports 16-bit and 42 // 24-bit samples, however, not all fields in `STREAMINFO` are supported. 43 AudioEncoding_AUDIO_ENCODING_FLAC AudioEncoding = 2 44 // 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law. 45 AudioEncoding_AUDIO_ENCODING_MULAW AudioEncoding = 3 46 // Adaptive Multi-Rate Narrowband codec. `sample_rate_hertz` must be 8000. 47 AudioEncoding_AUDIO_ENCODING_AMR AudioEncoding = 4 48 // Adaptive Multi-Rate Wideband codec. `sample_rate_hertz` must be 16000. 49 AudioEncoding_AUDIO_ENCODING_AMR_WB AudioEncoding = 5 50 // Opus encoded audio frames in Ogg container 51 // ([OggOpus](https://wiki.xiph.org/OggOpus)). 52 // `sample_rate_hertz` must be 16000. 53 AudioEncoding_AUDIO_ENCODING_OGG_OPUS AudioEncoding = 6 54 // Although the use of lossy encodings is not recommended, if a very low 55 // bitrate encoding is required, `OGG_OPUS` is highly preferred over 56 // Speex encoding. The [Speex](https://speex.org/) encoding supported by 57 // Dialogflow API has a header byte in each block, as in MIME type 58 // `audio/x-speex-with-header-byte`. 59 // It is a variant of the RTP Speex encoding defined in 60 // [RFC 5574](https://tools.ietf.org/html/rfc5574). 61 // The stream is a sequence of blocks, one block per RTP packet. Each block 62 // starts with a byte containing the length of the block, in bytes, followed 63 // by one or more frames of Speex data, padded to an integral number of 64 // bytes (octets) as specified in RFC 5574. In other words, each RTP header 65 // is replaced with a single byte containing the block length. Only Speex 66 // wideband is supported. `sample_rate_hertz` must be 16000. 67 AudioEncoding_AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE AudioEncoding = 7 68) 69 70var AudioEncoding_name = map[int32]string{ 71 0: "AUDIO_ENCODING_UNSPECIFIED", 72 1: "AUDIO_ENCODING_LINEAR_16", 73 2: "AUDIO_ENCODING_FLAC", 74 3: "AUDIO_ENCODING_MULAW", 75 4: "AUDIO_ENCODING_AMR", 76 5: "AUDIO_ENCODING_AMR_WB", 77 6: "AUDIO_ENCODING_OGG_OPUS", 78 7: "AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE", 79} 80 81var AudioEncoding_value = map[string]int32{ 82 "AUDIO_ENCODING_UNSPECIFIED": 0, 83 "AUDIO_ENCODING_LINEAR_16": 1, 84 "AUDIO_ENCODING_FLAC": 2, 85 "AUDIO_ENCODING_MULAW": 3, 86 "AUDIO_ENCODING_AMR": 4, 87 "AUDIO_ENCODING_AMR_WB": 5, 88 "AUDIO_ENCODING_OGG_OPUS": 6, 89 "AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE": 7, 90} 91 92func (x AudioEncoding) String() string { 93 return proto.EnumName(AudioEncoding_name, int32(x)) 94} 95 96func (AudioEncoding) EnumDescriptor() ([]byte, []int) { 97 return fileDescriptor_80617ff5f6b0e1c6, []int{0} 98} 99 100// Variant of the specified [Speech model][google.cloud.dialogflow.v2beta1.InputAudioConfig.model] to use. 101// 102// See the [Cloud Speech 103// documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models) 104// for which models have different variants. For example, the "phone_call" model 105// has both a standard and an enhanced variant. When you use an enhanced model, 106// you will generally receive higher quality results than for a standard model. 107type SpeechModelVariant int32 108 109const ( 110 // No model variant specified. In this case Dialogflow defaults to 111 // USE_BEST_AVAILABLE. 112 SpeechModelVariant_SPEECH_MODEL_VARIANT_UNSPECIFIED SpeechModelVariant = 0 113 // Use the best available variant of the [Speech 114 // model][InputAudioConfig.model] that the caller is eligible for. 115 // 116 // Please see the [Dialogflow 117 // docs](https://cloud.google.com/dialogflow/docs/data-logging) for 118 // how to make your project eligible for enhanced models. 119 SpeechModelVariant_USE_BEST_AVAILABLE SpeechModelVariant = 1 120 // Use standard model variant even if an enhanced model is available. See the 121 // [Cloud Speech 122 // documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models) 123 // for details about enhanced models. 124 SpeechModelVariant_USE_STANDARD SpeechModelVariant = 2 125 // Use an enhanced model variant: 126 // 127 // * If an enhanced variant does not exist for the given 128 // [model][google.cloud.dialogflow.v2beta1.InputAudioConfig.model] and request language, Dialogflow falls 129 // back to the standard variant. 130 // 131 // The [Cloud Speech 132 // documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models) 133 // describes which models have enhanced variants. 134 // 135 // * If the API caller isn't eligible for enhanced models, Dialogflow returns 136 // an error. Please see the [Dialogflow 137 // docs](https://cloud.google.com/dialogflow/docs/data-logging) 138 // for how to make your project eligible. 139 SpeechModelVariant_USE_ENHANCED SpeechModelVariant = 3 140) 141 142var SpeechModelVariant_name = map[int32]string{ 143 0: "SPEECH_MODEL_VARIANT_UNSPECIFIED", 144 1: "USE_BEST_AVAILABLE", 145 2: "USE_STANDARD", 146 3: "USE_ENHANCED", 147} 148 149var SpeechModelVariant_value = map[string]int32{ 150 "SPEECH_MODEL_VARIANT_UNSPECIFIED": 0, 151 "USE_BEST_AVAILABLE": 1, 152 "USE_STANDARD": 2, 153 "USE_ENHANCED": 3, 154} 155 156func (x SpeechModelVariant) String() string { 157 return proto.EnumName(SpeechModelVariant_name, int32(x)) 158} 159 160func (SpeechModelVariant) EnumDescriptor() ([]byte, []int) { 161 return fileDescriptor_80617ff5f6b0e1c6, []int{1} 162} 163 164// Gender of the voice as described in 165// [SSML voice element](https://www.w3.org/TR/speech-synthesis11/#edef_voice). 166type SsmlVoiceGender int32 167 168const ( 169 // An unspecified gender, which means that the client doesn't care which 170 // gender the selected voice will have. 171 SsmlVoiceGender_SSML_VOICE_GENDER_UNSPECIFIED SsmlVoiceGender = 0 172 // A male voice. 173 SsmlVoiceGender_SSML_VOICE_GENDER_MALE SsmlVoiceGender = 1 174 // A female voice. 175 SsmlVoiceGender_SSML_VOICE_GENDER_FEMALE SsmlVoiceGender = 2 176 // A gender-neutral voice. 177 SsmlVoiceGender_SSML_VOICE_GENDER_NEUTRAL SsmlVoiceGender = 3 178) 179 180var SsmlVoiceGender_name = map[int32]string{ 181 0: "SSML_VOICE_GENDER_UNSPECIFIED", 182 1: "SSML_VOICE_GENDER_MALE", 183 2: "SSML_VOICE_GENDER_FEMALE", 184 3: "SSML_VOICE_GENDER_NEUTRAL", 185} 186 187var SsmlVoiceGender_value = map[string]int32{ 188 "SSML_VOICE_GENDER_UNSPECIFIED": 0, 189 "SSML_VOICE_GENDER_MALE": 1, 190 "SSML_VOICE_GENDER_FEMALE": 2, 191 "SSML_VOICE_GENDER_NEUTRAL": 3, 192} 193 194func (x SsmlVoiceGender) String() string { 195 return proto.EnumName(SsmlVoiceGender_name, int32(x)) 196} 197 198func (SsmlVoiceGender) EnumDescriptor() ([]byte, []int) { 199 return fileDescriptor_80617ff5f6b0e1c6, []int{2} 200} 201 202// Audio encoding of the output audio format in Text-To-Speech. 203type OutputAudioEncoding int32 204 205const ( 206 // Not specified. 207 OutputAudioEncoding_OUTPUT_AUDIO_ENCODING_UNSPECIFIED OutputAudioEncoding = 0 208 // Uncompressed 16-bit signed little-endian samples (Linear PCM). 209 // Audio content returned as LINEAR16 also contains a WAV header. 210 OutputAudioEncoding_OUTPUT_AUDIO_ENCODING_LINEAR_16 OutputAudioEncoding = 1 211 // MP3 audio. 212 OutputAudioEncoding_OUTPUT_AUDIO_ENCODING_MP3 OutputAudioEncoding = 2 213 // Opus encoded audio wrapped in an ogg container. The result will be a 214 // file which can be played natively on Android, and in browsers (at least 215 // Chrome and Firefox). The quality of the encoding is considerably higher 216 // than MP3 while using approximately the same bitrate. 217 OutputAudioEncoding_OUTPUT_AUDIO_ENCODING_OGG_OPUS OutputAudioEncoding = 3 218) 219 220var OutputAudioEncoding_name = map[int32]string{ 221 0: "OUTPUT_AUDIO_ENCODING_UNSPECIFIED", 222 1: "OUTPUT_AUDIO_ENCODING_LINEAR_16", 223 2: "OUTPUT_AUDIO_ENCODING_MP3", 224 3: "OUTPUT_AUDIO_ENCODING_OGG_OPUS", 225} 226 227var OutputAudioEncoding_value = map[string]int32{ 228 "OUTPUT_AUDIO_ENCODING_UNSPECIFIED": 0, 229 "OUTPUT_AUDIO_ENCODING_LINEAR_16": 1, 230 "OUTPUT_AUDIO_ENCODING_MP3": 2, 231 "OUTPUT_AUDIO_ENCODING_OGG_OPUS": 3, 232} 233 234func (x OutputAudioEncoding) String() string { 235 return proto.EnumName(OutputAudioEncoding_name, int32(x)) 236} 237 238func (OutputAudioEncoding) EnumDescriptor() ([]byte, []int) { 239 return fileDescriptor_80617ff5f6b0e1c6, []int{3} 240} 241 242// Hints for the speech recognizer to help with recognition in a specific 243// conversation state. 244type SpeechContext struct { 245 // Optional. A list of strings containing words and phrases that the speech 246 // recognizer should recognize with higher likelihood. 247 // 248 // This list can be used to: 249 // * improve accuracy for words and phrases you expect the user to say, 250 // e.g. typical commands for your Dialogflow agent 251 // * add additional words to the speech recognizer vocabulary 252 // * ... 253 // 254 // See the [Cloud Speech 255 // documentation](https://cloud.google.com/speech-to-text/quotas) for usage 256 // limits. 257 Phrases []string `protobuf:"bytes,1,rep,name=phrases,proto3" json:"phrases,omitempty"` 258 // Optional. Boost for this context compared to other contexts: 259 // * If the boost is positive, Dialogflow will increase the probability that 260 // the phrases in this context are recognized over similar sounding phrases. 261 // * If the boost is unspecified or non-positive, Dialogflow will not apply 262 // any boost. 263 // 264 // Dialogflow recommends that you use boosts in the range (0, 20] and that you 265 // find a value that fits your use case with binary search. 266 Boost float32 `protobuf:"fixed32,2,opt,name=boost,proto3" json:"boost,omitempty"` 267 XXX_NoUnkeyedLiteral struct{} `json:"-"` 268 XXX_unrecognized []byte `json:"-"` 269 XXX_sizecache int32 `json:"-"` 270} 271 272func (m *SpeechContext) Reset() { *m = SpeechContext{} } 273func (m *SpeechContext) String() string { return proto.CompactTextString(m) } 274func (*SpeechContext) ProtoMessage() {} 275func (*SpeechContext) Descriptor() ([]byte, []int) { 276 return fileDescriptor_80617ff5f6b0e1c6, []int{0} 277} 278 279func (m *SpeechContext) XXX_Unmarshal(b []byte) error { 280 return xxx_messageInfo_SpeechContext.Unmarshal(m, b) 281} 282func (m *SpeechContext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 283 return xxx_messageInfo_SpeechContext.Marshal(b, m, deterministic) 284} 285func (m *SpeechContext) XXX_Merge(src proto.Message) { 286 xxx_messageInfo_SpeechContext.Merge(m, src) 287} 288func (m *SpeechContext) XXX_Size() int { 289 return xxx_messageInfo_SpeechContext.Size(m) 290} 291func (m *SpeechContext) XXX_DiscardUnknown() { 292 xxx_messageInfo_SpeechContext.DiscardUnknown(m) 293} 294 295var xxx_messageInfo_SpeechContext proto.InternalMessageInfo 296 297func (m *SpeechContext) GetPhrases() []string { 298 if m != nil { 299 return m.Phrases 300 } 301 return nil 302} 303 304func (m *SpeechContext) GetBoost() float32 { 305 if m != nil { 306 return m.Boost 307 } 308 return 0 309} 310 311// Information for a word recognized by the speech recognizer. 312type SpeechWordInfo struct { 313 // The word this info is for. 314 Word string `protobuf:"bytes,3,opt,name=word,proto3" json:"word,omitempty"` 315 // Time offset relative to the beginning of the audio that corresponds to the 316 // start of the spoken word. This is an experimental feature and the accuracy 317 // of the time offset can vary. 318 StartOffset *duration.Duration `protobuf:"bytes,1,opt,name=start_offset,json=startOffset,proto3" json:"start_offset,omitempty"` 319 // Time offset relative to the beginning of the audio that corresponds to the 320 // end of the spoken word. This is an experimental feature and the accuracy of 321 // the time offset can vary. 322 EndOffset *duration.Duration `protobuf:"bytes,2,opt,name=end_offset,json=endOffset,proto3" json:"end_offset,omitempty"` 323 // The Speech confidence between 0.0 and 1.0 for this word. A higher number 324 // indicates an estimated greater likelihood that the recognized word is 325 // correct. The default of 0.0 is a sentinel value indicating that confidence 326 // was not set. 327 // 328 // This field is not guaranteed to be fully stable over time for the same 329 // audio input. Users should also not rely on it to always be provided. 330 Confidence float32 `protobuf:"fixed32,4,opt,name=confidence,proto3" json:"confidence,omitempty"` 331 XXX_NoUnkeyedLiteral struct{} `json:"-"` 332 XXX_unrecognized []byte `json:"-"` 333 XXX_sizecache int32 `json:"-"` 334} 335 336func (m *SpeechWordInfo) Reset() { *m = SpeechWordInfo{} } 337func (m *SpeechWordInfo) String() string { return proto.CompactTextString(m) } 338func (*SpeechWordInfo) ProtoMessage() {} 339func (*SpeechWordInfo) Descriptor() ([]byte, []int) { 340 return fileDescriptor_80617ff5f6b0e1c6, []int{1} 341} 342 343func (m *SpeechWordInfo) XXX_Unmarshal(b []byte) error { 344 return xxx_messageInfo_SpeechWordInfo.Unmarshal(m, b) 345} 346func (m *SpeechWordInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 347 return xxx_messageInfo_SpeechWordInfo.Marshal(b, m, deterministic) 348} 349func (m *SpeechWordInfo) XXX_Merge(src proto.Message) { 350 xxx_messageInfo_SpeechWordInfo.Merge(m, src) 351} 352func (m *SpeechWordInfo) XXX_Size() int { 353 return xxx_messageInfo_SpeechWordInfo.Size(m) 354} 355func (m *SpeechWordInfo) XXX_DiscardUnknown() { 356 xxx_messageInfo_SpeechWordInfo.DiscardUnknown(m) 357} 358 359var xxx_messageInfo_SpeechWordInfo proto.InternalMessageInfo 360 361func (m *SpeechWordInfo) GetWord() string { 362 if m != nil { 363 return m.Word 364 } 365 return "" 366} 367 368func (m *SpeechWordInfo) GetStartOffset() *duration.Duration { 369 if m != nil { 370 return m.StartOffset 371 } 372 return nil 373} 374 375func (m *SpeechWordInfo) GetEndOffset() *duration.Duration { 376 if m != nil { 377 return m.EndOffset 378 } 379 return nil 380} 381 382func (m *SpeechWordInfo) GetConfidence() float32 { 383 if m != nil { 384 return m.Confidence 385 } 386 return 0 387} 388 389// Instructs the speech recognizer on how to process the audio content. 390type InputAudioConfig struct { 391 // Required. Audio encoding of the audio content to process. 392 AudioEncoding AudioEncoding `protobuf:"varint,1,opt,name=audio_encoding,json=audioEncoding,proto3,enum=google.cloud.dialogflow.v2beta1.AudioEncoding" json:"audio_encoding,omitempty"` 393 // Required. Sample rate (in Hertz) of the audio content sent in the query. 394 // Refer to 395 // [Cloud Speech API 396 // documentation](https://cloud.google.com/speech-to-text/docs/basics) for 397 // more details. 398 SampleRateHertz int32 `protobuf:"varint,2,opt,name=sample_rate_hertz,json=sampleRateHertz,proto3" json:"sample_rate_hertz,omitempty"` 399 // Required. The language of the supplied audio. Dialogflow does not do 400 // translations. See [Language 401 // Support](https://cloud.google.com/dialogflow/docs/reference/language) 402 // for a list of the currently supported language codes. Note that queries in 403 // the same session do not necessarily need to specify the same language. 404 LanguageCode string `protobuf:"bytes,3,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` 405 // Optional. If `true`, Dialogflow returns [SpeechWordInfo][google.cloud.dialogflow.v2beta1.SpeechWordInfo] in 406 // [StreamingRecognitionResult][google.cloud.dialogflow.v2beta1.StreamingRecognitionResult] with information about the recognized speech 407 // words, e.g. start and end time offsets. If false or unspecified, Speech 408 // doesn't return any word-level information. 409 EnableWordInfo bool `protobuf:"varint,13,opt,name=enable_word_info,json=enableWordInfo,proto3" json:"enable_word_info,omitempty"` 410 // Optional. A list of strings containing words and phrases that the speech 411 // recognizer should recognize with higher likelihood. 412 // 413 // See [the Cloud Speech 414 // documentation](https://cloud.google.com/speech-to-text/docs/basics#phrase-hints) 415 // for more details. 416 PhraseHints []string `protobuf:"bytes,4,rep,name=phrase_hints,json=phraseHints,proto3" json:"phrase_hints,omitempty"` 417 // Optional. Context information to assist speech recognition. 418 // 419 // See [the Cloud Speech 420 // documentation](https://cloud.google.com/speech-to-text/docs/basics#phrase-hints) 421 // for more details. 422 SpeechContexts []*SpeechContext `protobuf:"bytes,11,rep,name=speech_contexts,json=speechContexts,proto3" json:"speech_contexts,omitempty"` 423 // Optional. Which Speech model to select for the given request. Select the 424 // model best suited to your domain to get best results. If a model is not 425 // explicitly specified, then we auto-select a model based on the parameters 426 // in the InputAudioConfig. 427 // If enhanced speech model is enabled for the agent and an enhanced 428 // version of the specified model for the language does not exist, then the 429 // speech is recognized using the standard version of the specified model. 430 // Refer to 431 // [Cloud Speech API 432 // documentation](https://cloud.google.com/speech-to-text/docs/basics#select-model) 433 // for more details. 434 Model string `protobuf:"bytes,7,opt,name=model,proto3" json:"model,omitempty"` 435 // Optional. Which variant of the [Speech model][google.cloud.dialogflow.v2beta1.InputAudioConfig.model] to use. 436 ModelVariant SpeechModelVariant `protobuf:"varint,10,opt,name=model_variant,json=modelVariant,proto3,enum=google.cloud.dialogflow.v2beta1.SpeechModelVariant" json:"model_variant,omitempty"` 437 // Optional. If `false` (default), recognition does not cease until the 438 // client closes the stream. 439 // If `true`, the recognizer will detect a single spoken utterance in input 440 // audio. Recognition ceases when it detects the audio's voice has 441 // stopped or paused. In this case, once a detected intent is received, the 442 // client should close the stream and start a new request with a new stream as 443 // needed. 444 // Note: This setting is relevant only for streaming methods. 445 // Note: When specified, InputAudioConfig.single_utterance takes precedence 446 // over StreamingDetectIntentRequest.single_utterance. 447 SingleUtterance bool `protobuf:"varint,8,opt,name=single_utterance,json=singleUtterance,proto3" json:"single_utterance,omitempty"` 448 XXX_NoUnkeyedLiteral struct{} `json:"-"` 449 XXX_unrecognized []byte `json:"-"` 450 XXX_sizecache int32 `json:"-"` 451} 452 453func (m *InputAudioConfig) Reset() { *m = InputAudioConfig{} } 454func (m *InputAudioConfig) String() string { return proto.CompactTextString(m) } 455func (*InputAudioConfig) ProtoMessage() {} 456func (*InputAudioConfig) Descriptor() ([]byte, []int) { 457 return fileDescriptor_80617ff5f6b0e1c6, []int{2} 458} 459 460func (m *InputAudioConfig) XXX_Unmarshal(b []byte) error { 461 return xxx_messageInfo_InputAudioConfig.Unmarshal(m, b) 462} 463func (m *InputAudioConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 464 return xxx_messageInfo_InputAudioConfig.Marshal(b, m, deterministic) 465} 466func (m *InputAudioConfig) XXX_Merge(src proto.Message) { 467 xxx_messageInfo_InputAudioConfig.Merge(m, src) 468} 469func (m *InputAudioConfig) XXX_Size() int { 470 return xxx_messageInfo_InputAudioConfig.Size(m) 471} 472func (m *InputAudioConfig) XXX_DiscardUnknown() { 473 xxx_messageInfo_InputAudioConfig.DiscardUnknown(m) 474} 475 476var xxx_messageInfo_InputAudioConfig proto.InternalMessageInfo 477 478func (m *InputAudioConfig) GetAudioEncoding() AudioEncoding { 479 if m != nil { 480 return m.AudioEncoding 481 } 482 return AudioEncoding_AUDIO_ENCODING_UNSPECIFIED 483} 484 485func (m *InputAudioConfig) GetSampleRateHertz() int32 { 486 if m != nil { 487 return m.SampleRateHertz 488 } 489 return 0 490} 491 492func (m *InputAudioConfig) GetLanguageCode() string { 493 if m != nil { 494 return m.LanguageCode 495 } 496 return "" 497} 498 499func (m *InputAudioConfig) GetEnableWordInfo() bool { 500 if m != nil { 501 return m.EnableWordInfo 502 } 503 return false 504} 505 506func (m *InputAudioConfig) GetPhraseHints() []string { 507 if m != nil { 508 return m.PhraseHints 509 } 510 return nil 511} 512 513func (m *InputAudioConfig) GetSpeechContexts() []*SpeechContext { 514 if m != nil { 515 return m.SpeechContexts 516 } 517 return nil 518} 519 520func (m *InputAudioConfig) GetModel() string { 521 if m != nil { 522 return m.Model 523 } 524 return "" 525} 526 527func (m *InputAudioConfig) GetModelVariant() SpeechModelVariant { 528 if m != nil { 529 return m.ModelVariant 530 } 531 return SpeechModelVariant_SPEECH_MODEL_VARIANT_UNSPECIFIED 532} 533 534func (m *InputAudioConfig) GetSingleUtterance() bool { 535 if m != nil { 536 return m.SingleUtterance 537 } 538 return false 539} 540 541// Description of which voice to use for speech synthesis. 542type VoiceSelectionParams struct { 543 // Optional. The name of the voice. If not set, the service will choose a 544 // voice based on the other parameters such as language_code and gender. 545 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 546 // Optional. The preferred gender of the voice. If not set, the service will 547 // choose a voice based on the other parameters such as language_code and 548 // name. Note that this is only a preference, not requirement. If a 549 // voice of the appropriate gender is not available, the synthesizer should 550 // substitute a voice with a different gender rather than failing the request. 551 SsmlGender SsmlVoiceGender `protobuf:"varint,2,opt,name=ssml_gender,json=ssmlGender,proto3,enum=google.cloud.dialogflow.v2beta1.SsmlVoiceGender" json:"ssml_gender,omitempty"` 552 XXX_NoUnkeyedLiteral struct{} `json:"-"` 553 XXX_unrecognized []byte `json:"-"` 554 XXX_sizecache int32 `json:"-"` 555} 556 557func (m *VoiceSelectionParams) Reset() { *m = VoiceSelectionParams{} } 558func (m *VoiceSelectionParams) String() string { return proto.CompactTextString(m) } 559func (*VoiceSelectionParams) ProtoMessage() {} 560func (*VoiceSelectionParams) Descriptor() ([]byte, []int) { 561 return fileDescriptor_80617ff5f6b0e1c6, []int{3} 562} 563 564func (m *VoiceSelectionParams) XXX_Unmarshal(b []byte) error { 565 return xxx_messageInfo_VoiceSelectionParams.Unmarshal(m, b) 566} 567func (m *VoiceSelectionParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 568 return xxx_messageInfo_VoiceSelectionParams.Marshal(b, m, deterministic) 569} 570func (m *VoiceSelectionParams) XXX_Merge(src proto.Message) { 571 xxx_messageInfo_VoiceSelectionParams.Merge(m, src) 572} 573func (m *VoiceSelectionParams) XXX_Size() int { 574 return xxx_messageInfo_VoiceSelectionParams.Size(m) 575} 576func (m *VoiceSelectionParams) XXX_DiscardUnknown() { 577 xxx_messageInfo_VoiceSelectionParams.DiscardUnknown(m) 578} 579 580var xxx_messageInfo_VoiceSelectionParams proto.InternalMessageInfo 581 582func (m *VoiceSelectionParams) GetName() string { 583 if m != nil { 584 return m.Name 585 } 586 return "" 587} 588 589func (m *VoiceSelectionParams) GetSsmlGender() SsmlVoiceGender { 590 if m != nil { 591 return m.SsmlGender 592 } 593 return SsmlVoiceGender_SSML_VOICE_GENDER_UNSPECIFIED 594} 595 596// Configuration of how speech should be synthesized. 597type SynthesizeSpeechConfig struct { 598 // Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal 599 // native speed supported by the specific voice. 2.0 is twice as fast, and 600 // 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any 601 // other values < 0.25 or > 4.0 will return an error. 602 SpeakingRate float64 `protobuf:"fixed64,1,opt,name=speaking_rate,json=speakingRate,proto3" json:"speaking_rate,omitempty"` 603 // Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 604 // semitones from the original pitch. -20 means decrease 20 semitones from the 605 // original pitch. 606 Pitch float64 `protobuf:"fixed64,2,opt,name=pitch,proto3" json:"pitch,omitempty"` 607 // Optional. Volume gain (in dB) of the normal native volume supported by the 608 // specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 609 // 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) 610 // will play at approximately half the amplitude of the normal native signal 611 // amplitude. A value of +6.0 (dB) will play at approximately twice the 612 // amplitude of the normal native signal amplitude. We strongly recommend not 613 // to exceed +10 (dB) as there's usually no effective increase in loudness for 614 // any value greater than that. 615 VolumeGainDb float64 `protobuf:"fixed64,3,opt,name=volume_gain_db,json=volumeGainDb,proto3" json:"volume_gain_db,omitempty"` 616 // Optional. An identifier which selects 'audio effects' profiles that are 617 // applied on (post synthesized) text to speech. Effects are applied on top of 618 // each other in the order they are given. 619 EffectsProfileId []string `protobuf:"bytes,5,rep,name=effects_profile_id,json=effectsProfileId,proto3" json:"effects_profile_id,omitempty"` 620 // Optional. The desired voice of the synthesized audio. 621 Voice *VoiceSelectionParams `protobuf:"bytes,4,opt,name=voice,proto3" json:"voice,omitempty"` 622 XXX_NoUnkeyedLiteral struct{} `json:"-"` 623 XXX_unrecognized []byte `json:"-"` 624 XXX_sizecache int32 `json:"-"` 625} 626 627func (m *SynthesizeSpeechConfig) Reset() { *m = SynthesizeSpeechConfig{} } 628func (m *SynthesizeSpeechConfig) String() string { return proto.CompactTextString(m) } 629func (*SynthesizeSpeechConfig) ProtoMessage() {} 630func (*SynthesizeSpeechConfig) Descriptor() ([]byte, []int) { 631 return fileDescriptor_80617ff5f6b0e1c6, []int{4} 632} 633 634func (m *SynthesizeSpeechConfig) XXX_Unmarshal(b []byte) error { 635 return xxx_messageInfo_SynthesizeSpeechConfig.Unmarshal(m, b) 636} 637func (m *SynthesizeSpeechConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 638 return xxx_messageInfo_SynthesizeSpeechConfig.Marshal(b, m, deterministic) 639} 640func (m *SynthesizeSpeechConfig) XXX_Merge(src proto.Message) { 641 xxx_messageInfo_SynthesizeSpeechConfig.Merge(m, src) 642} 643func (m *SynthesizeSpeechConfig) XXX_Size() int { 644 return xxx_messageInfo_SynthesizeSpeechConfig.Size(m) 645} 646func (m *SynthesizeSpeechConfig) XXX_DiscardUnknown() { 647 xxx_messageInfo_SynthesizeSpeechConfig.DiscardUnknown(m) 648} 649 650var xxx_messageInfo_SynthesizeSpeechConfig proto.InternalMessageInfo 651 652func (m *SynthesizeSpeechConfig) GetSpeakingRate() float64 { 653 if m != nil { 654 return m.SpeakingRate 655 } 656 return 0 657} 658 659func (m *SynthesizeSpeechConfig) GetPitch() float64 { 660 if m != nil { 661 return m.Pitch 662 } 663 return 0 664} 665 666func (m *SynthesizeSpeechConfig) GetVolumeGainDb() float64 { 667 if m != nil { 668 return m.VolumeGainDb 669 } 670 return 0 671} 672 673func (m *SynthesizeSpeechConfig) GetEffectsProfileId() []string { 674 if m != nil { 675 return m.EffectsProfileId 676 } 677 return nil 678} 679 680func (m *SynthesizeSpeechConfig) GetVoice() *VoiceSelectionParams { 681 if m != nil { 682 return m.Voice 683 } 684 return nil 685} 686 687// Instructs the speech synthesizer how to generate the output audio content. 688type OutputAudioConfig struct { 689 // Required. Audio encoding of the synthesized audio content. 690 AudioEncoding OutputAudioEncoding `protobuf:"varint,1,opt,name=audio_encoding,json=audioEncoding,proto3,enum=google.cloud.dialogflow.v2beta1.OutputAudioEncoding" json:"audio_encoding,omitempty"` 691 // Optional. The synthesis sample rate (in hertz) for this audio. If not 692 // provided, then the synthesizer will use the default sample rate based on 693 // the audio encoding. If this is different from the voice's natural sample 694 // rate, then the synthesizer will honor this request by converting to the 695 // desired sample rate (which might result in worse audio quality). 696 SampleRateHertz int32 `protobuf:"varint,2,opt,name=sample_rate_hertz,json=sampleRateHertz,proto3" json:"sample_rate_hertz,omitempty"` 697 // Optional. Configuration of how speech should be synthesized. 698 SynthesizeSpeechConfig *SynthesizeSpeechConfig `protobuf:"bytes,3,opt,name=synthesize_speech_config,json=synthesizeSpeechConfig,proto3" json:"synthesize_speech_config,omitempty"` 699 XXX_NoUnkeyedLiteral struct{} `json:"-"` 700 XXX_unrecognized []byte `json:"-"` 701 XXX_sizecache int32 `json:"-"` 702} 703 704func (m *OutputAudioConfig) Reset() { *m = OutputAudioConfig{} } 705func (m *OutputAudioConfig) String() string { return proto.CompactTextString(m) } 706func (*OutputAudioConfig) ProtoMessage() {} 707func (*OutputAudioConfig) Descriptor() ([]byte, []int) { 708 return fileDescriptor_80617ff5f6b0e1c6, []int{5} 709} 710 711func (m *OutputAudioConfig) XXX_Unmarshal(b []byte) error { 712 return xxx_messageInfo_OutputAudioConfig.Unmarshal(m, b) 713} 714func (m *OutputAudioConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 715 return xxx_messageInfo_OutputAudioConfig.Marshal(b, m, deterministic) 716} 717func (m *OutputAudioConfig) XXX_Merge(src proto.Message) { 718 xxx_messageInfo_OutputAudioConfig.Merge(m, src) 719} 720func (m *OutputAudioConfig) XXX_Size() int { 721 return xxx_messageInfo_OutputAudioConfig.Size(m) 722} 723func (m *OutputAudioConfig) XXX_DiscardUnknown() { 724 xxx_messageInfo_OutputAudioConfig.DiscardUnknown(m) 725} 726 727var xxx_messageInfo_OutputAudioConfig proto.InternalMessageInfo 728 729func (m *OutputAudioConfig) GetAudioEncoding() OutputAudioEncoding { 730 if m != nil { 731 return m.AudioEncoding 732 } 733 return OutputAudioEncoding_OUTPUT_AUDIO_ENCODING_UNSPECIFIED 734} 735 736func (m *OutputAudioConfig) GetSampleRateHertz() int32 { 737 if m != nil { 738 return m.SampleRateHertz 739 } 740 return 0 741} 742 743func (m *OutputAudioConfig) GetSynthesizeSpeechConfig() *SynthesizeSpeechConfig { 744 if m != nil { 745 return m.SynthesizeSpeechConfig 746 } 747 return nil 748} 749 750func init() { 751 proto.RegisterEnum("google.cloud.dialogflow.v2beta1.AudioEncoding", AudioEncoding_name, AudioEncoding_value) 752 proto.RegisterEnum("google.cloud.dialogflow.v2beta1.SpeechModelVariant", SpeechModelVariant_name, SpeechModelVariant_value) 753 proto.RegisterEnum("google.cloud.dialogflow.v2beta1.SsmlVoiceGender", SsmlVoiceGender_name, SsmlVoiceGender_value) 754 proto.RegisterEnum("google.cloud.dialogflow.v2beta1.OutputAudioEncoding", OutputAudioEncoding_name, OutputAudioEncoding_value) 755 proto.RegisterType((*SpeechContext)(nil), "google.cloud.dialogflow.v2beta1.SpeechContext") 756 proto.RegisterType((*SpeechWordInfo)(nil), "google.cloud.dialogflow.v2beta1.SpeechWordInfo") 757 proto.RegisterType((*InputAudioConfig)(nil), "google.cloud.dialogflow.v2beta1.InputAudioConfig") 758 proto.RegisterType((*VoiceSelectionParams)(nil), "google.cloud.dialogflow.v2beta1.VoiceSelectionParams") 759 proto.RegisterType((*SynthesizeSpeechConfig)(nil), "google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig") 760 proto.RegisterType((*OutputAudioConfig)(nil), "google.cloud.dialogflow.v2beta1.OutputAudioConfig") 761} 762 763func init() { 764 proto.RegisterFile("google/cloud/dialogflow/v2beta1/audio_config.proto", fileDescriptor_80617ff5f6b0e1c6) 765} 766 767var fileDescriptor_80617ff5f6b0e1c6 = []byte{ 768 // 1122 bytes of a gzipped FileDescriptorProto 769 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0xcb, 0x6e, 0xdb, 0x46, 770 0x17, 0xfe, 0x29, 0xd9, 0x71, 0x7c, 0x74, 0x31, 0x33, 0xf1, 0xef, 0xd0, 0xae, 0x2f, 0xb2, 0x9c, 771 0x00, 0x8a, 0x51, 0x48, 0x8d, 0xdc, 0x1b, 0xd0, 0x02, 0x05, 0x25, 0xd2, 0x12, 0x51, 0xdd, 0x4a, 772 0x5d, 0x9c, 0xb6, 0x8b, 0xc1, 0x48, 0x1c, 0x51, 0x44, 0xa9, 0x19, 0x95, 0xa4, 0x9c, 0x36, 0x40, 773 0x1f, 0xa1, 0xe8, 0x3b, 0x14, 0x5d, 0x75, 0xd1, 0x27, 0xe8, 0x63, 0x75, 0x51, 0x20, 0x9b, 0x82, 774 0x43, 0xc9, 0x96, 0x65, 0xa5, 0xca, 0xa2, 0xbb, 0x99, 0xef, 0x9b, 0xef, 0xcc, 0x99, 0x73, 0xbe, 775 0x03, 0x12, 0x8a, 0x36, 0xe7, 0xb6, 0x4b, 0x0b, 0x03, 0x97, 0x4f, 0xad, 0x82, 0xe5, 0x10, 0x97, 776 0xdb, 0x43, 0x97, 0xbf, 0x2a, 0x5c, 0x17, 0xfb, 0x34, 0x20, 0x2f, 0x0a, 0x64, 0x6a, 0x39, 0x1c, 777 0x0f, 0x38, 0x1b, 0x3a, 0x76, 0x7e, 0xe2, 0xf1, 0x80, 0xa3, 0x93, 0x48, 0x93, 0x17, 0x9a, 0xfc, 778 0xad, 0x26, 0x3f, 0xd3, 0x1c, 0x1c, 0xcf, 0x82, 0x8a, 0xe3, 0xfd, 0xe9, 0xb0, 0x60, 0x4d, 0x3d, 779 0x12, 0x38, 0x9c, 0x45, 0x01, 0x0e, 0x0e, 0x67, 0x3c, 0x99, 0x38, 0x05, 0xc2, 0x18, 0x0f, 0x04, 780 0xe9, 0x47, 0x6c, 0xf6, 0x0b, 0x48, 0xb5, 0x27, 0x94, 0x0e, 0x46, 0x65, 0xce, 0x02, 0xfa, 0x43, 781 0x80, 0x14, 0xd8, 0x9a, 0x8c, 0x3c, 0xe2, 0x53, 0x5f, 0x91, 0x32, 0xf1, 0xdc, 0xb6, 0x39, 0xdf, 782 0xa2, 0x5d, 0xd8, 0xec, 0x73, 0xee, 0x07, 0x4a, 0x2c, 0x23, 0xe5, 0x62, 0x66, 0xb4, 0xc9, 0xfe, 783 0x29, 0x41, 0x3a, 0x8a, 0x70, 0xc5, 0x3d, 0xcb, 0x60, 0x43, 0x8e, 0x10, 0x6c, 0xbc, 0xe2, 0x9e, 784 0xa5, 0xc4, 0x33, 0x52, 0x6e, 0xdb, 0x14, 0x6b, 0xf4, 0x39, 0x24, 0xfd, 0x80, 0x78, 0x01, 0xe6, 785 0xc3, 0xa1, 0x4f, 0x03, 0x45, 0xca, 0x48, 0xb9, 0x44, 0x71, 0x3f, 0x3f, 0x7b, 0xdd, 0x3c, 0xf9, 786 0xbc, 0x36, 0x4b, 0xde, 0x4c, 0x88, 0xe3, 0x4d, 0x71, 0x1a, 0x7d, 0x0a, 0x40, 0x99, 0x35, 0xd7, 787 0xc6, 0xd6, 0x69, 0xb7, 0x29, 0xb3, 0x66, 0xca, 0x63, 0x00, 0x51, 0x4e, 0x8b, 0xb2, 0x01, 0x55, 788 0x36, 0x44, 0xe6, 0x0b, 0x48, 0xf6, 0x4d, 0x1c, 0x64, 0x83, 0x4d, 0xa6, 0x81, 0x1a, 0x96, 0xbe, 789 0x2c, 0x2a, 0x8f, 0xba, 0x90, 0x8e, 0x3a, 0x41, 0xd9, 0x80, 0x5b, 0x0e, 0xb3, 0x45, 0xba, 0xe9, 790 0x62, 0x3e, 0xbf, 0xa6, 0x19, 0x79, 0x11, 0x45, 0x9f, 0xa9, 0xcc, 0x14, 0x59, 0xdc, 0xa2, 0x73, 791 0x78, 0xe4, 0x93, 0xf1, 0xc4, 0xa5, 0xd8, 0x23, 0x01, 0xc5, 0x23, 0xea, 0x05, 0xaf, 0xc5, 0x63, 792 0x36, 0xcd, 0x9d, 0x88, 0x30, 0x49, 0x40, 0xab, 0x21, 0x8c, 0xce, 0x20, 0xe5, 0x12, 0x66, 0x4f, 793 0x89, 0x4d, 0xf1, 0x80, 0x5b, 0x74, 0x56, 0xcc, 0xe4, 0x1c, 0x2c, 0x73, 0x8b, 0xa2, 0x1c, 0xc8, 794 0x94, 0x91, 0xbe, 0x4b, 0x71, 0x58, 0x63, 0xec, 0xb0, 0x21, 0x57, 0x52, 0x19, 0x29, 0xf7, 0xd0, 795 0x4c, 0x47, 0xf8, 0x4d, 0x4b, 0x4e, 0x21, 0x19, 0xb5, 0x11, 0x8f, 0x1c, 0x16, 0xf8, 0xca, 0x86, 796 0x68, 0x6d, 0x22, 0xc2, 0xaa, 0x21, 0x84, 0xae, 0x60, 0xc7, 0x17, 0x7d, 0x0c, 0xfd, 0x17, 0x5a, 797 0xc1, 0x57, 0x12, 0x99, 0x78, 0x2e, 0xf1, 0x0e, 0xaf, 0xbe, 0xe3, 0x20, 0x33, 0xed, 0x2f, 0x6e, 798 0x85, 0x6f, 0xc6, 0xdc, 0xa2, 0xae, 0xb2, 0x25, 0x9e, 0x10, 0x6d, 0xd0, 0x4b, 0x48, 0x89, 0x05, 799 0xbe, 0x26, 0x9e, 0x43, 0x58, 0xa0, 0x80, 0x28, 0xf1, 0xc5, 0x3b, 0x5e, 0x56, 0x0f, 0xb5, 0xbd, 800 0x48, 0x6a, 0x26, 0xc7, 0x0b, 0x3b, 0xf4, 0x1c, 0x64, 0xdf, 0x61, 0xb6, 0x4b, 0xf1, 0x34, 0x08, 801 0xa8, 0x47, 0xc2, 0xc6, 0x3f, 0x14, 0x55, 0xd9, 0x89, 0xf0, 0xee, 0x1c, 0xce, 0xfe, 0x04, 0xbb, 802 0x3d, 0xee, 0x0c, 0x68, 0x9b, 0xba, 0x74, 0x10, 0x5a, 0xa7, 0x45, 0x3c, 0x32, 0xf6, 0x43, 0x07, 803 0x33, 0x32, 0xa6, 0xa2, 0xed, 0xdb, 0xa6, 0x58, 0xa3, 0xaf, 0x20, 0xe1, 0xfb, 0x63, 0x17, 0xdb, 804 0x94, 0x59, 0xd4, 0x13, 0x7d, 0x4b, 0x17, 0x3f, 0x58, 0x9f, 0xae, 0x3f, 0x76, 0xc5, 0x1d, 0x15, 805 0xa1, 0x33, 0x21, 0x0c, 0x12, 0xad, 0xb3, 0x7f, 0x49, 0xb0, 0xd7, 0xfe, 0x91, 0x05, 0x23, 0xea, 806 0x3b, 0xaf, 0xe9, 0x4d, 0x15, 0x43, 0x0b, 0x9e, 0x41, 0xca, 0x9f, 0x50, 0xf2, 0x9d, 0xc3, 0x6c, 807 0xe1, 0x16, 0x91, 0x8a, 0x64, 0x26, 0xe7, 0x60, 0xe8, 0x94, 0xb0, 0xb2, 0x13, 0x27, 0x18, 0x8c, 808 0x44, 0x32, 0x92, 0x19, 0x6d, 0xd0, 0x53, 0x48, 0x5f, 0x73, 0x77, 0x3a, 0xa6, 0xd8, 0x26, 0x0e, 809 0xc3, 0x56, 0x5f, 0x78, 0x47, 0x32, 0x93, 0x11, 0x5a, 0x21, 0x0e, 0xd3, 0xfa, 0xe8, 0x7d, 0x40, 810 0x74, 0x38, 0xa4, 0x83, 0xc0, 0xc7, 0x13, 0x8f, 0x0f, 0x1d, 0x97, 0x62, 0xc7, 0x52, 0x36, 0x85, 811 0x2f, 0xe4, 0x19, 0xd3, 0x8a, 0x08, 0xc3, 0x42, 0x5f, 0xc2, 0xe6, 0x75, 0xf8, 0x08, 0x31, 0x41, 812 0x89, 0xe2, 0x47, 0x6b, 0x9f, 0xbd, 0xaa, 0xac, 0x66, 0x14, 0x23, 0xfb, 0x4b, 0x0c, 0x1e, 0x35, 813 0xa7, 0xc1, 0xd2, 0xd0, 0x7d, 0xfb, 0x96, 0xa1, 0xfb, 0x70, 0xed, 0x5d, 0x0b, 0xb1, 0xfe, 0x8b, 814 0xd1, 0xfb, 0x1e, 0x14, 0xff, 0xa6, 0x29, 0xf8, 0x76, 0x26, 0x86, 0x8e, 0x2d, 0x2a, 0x99, 0x28, 815 0x7e, 0xb2, 0xbe, 0xeb, 0x2b, 0xbb, 0x6a, 0xee, 0xf9, 0x2b, 0xf1, 0xf3, 0x37, 0x12, 0xa4, 0xee, 816 0xe4, 0x8f, 0x8e, 0xe1, 0x40, 0xed, 0x6a, 0x46, 0x13, 0xeb, 0x8d, 0x72, 0x53, 0x33, 0x1a, 0x15, 817 0xdc, 0x6d, 0xb4, 0x5b, 0x7a, 0xd9, 0xb8, 0x34, 0x74, 0x4d, 0xfe, 0x1f, 0x3a, 0x04, 0x65, 0x89, 818 0xaf, 0x19, 0x0d, 0x5d, 0x35, 0xf1, 0x8b, 0x8f, 0x65, 0x09, 0x3d, 0x81, 0xc7, 0x4b, 0xec, 0x65, 819 0x4d, 0x2d, 0xcb, 0x31, 0xa4, 0xc0, 0xee, 0x12, 0x51, 0xef, 0xd6, 0xd4, 0x2b, 0x39, 0x8e, 0xf6, 820 0x00, 0x2d, 0x31, 0x6a, 0xdd, 0x94, 0x37, 0xd0, 0x3e, 0xfc, 0xff, 0x3e, 0x8e, 0xaf, 0x4a, 0xf2, 821 0x26, 0x7a, 0x0f, 0x9e, 0x2c, 0x51, 0xcd, 0x4a, 0x05, 0x37, 0x5b, 0xdd, 0xb6, 0xfc, 0x00, 0x3d, 822 0x87, 0x67, 0x4b, 0x64, 0xbb, 0xa5, 0xeb, 0x2f, 0xf1, 0x95, 0xd1, 0xa9, 0xe2, 0xaa, 0xae, 0x6a, 823 0xba, 0x89, 0x4b, 0x5f, 0x77, 0x74, 0x79, 0xeb, 0xfc, 0x1a, 0xd0, 0xfd, 0xa1, 0x46, 0x4f, 0x21, 824 0x13, 0x2a, 0xca, 0x55, 0x5c, 0x6f, 0x6a, 0x7a, 0x0d, 0xf7, 0x54, 0xd3, 0x50, 0x1b, 0x9d, 0xa5, 825 0x3a, 0xec, 0x01, 0xea, 0xb6, 0x75, 0x5c, 0xd2, 0xdb, 0x1d, 0xac, 0xf6, 0x54, 0xa3, 0xa6, 0x96, 826 0x6a, 0xba, 0x2c, 0x21, 0x19, 0x92, 0x21, 0xde, 0xee, 0xa8, 0x0d, 0x4d, 0x35, 0x35, 0x39, 0x36, 827 0x47, 0xf4, 0x46, 0x55, 0x6d, 0x94, 0x75, 0x4d, 0x8e, 0x9f, 0xff, 0x2c, 0xc1, 0xce, 0xd2, 0x78, 828 0xa2, 0x53, 0x38, 0x6a, 0xb7, 0xeb, 0x35, 0xdc, 0x6b, 0x1a, 0x65, 0x1d, 0x57, 0xf4, 0x46, 0x98, 829 0xe7, 0xdd, 0x2b, 0x0f, 0x60, 0xef, 0xfe, 0x91, 0xba, 0x2a, 0xae, 0x3d, 0x04, 0xe5, 0x3e, 0x77, 830 0xa9, 0x0b, 0x36, 0x86, 0x8e, 0x60, 0xff, 0x3e, 0xdb, 0xd0, 0xbb, 0x1d, 0x53, 0xad, 0xc9, 0xf1, 831 0xf3, 0xdf, 0x24, 0x78, 0xbc, 0xc2, 0xcb, 0xe8, 0x19, 0x9c, 0x36, 0xbb, 0x9d, 0x56, 0xb7, 0x83, 832 0xff, 0xd5, 0x12, 0x67, 0x70, 0xb2, 0xfa, 0xd8, 0xa2, 0x33, 0x8e, 0x60, 0x7f, 0xf5, 0xa1, 0x7a, 833 0xeb, 0x42, 0x8e, 0xa1, 0x2c, 0x1c, 0xaf, 0xa6, 0x6f, 0x3a, 0x1b, 0x2f, 0xfd, 0x21, 0xc1, 0xd9, 834 0x80, 0x8f, 0xd7, 0xcd, 0x40, 0x49, 0x5e, 0x98, 0xee, 0x56, 0xf8, 0x8d, 0x6e, 0x49, 0xdf, 0x18, 835 0x33, 0x91, 0xcd, 0xc3, 0x0f, 0x59, 0x9e, 0x7b, 0x76, 0xc1, 0xa6, 0x4c, 0x7c, 0xc1, 0x0b, 0x11, 836 0x45, 0x26, 0x8e, 0xff, 0xd6, 0x1f, 0xa4, 0xcf, 0x6e, 0xa1, 0xbf, 0x25, 0xe9, 0xd7, 0x58, 0x4c, 837 0xbb, 0xfc, 0x3d, 0x76, 0x52, 0x89, 0x62, 0x96, 0x45, 0x22, 0xda, 0x6d, 0x22, 0xbd, 0x48, 0xd4, 838 0x7f, 0x20, 0xe2, 0x5f, 0xfc, 0x13, 0x00, 0x00, 0xff, 0xff, 0x81, 0xe2, 0x86, 0xee, 0x7f, 0x09, 839 0x00, 0x00, 840} 841