config.pb.go 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507
  1. package proxyman
  2. import proto "github.com/golang/protobuf/proto"
  3. import fmt "fmt"
  4. import math "math"
  5. import v2ray_core_common_serial "v2ray.com/core/common/serial"
  6. import v2ray_core_common_net "v2ray.com/core/common/net"
  7. import v2ray_core_common_net2 "v2ray.com/core/common/net"
  8. import v2ray_core_common_net3 "v2ray.com/core/common/net"
  9. import v2ray_core_transport_internet "v2ray.com/core/transport/internet"
  10. // Reference imports to suppress errors if they are not otherwise used.
  11. var _ = proto.Marshal
  12. var _ = fmt.Errorf
  13. var _ = math.Inf
  14. // This is a compile-time assertion to ensure that this generated file
  15. // is compatible with the proto package it is being compiled against.
  16. // A compilation error at this line likely means your copy of the
  17. // proto package needs to be updated.
  18. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  19. type AllocationStrategy_Type int32
  20. const (
  21. // Always allocate all connection handlers.
  22. AllocationStrategy_Always AllocationStrategy_Type = 0
  23. // Randomly allocate specific range of handlers.
  24. AllocationStrategy_Random AllocationStrategy_Type = 1
  25. // External. Not supported yet.
  26. AllocationStrategy_External AllocationStrategy_Type = 2
  27. )
  28. var AllocationStrategy_Type_name = map[int32]string{
  29. 0: "Always",
  30. 1: "Random",
  31. 2: "External",
  32. }
  33. var AllocationStrategy_Type_value = map[string]int32{
  34. "Always": 0,
  35. "Random": 1,
  36. "External": 2,
  37. }
  38. func (x AllocationStrategy_Type) String() string {
  39. return proto.EnumName(AllocationStrategy_Type_name, int32(x))
  40. }
  41. func (AllocationStrategy_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1, 0} }
  42. type SessionFrame_FrameCommand int32
  43. const (
  44. SessionFrame_SessionNew SessionFrame_FrameCommand = 0
  45. SessionFrame_SessionKeep SessionFrame_FrameCommand = 1
  46. SessionFrame_SessionEnd SessionFrame_FrameCommand = 2
  47. )
  48. var SessionFrame_FrameCommand_name = map[int32]string{
  49. 0: "SessionNew",
  50. 1: "SessionKeep",
  51. 2: "SessionEnd",
  52. }
  53. var SessionFrame_FrameCommand_value = map[string]int32{
  54. "SessionNew": 0,
  55. "SessionKeep": 1,
  56. "SessionEnd": 2,
  57. }
  58. func (x SessionFrame_FrameCommand) String() string {
  59. return proto.EnumName(SessionFrame_FrameCommand_name, int32(x))
  60. }
  61. func (SessionFrame_FrameCommand) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{9, 0} }
  62. type InboundConfig struct {
  63. }
  64. func (m *InboundConfig) Reset() { *m = InboundConfig{} }
  65. func (m *InboundConfig) String() string { return proto.CompactTextString(m) }
  66. func (*InboundConfig) ProtoMessage() {}
  67. func (*InboundConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
  68. type AllocationStrategy struct {
  69. Type AllocationStrategy_Type `protobuf:"varint,1,opt,name=type,enum=v2ray.core.app.proxyman.AllocationStrategy_Type" json:"type,omitempty"`
  70. // Number of handlers (ports) running in parallel.
  71. // Default value is 3 if unset.
  72. Concurrency *AllocationStrategy_AllocationStrategyConcurrency `protobuf:"bytes,2,opt,name=concurrency" json:"concurrency,omitempty"`
  73. // Number of minutes before a handler is regenerated.
  74. // Default value is 5 if unset.
  75. Refresh *AllocationStrategy_AllocationStrategyRefresh `protobuf:"bytes,3,opt,name=refresh" json:"refresh,omitempty"`
  76. }
  77. func (m *AllocationStrategy) Reset() { *m = AllocationStrategy{} }
  78. func (m *AllocationStrategy) String() string { return proto.CompactTextString(m) }
  79. func (*AllocationStrategy) ProtoMessage() {}
  80. func (*AllocationStrategy) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
  81. func (m *AllocationStrategy) GetType() AllocationStrategy_Type {
  82. if m != nil {
  83. return m.Type
  84. }
  85. return AllocationStrategy_Always
  86. }
  87. func (m *AllocationStrategy) GetConcurrency() *AllocationStrategy_AllocationStrategyConcurrency {
  88. if m != nil {
  89. return m.Concurrency
  90. }
  91. return nil
  92. }
  93. func (m *AllocationStrategy) GetRefresh() *AllocationStrategy_AllocationStrategyRefresh {
  94. if m != nil {
  95. return m.Refresh
  96. }
  97. return nil
  98. }
  99. type AllocationStrategy_AllocationStrategyConcurrency struct {
  100. Value uint32 `protobuf:"varint,1,opt,name=value" json:"value,omitempty"`
  101. }
  102. func (m *AllocationStrategy_AllocationStrategyConcurrency) Reset() {
  103. *m = AllocationStrategy_AllocationStrategyConcurrency{}
  104. }
  105. func (m *AllocationStrategy_AllocationStrategyConcurrency) String() string {
  106. return proto.CompactTextString(m)
  107. }
  108. func (*AllocationStrategy_AllocationStrategyConcurrency) ProtoMessage() {}
  109. func (*AllocationStrategy_AllocationStrategyConcurrency) Descriptor() ([]byte, []int) {
  110. return fileDescriptor0, []int{1, 0}
  111. }
  112. func (m *AllocationStrategy_AllocationStrategyConcurrency) GetValue() uint32 {
  113. if m != nil {
  114. return m.Value
  115. }
  116. return 0
  117. }
  118. type AllocationStrategy_AllocationStrategyRefresh struct {
  119. Value uint32 `protobuf:"varint,1,opt,name=value" json:"value,omitempty"`
  120. }
  121. func (m *AllocationStrategy_AllocationStrategyRefresh) Reset() {
  122. *m = AllocationStrategy_AllocationStrategyRefresh{}
  123. }
  124. func (m *AllocationStrategy_AllocationStrategyRefresh) String() string {
  125. return proto.CompactTextString(m)
  126. }
  127. func (*AllocationStrategy_AllocationStrategyRefresh) ProtoMessage() {}
  128. func (*AllocationStrategy_AllocationStrategyRefresh) Descriptor() ([]byte, []int) {
  129. return fileDescriptor0, []int{1, 1}
  130. }
  131. func (m *AllocationStrategy_AllocationStrategyRefresh) GetValue() uint32 {
  132. if m != nil {
  133. return m.Value
  134. }
  135. return 0
  136. }
  137. type ReceiverConfig struct {
  138. PortRange *v2ray_core_common_net3.PortRange `protobuf:"bytes,1,opt,name=port_range,json=portRange" json:"port_range,omitempty"`
  139. Listen *v2ray_core_common_net.IPOrDomain `protobuf:"bytes,2,opt,name=listen" json:"listen,omitempty"`
  140. AllocationStrategy *AllocationStrategy `protobuf:"bytes,3,opt,name=allocation_strategy,json=allocationStrategy" json:"allocation_strategy,omitempty"`
  141. StreamSettings *v2ray_core_transport_internet.StreamConfig `protobuf:"bytes,4,opt,name=stream_settings,json=streamSettings" json:"stream_settings,omitempty"`
  142. ReceiveOriginalDestination bool `protobuf:"varint,5,opt,name=receive_original_destination,json=receiveOriginalDestination" json:"receive_original_destination,omitempty"`
  143. AllowPassiveConnection bool `protobuf:"varint,6,opt,name=allow_passive_connection,json=allowPassiveConnection" json:"allow_passive_connection,omitempty"`
  144. }
  145. func (m *ReceiverConfig) Reset() { *m = ReceiverConfig{} }
  146. func (m *ReceiverConfig) String() string { return proto.CompactTextString(m) }
  147. func (*ReceiverConfig) ProtoMessage() {}
  148. func (*ReceiverConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
  149. func (m *ReceiverConfig) GetPortRange() *v2ray_core_common_net3.PortRange {
  150. if m != nil {
  151. return m.PortRange
  152. }
  153. return nil
  154. }
  155. func (m *ReceiverConfig) GetListen() *v2ray_core_common_net.IPOrDomain {
  156. if m != nil {
  157. return m.Listen
  158. }
  159. return nil
  160. }
  161. func (m *ReceiverConfig) GetAllocationStrategy() *AllocationStrategy {
  162. if m != nil {
  163. return m.AllocationStrategy
  164. }
  165. return nil
  166. }
  167. func (m *ReceiverConfig) GetStreamSettings() *v2ray_core_transport_internet.StreamConfig {
  168. if m != nil {
  169. return m.StreamSettings
  170. }
  171. return nil
  172. }
  173. func (m *ReceiverConfig) GetReceiveOriginalDestination() bool {
  174. if m != nil {
  175. return m.ReceiveOriginalDestination
  176. }
  177. return false
  178. }
  179. func (m *ReceiverConfig) GetAllowPassiveConnection() bool {
  180. if m != nil {
  181. return m.AllowPassiveConnection
  182. }
  183. return false
  184. }
  185. type InboundHandlerConfig struct {
  186. Tag string `protobuf:"bytes,1,opt,name=tag" json:"tag,omitempty"`
  187. ReceiverSettings *v2ray_core_common_serial.TypedMessage `protobuf:"bytes,2,opt,name=receiver_settings,json=receiverSettings" json:"receiver_settings,omitempty"`
  188. ProxySettings *v2ray_core_common_serial.TypedMessage `protobuf:"bytes,3,opt,name=proxy_settings,json=proxySettings" json:"proxy_settings,omitempty"`
  189. DispatchSettings *DispatchConfig `protobuf:"bytes,4,opt,name=dispatch_settings,json=dispatchSettings" json:"dispatch_settings,omitempty"`
  190. }
  191. func (m *InboundHandlerConfig) Reset() { *m = InboundHandlerConfig{} }
  192. func (m *InboundHandlerConfig) String() string { return proto.CompactTextString(m) }
  193. func (*InboundHandlerConfig) ProtoMessage() {}
  194. func (*InboundHandlerConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
  195. func (m *InboundHandlerConfig) GetTag() string {
  196. if m != nil {
  197. return m.Tag
  198. }
  199. return ""
  200. }
  201. func (m *InboundHandlerConfig) GetReceiverSettings() *v2ray_core_common_serial.TypedMessage {
  202. if m != nil {
  203. return m.ReceiverSettings
  204. }
  205. return nil
  206. }
  207. func (m *InboundHandlerConfig) GetProxySettings() *v2ray_core_common_serial.TypedMessage {
  208. if m != nil {
  209. return m.ProxySettings
  210. }
  211. return nil
  212. }
  213. func (m *InboundHandlerConfig) GetDispatchSettings() *DispatchConfig {
  214. if m != nil {
  215. return m.DispatchSettings
  216. }
  217. return nil
  218. }
  219. type OutboundConfig struct {
  220. }
  221. func (m *OutboundConfig) Reset() { *m = OutboundConfig{} }
  222. func (m *OutboundConfig) String() string { return proto.CompactTextString(m) }
  223. func (*OutboundConfig) ProtoMessage() {}
  224. func (*OutboundConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
  225. type SenderConfig struct {
  226. // Send traffic through the given IP. Only IP is allowed.
  227. Via *v2ray_core_common_net.IPOrDomain `protobuf:"bytes,1,opt,name=via" json:"via,omitempty"`
  228. StreamSettings *v2ray_core_transport_internet.StreamConfig `protobuf:"bytes,2,opt,name=stream_settings,json=streamSettings" json:"stream_settings,omitempty"`
  229. ProxySettings *v2ray_core_transport_internet.ProxyConfig `protobuf:"bytes,3,opt,name=proxy_settings,json=proxySettings" json:"proxy_settings,omitempty"`
  230. }
  231. func (m *SenderConfig) Reset() { *m = SenderConfig{} }
  232. func (m *SenderConfig) String() string { return proto.CompactTextString(m) }
  233. func (*SenderConfig) ProtoMessage() {}
  234. func (*SenderConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
  235. func (m *SenderConfig) GetVia() *v2ray_core_common_net.IPOrDomain {
  236. if m != nil {
  237. return m.Via
  238. }
  239. return nil
  240. }
  241. func (m *SenderConfig) GetStreamSettings() *v2ray_core_transport_internet.StreamConfig {
  242. if m != nil {
  243. return m.StreamSettings
  244. }
  245. return nil
  246. }
  247. func (m *SenderConfig) GetProxySettings() *v2ray_core_transport_internet.ProxyConfig {
  248. if m != nil {
  249. return m.ProxySettings
  250. }
  251. return nil
  252. }
  253. type OutboundHandlerConfig struct {
  254. Tag string `protobuf:"bytes,1,opt,name=tag" json:"tag,omitempty"`
  255. SenderSettings *v2ray_core_common_serial.TypedMessage `protobuf:"bytes,2,opt,name=sender_settings,json=senderSettings" json:"sender_settings,omitempty"`
  256. ProxySettings *v2ray_core_common_serial.TypedMessage `protobuf:"bytes,3,opt,name=proxy_settings,json=proxySettings" json:"proxy_settings,omitempty"`
  257. Expire int64 `protobuf:"varint,4,opt,name=expire" json:"expire,omitempty"`
  258. Comment string `protobuf:"bytes,5,opt,name=comment" json:"comment,omitempty"`
  259. DispatchSettings *DispatchConfig `protobuf:"bytes,6,opt,name=dispatch_settings,json=dispatchSettings" json:"dispatch_settings,omitempty"`
  260. }
  261. func (m *OutboundHandlerConfig) Reset() { *m = OutboundHandlerConfig{} }
  262. func (m *OutboundHandlerConfig) String() string { return proto.CompactTextString(m) }
  263. func (*OutboundHandlerConfig) ProtoMessage() {}
  264. func (*OutboundHandlerConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
  265. func (m *OutboundHandlerConfig) GetTag() string {
  266. if m != nil {
  267. return m.Tag
  268. }
  269. return ""
  270. }
  271. func (m *OutboundHandlerConfig) GetSenderSettings() *v2ray_core_common_serial.TypedMessage {
  272. if m != nil {
  273. return m.SenderSettings
  274. }
  275. return nil
  276. }
  277. func (m *OutboundHandlerConfig) GetProxySettings() *v2ray_core_common_serial.TypedMessage {
  278. if m != nil {
  279. return m.ProxySettings
  280. }
  281. return nil
  282. }
  283. func (m *OutboundHandlerConfig) GetExpire() int64 {
  284. if m != nil {
  285. return m.Expire
  286. }
  287. return 0
  288. }
  289. func (m *OutboundHandlerConfig) GetComment() string {
  290. if m != nil {
  291. return m.Comment
  292. }
  293. return ""
  294. }
  295. func (m *OutboundHandlerConfig) GetDispatchSettings() *DispatchConfig {
  296. if m != nil {
  297. return m.DispatchSettings
  298. }
  299. return nil
  300. }
  301. type MultiplexingConfig struct {
  302. Enabled bool `protobuf:"varint,1,opt,name=enabled" json:"enabled,omitempty"`
  303. }
  304. func (m *MultiplexingConfig) Reset() { *m = MultiplexingConfig{} }
  305. func (m *MultiplexingConfig) String() string { return proto.CompactTextString(m) }
  306. func (*MultiplexingConfig) ProtoMessage() {}
  307. func (*MultiplexingConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
  308. func (m *MultiplexingConfig) GetEnabled() bool {
  309. if m != nil {
  310. return m.Enabled
  311. }
  312. return false
  313. }
  314. type DispatchConfig struct {
  315. MuxSettings *MultiplexingConfig `protobuf:"bytes,1,opt,name=mux_settings,json=muxSettings" json:"mux_settings,omitempty"`
  316. }
  317. func (m *DispatchConfig) Reset() { *m = DispatchConfig{} }
  318. func (m *DispatchConfig) String() string { return proto.CompactTextString(m) }
  319. func (*DispatchConfig) ProtoMessage() {}
  320. func (*DispatchConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
  321. func (m *DispatchConfig) GetMuxSettings() *MultiplexingConfig {
  322. if m != nil {
  323. return m.MuxSettings
  324. }
  325. return nil
  326. }
  327. type SessionFrame struct {
  328. Id uint32 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"`
  329. Command SessionFrame_FrameCommand `protobuf:"varint,2,opt,name=command,enum=v2ray.core.app.proxyman.SessionFrame_FrameCommand" json:"command,omitempty"`
  330. Target *v2ray_core_common_net2.Endpoint `protobuf:"bytes,3,opt,name=target" json:"target,omitempty"`
  331. Payload []byte `protobuf:"bytes,4,opt,name=payload,proto3" json:"payload,omitempty"`
  332. }
  333. func (m *SessionFrame) Reset() { *m = SessionFrame{} }
  334. func (m *SessionFrame) String() string { return proto.CompactTextString(m) }
  335. func (*SessionFrame) ProtoMessage() {}
  336. func (*SessionFrame) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
  337. func (m *SessionFrame) GetId() uint32 {
  338. if m != nil {
  339. return m.Id
  340. }
  341. return 0
  342. }
  343. func (m *SessionFrame) GetCommand() SessionFrame_FrameCommand {
  344. if m != nil {
  345. return m.Command
  346. }
  347. return SessionFrame_SessionNew
  348. }
  349. func (m *SessionFrame) GetTarget() *v2ray_core_common_net2.Endpoint {
  350. if m != nil {
  351. return m.Target
  352. }
  353. return nil
  354. }
  355. func (m *SessionFrame) GetPayload() []byte {
  356. if m != nil {
  357. return m.Payload
  358. }
  359. return nil
  360. }
  361. func init() {
  362. proto.RegisterType((*InboundConfig)(nil), "v2ray.core.app.proxyman.InboundConfig")
  363. proto.RegisterType((*AllocationStrategy)(nil), "v2ray.core.app.proxyman.AllocationStrategy")
  364. proto.RegisterType((*AllocationStrategy_AllocationStrategyConcurrency)(nil), "v2ray.core.app.proxyman.AllocationStrategy.AllocationStrategyConcurrency")
  365. proto.RegisterType((*AllocationStrategy_AllocationStrategyRefresh)(nil), "v2ray.core.app.proxyman.AllocationStrategy.AllocationStrategyRefresh")
  366. proto.RegisterType((*ReceiverConfig)(nil), "v2ray.core.app.proxyman.ReceiverConfig")
  367. proto.RegisterType((*InboundHandlerConfig)(nil), "v2ray.core.app.proxyman.InboundHandlerConfig")
  368. proto.RegisterType((*OutboundConfig)(nil), "v2ray.core.app.proxyman.OutboundConfig")
  369. proto.RegisterType((*SenderConfig)(nil), "v2ray.core.app.proxyman.SenderConfig")
  370. proto.RegisterType((*OutboundHandlerConfig)(nil), "v2ray.core.app.proxyman.OutboundHandlerConfig")
  371. proto.RegisterType((*MultiplexingConfig)(nil), "v2ray.core.app.proxyman.MultiplexingConfig")
  372. proto.RegisterType((*DispatchConfig)(nil), "v2ray.core.app.proxyman.DispatchConfig")
  373. proto.RegisterType((*SessionFrame)(nil), "v2ray.core.app.proxyman.SessionFrame")
  374. proto.RegisterEnum("v2ray.core.app.proxyman.AllocationStrategy_Type", AllocationStrategy_Type_name, AllocationStrategy_Type_value)
  375. proto.RegisterEnum("v2ray.core.app.proxyman.SessionFrame_FrameCommand", SessionFrame_FrameCommand_name, SessionFrame_FrameCommand_value)
  376. }
  377. func init() { proto.RegisterFile("v2ray.com/core/app/proxyman/config.proto", fileDescriptor0) }
  378. var fileDescriptor0 = []byte{
  379. // 931 bytes of a gzipped FileDescriptorProto
  380. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x56, 0x71, 0x6f, 0x1b, 0x35,
  381. 0x1c, 0xdd, 0x5d, 0xba, 0xb4, 0xfd, 0x25, 0xbd, 0xde, 0xcc, 0xd8, 0x42, 0x00, 0x51, 0x22, 0xc4,
  382. 0x2a, 0x86, 0x2e, 0x23, 0x13, 0x42, 0x48, 0x48, 0xa3, 0x4b, 0x8b, 0xa8, 0xa0, 0x6b, 0x70, 0x2a,
  383. 0xfe, 0x40, 0x48, 0xc1, 0xbd, 0xf3, 0x32, 0x8b, 0x3b, 0xfb, 0x64, 0x3b, 0x6d, 0xf2, 0x1f, 0x9f,
  384. 0x85, 0x3f, 0xf9, 0x14, 0x7c, 0x05, 0xbe, 0x07, 0x1f, 0x02, 0xd9, 0xe7, 0x4b, 0xb2, 0x26, 0x47,
  385. 0x29, 0xd5, 0xfe, 0xa9, 0xce, 0xd7, 0xf7, 0x9e, 0xed, 0xf7, 0xde, 0xef, 0x5a, 0xd8, 0xbf, 0xe8,
  386. 0x49, 0x32, 0x8b, 0x62, 0x91, 0x75, 0x63, 0x21, 0x69, 0x97, 0xe4, 0x79, 0x37, 0x97, 0x62, 0x3a,
  387. 0xcb, 0x08, 0xef, 0xc6, 0x82, 0xbf, 0x64, 0xe3, 0x28, 0x97, 0x42, 0x0b, 0xf4, 0xb0, 0x44, 0x4a,
  388. 0x1a, 0x91, 0x3c, 0x8f, 0x4a, 0x54, 0xfb, 0xc9, 0x15, 0x89, 0x58, 0x64, 0x99, 0xe0, 0x5d, 0x45,
  389. 0x25, 0x23, 0x69, 0x57, 0xcf, 0x72, 0x9a, 0x8c, 0x32, 0xaa, 0x14, 0x19, 0xd3, 0x42, 0xaa, 0xfd,
  390. 0x68, 0x3d, 0x83, 0x53, 0xdd, 0x25, 0x49, 0x22, 0xa9, 0x52, 0x0e, 0xf8, 0xb8, 0x1a, 0x98, 0x50,
  391. 0xa5, 0x19, 0x27, 0x9a, 0x09, 0xee, 0xc0, 0x1f, 0x55, 0x83, 0x73, 0x21, 0xb5, 0x43, 0x45, 0x57,
  392. 0x50, 0x5a, 0x12, 0xae, 0xcc, 0xef, 0xbb, 0x8c, 0x6b, 0x2a, 0x0d, 0x7a, 0xf9, 0xda, 0x9d, 0x5d,
  393. 0xd8, 0x39, 0xe6, 0xe7, 0x62, 0xc2, 0x93, 0xbe, 0x7d, 0xdd, 0xf9, 0xb3, 0x06, 0xe8, 0x20, 0x4d,
  394. 0x45, 0x6c, 0xf7, 0x1e, 0x6a, 0x49, 0x34, 0x1d, 0xcf, 0xd0, 0x21, 0x6c, 0x98, 0xab, 0xb6, 0xbc,
  395. 0x3d, 0x6f, 0x3f, 0xe8, 0x3d, 0x89, 0x2a, 0xdc, 0x8a, 0x56, 0xa9, 0xd1, 0xd9, 0x2c, 0xa7, 0xd8,
  396. 0xb2, 0xd1, 0xaf, 0xd0, 0x88, 0x05, 0x8f, 0x27, 0x52, 0x52, 0x1e, 0xcf, 0x5a, 0xfe, 0x9e, 0xb7,
  397. 0xdf, 0xe8, 0x1d, 0xdf, 0x44, 0x6c, 0xf5, 0x55, 0x7f, 0x21, 0x88, 0x97, 0xd5, 0xd1, 0x08, 0x36,
  398. 0x25, 0x7d, 0x29, 0xa9, 0x7a, 0xd5, 0xaa, 0xd9, 0x8d, 0x8e, 0x6e, 0xb7, 0x11, 0x2e, 0xc4, 0x70,
  399. 0xa9, 0xda, 0xfe, 0x1c, 0xde, 0xff, 0xd7, 0xe3, 0xa0, 0xfb, 0x70, 0xf7, 0x82, 0xa4, 0x93, 0xc2,
  400. 0xb5, 0x1d, 0x5c, 0x2c, 0xda, 0x9f, 0xc1, 0x3b, 0x95, 0xe2, 0xeb, 0x29, 0x9d, 0x4f, 0x61, 0xc3,
  401. 0xb8, 0x88, 0x00, 0xea, 0x07, 0xe9, 0x25, 0x99, 0xa9, 0xf0, 0x8e, 0x79, 0xc6, 0x84, 0x27, 0x22,
  402. 0x0b, 0x3d, 0xd4, 0x84, 0xad, 0xa3, 0xa9, 0x89, 0x97, 0xa4, 0xa1, 0x6f, 0x22, 0x0c, 0x30, 0x8d,
  403. 0x29, 0xbb, 0xa0, 0xb2, 0x48, 0x15, 0x3d, 0x03, 0x30, 0x25, 0x18, 0x49, 0xc2, 0xc7, 0x85, 0x76,
  404. 0xa3, 0xb7, 0xb7, 0x6c, 0x47, 0xd1, 0xa6, 0x88, 0x53, 0x1d, 0x0d, 0x84, 0xd4, 0xd8, 0xe0, 0xf0,
  405. 0x76, 0x5e, 0x3e, 0xa2, 0x2f, 0xa1, 0x9e, 0x32, 0xa5, 0x29, 0x77, 0xa1, 0x7d, 0x58, 0x41, 0x3e,
  406. 0x1e, 0x9c, 0xca, 0x43, 0x91, 0x11, 0xc6, 0xb1, 0x23, 0xa0, 0x9f, 0xe1, 0x2d, 0x32, 0xbf, 0xef,
  407. 0x48, 0xb9, 0x0b, 0xbb, 0x4c, 0x1e, 0xdf, 0x20, 0x13, 0x8c, 0xc8, 0x6a, 0x31, 0xcf, 0x60, 0x57,
  408. 0x69, 0x49, 0x49, 0x36, 0x52, 0x54, 0x6b, 0xc6, 0xc7, 0xaa, 0xb5, 0xb1, 0xaa, 0x3c, 0x1f, 0x83,
  409. 0xa8, 0x1c, 0x83, 0x68, 0x68, 0x59, 0x85, 0x3f, 0x38, 0x28, 0x34, 0x86, 0x4e, 0x02, 0x7d, 0x0d,
  410. 0xef, 0xc9, 0xc2, 0xc1, 0x91, 0x90, 0x6c, 0xcc, 0x38, 0x49, 0x47, 0x4b, 0x23, 0xd9, 0xba, 0xbb,
  411. 0xe7, 0xed, 0x6f, 0xe1, 0xb6, 0xc3, 0x9c, 0x3a, 0xc8, 0xe1, 0x02, 0x81, 0xbe, 0x82, 0x96, 0x39,
  412. 0xed, 0xe5, 0x28, 0x27, 0x4a, 0x19, 0x9d, 0x58, 0x70, 0x4e, 0x63, 0xcb, 0xae, 0x1b, 0xf6, 0x73,
  413. 0xbf, 0xe5, 0xe1, 0x07, 0x16, 0x33, 0x28, 0x20, 0xfd, 0x39, 0xa2, 0xf3, 0xbb, 0x0f, 0xf7, 0xdd,
  414. 0x5c, 0x7e, 0x4b, 0x78, 0x92, 0xce, 0x83, 0x0c, 0xa1, 0xa6, 0xc9, 0xd8, 0x26, 0xb8, 0x8d, 0xcd,
  415. 0x23, 0x1a, 0xc2, 0x3d, 0x77, 0x0c, 0xb9, 0xb0, 0xa0, 0x08, 0xe9, 0xe3, 0x35, 0x21, 0x15, 0xdf,
  416. 0x2d, 0x3b, 0x94, 0xc9, 0x49, 0xf1, 0xd9, 0xc2, 0x61, 0x29, 0x30, 0xbf, 0xff, 0x09, 0x04, 0x36,
  417. 0x88, 0x85, 0x62, 0xed, 0x46, 0x8a, 0x3b, 0x96, 0x3d, 0x97, 0x3b, 0x83, 0x7b, 0x09, 0x53, 0x39,
  418. 0xd1, 0xf1, 0xab, 0xab, 0x31, 0x3d, 0xaa, 0x2c, 0xc0, 0xa1, 0x63, 0xb8, 0x88, 0xc2, 0x52, 0xa1,
  419. 0x54, 0xed, 0x84, 0x10, 0x9c, 0x4e, 0xf4, 0xf2, 0xc7, 0xeb, 0x6f, 0x0f, 0x9a, 0x43, 0xca, 0x93,
  420. 0xb9, 0x5d, 0x4f, 0xa1, 0x76, 0xc1, 0x88, 0x2b, 0xfc, 0x7f, 0xe8, 0xac, 0x41, 0xaf, 0xab, 0x94,
  421. 0x7f, 0xfb, 0x4a, 0xfd, 0x50, 0x61, 0xe9, 0x27, 0xd7, 0x88, 0x0e, 0x0c, 0xc9, 0x69, 0xbe, 0x6e,
  422. 0x6b, 0xe7, 0x2f, 0x1f, 0xde, 0x2e, 0x1d, 0xb8, 0xae, 0x26, 0xa7, 0xb0, 0xab, 0xac, 0x33, 0xff,
  423. 0xb7, 0x24, 0x41, 0x41, 0x7f, 0x53, 0x15, 0x79, 0x00, 0x75, 0x3a, 0xcd, 0x99, 0xa4, 0xb6, 0x17,
  424. 0x35, 0xec, 0x56, 0xa8, 0x05, 0x9b, 0x46, 0x84, 0x72, 0x6d, 0x87, 0x6e, 0x1b, 0x97, 0xcb, 0xf5,
  425. 0xa5, 0xaa, 0xdf, 0xb6, 0x54, 0x11, 0xa0, 0x93, 0x49, 0xaa, 0x59, 0x9e, 0xd2, 0x29, 0xe3, 0x63,
  426. 0xe7, 0x67, 0x0b, 0x36, 0x29, 0x27, 0xe7, 0x29, 0x4d, 0xac, 0xa7, 0x5b, 0xb8, 0x5c, 0x76, 0x7e,
  427. 0x81, 0xe0, 0x75, 0x4d, 0xf4, 0x02, 0x9a, 0xd9, 0x64, 0xba, 0x38, 0x92, 0x77, 0xcd, 0x87, 0x6e,
  428. 0x75, 0x3b, 0xdc, 0xc8, 0x26, 0xd3, 0xf9, 0x89, 0x7e, 0xf3, 0x4d, 0xa9, 0x95, 0x62, 0x82, 0x7f,
  429. 0x23, 0x49, 0x46, 0x51, 0x00, 0x3e, 0x4b, 0xdc, 0x1f, 0x08, 0x9f, 0x25, 0xe8, 0xfb, 0xc2, 0x22,
  430. 0xc2, 0x13, 0x1b, 0x69, 0xd0, 0xeb, 0x55, 0xee, 0xb5, 0xac, 0x13, 0xd9, 0x9f, 0xfd, 0x82, 0x89,
  431. 0x4b, 0x09, 0xf4, 0x05, 0xd4, 0x35, 0x91, 0x63, 0xaa, 0x5d, 0x9e, 0x1f, 0x54, 0x4c, 0xcd, 0x11,
  432. 0x4f, 0x72, 0xc1, 0xb8, 0xc6, 0x0e, 0x6e, 0x3c, 0xca, 0xc9, 0x2c, 0x15, 0x24, 0xb1, 0x11, 0x36,
  433. 0x71, 0xb9, 0xec, 0x3c, 0x83, 0xe6, 0xf2, 0x5e, 0x28, 0x00, 0x70, 0x07, 0x79, 0x41, 0x2f, 0xc3,
  434. 0x3b, 0x68, 0x17, 0x1a, 0x6e, 0xfd, 0x1d, 0xa5, 0x79, 0xe8, 0x2d, 0x01, 0x8e, 0x78, 0x12, 0xfa,
  435. 0xcf, 0xfb, 0xf0, 0x6e, 0x2c, 0xb2, 0xaa, 0x5b, 0x0d, 0xbc, 0x9f, 0xb6, 0xca, 0xe7, 0x3f, 0xfc,
  436. 0x87, 0x3f, 0xf6, 0x30, 0x99, 0x45, 0x7d, 0x83, 0x3a, 0xc8, 0xf3, 0x62, 0x7e, 0x32, 0xc2, 0xcf,
  437. 0xeb, 0xf6, 0x3f, 0x9e, 0xa7, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x84, 0xa5, 0xc3, 0xdd, 0x14,
  438. 0x0a, 0x00, 0x00,
  439. }