github.com/v2fly/v2ray-core/v5@v5.16.2-0.20240507031116-8191faa6e095/app/dns/config.pb.go (about) 1 // Code generated by protoc-gen-go. DO NOT EDIT. 2 // versions: 3 // protoc-gen-go v1.31.0 4 // protoc v4.24.4 5 // source: app/dns/config.proto 6 7 package dns 8 9 import ( 10 fakedns "github.com/v2fly/v2ray-core/v5/app/dns/fakedns" 11 routercommon "github.com/v2fly/v2ray-core/v5/app/router/routercommon" 12 net "github.com/v2fly/v2ray-core/v5/common/net" 13 _ "github.com/v2fly/v2ray-core/v5/common/protoext" 14 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 15 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 16 reflect "reflect" 17 sync "sync" 18 ) 19 20 const ( 21 // Verify that this generated code is sufficiently up-to-date. 22 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 23 // Verify that runtime/protoimpl is sufficiently up-to-date. 24 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 25 ) 26 27 type DomainMatchingType int32 28 29 const ( 30 DomainMatchingType_Full DomainMatchingType = 0 31 DomainMatchingType_Subdomain DomainMatchingType = 1 32 DomainMatchingType_Keyword DomainMatchingType = 2 33 DomainMatchingType_Regex DomainMatchingType = 3 34 ) 35 36 // Enum value maps for DomainMatchingType. 37 var ( 38 DomainMatchingType_name = map[int32]string{ 39 0: "Full", 40 1: "Subdomain", 41 2: "Keyword", 42 3: "Regex", 43 } 44 DomainMatchingType_value = map[string]int32{ 45 "Full": 0, 46 "Subdomain": 1, 47 "Keyword": 2, 48 "Regex": 3, 49 } 50 ) 51 52 func (x DomainMatchingType) Enum() *DomainMatchingType { 53 p := new(DomainMatchingType) 54 *p = x 55 return p 56 } 57 58 func (x DomainMatchingType) String() string { 59 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 60 } 61 62 func (DomainMatchingType) Descriptor() protoreflect.EnumDescriptor { 63 return file_app_dns_config_proto_enumTypes[0].Descriptor() 64 } 65 66 func (DomainMatchingType) Type() protoreflect.EnumType { 67 return &file_app_dns_config_proto_enumTypes[0] 68 } 69 70 func (x DomainMatchingType) Number() protoreflect.EnumNumber { 71 return protoreflect.EnumNumber(x) 72 } 73 74 // Deprecated: Use DomainMatchingType.Descriptor instead. 75 func (DomainMatchingType) EnumDescriptor() ([]byte, []int) { 76 return file_app_dns_config_proto_rawDescGZIP(), []int{0} 77 } 78 79 type QueryStrategy int32 80 81 const ( 82 QueryStrategy_USE_IP QueryStrategy = 0 83 QueryStrategy_USE_IP4 QueryStrategy = 1 84 QueryStrategy_USE_IP6 QueryStrategy = 2 85 ) 86 87 // Enum value maps for QueryStrategy. 88 var ( 89 QueryStrategy_name = map[int32]string{ 90 0: "USE_IP", 91 1: "USE_IP4", 92 2: "USE_IP6", 93 } 94 QueryStrategy_value = map[string]int32{ 95 "USE_IP": 0, 96 "USE_IP4": 1, 97 "USE_IP6": 2, 98 } 99 ) 100 101 func (x QueryStrategy) Enum() *QueryStrategy { 102 p := new(QueryStrategy) 103 *p = x 104 return p 105 } 106 107 func (x QueryStrategy) String() string { 108 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 109 } 110 111 func (QueryStrategy) Descriptor() protoreflect.EnumDescriptor { 112 return file_app_dns_config_proto_enumTypes[1].Descriptor() 113 } 114 115 func (QueryStrategy) Type() protoreflect.EnumType { 116 return &file_app_dns_config_proto_enumTypes[1] 117 } 118 119 func (x QueryStrategy) Number() protoreflect.EnumNumber { 120 return protoreflect.EnumNumber(x) 121 } 122 123 // Deprecated: Use QueryStrategy.Descriptor instead. 124 func (QueryStrategy) EnumDescriptor() ([]byte, []int) { 125 return file_app_dns_config_proto_rawDescGZIP(), []int{1} 126 } 127 128 type CacheStrategy int32 129 130 const ( 131 CacheStrategy_CacheEnabled CacheStrategy = 0 132 CacheStrategy_CacheDisabled CacheStrategy = 1 133 ) 134 135 // Enum value maps for CacheStrategy. 136 var ( 137 CacheStrategy_name = map[int32]string{ 138 0: "CacheEnabled", 139 1: "CacheDisabled", 140 } 141 CacheStrategy_value = map[string]int32{ 142 "CacheEnabled": 0, 143 "CacheDisabled": 1, 144 } 145 ) 146 147 func (x CacheStrategy) Enum() *CacheStrategy { 148 p := new(CacheStrategy) 149 *p = x 150 return p 151 } 152 153 func (x CacheStrategy) String() string { 154 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 155 } 156 157 func (CacheStrategy) Descriptor() protoreflect.EnumDescriptor { 158 return file_app_dns_config_proto_enumTypes[2].Descriptor() 159 } 160 161 func (CacheStrategy) Type() protoreflect.EnumType { 162 return &file_app_dns_config_proto_enumTypes[2] 163 } 164 165 func (x CacheStrategy) Number() protoreflect.EnumNumber { 166 return protoreflect.EnumNumber(x) 167 } 168 169 // Deprecated: Use CacheStrategy.Descriptor instead. 170 func (CacheStrategy) EnumDescriptor() ([]byte, []int) { 171 return file_app_dns_config_proto_rawDescGZIP(), []int{2} 172 } 173 174 type FallbackStrategy int32 175 176 const ( 177 FallbackStrategy_Enabled FallbackStrategy = 0 178 FallbackStrategy_Disabled FallbackStrategy = 1 179 FallbackStrategy_DisabledIfAnyMatch FallbackStrategy = 2 180 ) 181 182 // Enum value maps for FallbackStrategy. 183 var ( 184 FallbackStrategy_name = map[int32]string{ 185 0: "Enabled", 186 1: "Disabled", 187 2: "DisabledIfAnyMatch", 188 } 189 FallbackStrategy_value = map[string]int32{ 190 "Enabled": 0, 191 "Disabled": 1, 192 "DisabledIfAnyMatch": 2, 193 } 194 ) 195 196 func (x FallbackStrategy) Enum() *FallbackStrategy { 197 p := new(FallbackStrategy) 198 *p = x 199 return p 200 } 201 202 func (x FallbackStrategy) String() string { 203 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 204 } 205 206 func (FallbackStrategy) Descriptor() protoreflect.EnumDescriptor { 207 return file_app_dns_config_proto_enumTypes[3].Descriptor() 208 } 209 210 func (FallbackStrategy) Type() protoreflect.EnumType { 211 return &file_app_dns_config_proto_enumTypes[3] 212 } 213 214 func (x FallbackStrategy) Number() protoreflect.EnumNumber { 215 return protoreflect.EnumNumber(x) 216 } 217 218 // Deprecated: Use FallbackStrategy.Descriptor instead. 219 func (FallbackStrategy) EnumDescriptor() ([]byte, []int) { 220 return file_app_dns_config_proto_rawDescGZIP(), []int{3} 221 } 222 223 type NameServer struct { 224 state protoimpl.MessageState 225 sizeCache protoimpl.SizeCache 226 unknownFields protoimpl.UnknownFields 227 228 Address *net.Endpoint `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 229 ClientIp []byte `protobuf:"bytes,5,opt,name=client_ip,json=clientIp,proto3" json:"client_ip,omitempty"` 230 Tag string `protobuf:"bytes,7,opt,name=tag,proto3" json:"tag,omitempty"` 231 PrioritizedDomain []*NameServer_PriorityDomain `protobuf:"bytes,2,rep,name=prioritized_domain,json=prioritizedDomain,proto3" json:"prioritized_domain,omitempty"` 232 Geoip []*routercommon.GeoIP `protobuf:"bytes,3,rep,name=geoip,proto3" json:"geoip,omitempty"` 233 OriginalRules []*NameServer_OriginalRule `protobuf:"bytes,4,rep,name=original_rules,json=originalRules,proto3" json:"original_rules,omitempty"` 234 FakeDns *fakedns.FakeDnsPoolMulti `protobuf:"bytes,11,opt,name=fake_dns,json=fakeDns,proto3" json:"fake_dns,omitempty"` 235 // Deprecated. Use fallback_strategy. 236 // 237 // Deprecated: Marked as deprecated in app/dns/config.proto. 238 SkipFallback bool `protobuf:"varint,6,opt,name=skipFallback,proto3" json:"skipFallback,omitempty"` 239 QueryStrategy *QueryStrategy `protobuf:"varint,8,opt,name=query_strategy,json=queryStrategy,proto3,enum=v2ray.core.app.dns.QueryStrategy,oneof" json:"query_strategy,omitempty"` 240 CacheStrategy *CacheStrategy `protobuf:"varint,9,opt,name=cache_strategy,json=cacheStrategy,proto3,enum=v2ray.core.app.dns.CacheStrategy,oneof" json:"cache_strategy,omitempty"` 241 FallbackStrategy *FallbackStrategy `protobuf:"varint,10,opt,name=fallback_strategy,json=fallbackStrategy,proto3,enum=v2ray.core.app.dns.FallbackStrategy,oneof" json:"fallback_strategy,omitempty"` 242 } 243 244 func (x *NameServer) Reset() { 245 *x = NameServer{} 246 if protoimpl.UnsafeEnabled { 247 mi := &file_app_dns_config_proto_msgTypes[0] 248 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 249 ms.StoreMessageInfo(mi) 250 } 251 } 252 253 func (x *NameServer) String() string { 254 return protoimpl.X.MessageStringOf(x) 255 } 256 257 func (*NameServer) ProtoMessage() {} 258 259 func (x *NameServer) ProtoReflect() protoreflect.Message { 260 mi := &file_app_dns_config_proto_msgTypes[0] 261 if protoimpl.UnsafeEnabled && x != nil { 262 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 263 if ms.LoadMessageInfo() == nil { 264 ms.StoreMessageInfo(mi) 265 } 266 return ms 267 } 268 return mi.MessageOf(x) 269 } 270 271 // Deprecated: Use NameServer.ProtoReflect.Descriptor instead. 272 func (*NameServer) Descriptor() ([]byte, []int) { 273 return file_app_dns_config_proto_rawDescGZIP(), []int{0} 274 } 275 276 func (x *NameServer) GetAddress() *net.Endpoint { 277 if x != nil { 278 return x.Address 279 } 280 return nil 281 } 282 283 func (x *NameServer) GetClientIp() []byte { 284 if x != nil { 285 return x.ClientIp 286 } 287 return nil 288 } 289 290 func (x *NameServer) GetTag() string { 291 if x != nil { 292 return x.Tag 293 } 294 return "" 295 } 296 297 func (x *NameServer) GetPrioritizedDomain() []*NameServer_PriorityDomain { 298 if x != nil { 299 return x.PrioritizedDomain 300 } 301 return nil 302 } 303 304 func (x *NameServer) GetGeoip() []*routercommon.GeoIP { 305 if x != nil { 306 return x.Geoip 307 } 308 return nil 309 } 310 311 func (x *NameServer) GetOriginalRules() []*NameServer_OriginalRule { 312 if x != nil { 313 return x.OriginalRules 314 } 315 return nil 316 } 317 318 func (x *NameServer) GetFakeDns() *fakedns.FakeDnsPoolMulti { 319 if x != nil { 320 return x.FakeDns 321 } 322 return nil 323 } 324 325 // Deprecated: Marked as deprecated in app/dns/config.proto. 326 func (x *NameServer) GetSkipFallback() bool { 327 if x != nil { 328 return x.SkipFallback 329 } 330 return false 331 } 332 333 func (x *NameServer) GetQueryStrategy() QueryStrategy { 334 if x != nil && x.QueryStrategy != nil { 335 return *x.QueryStrategy 336 } 337 return QueryStrategy_USE_IP 338 } 339 340 func (x *NameServer) GetCacheStrategy() CacheStrategy { 341 if x != nil && x.CacheStrategy != nil { 342 return *x.CacheStrategy 343 } 344 return CacheStrategy_CacheEnabled 345 } 346 347 func (x *NameServer) GetFallbackStrategy() FallbackStrategy { 348 if x != nil && x.FallbackStrategy != nil { 349 return *x.FallbackStrategy 350 } 351 return FallbackStrategy_Enabled 352 } 353 354 type HostMapping struct { 355 state protoimpl.MessageState 356 sizeCache protoimpl.SizeCache 357 unknownFields protoimpl.UnknownFields 358 359 Type DomainMatchingType `protobuf:"varint,1,opt,name=type,proto3,enum=v2ray.core.app.dns.DomainMatchingType" json:"type,omitempty"` 360 Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` 361 Ip [][]byte `protobuf:"bytes,3,rep,name=ip,proto3" json:"ip,omitempty"` 362 // ProxiedDomain indicates the mapped domain has the same IP address on this 363 // domain. V2Ray will use this domain for IP queries. 364 ProxiedDomain string `protobuf:"bytes,4,opt,name=proxied_domain,json=proxiedDomain,proto3" json:"proxied_domain,omitempty"` 365 } 366 367 func (x *HostMapping) Reset() { 368 *x = HostMapping{} 369 if protoimpl.UnsafeEnabled { 370 mi := &file_app_dns_config_proto_msgTypes[1] 371 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 372 ms.StoreMessageInfo(mi) 373 } 374 } 375 376 func (x *HostMapping) String() string { 377 return protoimpl.X.MessageStringOf(x) 378 } 379 380 func (*HostMapping) ProtoMessage() {} 381 382 func (x *HostMapping) ProtoReflect() protoreflect.Message { 383 mi := &file_app_dns_config_proto_msgTypes[1] 384 if protoimpl.UnsafeEnabled && x != nil { 385 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 386 if ms.LoadMessageInfo() == nil { 387 ms.StoreMessageInfo(mi) 388 } 389 return ms 390 } 391 return mi.MessageOf(x) 392 } 393 394 // Deprecated: Use HostMapping.ProtoReflect.Descriptor instead. 395 func (*HostMapping) Descriptor() ([]byte, []int) { 396 return file_app_dns_config_proto_rawDescGZIP(), []int{1} 397 } 398 399 func (x *HostMapping) GetType() DomainMatchingType { 400 if x != nil { 401 return x.Type 402 } 403 return DomainMatchingType_Full 404 } 405 406 func (x *HostMapping) GetDomain() string { 407 if x != nil { 408 return x.Domain 409 } 410 return "" 411 } 412 413 func (x *HostMapping) GetIp() [][]byte { 414 if x != nil { 415 return x.Ip 416 } 417 return nil 418 } 419 420 func (x *HostMapping) GetProxiedDomain() string { 421 if x != nil { 422 return x.ProxiedDomain 423 } 424 return "" 425 } 426 427 type Config struct { 428 state protoimpl.MessageState 429 sizeCache protoimpl.SizeCache 430 unknownFields protoimpl.UnknownFields 431 432 // Nameservers used by this DNS. Only traditional UDP servers are support at 433 // the moment. A special value 'localhost' as a domain address can be set to 434 // use DNS on local system. 435 // 436 // Deprecated: Marked as deprecated in app/dns/config.proto. 437 NameServers []*net.Endpoint `protobuf:"bytes,1,rep,name=NameServers,proto3" json:"NameServers,omitempty"` 438 // NameServer list used by this DNS client. 439 NameServer []*NameServer `protobuf:"bytes,5,rep,name=name_server,json=nameServer,proto3" json:"name_server,omitempty"` 440 // Static hosts. Domain to IP. 441 // Deprecated. Use static_hosts. 442 // 443 // Deprecated: Marked as deprecated in app/dns/config.proto. 444 Hosts map[string]*net.IPOrDomain `protobuf:"bytes,2,rep,name=Hosts,proto3" json:"Hosts,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 445 // Client IP for EDNS client subnet. Must be 4 bytes (IPv4) or 16 bytes 446 // (IPv6). 447 ClientIp []byte `protobuf:"bytes,3,opt,name=client_ip,json=clientIp,proto3" json:"client_ip,omitempty"` 448 // Static domain-ip mapping in DNS server. 449 StaticHosts []*HostMapping `protobuf:"bytes,4,rep,name=static_hosts,json=staticHosts,proto3" json:"static_hosts,omitempty"` 450 // Global fakedns object. 451 FakeDns *fakedns.FakeDnsPoolMulti `protobuf:"bytes,16,opt,name=fake_dns,json=fakeDns,proto3" json:"fake_dns,omitempty"` 452 // Tag is the inbound tag of DNS client. 453 Tag string `protobuf:"bytes,6,opt,name=tag,proto3" json:"tag,omitempty"` 454 // Domain matcher to use 455 DomainMatcher string `protobuf:"bytes,15,opt,name=domain_matcher,json=domainMatcher,proto3" json:"domain_matcher,omitempty"` 456 // DisableCache disables DNS cache 457 // Deprecated. Use cache_strategy. 458 // 459 // Deprecated: Marked as deprecated in app/dns/config.proto. 460 DisableCache bool `protobuf:"varint,8,opt,name=disableCache,proto3" json:"disableCache,omitempty"` 461 // Deprecated. Use fallback_strategy. 462 // 463 // Deprecated: Marked as deprecated in app/dns/config.proto. 464 DisableFallback bool `protobuf:"varint,10,opt,name=disableFallback,proto3" json:"disableFallback,omitempty"` 465 // Deprecated. Use fallback_strategy. 466 // 467 // Deprecated: Marked as deprecated in app/dns/config.proto. 468 DisableFallbackIfMatch bool `protobuf:"varint,11,opt,name=disableFallbackIfMatch,proto3" json:"disableFallbackIfMatch,omitempty"` 469 // Default query strategy (IPv4, IPv6, or both) for each name server. 470 QueryStrategy QueryStrategy `protobuf:"varint,9,opt,name=query_strategy,json=queryStrategy,proto3,enum=v2ray.core.app.dns.QueryStrategy" json:"query_strategy,omitempty"` 471 // Default cache strategy for each name server. 472 CacheStrategy CacheStrategy `protobuf:"varint,12,opt,name=cache_strategy,json=cacheStrategy,proto3,enum=v2ray.core.app.dns.CacheStrategy" json:"cache_strategy,omitempty"` 473 // Default fallback strategy for each name server. 474 FallbackStrategy FallbackStrategy `protobuf:"varint,13,opt,name=fallback_strategy,json=fallbackStrategy,proto3,enum=v2ray.core.app.dns.FallbackStrategy" json:"fallback_strategy,omitempty"` 475 } 476 477 func (x *Config) Reset() { 478 *x = Config{} 479 if protoimpl.UnsafeEnabled { 480 mi := &file_app_dns_config_proto_msgTypes[2] 481 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 482 ms.StoreMessageInfo(mi) 483 } 484 } 485 486 func (x *Config) String() string { 487 return protoimpl.X.MessageStringOf(x) 488 } 489 490 func (*Config) ProtoMessage() {} 491 492 func (x *Config) ProtoReflect() protoreflect.Message { 493 mi := &file_app_dns_config_proto_msgTypes[2] 494 if protoimpl.UnsafeEnabled && x != nil { 495 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 496 if ms.LoadMessageInfo() == nil { 497 ms.StoreMessageInfo(mi) 498 } 499 return ms 500 } 501 return mi.MessageOf(x) 502 } 503 504 // Deprecated: Use Config.ProtoReflect.Descriptor instead. 505 func (*Config) Descriptor() ([]byte, []int) { 506 return file_app_dns_config_proto_rawDescGZIP(), []int{2} 507 } 508 509 // Deprecated: Marked as deprecated in app/dns/config.proto. 510 func (x *Config) GetNameServers() []*net.Endpoint { 511 if x != nil { 512 return x.NameServers 513 } 514 return nil 515 } 516 517 func (x *Config) GetNameServer() []*NameServer { 518 if x != nil { 519 return x.NameServer 520 } 521 return nil 522 } 523 524 // Deprecated: Marked as deprecated in app/dns/config.proto. 525 func (x *Config) GetHosts() map[string]*net.IPOrDomain { 526 if x != nil { 527 return x.Hosts 528 } 529 return nil 530 } 531 532 func (x *Config) GetClientIp() []byte { 533 if x != nil { 534 return x.ClientIp 535 } 536 return nil 537 } 538 539 func (x *Config) GetStaticHosts() []*HostMapping { 540 if x != nil { 541 return x.StaticHosts 542 } 543 return nil 544 } 545 546 func (x *Config) GetFakeDns() *fakedns.FakeDnsPoolMulti { 547 if x != nil { 548 return x.FakeDns 549 } 550 return nil 551 } 552 553 func (x *Config) GetTag() string { 554 if x != nil { 555 return x.Tag 556 } 557 return "" 558 } 559 560 func (x *Config) GetDomainMatcher() string { 561 if x != nil { 562 return x.DomainMatcher 563 } 564 return "" 565 } 566 567 // Deprecated: Marked as deprecated in app/dns/config.proto. 568 func (x *Config) GetDisableCache() bool { 569 if x != nil { 570 return x.DisableCache 571 } 572 return false 573 } 574 575 // Deprecated: Marked as deprecated in app/dns/config.proto. 576 func (x *Config) GetDisableFallback() bool { 577 if x != nil { 578 return x.DisableFallback 579 } 580 return false 581 } 582 583 // Deprecated: Marked as deprecated in app/dns/config.proto. 584 func (x *Config) GetDisableFallbackIfMatch() bool { 585 if x != nil { 586 return x.DisableFallbackIfMatch 587 } 588 return false 589 } 590 591 func (x *Config) GetQueryStrategy() QueryStrategy { 592 if x != nil { 593 return x.QueryStrategy 594 } 595 return QueryStrategy_USE_IP 596 } 597 598 func (x *Config) GetCacheStrategy() CacheStrategy { 599 if x != nil { 600 return x.CacheStrategy 601 } 602 return CacheStrategy_CacheEnabled 603 } 604 605 func (x *Config) GetFallbackStrategy() FallbackStrategy { 606 if x != nil { 607 return x.FallbackStrategy 608 } 609 return FallbackStrategy_Enabled 610 } 611 612 type SimplifiedConfig struct { 613 state protoimpl.MessageState 614 sizeCache protoimpl.SizeCache 615 unknownFields protoimpl.UnknownFields 616 617 // NameServer list used by this DNS client. 618 NameServer []*SimplifiedNameServer `protobuf:"bytes,5,rep,name=name_server,json=nameServer,proto3" json:"name_server,omitempty"` 619 // Client IP for EDNS client subnet. Must be 4 bytes (IPv4) or 16 bytes 620 // (IPv6). 621 ClientIp string `protobuf:"bytes,3,opt,name=client_ip,json=clientIp,proto3" json:"client_ip,omitempty"` 622 // Static domain-ip mapping in DNS server. 623 StaticHosts []*SimplifiedHostMapping `protobuf:"bytes,4,rep,name=static_hosts,json=staticHosts,proto3" json:"static_hosts,omitempty"` 624 // Global fakedns object. 625 FakeDns *fakedns.FakeDnsPoolMulti `protobuf:"bytes,16,opt,name=fake_dns,json=fakeDns,proto3" json:"fake_dns,omitempty"` 626 // Tag is the inbound tag of DNS client. 627 Tag string `protobuf:"bytes,6,opt,name=tag,proto3" json:"tag,omitempty"` 628 // Domain matcher to use 629 DomainMatcher string `protobuf:"bytes,15,opt,name=domain_matcher,json=domainMatcher,proto3" json:"domain_matcher,omitempty"` 630 // DisableCache disables DNS cache 631 // Deprecated. Use cache_strategy. 632 // 633 // Deprecated: Marked as deprecated in app/dns/config.proto. 634 DisableCache bool `protobuf:"varint,8,opt,name=disableCache,proto3" json:"disableCache,omitempty"` 635 // Deprecated. Use fallback_strategy. 636 // 637 // Deprecated: Marked as deprecated in app/dns/config.proto. 638 DisableFallback bool `protobuf:"varint,10,opt,name=disableFallback,proto3" json:"disableFallback,omitempty"` 639 // Deprecated. Use fallback_strategy. 640 // 641 // Deprecated: Marked as deprecated in app/dns/config.proto. 642 DisableFallbackIfMatch bool `protobuf:"varint,11,opt,name=disableFallbackIfMatch,proto3" json:"disableFallbackIfMatch,omitempty"` 643 // Default query strategy (IPv4, IPv6, or both) for each name server. 644 QueryStrategy QueryStrategy `protobuf:"varint,9,opt,name=query_strategy,json=queryStrategy,proto3,enum=v2ray.core.app.dns.QueryStrategy" json:"query_strategy,omitempty"` 645 // Default cache strategy for each name server. 646 CacheStrategy CacheStrategy `protobuf:"varint,12,opt,name=cache_strategy,json=cacheStrategy,proto3,enum=v2ray.core.app.dns.CacheStrategy" json:"cache_strategy,omitempty"` 647 // Default fallback strategy for each name server. 648 FallbackStrategy FallbackStrategy `protobuf:"varint,13,opt,name=fallback_strategy,json=fallbackStrategy,proto3,enum=v2ray.core.app.dns.FallbackStrategy" json:"fallback_strategy,omitempty"` 649 } 650 651 func (x *SimplifiedConfig) Reset() { 652 *x = SimplifiedConfig{} 653 if protoimpl.UnsafeEnabled { 654 mi := &file_app_dns_config_proto_msgTypes[3] 655 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 656 ms.StoreMessageInfo(mi) 657 } 658 } 659 660 func (x *SimplifiedConfig) String() string { 661 return protoimpl.X.MessageStringOf(x) 662 } 663 664 func (*SimplifiedConfig) ProtoMessage() {} 665 666 func (x *SimplifiedConfig) ProtoReflect() protoreflect.Message { 667 mi := &file_app_dns_config_proto_msgTypes[3] 668 if protoimpl.UnsafeEnabled && x != nil { 669 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 670 if ms.LoadMessageInfo() == nil { 671 ms.StoreMessageInfo(mi) 672 } 673 return ms 674 } 675 return mi.MessageOf(x) 676 } 677 678 // Deprecated: Use SimplifiedConfig.ProtoReflect.Descriptor instead. 679 func (*SimplifiedConfig) Descriptor() ([]byte, []int) { 680 return file_app_dns_config_proto_rawDescGZIP(), []int{3} 681 } 682 683 func (x *SimplifiedConfig) GetNameServer() []*SimplifiedNameServer { 684 if x != nil { 685 return x.NameServer 686 } 687 return nil 688 } 689 690 func (x *SimplifiedConfig) GetClientIp() string { 691 if x != nil { 692 return x.ClientIp 693 } 694 return "" 695 } 696 697 func (x *SimplifiedConfig) GetStaticHosts() []*SimplifiedHostMapping { 698 if x != nil { 699 return x.StaticHosts 700 } 701 return nil 702 } 703 704 func (x *SimplifiedConfig) GetFakeDns() *fakedns.FakeDnsPoolMulti { 705 if x != nil { 706 return x.FakeDns 707 } 708 return nil 709 } 710 711 func (x *SimplifiedConfig) GetTag() string { 712 if x != nil { 713 return x.Tag 714 } 715 return "" 716 } 717 718 func (x *SimplifiedConfig) GetDomainMatcher() string { 719 if x != nil { 720 return x.DomainMatcher 721 } 722 return "" 723 } 724 725 // Deprecated: Marked as deprecated in app/dns/config.proto. 726 func (x *SimplifiedConfig) GetDisableCache() bool { 727 if x != nil { 728 return x.DisableCache 729 } 730 return false 731 } 732 733 // Deprecated: Marked as deprecated in app/dns/config.proto. 734 func (x *SimplifiedConfig) GetDisableFallback() bool { 735 if x != nil { 736 return x.DisableFallback 737 } 738 return false 739 } 740 741 // Deprecated: Marked as deprecated in app/dns/config.proto. 742 func (x *SimplifiedConfig) GetDisableFallbackIfMatch() bool { 743 if x != nil { 744 return x.DisableFallbackIfMatch 745 } 746 return false 747 } 748 749 func (x *SimplifiedConfig) GetQueryStrategy() QueryStrategy { 750 if x != nil { 751 return x.QueryStrategy 752 } 753 return QueryStrategy_USE_IP 754 } 755 756 func (x *SimplifiedConfig) GetCacheStrategy() CacheStrategy { 757 if x != nil { 758 return x.CacheStrategy 759 } 760 return CacheStrategy_CacheEnabled 761 } 762 763 func (x *SimplifiedConfig) GetFallbackStrategy() FallbackStrategy { 764 if x != nil { 765 return x.FallbackStrategy 766 } 767 return FallbackStrategy_Enabled 768 } 769 770 type SimplifiedHostMapping struct { 771 state protoimpl.MessageState 772 sizeCache protoimpl.SizeCache 773 unknownFields protoimpl.UnknownFields 774 775 Type DomainMatchingType `protobuf:"varint,1,opt,name=type,proto3,enum=v2ray.core.app.dns.DomainMatchingType" json:"type,omitempty"` 776 Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` 777 Ip []string `protobuf:"bytes,3,rep,name=ip,proto3" json:"ip,omitempty"` 778 // ProxiedDomain indicates the mapped domain has the same IP address on this 779 // domain. V2Ray will use this domain for IP queries. 780 ProxiedDomain string `protobuf:"bytes,4,opt,name=proxied_domain,json=proxiedDomain,proto3" json:"proxied_domain,omitempty"` 781 } 782 783 func (x *SimplifiedHostMapping) Reset() { 784 *x = SimplifiedHostMapping{} 785 if protoimpl.UnsafeEnabled { 786 mi := &file_app_dns_config_proto_msgTypes[4] 787 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 788 ms.StoreMessageInfo(mi) 789 } 790 } 791 792 func (x *SimplifiedHostMapping) String() string { 793 return protoimpl.X.MessageStringOf(x) 794 } 795 796 func (*SimplifiedHostMapping) ProtoMessage() {} 797 798 func (x *SimplifiedHostMapping) ProtoReflect() protoreflect.Message { 799 mi := &file_app_dns_config_proto_msgTypes[4] 800 if protoimpl.UnsafeEnabled && x != nil { 801 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 802 if ms.LoadMessageInfo() == nil { 803 ms.StoreMessageInfo(mi) 804 } 805 return ms 806 } 807 return mi.MessageOf(x) 808 } 809 810 // Deprecated: Use SimplifiedHostMapping.ProtoReflect.Descriptor instead. 811 func (*SimplifiedHostMapping) Descriptor() ([]byte, []int) { 812 return file_app_dns_config_proto_rawDescGZIP(), []int{4} 813 } 814 815 func (x *SimplifiedHostMapping) GetType() DomainMatchingType { 816 if x != nil { 817 return x.Type 818 } 819 return DomainMatchingType_Full 820 } 821 822 func (x *SimplifiedHostMapping) GetDomain() string { 823 if x != nil { 824 return x.Domain 825 } 826 return "" 827 } 828 829 func (x *SimplifiedHostMapping) GetIp() []string { 830 if x != nil { 831 return x.Ip 832 } 833 return nil 834 } 835 836 func (x *SimplifiedHostMapping) GetProxiedDomain() string { 837 if x != nil { 838 return x.ProxiedDomain 839 } 840 return "" 841 } 842 843 type SimplifiedNameServer struct { 844 state protoimpl.MessageState 845 sizeCache protoimpl.SizeCache 846 unknownFields protoimpl.UnknownFields 847 848 Address *net.Endpoint `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 849 ClientIp string `protobuf:"bytes,5,opt,name=client_ip,json=clientIp,proto3" json:"client_ip,omitempty"` 850 Tag string `protobuf:"bytes,7,opt,name=tag,proto3" json:"tag,omitempty"` 851 PrioritizedDomain []*SimplifiedNameServer_PriorityDomain `protobuf:"bytes,2,rep,name=prioritized_domain,json=prioritizedDomain,proto3" json:"prioritized_domain,omitempty"` 852 Geoip []*routercommon.GeoIP `protobuf:"bytes,3,rep,name=geoip,proto3" json:"geoip,omitempty"` 853 OriginalRules []*SimplifiedNameServer_OriginalRule `protobuf:"bytes,4,rep,name=original_rules,json=originalRules,proto3" json:"original_rules,omitempty"` 854 FakeDns *fakedns.FakeDnsPoolMulti `protobuf:"bytes,11,opt,name=fake_dns,json=fakeDns,proto3" json:"fake_dns,omitempty"` 855 // Deprecated. Use fallback_strategy. 856 // 857 // Deprecated: Marked as deprecated in app/dns/config.proto. 858 SkipFallback bool `protobuf:"varint,6,opt,name=skipFallback,proto3" json:"skipFallback,omitempty"` 859 QueryStrategy *QueryStrategy `protobuf:"varint,8,opt,name=query_strategy,json=queryStrategy,proto3,enum=v2ray.core.app.dns.QueryStrategy,oneof" json:"query_strategy,omitempty"` 860 CacheStrategy *CacheStrategy `protobuf:"varint,9,opt,name=cache_strategy,json=cacheStrategy,proto3,enum=v2ray.core.app.dns.CacheStrategy,oneof" json:"cache_strategy,omitempty"` 861 FallbackStrategy *FallbackStrategy `protobuf:"varint,10,opt,name=fallback_strategy,json=fallbackStrategy,proto3,enum=v2ray.core.app.dns.FallbackStrategy,oneof" json:"fallback_strategy,omitempty"` 862 GeoDomain []*routercommon.GeoSite `protobuf:"bytes,68001,rep,name=geo_domain,json=geoDomain,proto3" json:"geo_domain,omitempty"` 863 } 864 865 func (x *SimplifiedNameServer) Reset() { 866 *x = SimplifiedNameServer{} 867 if protoimpl.UnsafeEnabled { 868 mi := &file_app_dns_config_proto_msgTypes[5] 869 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 870 ms.StoreMessageInfo(mi) 871 } 872 } 873 874 func (x *SimplifiedNameServer) String() string { 875 return protoimpl.X.MessageStringOf(x) 876 } 877 878 func (*SimplifiedNameServer) ProtoMessage() {} 879 880 func (x *SimplifiedNameServer) ProtoReflect() protoreflect.Message { 881 mi := &file_app_dns_config_proto_msgTypes[5] 882 if protoimpl.UnsafeEnabled && x != nil { 883 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 884 if ms.LoadMessageInfo() == nil { 885 ms.StoreMessageInfo(mi) 886 } 887 return ms 888 } 889 return mi.MessageOf(x) 890 } 891 892 // Deprecated: Use SimplifiedNameServer.ProtoReflect.Descriptor instead. 893 func (*SimplifiedNameServer) Descriptor() ([]byte, []int) { 894 return file_app_dns_config_proto_rawDescGZIP(), []int{5} 895 } 896 897 func (x *SimplifiedNameServer) GetAddress() *net.Endpoint { 898 if x != nil { 899 return x.Address 900 } 901 return nil 902 } 903 904 func (x *SimplifiedNameServer) GetClientIp() string { 905 if x != nil { 906 return x.ClientIp 907 } 908 return "" 909 } 910 911 func (x *SimplifiedNameServer) GetTag() string { 912 if x != nil { 913 return x.Tag 914 } 915 return "" 916 } 917 918 func (x *SimplifiedNameServer) GetPrioritizedDomain() []*SimplifiedNameServer_PriorityDomain { 919 if x != nil { 920 return x.PrioritizedDomain 921 } 922 return nil 923 } 924 925 func (x *SimplifiedNameServer) GetGeoip() []*routercommon.GeoIP { 926 if x != nil { 927 return x.Geoip 928 } 929 return nil 930 } 931 932 func (x *SimplifiedNameServer) GetOriginalRules() []*SimplifiedNameServer_OriginalRule { 933 if x != nil { 934 return x.OriginalRules 935 } 936 return nil 937 } 938 939 func (x *SimplifiedNameServer) GetFakeDns() *fakedns.FakeDnsPoolMulti { 940 if x != nil { 941 return x.FakeDns 942 } 943 return nil 944 } 945 946 // Deprecated: Marked as deprecated in app/dns/config.proto. 947 func (x *SimplifiedNameServer) GetSkipFallback() bool { 948 if x != nil { 949 return x.SkipFallback 950 } 951 return false 952 } 953 954 func (x *SimplifiedNameServer) GetQueryStrategy() QueryStrategy { 955 if x != nil && x.QueryStrategy != nil { 956 return *x.QueryStrategy 957 } 958 return QueryStrategy_USE_IP 959 } 960 961 func (x *SimplifiedNameServer) GetCacheStrategy() CacheStrategy { 962 if x != nil && x.CacheStrategy != nil { 963 return *x.CacheStrategy 964 } 965 return CacheStrategy_CacheEnabled 966 } 967 968 func (x *SimplifiedNameServer) GetFallbackStrategy() FallbackStrategy { 969 if x != nil && x.FallbackStrategy != nil { 970 return *x.FallbackStrategy 971 } 972 return FallbackStrategy_Enabled 973 } 974 975 func (x *SimplifiedNameServer) GetGeoDomain() []*routercommon.GeoSite { 976 if x != nil { 977 return x.GeoDomain 978 } 979 return nil 980 } 981 982 type NameServer_PriorityDomain struct { 983 state protoimpl.MessageState 984 sizeCache protoimpl.SizeCache 985 unknownFields protoimpl.UnknownFields 986 987 Type DomainMatchingType `protobuf:"varint,1,opt,name=type,proto3,enum=v2ray.core.app.dns.DomainMatchingType" json:"type,omitempty"` 988 Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` 989 } 990 991 func (x *NameServer_PriorityDomain) Reset() { 992 *x = NameServer_PriorityDomain{} 993 if protoimpl.UnsafeEnabled { 994 mi := &file_app_dns_config_proto_msgTypes[6] 995 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 996 ms.StoreMessageInfo(mi) 997 } 998 } 999 1000 func (x *NameServer_PriorityDomain) String() string { 1001 return protoimpl.X.MessageStringOf(x) 1002 } 1003 1004 func (*NameServer_PriorityDomain) ProtoMessage() {} 1005 1006 func (x *NameServer_PriorityDomain) ProtoReflect() protoreflect.Message { 1007 mi := &file_app_dns_config_proto_msgTypes[6] 1008 if protoimpl.UnsafeEnabled && x != nil { 1009 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1010 if ms.LoadMessageInfo() == nil { 1011 ms.StoreMessageInfo(mi) 1012 } 1013 return ms 1014 } 1015 return mi.MessageOf(x) 1016 } 1017 1018 // Deprecated: Use NameServer_PriorityDomain.ProtoReflect.Descriptor instead. 1019 func (*NameServer_PriorityDomain) Descriptor() ([]byte, []int) { 1020 return file_app_dns_config_proto_rawDescGZIP(), []int{0, 0} 1021 } 1022 1023 func (x *NameServer_PriorityDomain) GetType() DomainMatchingType { 1024 if x != nil { 1025 return x.Type 1026 } 1027 return DomainMatchingType_Full 1028 } 1029 1030 func (x *NameServer_PriorityDomain) GetDomain() string { 1031 if x != nil { 1032 return x.Domain 1033 } 1034 return "" 1035 } 1036 1037 type NameServer_OriginalRule struct { 1038 state protoimpl.MessageState 1039 sizeCache protoimpl.SizeCache 1040 unknownFields protoimpl.UnknownFields 1041 1042 Rule string `protobuf:"bytes,1,opt,name=rule,proto3" json:"rule,omitempty"` 1043 Size uint32 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` 1044 } 1045 1046 func (x *NameServer_OriginalRule) Reset() { 1047 *x = NameServer_OriginalRule{} 1048 if protoimpl.UnsafeEnabled { 1049 mi := &file_app_dns_config_proto_msgTypes[7] 1050 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1051 ms.StoreMessageInfo(mi) 1052 } 1053 } 1054 1055 func (x *NameServer_OriginalRule) String() string { 1056 return protoimpl.X.MessageStringOf(x) 1057 } 1058 1059 func (*NameServer_OriginalRule) ProtoMessage() {} 1060 1061 func (x *NameServer_OriginalRule) ProtoReflect() protoreflect.Message { 1062 mi := &file_app_dns_config_proto_msgTypes[7] 1063 if protoimpl.UnsafeEnabled && x != nil { 1064 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1065 if ms.LoadMessageInfo() == nil { 1066 ms.StoreMessageInfo(mi) 1067 } 1068 return ms 1069 } 1070 return mi.MessageOf(x) 1071 } 1072 1073 // Deprecated: Use NameServer_OriginalRule.ProtoReflect.Descriptor instead. 1074 func (*NameServer_OriginalRule) Descriptor() ([]byte, []int) { 1075 return file_app_dns_config_proto_rawDescGZIP(), []int{0, 1} 1076 } 1077 1078 func (x *NameServer_OriginalRule) GetRule() string { 1079 if x != nil { 1080 return x.Rule 1081 } 1082 return "" 1083 } 1084 1085 func (x *NameServer_OriginalRule) GetSize() uint32 { 1086 if x != nil { 1087 return x.Size 1088 } 1089 return 0 1090 } 1091 1092 type SimplifiedNameServer_PriorityDomain struct { 1093 state protoimpl.MessageState 1094 sizeCache protoimpl.SizeCache 1095 unknownFields protoimpl.UnknownFields 1096 1097 Type DomainMatchingType `protobuf:"varint,1,opt,name=type,proto3,enum=v2ray.core.app.dns.DomainMatchingType" json:"type,omitempty"` 1098 Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` 1099 } 1100 1101 func (x *SimplifiedNameServer_PriorityDomain) Reset() { 1102 *x = SimplifiedNameServer_PriorityDomain{} 1103 if protoimpl.UnsafeEnabled { 1104 mi := &file_app_dns_config_proto_msgTypes[9] 1105 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1106 ms.StoreMessageInfo(mi) 1107 } 1108 } 1109 1110 func (x *SimplifiedNameServer_PriorityDomain) String() string { 1111 return protoimpl.X.MessageStringOf(x) 1112 } 1113 1114 func (*SimplifiedNameServer_PriorityDomain) ProtoMessage() {} 1115 1116 func (x *SimplifiedNameServer_PriorityDomain) ProtoReflect() protoreflect.Message { 1117 mi := &file_app_dns_config_proto_msgTypes[9] 1118 if protoimpl.UnsafeEnabled && x != nil { 1119 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1120 if ms.LoadMessageInfo() == nil { 1121 ms.StoreMessageInfo(mi) 1122 } 1123 return ms 1124 } 1125 return mi.MessageOf(x) 1126 } 1127 1128 // Deprecated: Use SimplifiedNameServer_PriorityDomain.ProtoReflect.Descriptor instead. 1129 func (*SimplifiedNameServer_PriorityDomain) Descriptor() ([]byte, []int) { 1130 return file_app_dns_config_proto_rawDescGZIP(), []int{5, 0} 1131 } 1132 1133 func (x *SimplifiedNameServer_PriorityDomain) GetType() DomainMatchingType { 1134 if x != nil { 1135 return x.Type 1136 } 1137 return DomainMatchingType_Full 1138 } 1139 1140 func (x *SimplifiedNameServer_PriorityDomain) GetDomain() string { 1141 if x != nil { 1142 return x.Domain 1143 } 1144 return "" 1145 } 1146 1147 type SimplifiedNameServer_OriginalRule struct { 1148 state protoimpl.MessageState 1149 sizeCache protoimpl.SizeCache 1150 unknownFields protoimpl.UnknownFields 1151 1152 Rule string `protobuf:"bytes,1,opt,name=rule,proto3" json:"rule,omitempty"` 1153 Size uint32 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` 1154 } 1155 1156 func (x *SimplifiedNameServer_OriginalRule) Reset() { 1157 *x = SimplifiedNameServer_OriginalRule{} 1158 if protoimpl.UnsafeEnabled { 1159 mi := &file_app_dns_config_proto_msgTypes[10] 1160 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1161 ms.StoreMessageInfo(mi) 1162 } 1163 } 1164 1165 func (x *SimplifiedNameServer_OriginalRule) String() string { 1166 return protoimpl.X.MessageStringOf(x) 1167 } 1168 1169 func (*SimplifiedNameServer_OriginalRule) ProtoMessage() {} 1170 1171 func (x *SimplifiedNameServer_OriginalRule) ProtoReflect() protoreflect.Message { 1172 mi := &file_app_dns_config_proto_msgTypes[10] 1173 if protoimpl.UnsafeEnabled && x != nil { 1174 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1175 if ms.LoadMessageInfo() == nil { 1176 ms.StoreMessageInfo(mi) 1177 } 1178 return ms 1179 } 1180 return mi.MessageOf(x) 1181 } 1182 1183 // Deprecated: Use SimplifiedNameServer_OriginalRule.ProtoReflect.Descriptor instead. 1184 func (*SimplifiedNameServer_OriginalRule) Descriptor() ([]byte, []int) { 1185 return file_app_dns_config_proto_rawDescGZIP(), []int{5, 1} 1186 } 1187 1188 func (x *SimplifiedNameServer_OriginalRule) GetRule() string { 1189 if x != nil { 1190 return x.Rule 1191 } 1192 return "" 1193 } 1194 1195 func (x *SimplifiedNameServer_OriginalRule) GetSize() uint32 { 1196 if x != nil { 1197 return x.Size 1198 } 1199 return 0 1200 } 1201 1202 var File_app_dns_config_proto protoreflect.FileDescriptor 1203 1204 var file_app_dns_config_proto_rawDesc = []byte{ 1205 0x0a, 0x14, 0x61, 0x70, 0x70, 0x2f, 0x64, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 1206 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 1207 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x1a, 0x18, 0x63, 0x6f, 0x6d, 0x6d, 1208 0x6f, 0x6e, 0x2f, 0x6e, 0x65, 0x74, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 1209 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6e, 0x65, 0x74, 1210 0x2f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 1211 0x74, 0x6f, 0x1a, 0x24, 0x61, 0x70, 0x70, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x72, 1212 0x6f, 0x75, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 1213 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x61, 0x70, 0x70, 0x2f, 0x64, 0x6e, 1214 0x73, 0x2f, 0x66, 0x61, 0x6b, 0x65, 0x64, 0x6e, 0x73, 0x2f, 0x66, 0x61, 0x6b, 0x65, 0x64, 0x6e, 1215 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 1216 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x65, 0x78, 0x74, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 1217 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x07, 0x0a, 0x0a, 0x4e, 0x61, 1218 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 1219 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x76, 0x32, 0x72, 0x61, 1220 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 1221 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 1222 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x70, 1223 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70, 1224 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 1225 0x61, 0x67, 0x12, 0x5c, 0x0a, 0x12, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x7a, 0x65, 1226 0x64, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 1227 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 1228 0x64, 0x6e, 0x73, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x50, 1229 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x11, 0x70, 1230 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 1231 0x12, 0x3f, 0x0a, 0x05, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 1232 0x29, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 1233 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x63, 0x6f, 1234 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x6f, 0x49, 0x50, 0x52, 0x05, 0x67, 0x65, 0x6f, 0x69, 1235 0x70, 0x12, 0x52, 0x0a, 0x0e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x75, 1236 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x76, 0x32, 0x72, 0x61, 1237 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x4e, 1238 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 1239 0x61, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 1240 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x08, 0x66, 0x61, 0x6b, 0x65, 0x5f, 0x64, 0x6e, 1241 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 1242 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x66, 0x61, 0x6b, 1243 0x65, 0x64, 0x6e, 0x73, 0x2e, 0x46, 0x61, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x50, 0x6f, 0x6f, 0x6c, 1244 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x07, 0x66, 0x61, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x12, 0x26, 1245 0x0a, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x06, 1246 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x46, 0x61, 1247 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x4d, 0x0a, 0x0e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 1248 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 1249 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 1250 0x64, 0x6e, 0x73, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 1251 0x79, 0x48, 0x00, 0x52, 0x0d, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 1252 0x67, 0x79, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 1253 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 1254 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 1255 0x6e, 0x73, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 1256 0x48, 0x01, 0x52, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 1257 0x79, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x11, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 1258 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 1259 0x24, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 1260 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x53, 0x74, 0x72, 1261 0x61, 0x74, 0x65, 0x67, 0x79, 0x48, 0x02, 0x52, 0x10, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 1262 0x6b, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x88, 0x01, 0x01, 0x1a, 0x64, 0x0a, 0x0e, 1263 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x3a, 1264 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x76, 1265 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 1266 0x73, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 1267 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 1268 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 1269 0x69, 0x6e, 0x1a, 0x36, 0x0a, 0x0c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x52, 0x75, 1270 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 1271 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 1272 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x71, 1273 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x42, 0x11, 0x0a, 1274 0x0f, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 1275 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x74, 1276 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x22, 0x98, 0x01, 0x0a, 0x0b, 0x48, 0x6f, 0x73, 0x74, 0x4d, 1277 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x3a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 1278 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 1279 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 1280 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 1281 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 1282 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 1283 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 1284 0x6f, 0x78, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 1285 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 1286 0x6e, 0x22, 0x90, 0x07, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x0b, 1287 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 1288 0x0b, 0x32, 0x1f, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 1289 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 1290 0x6e, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 1291 0x65, 0x72, 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 1292 0x65, 0x72, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 1293 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x4e, 0x61, 1294 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x65, 1295 0x72, 0x76, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x05, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 1296 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 1297 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 1298 0x48, 0x6f, 0x73, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x02, 0x18, 0x01, 0x52, 0x05, 1299 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 1300 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 1301 0x49, 0x70, 0x12, 0x42, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x68, 0x6f, 0x73, 1302 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 1303 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x48, 0x6f, 1304 0x73, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x69, 1305 0x63, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x47, 0x0a, 0x08, 0x66, 0x61, 0x6b, 0x65, 0x5f, 0x64, 1306 0x6e, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 1307 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x66, 0x61, 1308 0x6b, 0x65, 0x64, 0x6e, 0x73, 0x2e, 0x46, 0x61, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x50, 0x6f, 0x6f, 1309 0x6c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x07, 0x66, 0x61, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x12, 1310 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 1311 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 1312 0x68, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x6f, 0x6d, 0x61, 0x69, 1313 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x61, 1314 0x62, 0x6c, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 1315 0x18, 0x01, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 1316 0x12, 0x2c, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x61, 0x6c, 0x6c, 0x62, 1317 0x61, 0x63, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x64, 1318 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x3a, 1319 0x0a, 0x16, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 1320 0x6b, 0x49, 0x66, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 1321 0x18, 0x01, 0x52, 0x16, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x61, 0x6c, 0x6c, 0x62, 1322 0x61, 0x63, 0x6b, 0x49, 0x66, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x48, 0x0a, 0x0e, 0x71, 0x75, 1323 0x65, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x09, 0x20, 0x01, 1324 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 1325 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 1326 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0d, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x61, 1327 0x74, 0x65, 0x67, 0x79, 0x12, 0x48, 0x0a, 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 0x74, 1328 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x76, 1329 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 1330 0x73, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 1331 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x51, 1332 0x0a, 0x11, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 1333 0x65, 0x67, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x76, 0x32, 0x72, 0x61, 1334 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x46, 1335 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 1336 0x10, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 1337 0x79, 0x1a, 0x5b, 0x0a, 0x0a, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 1338 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 1339 0x79, 0x12, 0x37, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 1340 0x32, 0x21, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, 1341 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x49, 0x50, 0x4f, 0x72, 0x44, 0x6f, 0x6d, 1342 0x61, 0x69, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 1343 0x08, 0x07, 0x10, 0x08, 0x22, 0xe9, 0x05, 0x0a, 0x10, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 1344 0x69, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x49, 0x0a, 0x0b, 0x6e, 0x61, 0x6d, 1345 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 1346 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 1347 0x64, 0x6e, 0x73, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 1348 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x65, 1349 0x72, 0x76, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 1350 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 1351 0x70, 0x12, 0x4c, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x68, 0x6f, 0x73, 0x74, 1352 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 1353 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x53, 0x69, 0x6d, 1354 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x48, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 1355 0x6e, 0x67, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 1356 0x47, 0x0a, 0x08, 0x66, 0x61, 0x6b, 0x65, 0x5f, 0x64, 0x6e, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 1357 0x0b, 0x32, 0x2c, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 1358 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x64, 0x6e, 0x73, 0x2e, 0x46, 1359 0x61, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x50, 0x6f, 0x6f, 0x6c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 1360 0x07, 0x66, 0x61, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 1361 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x6f, 1362 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 1363 0x28, 0x09, 0x52, 0x0d, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 1364 0x72, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x63, 0x68, 1365 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x64, 0x69, 0x73, 1366 0x61, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x64, 0x69, 0x73, 1367 0x61, 0x62, 0x6c, 0x65, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x0a, 0x20, 0x01, 1368 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 1369 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x3a, 0x0a, 0x16, 0x64, 0x69, 0x73, 0x61, 0x62, 1370 0x6c, 0x65, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x66, 0x4d, 0x61, 0x74, 0x63, 1371 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x16, 0x64, 0x69, 0x73, 1372 0x61, 0x62, 0x6c, 0x65, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x66, 0x4d, 0x61, 1373 0x74, 0x63, 0x68, 0x12, 0x48, 0x0a, 0x0e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x72, 1374 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x76, 0x32, 1375 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 1376 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0d, 1377 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x48, 0x0a, 1378 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 1379 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 1380 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 1381 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 1382 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x51, 0x0a, 0x11, 0x66, 0x61, 0x6c, 0x6c, 0x62, 1383 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x0d, 0x20, 0x01, 1384 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 1385 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 1386 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x10, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 1387 0x63, 0x6b, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x12, 0x82, 0xb5, 0x18, 0x0e, 1388 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x03, 0x64, 0x6e, 0x73, 0x4a, 0x04, 1389 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 1390 0x22, 0xa2, 0x01, 0x0a, 0x15, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x48, 1391 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x3a, 0x0a, 0x04, 0x74, 0x79, 1392 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 1393 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x44, 0x6f, 1394 0x6d, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 1395 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 1396 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 1397 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x25, 1398 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 1399 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x64, 0x44, 1400 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x96, 0x08, 0x0a, 0x14, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 1401 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x39, 1402 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 1403 0x1f, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 1404 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 1405 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 1406 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 1407 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x07, 0x20, 1408 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x66, 0x0a, 0x12, 0x70, 0x72, 0x69, 0x6f, 1409 0x72, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 1410 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 1411 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 1412 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x50, 1413 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x11, 0x70, 1414 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 1415 0x12, 0x3f, 0x0a, 0x05, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 1416 0x29, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 1417 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x63, 0x6f, 1418 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x6f, 0x49, 0x50, 0x52, 0x05, 0x67, 0x65, 0x6f, 0x69, 1419 0x70, 0x12, 0x5c, 0x0a, 0x0e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x75, 1420 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x76, 0x32, 0x72, 0x61, 1421 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x53, 1422 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 1423 0x76, 0x65, 0x72, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x52, 0x75, 0x6c, 0x65, 1424 0x52, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 1425 0x47, 0x0a, 0x08, 0x66, 0x61, 0x6b, 0x65, 0x5f, 0x64, 0x6e, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 1426 0x0b, 0x32, 0x2c, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 1427 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x64, 0x6e, 0x73, 0x2e, 0x46, 1428 0x61, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x50, 0x6f, 0x6f, 0x6c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 1429 0x07, 0x66, 0x61, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x6b, 0x69, 0x70, 1430 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 1431 0x18, 0x01, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 1432 0x12, 0x4d, 0x0a, 0x0e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 1433 0x67, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 1434 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x51, 0x75, 1435 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x48, 0x00, 0x52, 0x0d, 0x71, 1436 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x88, 0x01, 0x01, 0x12, 1437 0x4d, 0x0a, 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 1438 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 1439 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x43, 0x61, 0x63, 1440 0x68, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x48, 0x01, 0x52, 0x0d, 0x63, 0x61, 1441 0x63, 0x68, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x88, 0x01, 0x01, 0x12, 0x56, 1442 0x0a, 0x11, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 1443 0x65, 0x67, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x76, 0x32, 0x72, 0x61, 1444 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x46, 1445 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x48, 1446 0x02, 0x52, 0x10, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x53, 0x74, 0x72, 0x61, 0x74, 1447 0x65, 0x67, 0x79, 0x88, 0x01, 0x01, 0x12, 0x4c, 0x0a, 0x0a, 0x67, 0x65, 0x6f, 0x5f, 0x64, 0x6f, 1448 0x6d, 0x61, 0x69, 0x6e, 0x18, 0xa1, 0x93, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x76, 1449 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 1450 0x75, 0x74, 0x65, 0x72, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 1451 0x6e, 0x2e, 0x47, 0x65, 0x6f, 0x53, 0x69, 0x74, 0x65, 0x52, 0x09, 0x67, 0x65, 0x6f, 0x44, 0x6f, 1452 0x6d, 0x61, 0x69, 0x6e, 0x1a, 0x64, 0x0a, 0x0e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 1453 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x3a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 1454 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 1455 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 1456 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 1457 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 1458 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x1a, 0x36, 0x0a, 0x0c, 0x4f, 0x72, 1459 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x75, 1460 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x12, 1461 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x69, 1462 0x7a, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x72, 1463 0x61, 0x74, 0x65, 0x67, 0x79, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 1464 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x66, 0x61, 0x6c, 1465 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x2a, 0x45, 1466 0x0a, 0x12, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 1467 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x75, 0x6c, 0x6c, 0x10, 0x00, 0x12, 0x0d, 1468 0x0a, 0x09, 0x53, 0x75, 0x62, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x10, 0x01, 0x12, 0x0b, 0x0a, 1469 0x07, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x65, 1470 0x67, 0x65, 0x78, 0x10, 0x03, 0x2a, 0x35, 0x0a, 0x0d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 1471 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x53, 0x45, 0x5f, 0x49, 0x50, 1472 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x53, 0x45, 0x5f, 0x49, 0x50, 0x34, 0x10, 0x01, 0x12, 1473 0x0b, 0x0a, 0x07, 0x55, 0x53, 0x45, 0x5f, 0x49, 0x50, 0x36, 0x10, 0x02, 0x2a, 0x34, 0x0a, 0x0d, 1474 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x10, 0x0a, 1475 0x0c, 0x43, 0x61, 0x63, 0x68, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x00, 0x12, 1476 0x11, 0x0a, 0x0d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 1477 0x10, 0x01, 0x2a, 0x45, 0x0a, 0x10, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x53, 0x74, 1478 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 1479 0x64, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 1480 0x01, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x66, 0x41, 1481 0x6e, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x10, 0x02, 0x42, 0x57, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 1482 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 1483 0x64, 0x6e, 0x73, 0x50, 0x01, 0x5a, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 1484 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 1485 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x64, 0x6e, 0x73, 0xaa, 0x02, 0x12, 1486 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x44, 1487 0x6e, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1488 } 1489 1490 var ( 1491 file_app_dns_config_proto_rawDescOnce sync.Once 1492 file_app_dns_config_proto_rawDescData = file_app_dns_config_proto_rawDesc 1493 ) 1494 1495 func file_app_dns_config_proto_rawDescGZIP() []byte { 1496 file_app_dns_config_proto_rawDescOnce.Do(func() { 1497 file_app_dns_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_app_dns_config_proto_rawDescData) 1498 }) 1499 return file_app_dns_config_proto_rawDescData 1500 } 1501 1502 var file_app_dns_config_proto_enumTypes = make([]protoimpl.EnumInfo, 4) 1503 var file_app_dns_config_proto_msgTypes = make([]protoimpl.MessageInfo, 11) 1504 var file_app_dns_config_proto_goTypes = []interface{}{ 1505 (DomainMatchingType)(0), // 0: v2ray.core.app.dns.DomainMatchingType 1506 (QueryStrategy)(0), // 1: v2ray.core.app.dns.QueryStrategy 1507 (CacheStrategy)(0), // 2: v2ray.core.app.dns.CacheStrategy 1508 (FallbackStrategy)(0), // 3: v2ray.core.app.dns.FallbackStrategy 1509 (*NameServer)(nil), // 4: v2ray.core.app.dns.NameServer 1510 (*HostMapping)(nil), // 5: v2ray.core.app.dns.HostMapping 1511 (*Config)(nil), // 6: v2ray.core.app.dns.Config 1512 (*SimplifiedConfig)(nil), // 7: v2ray.core.app.dns.SimplifiedConfig 1513 (*SimplifiedHostMapping)(nil), // 8: v2ray.core.app.dns.SimplifiedHostMapping 1514 (*SimplifiedNameServer)(nil), // 9: v2ray.core.app.dns.SimplifiedNameServer 1515 (*NameServer_PriorityDomain)(nil), // 10: v2ray.core.app.dns.NameServer.PriorityDomain 1516 (*NameServer_OriginalRule)(nil), // 11: v2ray.core.app.dns.NameServer.OriginalRule 1517 nil, // 12: v2ray.core.app.dns.Config.HostsEntry 1518 (*SimplifiedNameServer_PriorityDomain)(nil), // 13: v2ray.core.app.dns.SimplifiedNameServer.PriorityDomain 1519 (*SimplifiedNameServer_OriginalRule)(nil), // 14: v2ray.core.app.dns.SimplifiedNameServer.OriginalRule 1520 (*net.Endpoint)(nil), // 15: v2ray.core.common.net.Endpoint 1521 (*routercommon.GeoIP)(nil), // 16: v2ray.core.app.router.routercommon.GeoIP 1522 (*fakedns.FakeDnsPoolMulti)(nil), // 17: v2ray.core.app.dns.fakedns.FakeDnsPoolMulti 1523 (*routercommon.GeoSite)(nil), // 18: v2ray.core.app.router.routercommon.GeoSite 1524 (*net.IPOrDomain)(nil), // 19: v2ray.core.common.net.IPOrDomain 1525 } 1526 var file_app_dns_config_proto_depIdxs = []int32{ 1527 15, // 0: v2ray.core.app.dns.NameServer.address:type_name -> v2ray.core.common.net.Endpoint 1528 10, // 1: v2ray.core.app.dns.NameServer.prioritized_domain:type_name -> v2ray.core.app.dns.NameServer.PriorityDomain 1529 16, // 2: v2ray.core.app.dns.NameServer.geoip:type_name -> v2ray.core.app.router.routercommon.GeoIP 1530 11, // 3: v2ray.core.app.dns.NameServer.original_rules:type_name -> v2ray.core.app.dns.NameServer.OriginalRule 1531 17, // 4: v2ray.core.app.dns.NameServer.fake_dns:type_name -> v2ray.core.app.dns.fakedns.FakeDnsPoolMulti 1532 1, // 5: v2ray.core.app.dns.NameServer.query_strategy:type_name -> v2ray.core.app.dns.QueryStrategy 1533 2, // 6: v2ray.core.app.dns.NameServer.cache_strategy:type_name -> v2ray.core.app.dns.CacheStrategy 1534 3, // 7: v2ray.core.app.dns.NameServer.fallback_strategy:type_name -> v2ray.core.app.dns.FallbackStrategy 1535 0, // 8: v2ray.core.app.dns.HostMapping.type:type_name -> v2ray.core.app.dns.DomainMatchingType 1536 15, // 9: v2ray.core.app.dns.Config.NameServers:type_name -> v2ray.core.common.net.Endpoint 1537 4, // 10: v2ray.core.app.dns.Config.name_server:type_name -> v2ray.core.app.dns.NameServer 1538 12, // 11: v2ray.core.app.dns.Config.Hosts:type_name -> v2ray.core.app.dns.Config.HostsEntry 1539 5, // 12: v2ray.core.app.dns.Config.static_hosts:type_name -> v2ray.core.app.dns.HostMapping 1540 17, // 13: v2ray.core.app.dns.Config.fake_dns:type_name -> v2ray.core.app.dns.fakedns.FakeDnsPoolMulti 1541 1, // 14: v2ray.core.app.dns.Config.query_strategy:type_name -> v2ray.core.app.dns.QueryStrategy 1542 2, // 15: v2ray.core.app.dns.Config.cache_strategy:type_name -> v2ray.core.app.dns.CacheStrategy 1543 3, // 16: v2ray.core.app.dns.Config.fallback_strategy:type_name -> v2ray.core.app.dns.FallbackStrategy 1544 9, // 17: v2ray.core.app.dns.SimplifiedConfig.name_server:type_name -> v2ray.core.app.dns.SimplifiedNameServer 1545 8, // 18: v2ray.core.app.dns.SimplifiedConfig.static_hosts:type_name -> v2ray.core.app.dns.SimplifiedHostMapping 1546 17, // 19: v2ray.core.app.dns.SimplifiedConfig.fake_dns:type_name -> v2ray.core.app.dns.fakedns.FakeDnsPoolMulti 1547 1, // 20: v2ray.core.app.dns.SimplifiedConfig.query_strategy:type_name -> v2ray.core.app.dns.QueryStrategy 1548 2, // 21: v2ray.core.app.dns.SimplifiedConfig.cache_strategy:type_name -> v2ray.core.app.dns.CacheStrategy 1549 3, // 22: v2ray.core.app.dns.SimplifiedConfig.fallback_strategy:type_name -> v2ray.core.app.dns.FallbackStrategy 1550 0, // 23: v2ray.core.app.dns.SimplifiedHostMapping.type:type_name -> v2ray.core.app.dns.DomainMatchingType 1551 15, // 24: v2ray.core.app.dns.SimplifiedNameServer.address:type_name -> v2ray.core.common.net.Endpoint 1552 13, // 25: v2ray.core.app.dns.SimplifiedNameServer.prioritized_domain:type_name -> v2ray.core.app.dns.SimplifiedNameServer.PriorityDomain 1553 16, // 26: v2ray.core.app.dns.SimplifiedNameServer.geoip:type_name -> v2ray.core.app.router.routercommon.GeoIP 1554 14, // 27: v2ray.core.app.dns.SimplifiedNameServer.original_rules:type_name -> v2ray.core.app.dns.SimplifiedNameServer.OriginalRule 1555 17, // 28: v2ray.core.app.dns.SimplifiedNameServer.fake_dns:type_name -> v2ray.core.app.dns.fakedns.FakeDnsPoolMulti 1556 1, // 29: v2ray.core.app.dns.SimplifiedNameServer.query_strategy:type_name -> v2ray.core.app.dns.QueryStrategy 1557 2, // 30: v2ray.core.app.dns.SimplifiedNameServer.cache_strategy:type_name -> v2ray.core.app.dns.CacheStrategy 1558 3, // 31: v2ray.core.app.dns.SimplifiedNameServer.fallback_strategy:type_name -> v2ray.core.app.dns.FallbackStrategy 1559 18, // 32: v2ray.core.app.dns.SimplifiedNameServer.geo_domain:type_name -> v2ray.core.app.router.routercommon.GeoSite 1560 0, // 33: v2ray.core.app.dns.NameServer.PriorityDomain.type:type_name -> v2ray.core.app.dns.DomainMatchingType 1561 19, // 34: v2ray.core.app.dns.Config.HostsEntry.value:type_name -> v2ray.core.common.net.IPOrDomain 1562 0, // 35: v2ray.core.app.dns.SimplifiedNameServer.PriorityDomain.type:type_name -> v2ray.core.app.dns.DomainMatchingType 1563 36, // [36:36] is the sub-list for method output_type 1564 36, // [36:36] is the sub-list for method input_type 1565 36, // [36:36] is the sub-list for extension type_name 1566 36, // [36:36] is the sub-list for extension extendee 1567 0, // [0:36] is the sub-list for field type_name 1568 } 1569 1570 func init() { file_app_dns_config_proto_init() } 1571 func file_app_dns_config_proto_init() { 1572 if File_app_dns_config_proto != nil { 1573 return 1574 } 1575 if !protoimpl.UnsafeEnabled { 1576 file_app_dns_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 1577 switch v := v.(*NameServer); i { 1578 case 0: 1579 return &v.state 1580 case 1: 1581 return &v.sizeCache 1582 case 2: 1583 return &v.unknownFields 1584 default: 1585 return nil 1586 } 1587 } 1588 file_app_dns_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 1589 switch v := v.(*HostMapping); i { 1590 case 0: 1591 return &v.state 1592 case 1: 1593 return &v.sizeCache 1594 case 2: 1595 return &v.unknownFields 1596 default: 1597 return nil 1598 } 1599 } 1600 file_app_dns_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 1601 switch v := v.(*Config); i { 1602 case 0: 1603 return &v.state 1604 case 1: 1605 return &v.sizeCache 1606 case 2: 1607 return &v.unknownFields 1608 default: 1609 return nil 1610 } 1611 } 1612 file_app_dns_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1613 switch v := v.(*SimplifiedConfig); i { 1614 case 0: 1615 return &v.state 1616 case 1: 1617 return &v.sizeCache 1618 case 2: 1619 return &v.unknownFields 1620 default: 1621 return nil 1622 } 1623 } 1624 file_app_dns_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1625 switch v := v.(*SimplifiedHostMapping); i { 1626 case 0: 1627 return &v.state 1628 case 1: 1629 return &v.sizeCache 1630 case 2: 1631 return &v.unknownFields 1632 default: 1633 return nil 1634 } 1635 } 1636 file_app_dns_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 1637 switch v := v.(*SimplifiedNameServer); i { 1638 case 0: 1639 return &v.state 1640 case 1: 1641 return &v.sizeCache 1642 case 2: 1643 return &v.unknownFields 1644 default: 1645 return nil 1646 } 1647 } 1648 file_app_dns_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1649 switch v := v.(*NameServer_PriorityDomain); i { 1650 case 0: 1651 return &v.state 1652 case 1: 1653 return &v.sizeCache 1654 case 2: 1655 return &v.unknownFields 1656 default: 1657 return nil 1658 } 1659 } 1660 file_app_dns_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 1661 switch v := v.(*NameServer_OriginalRule); i { 1662 case 0: 1663 return &v.state 1664 case 1: 1665 return &v.sizeCache 1666 case 2: 1667 return &v.unknownFields 1668 default: 1669 return nil 1670 } 1671 } 1672 file_app_dns_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 1673 switch v := v.(*SimplifiedNameServer_PriorityDomain); i { 1674 case 0: 1675 return &v.state 1676 case 1: 1677 return &v.sizeCache 1678 case 2: 1679 return &v.unknownFields 1680 default: 1681 return nil 1682 } 1683 } 1684 file_app_dns_config_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 1685 switch v := v.(*SimplifiedNameServer_OriginalRule); i { 1686 case 0: 1687 return &v.state 1688 case 1: 1689 return &v.sizeCache 1690 case 2: 1691 return &v.unknownFields 1692 default: 1693 return nil 1694 } 1695 } 1696 } 1697 file_app_dns_config_proto_msgTypes[0].OneofWrappers = []interface{}{} 1698 file_app_dns_config_proto_msgTypes[5].OneofWrappers = []interface{}{} 1699 type x struct{} 1700 out := protoimpl.TypeBuilder{ 1701 File: protoimpl.DescBuilder{ 1702 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1703 RawDescriptor: file_app_dns_config_proto_rawDesc, 1704 NumEnums: 4, 1705 NumMessages: 11, 1706 NumExtensions: 0, 1707 NumServices: 0, 1708 }, 1709 GoTypes: file_app_dns_config_proto_goTypes, 1710 DependencyIndexes: file_app_dns_config_proto_depIdxs, 1711 EnumInfos: file_app_dns_config_proto_enumTypes, 1712 MessageInfos: file_app_dns_config_proto_msgTypes, 1713 }.Build() 1714 File_app_dns_config_proto = out.File 1715 file_app_dns_config_proto_rawDesc = nil 1716 file_app_dns_config_proto_goTypes = nil 1717 file_app_dns_config_proto_depIdxs = nil 1718 }