config.pb.go 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347
  1. // Code generated by protoc-gen-go.
  2. // source: v2ray.com/core/config.proto
  3. // DO NOT EDIT!
  4. /*
  5. Package core is a generated protocol buffer package.
  6. It is generated from these files:
  7. v2ray.com/core/config.proto
  8. It has these top-level messages:
  9. AllocationStrategyConcurrency
  10. AllocationStrategyRefresh
  11. AllocationStrategy
  12. InboundConnectionConfig
  13. OutboundConnectionConfig
  14. Config
  15. */
  16. package core
  17. import proto "github.com/golang/protobuf/proto"
  18. import fmt "fmt"
  19. import math "math"
  20. import v2ray_core_common_loader "v2ray.com/core/common/loader"
  21. import v2ray_core_common_net "v2ray.com/core/common/net"
  22. import v2ray_core_common_net1 "v2ray.com/core/common/net"
  23. import v2ray_core_common_log "v2ray.com/core/common/log"
  24. import v2ray_core_transport_internet "v2ray.com/core/transport/internet"
  25. import v2ray_core_transport "v2ray.com/core/transport"
  26. // Reference imports to suppress errors if they are not otherwise used.
  27. var _ = proto.Marshal
  28. var _ = fmt.Errorf
  29. var _ = math.Inf
  30. // This is a compile-time assertion to ensure that this generated file
  31. // is compatible with the proto package it is being compiled against.
  32. // A compilation error at this line likely means your copy of the
  33. // proto package needs to be updated.
  34. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  35. // Configuration serialization format.
  36. type ConfigFormat int32
  37. const (
  38. ConfigFormat_Protobuf ConfigFormat = 0
  39. ConfigFormat_JSON ConfigFormat = 1
  40. )
  41. var ConfigFormat_name = map[int32]string{
  42. 0: "Protobuf",
  43. 1: "JSON",
  44. }
  45. var ConfigFormat_value = map[string]int32{
  46. "Protobuf": 0,
  47. "JSON": 1,
  48. }
  49. func (x ConfigFormat) String() string {
  50. return proto.EnumName(ConfigFormat_name, int32(x))
  51. }
  52. func (ConfigFormat) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
  53. type AllocationStrategy_Type int32
  54. const (
  55. // Always allocate all connection handlers.
  56. AllocationStrategy_Always AllocationStrategy_Type = 0
  57. // Randomly allocate specific range of handlers.
  58. AllocationStrategy_Random AllocationStrategy_Type = 1
  59. // External. Not supported yet.
  60. AllocationStrategy_External AllocationStrategy_Type = 2
  61. )
  62. var AllocationStrategy_Type_name = map[int32]string{
  63. 0: "Always",
  64. 1: "Random",
  65. 2: "External",
  66. }
  67. var AllocationStrategy_Type_value = map[string]int32{
  68. "Always": 0,
  69. "Random": 1,
  70. "External": 2,
  71. }
  72. func (x AllocationStrategy_Type) String() string {
  73. return proto.EnumName(AllocationStrategy_Type_name, int32(x))
  74. }
  75. func (AllocationStrategy_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2, 0} }
  76. type AllocationStrategyConcurrency struct {
  77. Value uint32 `protobuf:"varint,1,opt,name=value" json:"value,omitempty"`
  78. }
  79. func (m *AllocationStrategyConcurrency) Reset() { *m = AllocationStrategyConcurrency{} }
  80. func (m *AllocationStrategyConcurrency) String() string { return proto.CompactTextString(m) }
  81. func (*AllocationStrategyConcurrency) ProtoMessage() {}
  82. func (*AllocationStrategyConcurrency) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
  83. type AllocationStrategyRefresh struct {
  84. Value uint32 `protobuf:"varint,1,opt,name=value" json:"value,omitempty"`
  85. }
  86. func (m *AllocationStrategyRefresh) Reset() { *m = AllocationStrategyRefresh{} }
  87. func (m *AllocationStrategyRefresh) String() string { return proto.CompactTextString(m) }
  88. func (*AllocationStrategyRefresh) ProtoMessage() {}
  89. func (*AllocationStrategyRefresh) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
  90. type AllocationStrategy struct {
  91. Type AllocationStrategy_Type `protobuf:"varint,1,opt,name=type,enum=v2ray.core.AllocationStrategy_Type" json:"type,omitempty"`
  92. // Number of handlers (ports) running in parallel.
  93. // Default value is 3 if unset.
  94. Concurrency *AllocationStrategyConcurrency `protobuf:"bytes,2,opt,name=concurrency" json:"concurrency,omitempty"`
  95. // Number of minutes before a handler is regenerated.
  96. // Default value is 5 if unset.
  97. Refresh *AllocationStrategyRefresh `protobuf:"bytes,3,opt,name=refresh" json:"refresh,omitempty"`
  98. }
  99. func (m *AllocationStrategy) Reset() { *m = AllocationStrategy{} }
  100. func (m *AllocationStrategy) String() string { return proto.CompactTextString(m) }
  101. func (*AllocationStrategy) ProtoMessage() {}
  102. func (*AllocationStrategy) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
  103. func (m *AllocationStrategy) GetConcurrency() *AllocationStrategyConcurrency {
  104. if m != nil {
  105. return m.Concurrency
  106. }
  107. return nil
  108. }
  109. func (m *AllocationStrategy) GetRefresh() *AllocationStrategyRefresh {
  110. if m != nil {
  111. return m.Refresh
  112. }
  113. return nil
  114. }
  115. // Config for an inbound connection handler.
  116. type InboundConnectionConfig struct {
  117. // Protocol specific settings. Must be one of the supported protocols.
  118. Settings *v2ray_core_common_loader.TypedSettings `protobuf:"bytes,1,opt,name=settings" json:"settings,omitempty"`
  119. // Range of port number to run on. Both inclusive.
  120. PortRange *v2ray_core_common_net.PortRange `protobuf:"bytes,2,opt,name=port_range,json=portRange" json:"port_range,omitempty"`
  121. // IP address to listen on. 0.0.0.0 if unset.
  122. ListenOn *v2ray_core_common_net1.IPOrDomain `protobuf:"bytes,3,opt,name=listen_on,json=listenOn" json:"listen_on,omitempty"`
  123. // Tag of this handler.
  124. Tag string `protobuf:"bytes,4,opt,name=tag" json:"tag,omitempty"`
  125. AllocationStrategy *AllocationStrategy `protobuf:"bytes,5,opt,name=allocation_strategy,json=allocationStrategy" json:"allocation_strategy,omitempty"`
  126. StreamSettings *v2ray_core_transport_internet.StreamConfig `protobuf:"bytes,6,opt,name=stream_settings,json=streamSettings" json:"stream_settings,omitempty"`
  127. AllowPassiveConnection bool `protobuf:"varint,7,opt,name=allow_passive_connection,json=allowPassiveConnection" json:"allow_passive_connection,omitempty"`
  128. }
  129. func (m *InboundConnectionConfig) Reset() { *m = InboundConnectionConfig{} }
  130. func (m *InboundConnectionConfig) String() string { return proto.CompactTextString(m) }
  131. func (*InboundConnectionConfig) ProtoMessage() {}
  132. func (*InboundConnectionConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
  133. func (m *InboundConnectionConfig) GetSettings() *v2ray_core_common_loader.TypedSettings {
  134. if m != nil {
  135. return m.Settings
  136. }
  137. return nil
  138. }
  139. func (m *InboundConnectionConfig) GetPortRange() *v2ray_core_common_net.PortRange {
  140. if m != nil {
  141. return m.PortRange
  142. }
  143. return nil
  144. }
  145. func (m *InboundConnectionConfig) GetListenOn() *v2ray_core_common_net1.IPOrDomain {
  146. if m != nil {
  147. return m.ListenOn
  148. }
  149. return nil
  150. }
  151. func (m *InboundConnectionConfig) GetAllocationStrategy() *AllocationStrategy {
  152. if m != nil {
  153. return m.AllocationStrategy
  154. }
  155. return nil
  156. }
  157. func (m *InboundConnectionConfig) GetStreamSettings() *v2ray_core_transport_internet.StreamConfig {
  158. if m != nil {
  159. return m.StreamSettings
  160. }
  161. return nil
  162. }
  163. // Config for an outbound connection handler.
  164. type OutboundConnectionConfig struct {
  165. Settings *v2ray_core_common_loader.TypedSettings `protobuf:"bytes,1,opt,name=settings" json:"settings,omitempty"`
  166. // IP address to send data through. 0.0.0.0 if unset.
  167. SendThrough *v2ray_core_common_net1.IPOrDomain `protobuf:"bytes,2,opt,name=send_through,json=sendThrough" json:"send_through,omitempty"`
  168. StreamSettings *v2ray_core_transport_internet.StreamConfig `protobuf:"bytes,3,opt,name=stream_settings,json=streamSettings" json:"stream_settings,omitempty"`
  169. ProxySettings *v2ray_core_transport_internet.ProxyConfig `protobuf:"bytes,5,opt,name=proxy_settings,json=proxySettings" json:"proxy_settings,omitempty"`
  170. Tag string `protobuf:"bytes,4,opt,name=tag" json:"tag,omitempty"`
  171. }
  172. func (m *OutboundConnectionConfig) Reset() { *m = OutboundConnectionConfig{} }
  173. func (m *OutboundConnectionConfig) String() string { return proto.CompactTextString(m) }
  174. func (*OutboundConnectionConfig) ProtoMessage() {}
  175. func (*OutboundConnectionConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
  176. func (m *OutboundConnectionConfig) GetSettings() *v2ray_core_common_loader.TypedSettings {
  177. if m != nil {
  178. return m.Settings
  179. }
  180. return nil
  181. }
  182. func (m *OutboundConnectionConfig) GetSendThrough() *v2ray_core_common_net1.IPOrDomain {
  183. if m != nil {
  184. return m.SendThrough
  185. }
  186. return nil
  187. }
  188. func (m *OutboundConnectionConfig) GetStreamSettings() *v2ray_core_transport_internet.StreamConfig {
  189. if m != nil {
  190. return m.StreamSettings
  191. }
  192. return nil
  193. }
  194. func (m *OutboundConnectionConfig) GetProxySettings() *v2ray_core_transport_internet.ProxyConfig {
  195. if m != nil {
  196. return m.ProxySettings
  197. }
  198. return nil
  199. }
  200. type Config struct {
  201. // Inbound handler configurations. Must have at least one item.
  202. Inbound []*InboundConnectionConfig `protobuf:"bytes,1,rep,name=inbound" json:"inbound,omitempty"`
  203. // Outbound handler configurations. Must have at least one item. The first item is used as default for routing.
  204. Outbound []*OutboundConnectionConfig `protobuf:"bytes,2,rep,name=outbound" json:"outbound,omitempty"`
  205. Log *v2ray_core_common_log.Config `protobuf:"bytes,3,opt,name=log" json:"log,omitempty"`
  206. // App configuration. Must be one in the app directory.
  207. App []*v2ray_core_common_loader.TypedSettings `protobuf:"bytes,4,rep,name=app" json:"app,omitempty"`
  208. Transport *v2ray_core_transport.Config `protobuf:"bytes,5,opt,name=transport" json:"transport,omitempty"`
  209. }
  210. func (m *Config) Reset() { *m = Config{} }
  211. func (m *Config) String() string { return proto.CompactTextString(m) }
  212. func (*Config) ProtoMessage() {}
  213. func (*Config) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
  214. func (m *Config) GetInbound() []*InboundConnectionConfig {
  215. if m != nil {
  216. return m.Inbound
  217. }
  218. return nil
  219. }
  220. func (m *Config) GetOutbound() []*OutboundConnectionConfig {
  221. if m != nil {
  222. return m.Outbound
  223. }
  224. return nil
  225. }
  226. func (m *Config) GetLog() *v2ray_core_common_log.Config {
  227. if m != nil {
  228. return m.Log
  229. }
  230. return nil
  231. }
  232. func (m *Config) GetApp() []*v2ray_core_common_loader.TypedSettings {
  233. if m != nil {
  234. return m.App
  235. }
  236. return nil
  237. }
  238. func (m *Config) GetTransport() *v2ray_core_transport.Config {
  239. if m != nil {
  240. return m.Transport
  241. }
  242. return nil
  243. }
  244. func init() {
  245. proto.RegisterType((*AllocationStrategyConcurrency)(nil), "v2ray.core.AllocationStrategyConcurrency")
  246. proto.RegisterType((*AllocationStrategyRefresh)(nil), "v2ray.core.AllocationStrategyRefresh")
  247. proto.RegisterType((*AllocationStrategy)(nil), "v2ray.core.AllocationStrategy")
  248. proto.RegisterType((*InboundConnectionConfig)(nil), "v2ray.core.InboundConnectionConfig")
  249. proto.RegisterType((*OutboundConnectionConfig)(nil), "v2ray.core.OutboundConnectionConfig")
  250. proto.RegisterType((*Config)(nil), "v2ray.core.Config")
  251. proto.RegisterEnum("v2ray.core.ConfigFormat", ConfigFormat_name, ConfigFormat_value)
  252. proto.RegisterEnum("v2ray.core.AllocationStrategy_Type", AllocationStrategy_Type_name, AllocationStrategy_Type_value)
  253. }
  254. func init() { proto.RegisterFile("v2ray.com/core/config.proto", fileDescriptor0) }
  255. var fileDescriptor0 = []byte{
  256. // 719 bytes of a gzipped FileDescriptorProto
  257. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x95, 0xdd, 0x6e, 0xd3, 0x30,
  258. 0x1c, 0xc5, 0x97, 0xb6, 0xeb, 0xda, 0x7f, 0xb7, 0x52, 0x19, 0x04, 0x61, 0x30, 0x54, 0xba, 0xaf,
  259. 0x32, 0x50, 0x2a, 0x8a, 0x10, 0x1f, 0x12, 0x8c, 0xad, 0x03, 0x69, 0x20, 0xd1, 0xe2, 0xee, 0x8a,
  260. 0x9b, 0xca, 0x4b, 0xbd, 0x2c, 0x52, 0x62, 0x47, 0x8e, 0xbb, 0xad, 0x8f, 0xc0, 0xe3, 0xf0, 0x2a,
  261. 0x3c, 0x01, 0x8f, 0x82, 0xec, 0xb8, 0x69, 0x47, 0xdb, 0x6d, 0x12, 0xe2, 0x2e, 0x8d, 0xcf, 0xef,
  262. 0xd8, 0x39, 0xc7, 0x76, 0xe1, 0xc1, 0x59, 0x53, 0x90, 0xa1, 0xe3, 0xf2, 0xb0, 0xe1, 0x72, 0x41,
  263. 0x1b, 0x2e, 0x67, 0x27, 0xbe, 0xe7, 0x44, 0x82, 0x4b, 0x8e, 0x60, 0x34, 0x28, 0xe8, 0xea, 0xf6,
  264. 0x94, 0x30, 0x0c, 0x39, 0x6b, 0x04, 0x9c, 0xf4, 0xa9, 0x68, 0xc8, 0x61, 0x44, 0x13, 0x68, 0x75,
  265. 0x63, 0xb6, 0x90, 0x51, 0xd9, 0x88, 0xb8, 0x90, 0x46, 0xb5, 0x3d, 0x5f, 0x45, 0xfa, 0x7d, 0x41,
  266. 0xe3, 0xd8, 0x08, 0xb7, 0xe6, 0xcd, 0xeb, 0x5d, 0x5a, 0xeb, 0xaa, 0xf3, 0x97, 0x4e, 0x0a, 0xc2,
  267. 0x62, 0x35, 0x61, 0xc3, 0x67, 0x92, 0x0a, 0x65, 0x7c, 0x49, 0xbf, 0x39, 0x57, 0x3f, 0x29, 0xab,
  268. 0xbd, 0x84, 0xb5, 0xbd, 0x20, 0xe0, 0x2e, 0x91, 0x3e, 0x67, 0x5d, 0x29, 0x88, 0xa4, 0xde, 0xb0,
  269. 0xc5, 0x99, 0x3b, 0x10, 0x82, 0x32, 0x77, 0x88, 0xee, 0xc0, 0xe2, 0x19, 0x09, 0x06, 0xd4, 0xb6,
  270. 0xaa, 0x56, 0x7d, 0x05, 0x27, 0x3f, 0x6a, 0xcf, 0xe1, 0xfe, 0x34, 0x86, 0xe9, 0x89, 0xa0, 0xf1,
  271. 0xe9, 0x1c, 0xe4, 0x47, 0x06, 0xd0, 0x34, 0x83, 0x5e, 0x41, 0x4e, 0x85, 0xab, 0xb5, 0xe5, 0xe6,
  272. 0xba, 0x33, 0xae, 0xc4, 0x99, 0x56, 0x3b, 0x47, 0xc3, 0x88, 0x62, 0x0d, 0xa0, 0x2f, 0x50, 0x72,
  273. 0xc7, 0xeb, 0xb4, 0x33, 0x55, 0xab, 0x5e, 0x6a, 0x3e, 0xb9, 0x9a, 0x9f, 0xf8, 0x30, 0x3c, 0x49,
  274. 0xa3, 0x5d, 0x58, 0x12, 0xc9, 0xea, 0xed, 0xac, 0x36, 0xda, 0xbc, 0xda, 0xc8, 0x7c, 0x2a, 0x1e,
  275. 0x51, 0xb5, 0x67, 0x90, 0x53, 0x6b, 0x43, 0x00, 0xf9, 0xbd, 0xe0, 0x9c, 0x0c, 0xe3, 0xca, 0x82,
  276. 0x7a, 0xc6, 0x84, 0xf5, 0x79, 0x58, 0xb1, 0xd0, 0x32, 0x14, 0x3e, 0x5e, 0xa8, 0x9e, 0x48, 0x50,
  277. 0xc9, 0xd4, 0x7e, 0x65, 0xe1, 0xde, 0x21, 0x3b, 0xe6, 0x03, 0xd6, 0x6f, 0x71, 0xc6, 0xa8, 0xab,
  278. 0xbc, 0x5b, 0xba, 0x17, 0xd4, 0x82, 0x42, 0x4c, 0xa5, 0xf4, 0x99, 0x17, 0xeb, 0x50, 0x4a, 0xcd,
  279. 0xed, 0xc9, 0xb5, 0x24, 0xfb, 0xc3, 0x49, 0xf6, 0xa5, 0xce, 0xa3, 0xdf, 0x35, 0x72, 0x9c, 0x82,
  280. 0x68, 0x17, 0x40, 0x75, 0xdd, 0x13, 0x84, 0x79, 0xd4, 0x64, 0x53, 0x9d, 0x61, 0xc3, 0xa8, 0x74,
  281. 0x3a, 0x5c, 0x48, 0xac, 0x74, 0xb8, 0x18, 0x8d, 0x1e, 0xd1, 0x7b, 0x28, 0x06, 0x7e, 0x2c, 0x29,
  282. 0xeb, 0x71, 0x66, 0x22, 0x79, 0x3c, 0x87, 0x3f, 0xec, 0xb4, 0xc5, 0x01, 0x0f, 0x89, 0xcf, 0x70,
  283. 0x21, 0x61, 0xda, 0x0c, 0x55, 0x20, 0x2b, 0x89, 0x67, 0xe7, 0xaa, 0x56, 0xbd, 0x88, 0xd5, 0x23,
  284. 0x6a, 0xc3, 0x6d, 0x92, 0xe6, 0xd8, 0x8b, 0x4d, 0x90, 0xf6, 0xa2, 0xf6, 0x7e, 0x74, 0x4d, 0xdc,
  285. 0x88, 0x4c, 0xef, 0x9c, 0x23, 0xb8, 0x15, 0x4b, 0x41, 0x49, 0xd8, 0x4b, 0xf3, 0xca, 0x6b, 0xb3,
  286. 0xa7, 0x93, 0x66, 0xe9, 0xbe, 0x77, 0x46, 0xe7, 0xc4, 0xe9, 0x6a, 0x2a, 0x89, 0x1b, 0x97, 0x13,
  287. 0x8f, 0x51, 0x86, 0xe8, 0x35, 0xd8, 0x6a, 0xae, 0xf3, 0x5e, 0x44, 0xe2, 0xd8, 0x3f, 0xa3, 0x3d,
  288. 0x37, 0x2d, 0xc8, 0x5e, 0xaa, 0x5a, 0xf5, 0x02, 0xbe, 0xab, 0xc7, 0x3b, 0xc9, 0xf0, 0xb8, 0xbe,
  289. 0xda, 0xef, 0x0c, 0xd8, 0xed, 0x81, 0xfc, 0x8f, 0xad, 0x1e, 0xc0, 0x72, 0x4c, 0x59, 0xbf, 0x27,
  290. 0x4f, 0x05, 0x1f, 0x78, 0xa7, 0xa6, 0xd7, 0x1b, 0xf4, 0x52, 0x52, 0xd8, 0x51, 0x42, 0xcd, 0xca,
  291. 0x2d, 0xfb, 0xef, 0xb9, 0x7d, 0x83, 0x72, 0x24, 0xf8, 0xc5, 0x70, 0x6c, 0x9a, 0x34, 0xbb, 0x73,
  292. 0x8d, 0x69, 0x47, 0x41, 0xc6, 0x73, 0x45, 0x3b, 0xa4, 0x96, 0x53, 0x7b, 0xa8, 0xf6, 0x33, 0x03,
  293. 0x79, 0x13, 0xe8, 0x3b, 0x58, 0xf2, 0x93, 0x13, 0x64, 0x5b, 0xd5, 0x6c, 0xbd, 0x74, 0xf9, 0xea,
  294. 0x98, 0x73, 0xb8, 0xf0, 0x88, 0x41, 0x1f, 0xa0, 0xc0, 0x4d, 0x57, 0x76, 0x46, 0xf3, 0x1b, 0x93,
  295. 0xfc, 0xbc, 0x1e, 0x71, 0x4a, 0xa1, 0x06, 0x64, 0x03, 0xee, 0x99, 0xe8, 0xd6, 0x66, 0x96, 0xe9,
  296. 0x39, 0x86, 0x52, 0x4a, 0xf4, 0x06, 0xb2, 0x24, 0x8a, 0xec, 0x9c, 0x9e, 0xed, 0xc6, 0xed, 0x2b,
  297. 0x06, 0xbd, 0x85, 0x62, 0x1a, 0x9d, 0xc9, 0xf5, 0xe1, 0xec, 0x5c, 0xcd, 0x84, 0x63, 0xf9, 0xce,
  298. 0x16, 0x2c, 0x27, 0x2f, 0x3f, 0x71, 0x11, 0x12, 0xa9, 0x6e, 0xa2, 0x8e, 0xba, 0xfa, 0x8f, 0x07,
  299. 0x27, 0x95, 0x05, 0x54, 0x80, 0xdc, 0xe7, 0x6e, 0xfb, 0x6b, 0xc5, 0xda, 0x5f, 0x87, 0xb2, 0xcb,
  300. 0xc3, 0x09, 0xd7, 0xfd, 0x52, 0xc2, 0x69, 0xf5, 0xf7, 0x9c, 0x7a, 0x75, 0x9c, 0xd7, 0xff, 0x1a,
  301. 0x2f, 0xfe, 0x04, 0x00, 0x00, 0xff, 0xff, 0xe4, 0x6f, 0x70, 0x9e, 0x57, 0x07, 0x00, 0x00,
  302. }