github.com/livekit/protocol@v1.16.1-0.20240517185851-47e4c6bba773/rpc/io.psrpc.go (about) 1 // Code generated by protoc-gen-psrpc v0.5.1, DO NOT EDIT. 2 // source: rpc/io.proto 3 4 package rpc 5 6 import ( 7 "context" 8 9 "github.com/livekit/psrpc" 10 "github.com/livekit/psrpc/pkg/client" 11 "github.com/livekit/psrpc/pkg/info" 12 "github.com/livekit/psrpc/pkg/rand" 13 "github.com/livekit/psrpc/pkg/server" 14 "github.com/livekit/psrpc/version" 15 ) 16 import google_protobuf "google.golang.org/protobuf/types/known/emptypb" 17 import livekit2 "github.com/livekit/protocol/livekit" 18 import livekit3 "github.com/livekit/protocol/livekit" 19 20 var _ = version.PsrpcVersion_0_5 21 22 // ======================= 23 // IOInfo Client Interface 24 // ======================= 25 26 type IOInfoClient interface { 27 // egress 28 CreateEgress(ctx context.Context, req *livekit2.EgressInfo, opts ...psrpc.RequestOption) (*google_protobuf.Empty, error) 29 30 UpdateEgress(ctx context.Context, req *livekit2.EgressInfo, opts ...psrpc.RequestOption) (*google_protobuf.Empty, error) 31 32 GetEgress(ctx context.Context, req *GetEgressRequest, opts ...psrpc.RequestOption) (*livekit2.EgressInfo, error) 33 34 ListEgress(ctx context.Context, req *livekit2.ListEgressRequest, opts ...psrpc.RequestOption) (*livekit2.ListEgressResponse, error) 35 36 UpdateMetrics(ctx context.Context, req *UpdateMetricsRequest, opts ...psrpc.RequestOption) (*google_protobuf.Empty, error) 37 38 // ingress 39 CreateIngress(ctx context.Context, req *livekit3.IngressInfo, opts ...psrpc.RequestOption) (*google_protobuf.Empty, error) 40 41 GetIngressInfo(ctx context.Context, req *GetIngressInfoRequest, opts ...psrpc.RequestOption) (*GetIngressInfoResponse, error) 42 43 UpdateIngressState(ctx context.Context, req *UpdateIngressStateRequest, opts ...psrpc.RequestOption) (*google_protobuf.Empty, error) 44 45 // sip 46 GetSIPTrunkAuthentication(ctx context.Context, req *GetSIPTrunkAuthenticationRequest, opts ...psrpc.RequestOption) (*GetSIPTrunkAuthenticationResponse, error) 47 48 EvaluateSIPDispatchRules(ctx context.Context, req *EvaluateSIPDispatchRulesRequest, opts ...psrpc.RequestOption) (*EvaluateSIPDispatchRulesResponse, error) 49 } 50 51 // =========================== 52 // IOInfo ServerImpl Interface 53 // =========================== 54 55 type IOInfoServerImpl interface { 56 // egress 57 CreateEgress(context.Context, *livekit2.EgressInfo) (*google_protobuf.Empty, error) 58 59 UpdateEgress(context.Context, *livekit2.EgressInfo) (*google_protobuf.Empty, error) 60 61 GetEgress(context.Context, *GetEgressRequest) (*livekit2.EgressInfo, error) 62 63 ListEgress(context.Context, *livekit2.ListEgressRequest) (*livekit2.ListEgressResponse, error) 64 65 UpdateMetrics(context.Context, *UpdateMetricsRequest) (*google_protobuf.Empty, error) 66 67 // ingress 68 CreateIngress(context.Context, *livekit3.IngressInfo) (*google_protobuf.Empty, error) 69 70 GetIngressInfo(context.Context, *GetIngressInfoRequest) (*GetIngressInfoResponse, error) 71 72 UpdateIngressState(context.Context, *UpdateIngressStateRequest) (*google_protobuf.Empty, error) 73 74 // sip 75 GetSIPTrunkAuthentication(context.Context, *GetSIPTrunkAuthenticationRequest) (*GetSIPTrunkAuthenticationResponse, error) 76 77 EvaluateSIPDispatchRules(context.Context, *EvaluateSIPDispatchRulesRequest) (*EvaluateSIPDispatchRulesResponse, error) 78 } 79 80 // ======================= 81 // IOInfo Server Interface 82 // ======================= 83 84 type IOInfoServer interface { 85 86 // Close and wait for pending RPCs to complete 87 Shutdown() 88 89 // Close immediately, without waiting for pending RPCs 90 Kill() 91 } 92 93 // ============= 94 // IOInfo Client 95 // ============= 96 97 type iOInfoClient struct { 98 client *client.RPCClient 99 } 100 101 // NewIOInfoClient creates a psrpc client that implements the IOInfoClient interface. 102 func NewIOInfoClient(bus psrpc.MessageBus, opts ...psrpc.ClientOption) (IOInfoClient, error) { 103 sd := &info.ServiceDefinition{ 104 Name: "IOInfo", 105 ID: rand.NewClientID(), 106 } 107 108 sd.RegisterMethod("CreateEgress", false, false, true, true) 109 sd.RegisterMethod("UpdateEgress", false, false, true, true) 110 sd.RegisterMethod("GetEgress", false, false, true, true) 111 sd.RegisterMethod("ListEgress", false, false, true, true) 112 sd.RegisterMethod("UpdateMetrics", false, false, true, true) 113 sd.RegisterMethod("CreateIngress", false, false, true, true) 114 sd.RegisterMethod("GetIngressInfo", false, false, true, true) 115 sd.RegisterMethod("UpdateIngressState", false, false, true, true) 116 sd.RegisterMethod("GetSIPTrunkAuthentication", false, false, true, true) 117 sd.RegisterMethod("EvaluateSIPDispatchRules", false, false, true, true) 118 119 rpcClient, err := client.NewRPCClient(sd, bus, opts...) 120 if err != nil { 121 return nil, err 122 } 123 124 return &iOInfoClient{ 125 client: rpcClient, 126 }, nil 127 } 128 129 func (c *iOInfoClient) CreateEgress(ctx context.Context, req *livekit2.EgressInfo, opts ...psrpc.RequestOption) (*google_protobuf.Empty, error) { 130 return client.RequestSingle[*google_protobuf.Empty](ctx, c.client, "CreateEgress", nil, req, opts...) 131 } 132 133 func (c *iOInfoClient) UpdateEgress(ctx context.Context, req *livekit2.EgressInfo, opts ...psrpc.RequestOption) (*google_protobuf.Empty, error) { 134 return client.RequestSingle[*google_protobuf.Empty](ctx, c.client, "UpdateEgress", nil, req, opts...) 135 } 136 137 func (c *iOInfoClient) GetEgress(ctx context.Context, req *GetEgressRequest, opts ...psrpc.RequestOption) (*livekit2.EgressInfo, error) { 138 return client.RequestSingle[*livekit2.EgressInfo](ctx, c.client, "GetEgress", nil, req, opts...) 139 } 140 141 func (c *iOInfoClient) ListEgress(ctx context.Context, req *livekit2.ListEgressRequest, opts ...psrpc.RequestOption) (*livekit2.ListEgressResponse, error) { 142 return client.RequestSingle[*livekit2.ListEgressResponse](ctx, c.client, "ListEgress", nil, req, opts...) 143 } 144 145 func (c *iOInfoClient) UpdateMetrics(ctx context.Context, req *UpdateMetricsRequest, opts ...psrpc.RequestOption) (*google_protobuf.Empty, error) { 146 return client.RequestSingle[*google_protobuf.Empty](ctx, c.client, "UpdateMetrics", nil, req, opts...) 147 } 148 149 func (c *iOInfoClient) CreateIngress(ctx context.Context, req *livekit3.IngressInfo, opts ...psrpc.RequestOption) (*google_protobuf.Empty, error) { 150 return client.RequestSingle[*google_protobuf.Empty](ctx, c.client, "CreateIngress", nil, req, opts...) 151 } 152 153 func (c *iOInfoClient) GetIngressInfo(ctx context.Context, req *GetIngressInfoRequest, opts ...psrpc.RequestOption) (*GetIngressInfoResponse, error) { 154 return client.RequestSingle[*GetIngressInfoResponse](ctx, c.client, "GetIngressInfo", nil, req, opts...) 155 } 156 157 func (c *iOInfoClient) UpdateIngressState(ctx context.Context, req *UpdateIngressStateRequest, opts ...psrpc.RequestOption) (*google_protobuf.Empty, error) { 158 return client.RequestSingle[*google_protobuf.Empty](ctx, c.client, "UpdateIngressState", nil, req, opts...) 159 } 160 161 func (c *iOInfoClient) GetSIPTrunkAuthentication(ctx context.Context, req *GetSIPTrunkAuthenticationRequest, opts ...psrpc.RequestOption) (*GetSIPTrunkAuthenticationResponse, error) { 162 return client.RequestSingle[*GetSIPTrunkAuthenticationResponse](ctx, c.client, "GetSIPTrunkAuthentication", nil, req, opts...) 163 } 164 165 func (c *iOInfoClient) EvaluateSIPDispatchRules(ctx context.Context, req *EvaluateSIPDispatchRulesRequest, opts ...psrpc.RequestOption) (*EvaluateSIPDispatchRulesResponse, error) { 166 return client.RequestSingle[*EvaluateSIPDispatchRulesResponse](ctx, c.client, "EvaluateSIPDispatchRules", nil, req, opts...) 167 } 168 169 // ============= 170 // IOInfo Server 171 // ============= 172 173 type iOInfoServer struct { 174 svc IOInfoServerImpl 175 rpc *server.RPCServer 176 } 177 178 // NewIOInfoServer builds a RPCServer that will route requests 179 // to the corresponding method in the provided svc implementation. 180 func NewIOInfoServer(svc IOInfoServerImpl, bus psrpc.MessageBus, opts ...psrpc.ServerOption) (IOInfoServer, error) { 181 sd := &info.ServiceDefinition{ 182 Name: "IOInfo", 183 ID: rand.NewServerID(), 184 } 185 186 s := server.NewRPCServer(sd, bus, opts...) 187 188 sd.RegisterMethod("CreateEgress", false, false, true, true) 189 var err error 190 err = server.RegisterHandler(s, "CreateEgress", nil, svc.CreateEgress, nil) 191 if err != nil { 192 s.Close(false) 193 return nil, err 194 } 195 196 sd.RegisterMethod("UpdateEgress", false, false, true, true) 197 err = server.RegisterHandler(s, "UpdateEgress", nil, svc.UpdateEgress, nil) 198 if err != nil { 199 s.Close(false) 200 return nil, err 201 } 202 203 sd.RegisterMethod("GetEgress", false, false, true, true) 204 err = server.RegisterHandler(s, "GetEgress", nil, svc.GetEgress, nil) 205 if err != nil { 206 s.Close(false) 207 return nil, err 208 } 209 210 sd.RegisterMethod("ListEgress", false, false, true, true) 211 err = server.RegisterHandler(s, "ListEgress", nil, svc.ListEgress, nil) 212 if err != nil { 213 s.Close(false) 214 return nil, err 215 } 216 217 sd.RegisterMethod("UpdateMetrics", false, false, true, true) 218 err = server.RegisterHandler(s, "UpdateMetrics", nil, svc.UpdateMetrics, nil) 219 if err != nil { 220 s.Close(false) 221 return nil, err 222 } 223 224 sd.RegisterMethod("CreateIngress", false, false, true, true) 225 err = server.RegisterHandler(s, "CreateIngress", nil, svc.CreateIngress, nil) 226 if err != nil { 227 s.Close(false) 228 return nil, err 229 } 230 231 sd.RegisterMethod("GetIngressInfo", false, false, true, true) 232 err = server.RegisterHandler(s, "GetIngressInfo", nil, svc.GetIngressInfo, nil) 233 if err != nil { 234 s.Close(false) 235 return nil, err 236 } 237 238 sd.RegisterMethod("UpdateIngressState", false, false, true, true) 239 err = server.RegisterHandler(s, "UpdateIngressState", nil, svc.UpdateIngressState, nil) 240 if err != nil { 241 s.Close(false) 242 return nil, err 243 } 244 245 sd.RegisterMethod("GetSIPTrunkAuthentication", false, false, true, true) 246 err = server.RegisterHandler(s, "GetSIPTrunkAuthentication", nil, svc.GetSIPTrunkAuthentication, nil) 247 if err != nil { 248 s.Close(false) 249 return nil, err 250 } 251 252 sd.RegisterMethod("EvaluateSIPDispatchRules", false, false, true, true) 253 err = server.RegisterHandler(s, "EvaluateSIPDispatchRules", nil, svc.EvaluateSIPDispatchRules, nil) 254 if err != nil { 255 s.Close(false) 256 return nil, err 257 } 258 259 return &iOInfoServer{ 260 svc: svc, 261 rpc: s, 262 }, nil 263 } 264 265 func (s *iOInfoServer) Shutdown() { 266 s.rpc.Close(false) 267 } 268 269 func (s *iOInfoServer) Kill() { 270 s.rpc.Close(true) 271 } 272 273 var psrpcFileDescriptor3 = []byte{ 274 // 1099 bytes of a gzipped FileDescriptorProto 275 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0x5f, 0x53, 0x23, 0x45, 276 0x10, 0x37, 0x7f, 0x8f, 0x74, 0x80, 0xcb, 0xcd, 0x85, 0x33, 0x17, 0xca, 0x23, 0x97, 0x13, 0x45, 277 0xad, 0xda, 0x28, 0x3e, 0x68, 0x69, 0x59, 0x25, 0xe4, 0x22, 0xae, 0x72, 0x10, 0x17, 0xf2, 0xa0, 278 0x2f, 0xeb, 0xb0, 0x3b, 0x2c, 0x23, 0x9b, 0x9d, 0x75, 0x66, 0x16, 0x8e, 0x4f, 0xa0, 0xaf, 0x7e, 279 0x03, 0x5f, 0x7c, 0xf1, 0xeb, 0xf9, 0x05, 0xac, 0xf9, 0xb3, 0x61, 0x81, 0xe4, 0xb0, 0x7c, 0xdb, 280 0xf9, 0xf5, 0xaf, 0x7b, 0x7e, 0xdd, 0x3d, 0xe9, 0x0e, 0x2c, 0xf3, 0x34, 0x18, 0x50, 0xe6, 0xa4, 281 0x9c, 0x49, 0x86, 0x2a, 0x3c, 0x0d, 0xba, 0xed, 0x98, 0x5e, 0x90, 0x73, 0x2a, 0x7d, 0x12, 0x71, 282 0x22, 0x84, 0x31, 0x75, 0xd7, 0x72, 0x94, 0x26, 0x45, 0x78, 0x3d, 0x62, 0x2c, 0x8a, 0xc9, 0x40, 283 0x9f, 0x4e, 0xb2, 0xd3, 0x01, 0x99, 0xa6, 0xf2, 0xca, 0x18, 0xfb, 0x03, 0x68, 0xed, 0x11, 0x39, 284 0xd2, 0x7c, 0x8f, 0xfc, 0x9a, 0x11, 0x21, 0xd1, 0x3a, 0x34, 0x4c, 0x5c, 0x9f, 0x86, 0x9d, 0x52, 285 0xaf, 0xb4, 0xd5, 0xf0, 0x96, 0x0c, 0xe0, 0x86, 0xfd, 0xdf, 0x4a, 0xd0, 0x9e, 0xa4, 0x21, 0x96, 286 0xe4, 0x15, 0x91, 0x9c, 0x06, 0x33, 0xaf, 0xf7, 0xa1, 0x4a, 0x93, 0x53, 0xa6, 0x1d, 0x9a, 0xdb, 287 0x8f, 0x1d, 0x2b, 0xc6, 0x31, 0xb1, 0xdd, 0xe4, 0x94, 0x79, 0x9a, 0x80, 0xfa, 0xb0, 0x82, 0x2f, 288 0x22, 0x3f, 0x48, 0x33, 0x3f, 0x13, 0x38, 0x22, 0x9d, 0x4a, 0xaf, 0xb4, 0x55, 0xf6, 0x9a, 0xf8, 289 0x22, 0x1a, 0xa6, 0xd9, 0x44, 0x41, 0x8a, 0x33, 0xc5, 0xaf, 0x0b, 0x9c, 0xaa, 0xe1, 0x4c, 0xf1, 290 0xeb, 0x9c, 0xd3, 0x9f, 0xc0, 0xda, 0x1e, 0x91, 0x6e, 0x72, 0x1d, 0xdf, 0x2a, 0x79, 0x07, 0xc0, 291 0x56, 0xe0, 0x3a, 0x81, 0x86, 0x45, 0xdc, 0x50, 0x99, 0x85, 0xe4, 0x04, 0x4f, 0xfd, 0x73, 0x72, 292 0xd5, 0x29, 0x1b, 0xb3, 0x41, 0xbe, 0x27, 0x57, 0xfd, 0xdf, 0xcb, 0xf0, 0xe4, 0x76, 0x5c, 0x91, 293 0xb2, 0x44, 0x10, 0xb4, 0x75, 0x23, 0xc5, 0xf6, 0x2c, 0xc5, 0x22, 0xd7, 0xe4, 0xd8, 0x86, 0x9a, 294 0x64, 0xe7, 0x24, 0xb1, 0xe1, 0xcd, 0x01, 0xad, 0x41, 0xfd, 0x52, 0xf8, 0x19, 0x8f, 0x75, 0xca, 295 0x0d, 0xaf, 0x76, 0x29, 0x26, 0x3c, 0x46, 0x13, 0x58, 0x8d, 0x59, 0x14, 0xd1, 0x24, 0xf2, 0x4f, 296 0x29, 0x89, 0x43, 0xd1, 0xa9, 0xf6, 0x2a, 0x5b, 0xcd, 0x6d, 0xc7, 0xe1, 0x69, 0xe0, 0xcc, 0xd7, 297 0xe2, 0xec, 0x1b, 0x8f, 0x6f, 0xb4, 0xc3, 0x28, 0x91, 0xfc, 0xca, 0x5b, 0x89, 0x8b, 0x58, 0xf7, 298 0x6b, 0x40, 0x77, 0x49, 0xa8, 0x05, 0x15, 0x95, 0xb6, 0xa9, 0x8a, 0xfa, 0x54, 0x5a, 0x2f, 0x70, 299 0x9c, 0x91, 0x5c, 0xab, 0x3e, 0x7c, 0x51, 0xfe, 0xbc, 0xd4, 0x8f, 0xe0, 0xa9, 0x69, 0xb5, 0x15, 300 0x70, 0x24, 0xb1, 0x24, 0xff, 0xb1, 0xca, 0x1f, 0x41, 0x4d, 0x28, 0xba, 0x8e, 0xda, 0xdc, 0x5e, 301 0xbb, 0x5d, 0x2c, 0x13, 0xcb, 0x70, 0xfa, 0x7f, 0x96, 0xa0, 0xb7, 0x47, 0xe4, 0x91, 0x3b, 0x3e, 302 0xe6, 0x59, 0x72, 0xbe, 0x93, 0xc9, 0x33, 0x92, 0x48, 0x1a, 0x60, 0x49, 0x59, 0x92, 0x5f, 0xf8, 303 0x0c, 0x9a, 0x82, 0xa6, 0x7e, 0x80, 0xe3, 0x58, 0xdd, 0x58, 0xb7, 0x8d, 0xa3, 0xe9, 0x10, 0xc7, 304 0xb1, 0x1b, 0x22, 0x04, 0xd5, 0x53, 0xce, 0xa6, 0x36, 0x0d, 0xfd, 0x8d, 0x56, 0xa1, 0x2c, 0x99, 305 0xad, 0x76, 0x59, 0x32, 0xb4, 0x01, 0x4d, 0xc1, 0x03, 0x1f, 0x87, 0xa1, 0xd2, 0xa0, 0x5f, 0x55, 306 0xc3, 0x03, 0xc1, 0x83, 0x1d, 0x83, 0xa0, 0xb7, 0xe1, 0x81, 0x64, 0xfe, 0x19, 0x13, 0xb2, 0x53, 307 0xd3, 0xc6, 0xba, 0x64, 0xdf, 0x32, 0x21, 0xfb, 0x7f, 0x94, 0xe0, 0xf9, 0x1b, 0x24, 0xda, 0x17, 308 0xd2, 0x85, 0xa5, 0x4c, 0x10, 0x9e, 0xe0, 0x29, 0xc9, 0x7f, 0x39, 0xf9, 0x59, 0xd9, 0x52, 0x2c, 309 0xc4, 0x25, 0xe3, 0xa1, 0xd5, 0x38, 0x3b, 0x2b, 0xed, 0x21, 0x67, 0xa9, 0x56, 0xba, 0xe4, 0xe9, 310 0x6f, 0xd4, 0x83, 0x65, 0x95, 0xaf, 0x54, 0xd7, 0xa9, 0x84, 0x73, 0xb1, 0x34, 0xd5, 0x0a, 0xdc, 311 0xb0, 0xff, 0x77, 0x19, 0x36, 0x46, 0xaa, 0x5d, 0x58, 0x92, 0x23, 0x77, 0xfc, 0x92, 0x8a, 0x14, 312 0xcb, 0xe0, 0xcc, 0xcb, 0x62, 0x22, 0x16, 0x54, 0x6d, 0xe9, 0x76, 0xd5, 0x3e, 0x06, 0xa4, 0xec, 313 0x29, 0xe6, 0x92, 0x06, 0x34, 0xc5, 0x89, 0x9c, 0xb5, 0x73, 0xb7, 0xdc, 0x29, 0x79, 0x2d, 0x41, 314 0xd3, 0xf1, 0xb5, 0xd1, 0x0d, 0xd1, 0x26, 0xac, 0xaa, 0x68, 0xea, 0xb9, 0x26, 0xd9, 0xf4, 0x84, 315 0x70, 0x9b, 0xcd, 0x8a, 0x45, 0x0f, 0x34, 0x88, 0x5e, 0x80, 0x06, 0x48, 0x98, 0xb3, 0x4c, 0x17, 316 0x96, 0x0d, 0x68, 0x49, 0xf7, 0xf6, 0xa3, 0x05, 0x95, 0x94, 0x26, 0xb6, 0x17, 0xea, 0x53, 0xfd, 317 0x88, 0x12, 0xe6, 0x2b, 0xb0, 0xae, 0x8b, 0x55, 0x4b, 0xd8, 0x98, 0x26, 0x2a, 0x92, 0xbd, 0x4e, 318 0x37, 0xef, 0x81, 0x89, 0x64, 0x20, 0xdd, 0xc0, 0xbf, 0x2a, 0xd0, 0x5b, 0x5c, 0x2c, 0xdb, 0xbf, 319 0x75, 0x68, 0x70, 0xc6, 0xa6, 0x7e, 0xb1, 0x81, 0x0a, 0x38, 0x50, 0x0d, 0xfc, 0x04, 0xda, 0x37, 320 0xcb, 0xa4, 0x1e, 0x80, 0xcc, 0x47, 0xc8, 0xe3, 0xb4, 0x58, 0x25, 0x63, 0x42, 0x1f, 0x40, 0xab, 321 0xe8, 0xa2, 0xc3, 0x1a, 0x69, 0x0f, 0x0b, 0xf8, 0xbc, 0xe8, 0x53, 0x22, 0x71, 0x88, 0x25, 0xb6, 322 0x1d, 0x2b, 0x46, 0x7f, 0x65, 0x4d, 0xe8, 0x05, 0x34, 0xb9, 0x69, 0xb3, 0xae, 0x87, 0x7e, 0x3c, 323 0xba, 0x69, 0x60, 0x61, 0x55, 0x98, 0xd9, 0x28, 0xaa, 0xce, 0x1f, 0x45, 0xb5, 0xe2, 0x28, 0x72, 324 0xa0, 0xce, 0x89, 0xc8, 0x62, 0xa9, 0x8b, 0xbb, 0xba, 0xfd, 0x44, 0x8f, 0xa0, 0x62, 0xb9, 0xb4, 325 0xd5, 0xb3, 0xac, 0x3b, 0x6f, 0xb4, 0x71, 0xfb, 0x8d, 0xa2, 0x01, 0xb4, 0x15, 0x23, 0xb4, 0xfe, 326 0x3e, 0xcf, 0x62, 0xa2, 0x98, 0xa0, 0x99, 0x8f, 0x04, 0x4d, 0x8b, 0x9d, 0x70, 0xc3, 0x0f, 0x7f, 327 0x86, 0x47, 0x77, 0xee, 0x43, 0x1d, 0x68, 0xef, 0x8f, 0xf6, 0x76, 0x86, 0x3f, 0xfa, 0x3b, 0xc3, 328 0xe1, 0x68, 0x7c, 0xec, 0x1f, 0x7a, 0xfe, 0xd8, 0x3d, 0x68, 0xbd, 0x85, 0x00, 0xea, 0x06, 0x6a, 329 0x95, 0xd0, 0x43, 0x68, 0x7a, 0xa3, 0x1f, 0x26, 0xa3, 0xa3, 0x63, 0x6d, 0x2c, 0x2b, 0xa3, 0x37, 330 0xfa, 0x6e, 0x34, 0x3c, 0x6e, 0x55, 0xd0, 0x12, 0x54, 0x5f, 0x7a, 0x87, 0xe3, 0x56, 0x75, 0xfb, 331 0x9f, 0x1a, 0xd4, 0xdd, 0x43, 0x35, 0x4d, 0xd1, 0x97, 0xb0, 0x3c, 0xe4, 0x04, 0x4b, 0x62, 0xb6, 332 0x14, 0x9a, 0xb7, 0xb6, 0xba, 0x4f, 0x1c, 0xb3, 0x41, 0x9d, 0x7c, 0x83, 0x3a, 0x23, 0xb5, 0x41, 333 0x95, 0xb3, 0x19, 0x8f, 0xff, 0xc7, 0xf9, 0x33, 0x68, 0xcc, 0x16, 0x2f, 0x5a, 0xcb, 0x27, 0xfd, 334 0x8d, 0x45, 0xdc, 0x9d, 0x17, 0x10, 0x8d, 0x00, 0xf6, 0xa9, 0xc8, 0x3d, 0xbb, 0x33, 0xca, 0x35, 335 0x98, 0xbb, 0xaf, 0xcf, 0xb5, 0xd9, 0x97, 0xbe, 0x0b, 0x2b, 0x37, 0xd6, 0x38, 0x7a, 0xaa, 0x35, 336 0xcc, 0x5b, 0xed, 0x0b, 0x73, 0xf8, 0x0a, 0x56, 0x4c, 0xf5, 0xec, 0x4c, 0x47, 0x73, 0x57, 0xe2, 337 0x42, 0x77, 0x17, 0x56, 0x6f, 0x2e, 0x37, 0xd4, 0x9d, 0xbb, 0xf1, 0xf2, 0x6c, 0x16, 0x6f, 0x43, 338 0xb4, 0x0f, 0xe8, 0xee, 0xa6, 0x42, 0xcf, 0x0a, 0x29, 0xcd, 0x59, 0x61, 0x0b, 0x85, 0xfd, 0x02, 339 0x4f, 0x17, 0x8e, 0x7a, 0xb4, 0x99, 0xeb, 0x78, 0xe3, 0xb6, 0xea, 0xbe, 0x77, 0x1f, 0xcd, 0x2a, 340 0x8f, 0xa0, 0xb3, 0x68, 0x2a, 0xa1, 0x77, 0x75, 0x8c, 0x7b, 0x26, 0x7c, 0x77, 0xf3, 0x1e, 0x96, 341 0xb9, 0x68, 0xf7, 0xf9, 0x4f, 0x1b, 0x11, 0x95, 0x67, 0xd9, 0x89, 0x13, 0xb0, 0xe9, 0xc0, 0xf6, 342 0xc9, 0xfc, 0x29, 0x0c, 0x58, 0x3c, 0xe0, 0x69, 0x70, 0x52, 0xd7, 0xa7, 0x4f, 0xff, 0x0d, 0x00, 343 0x00, 0xff, 0xff, 0x26, 0x91, 0x00, 0xf5, 0x72, 0x0a, 0x00, 0x00, 344 }