1 // Code generated by protoc-gen-go. DO NOT EDIT.
2 // source: google/devtools/cloudtrace/v1/trace.proto
5 Package cloudtrace is a generated protocol buffer package.
7 It is generated from these files:
8 google/devtools/cloudtrace/v1/trace.proto
10 It has these top-level messages:
21 import proto "github.com/golang/protobuf/proto"
24 import _ "google.golang.org/genproto/googleapis/api/annotations"
25 import google_protobuf1 "github.com/golang/protobuf/ptypes/empty"
26 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
29 context "golang.org/x/net/context"
30 grpc "google.golang.org/grpc"
33 // Reference imports to suppress errors if they are not otherwise used.
38 // This is a compile-time assertion to ensure that this generated file
39 // is compatible with the proto package it is being compiled against.
40 // A compilation error at this line likely means your copy of the
41 // proto package needs to be updated.
42 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
44 // Type of span. Can be used to specify additional relationships between spans
45 // in addition to a parent/child relationship.
46 type TraceSpan_SpanKind int32
50 TraceSpan_SPAN_KIND_UNSPECIFIED TraceSpan_SpanKind = 0
51 // Indicates that the span covers server-side handling of an RPC or other
52 // remote network request.
53 TraceSpan_RPC_SERVER TraceSpan_SpanKind = 1
54 // Indicates that the span covers the client-side wrapper around an RPC or
55 // other remote request.
56 TraceSpan_RPC_CLIENT TraceSpan_SpanKind = 2
59 var TraceSpan_SpanKind_name = map[int32]string{
60 0: "SPAN_KIND_UNSPECIFIED",
64 var TraceSpan_SpanKind_value = map[string]int32{
65 "SPAN_KIND_UNSPECIFIED": 0,
70 func (x TraceSpan_SpanKind) String() string {
71 return proto.EnumName(TraceSpan_SpanKind_name, int32(x))
73 func (TraceSpan_SpanKind) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2, 0} }
75 // Type of data returned for traces in the list.
76 type ListTracesRequest_ViewType int32
79 // Default is `MINIMAL` if unspecified.
80 ListTracesRequest_VIEW_TYPE_UNSPECIFIED ListTracesRequest_ViewType = 0
81 // Minimal view of the trace record that contains only the project
83 ListTracesRequest_MINIMAL ListTracesRequest_ViewType = 1
84 // Root span view of the trace record that returns the root spans along
85 // with the minimal trace data.
86 ListTracesRequest_ROOTSPAN ListTracesRequest_ViewType = 2
87 // Complete view of the trace record that contains the actual trace data.
88 // This is equivalent to calling the REST `get` or RPC `GetTrace` method
89 // using the ID of each listed trace.
90 ListTracesRequest_COMPLETE ListTracesRequest_ViewType = 3
93 var ListTracesRequest_ViewType_name = map[int32]string{
94 0: "VIEW_TYPE_UNSPECIFIED",
99 var ListTracesRequest_ViewType_value = map[string]int32{
100 "VIEW_TYPE_UNSPECIFIED": 0,
106 func (x ListTracesRequest_ViewType) String() string {
107 return proto.EnumName(ListTracesRequest_ViewType_name, int32(x))
109 func (ListTracesRequest_ViewType) EnumDescriptor() ([]byte, []int) {
110 return fileDescriptor0, []int{3, 0}
113 // A trace describes how long it takes for an application to perform an
114 // operation. It consists of a set of spans, each of which represent a single
115 // timed event within the operation.
117 // Project ID of the Cloud project where the trace data is stored.
118 ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
119 // Globally unique identifier for the trace. This identifier is a 128-bit
120 // numeric value formatted as a 32-byte hex string.
121 TraceId string `protobuf:"bytes,2,opt,name=trace_id,json=traceId" json:"trace_id,omitempty"`
122 // Collection of spans in the trace.
123 Spans []*TraceSpan `protobuf:"bytes,3,rep,name=spans" json:"spans,omitempty"`
126 func (m *Trace) Reset() { *m = Trace{} }
127 func (m *Trace) String() string { return proto.CompactTextString(m) }
128 func (*Trace) ProtoMessage() {}
129 func (*Trace) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
131 func (m *Trace) GetProjectId() string {
138 func (m *Trace) GetTraceId() string {
145 func (m *Trace) GetSpans() []*TraceSpan {
152 // List of new or updated traces.
155 Traces []*Trace `protobuf:"bytes,1,rep,name=traces" json:"traces,omitempty"`
158 func (m *Traces) Reset() { *m = Traces{} }
159 func (m *Traces) String() string { return proto.CompactTextString(m) }
160 func (*Traces) ProtoMessage() {}
161 func (*Traces) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
163 func (m *Traces) GetTraces() []*Trace {
170 // A span represents a single timed event within a trace. Spans can be nested
171 // and form a trace tree. Often, a trace contains a root span that describes the
172 // end-to-end latency of an operation and, optionally, one or more subspans for
173 // its suboperations. Spans do not need to be contiguous. There may be gaps
174 // between spans in a trace.
175 type TraceSpan struct {
176 // Identifier for the span. Must be a 64-bit integer other than 0 and
177 // unique within a trace.
178 SpanId uint64 `protobuf:"fixed64,1,opt,name=span_id,json=spanId" json:"span_id,omitempty"`
179 // Distinguishes between spans generated in a particular context. For example,
180 // two spans with the same name may be distinguished using `RPC_CLIENT`
181 // and `RPC_SERVER` to identify queueing latency associated with the span.
182 Kind TraceSpan_SpanKind `protobuf:"varint,2,opt,name=kind,enum=google.devtools.cloudtrace.v1.TraceSpan_SpanKind" json:"kind,omitempty"`
183 // Name of the trace. The trace name is sanitized and displayed in the
184 // Stackdriver Trace tool in the Google Developers Console.
185 // The name may be a method name or some other per-call site name.
186 // For the same executable and the same call point, a best practice is
187 // to use a consistent name, which makes it easier to correlate
188 // cross-trace spans.
189 Name string `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"`
190 // Start time of the span in nanoseconds from the UNIX epoch.
191 StartTime *google_protobuf2.Timestamp `protobuf:"bytes,4,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
192 // End time of the span in nanoseconds from the UNIX epoch.
193 EndTime *google_protobuf2.Timestamp `protobuf:"bytes,5,opt,name=end_time,json=endTime" json:"end_time,omitempty"`
194 // ID of the parent span, if any. Optional.
195 ParentSpanId uint64 `protobuf:"fixed64,6,opt,name=parent_span_id,json=parentSpanId" json:"parent_span_id,omitempty"`
196 // Collection of labels associated with the span.
197 Labels map[string]string `protobuf:"bytes,7,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
200 func (m *TraceSpan) Reset() { *m = TraceSpan{} }
201 func (m *TraceSpan) String() string { return proto.CompactTextString(m) }
202 func (*TraceSpan) ProtoMessage() {}
203 func (*TraceSpan) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
205 func (m *TraceSpan) GetSpanId() uint64 {
212 func (m *TraceSpan) GetKind() TraceSpan_SpanKind {
216 return TraceSpan_SPAN_KIND_UNSPECIFIED
219 func (m *TraceSpan) GetName() string {
226 func (m *TraceSpan) GetStartTime() *google_protobuf2.Timestamp {
233 func (m *TraceSpan) GetEndTime() *google_protobuf2.Timestamp {
240 func (m *TraceSpan) GetParentSpanId() uint64 {
242 return m.ParentSpanId
247 func (m *TraceSpan) GetLabels() map[string]string {
254 // The request message for the `ListTraces` method. All fields are required
256 type ListTracesRequest struct {
257 // ID of the Cloud project where the trace data is stored.
258 ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
259 // Type of data returned for traces in the list. Optional. Default is
261 View ListTracesRequest_ViewType `protobuf:"varint,2,opt,name=view,enum=google.devtools.cloudtrace.v1.ListTracesRequest_ViewType" json:"view,omitempty"`
262 // Maximum number of traces to return. If not specified or <= 0, the
263 // implementation selects a reasonable value. The implementation may
264 // return fewer traces than the requested page size. Optional.
265 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
266 // Token identifying the page of results to return. If provided, use the
267 // value of the `next_page_token` field from a previous request. Optional.
268 PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
269 // End of the time interval (inclusive) during which the trace data was
270 // collected from the application.
271 StartTime *google_protobuf2.Timestamp `protobuf:"bytes,5,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
272 // Start of the time interval (inclusive) during which the trace data was
273 // collected from the application.
274 EndTime *google_protobuf2.Timestamp `protobuf:"bytes,6,opt,name=end_time,json=endTime" json:"end_time,omitempty"`
275 // An optional filter for the request.
276 Filter string `protobuf:"bytes,7,opt,name=filter" json:"filter,omitempty"`
277 // Field used to sort the returned traces. Optional.
278 // Can be one of the following:
281 // * `name` (`name` field of root span in the trace)
282 // * `duration` (difference between `end_time` and `start_time` fields of
284 // * `start` (`start_time` field of the root span)
286 // Descending order can be specified by appending `desc` to the sort field
287 // (for example, `name desc`).
289 // Only one sort field is permitted.
290 OrderBy string `protobuf:"bytes,8,opt,name=order_by,json=orderBy" json:"order_by,omitempty"`
293 func (m *ListTracesRequest) Reset() { *m = ListTracesRequest{} }
294 func (m *ListTracesRequest) String() string { return proto.CompactTextString(m) }
295 func (*ListTracesRequest) ProtoMessage() {}
296 func (*ListTracesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
298 func (m *ListTracesRequest) GetProjectId() string {
305 func (m *ListTracesRequest) GetView() ListTracesRequest_ViewType {
309 return ListTracesRequest_VIEW_TYPE_UNSPECIFIED
312 func (m *ListTracesRequest) GetPageSize() int32 {
319 func (m *ListTracesRequest) GetPageToken() string {
326 func (m *ListTracesRequest) GetStartTime() *google_protobuf2.Timestamp {
333 func (m *ListTracesRequest) GetEndTime() *google_protobuf2.Timestamp {
340 func (m *ListTracesRequest) GetFilter() string {
347 func (m *ListTracesRequest) GetOrderBy() string {
354 // The response message for the `ListTraces` method.
355 type ListTracesResponse struct {
356 // List of trace records returned.
357 Traces []*Trace `protobuf:"bytes,1,rep,name=traces" json:"traces,omitempty"`
358 // If defined, indicates that there are more traces that match the request
359 // and that this value should be passed to the next request to continue
360 // retrieving additional traces.
361 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
364 func (m *ListTracesResponse) Reset() { *m = ListTracesResponse{} }
365 func (m *ListTracesResponse) String() string { return proto.CompactTextString(m) }
366 func (*ListTracesResponse) ProtoMessage() {}
367 func (*ListTracesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
369 func (m *ListTracesResponse) GetTraces() []*Trace {
376 func (m *ListTracesResponse) GetNextPageToken() string {
378 return m.NextPageToken
383 // The request message for the `GetTrace` method.
384 type GetTraceRequest struct {
385 // ID of the Cloud project where the trace data is stored.
386 ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
387 // ID of the trace to return.
388 TraceId string `protobuf:"bytes,2,opt,name=trace_id,json=traceId" json:"trace_id,omitempty"`
391 func (m *GetTraceRequest) Reset() { *m = GetTraceRequest{} }
392 func (m *GetTraceRequest) String() string { return proto.CompactTextString(m) }
393 func (*GetTraceRequest) ProtoMessage() {}
394 func (*GetTraceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
396 func (m *GetTraceRequest) GetProjectId() string {
403 func (m *GetTraceRequest) GetTraceId() string {
410 // The request message for the `PatchTraces` method.
411 type PatchTracesRequest struct {
412 // ID of the Cloud project where the trace data is stored.
413 ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
414 // The body of the message.
415 Traces *Traces `protobuf:"bytes,2,opt,name=traces" json:"traces,omitempty"`
418 func (m *PatchTracesRequest) Reset() { *m = PatchTracesRequest{} }
419 func (m *PatchTracesRequest) String() string { return proto.CompactTextString(m) }
420 func (*PatchTracesRequest) ProtoMessage() {}
421 func (*PatchTracesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
423 func (m *PatchTracesRequest) GetProjectId() string {
430 func (m *PatchTracesRequest) GetTraces() *Traces {
438 proto.RegisterType((*Trace)(nil), "google.devtools.cloudtrace.v1.Trace")
439 proto.RegisterType((*Traces)(nil), "google.devtools.cloudtrace.v1.Traces")
440 proto.RegisterType((*TraceSpan)(nil), "google.devtools.cloudtrace.v1.TraceSpan")
441 proto.RegisterType((*ListTracesRequest)(nil), "google.devtools.cloudtrace.v1.ListTracesRequest")
442 proto.RegisterType((*ListTracesResponse)(nil), "google.devtools.cloudtrace.v1.ListTracesResponse")
443 proto.RegisterType((*GetTraceRequest)(nil), "google.devtools.cloudtrace.v1.GetTraceRequest")
444 proto.RegisterType((*PatchTracesRequest)(nil), "google.devtools.cloudtrace.v1.PatchTracesRequest")
445 proto.RegisterEnum("google.devtools.cloudtrace.v1.TraceSpan_SpanKind", TraceSpan_SpanKind_name, TraceSpan_SpanKind_value)
446 proto.RegisterEnum("google.devtools.cloudtrace.v1.ListTracesRequest_ViewType", ListTracesRequest_ViewType_name, ListTracesRequest_ViewType_value)
449 // Reference imports to suppress errors if they are not otherwise used.
450 var _ context.Context
451 var _ grpc.ClientConn
453 // This is a compile-time assertion to ensure that this generated file
454 // is compatible with the grpc package it is being compiled against.
455 const _ = grpc.SupportPackageIsVersion4
457 // Client API for TraceService service
459 type TraceServiceClient interface {
460 // Returns of a list of traces that match the specified filter conditions.
461 ListTraces(ctx context.Context, in *ListTracesRequest, opts ...grpc.CallOption) (*ListTracesResponse, error)
462 // Gets a single trace by its ID.
463 GetTrace(ctx context.Context, in *GetTraceRequest, opts ...grpc.CallOption) (*Trace, error)
464 // Sends new traces to Stackdriver Trace or updates existing traces. If the ID
465 // of a trace that you send matches that of an existing trace, any fields
466 // in the existing trace and its spans are overwritten by the provided values,
467 // and any new fields provided are merged with the existing trace data. If the
468 // ID does not match, a new trace is created.
469 PatchTraces(ctx context.Context, in *PatchTracesRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error)
472 type traceServiceClient struct {
476 func NewTraceServiceClient(cc *grpc.ClientConn) TraceServiceClient {
477 return &traceServiceClient{cc}
480 func (c *traceServiceClient) ListTraces(ctx context.Context, in *ListTracesRequest, opts ...grpc.CallOption) (*ListTracesResponse, error) {
481 out := new(ListTracesResponse)
482 err := grpc.Invoke(ctx, "/google.devtools.cloudtrace.v1.TraceService/ListTraces", in, out, c.cc, opts...)
489 func (c *traceServiceClient) GetTrace(ctx context.Context, in *GetTraceRequest, opts ...grpc.CallOption) (*Trace, error) {
491 err := grpc.Invoke(ctx, "/google.devtools.cloudtrace.v1.TraceService/GetTrace", in, out, c.cc, opts...)
498 func (c *traceServiceClient) PatchTraces(ctx context.Context, in *PatchTracesRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) {
499 out := new(google_protobuf1.Empty)
500 err := grpc.Invoke(ctx, "/google.devtools.cloudtrace.v1.TraceService/PatchTraces", in, out, c.cc, opts...)
507 // Server API for TraceService service
509 type TraceServiceServer interface {
510 // Returns of a list of traces that match the specified filter conditions.
511 ListTraces(context.Context, *ListTracesRequest) (*ListTracesResponse, error)
512 // Gets a single trace by its ID.
513 GetTrace(context.Context, *GetTraceRequest) (*Trace, error)
514 // Sends new traces to Stackdriver Trace or updates existing traces. If the ID
515 // of a trace that you send matches that of an existing trace, any fields
516 // in the existing trace and its spans are overwritten by the provided values,
517 // and any new fields provided are merged with the existing trace data. If the
518 // ID does not match, a new trace is created.
519 PatchTraces(context.Context, *PatchTracesRequest) (*google_protobuf1.Empty, error)
522 func RegisterTraceServiceServer(s *grpc.Server, srv TraceServiceServer) {
523 s.RegisterService(&_TraceService_serviceDesc, srv)
526 func _TraceService_ListTraces_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
527 in := new(ListTracesRequest)
528 if err := dec(in); err != nil {
531 if interceptor == nil {
532 return srv.(TraceServiceServer).ListTraces(ctx, in)
534 info := &grpc.UnaryServerInfo{
536 FullMethod: "/google.devtools.cloudtrace.v1.TraceService/ListTraces",
538 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
539 return srv.(TraceServiceServer).ListTraces(ctx, req.(*ListTracesRequest))
541 return interceptor(ctx, in, info, handler)
544 func _TraceService_GetTrace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
545 in := new(GetTraceRequest)
546 if err := dec(in); err != nil {
549 if interceptor == nil {
550 return srv.(TraceServiceServer).GetTrace(ctx, in)
552 info := &grpc.UnaryServerInfo{
554 FullMethod: "/google.devtools.cloudtrace.v1.TraceService/GetTrace",
556 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
557 return srv.(TraceServiceServer).GetTrace(ctx, req.(*GetTraceRequest))
559 return interceptor(ctx, in, info, handler)
562 func _TraceService_PatchTraces_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
563 in := new(PatchTracesRequest)
564 if err := dec(in); err != nil {
567 if interceptor == nil {
568 return srv.(TraceServiceServer).PatchTraces(ctx, in)
570 info := &grpc.UnaryServerInfo{
572 FullMethod: "/google.devtools.cloudtrace.v1.TraceService/PatchTraces",
574 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
575 return srv.(TraceServiceServer).PatchTraces(ctx, req.(*PatchTracesRequest))
577 return interceptor(ctx, in, info, handler)
580 var _TraceService_serviceDesc = grpc.ServiceDesc{
581 ServiceName: "google.devtools.cloudtrace.v1.TraceService",
582 HandlerType: (*TraceServiceServer)(nil),
583 Methods: []grpc.MethodDesc{
585 MethodName: "ListTraces",
586 Handler: _TraceService_ListTraces_Handler,
589 MethodName: "GetTrace",
590 Handler: _TraceService_GetTrace_Handler,
593 MethodName: "PatchTraces",
594 Handler: _TraceService_PatchTraces_Handler,
597 Streams: []grpc.StreamDesc{},
598 Metadata: "google/devtools/cloudtrace/v1/trace.proto",
601 func init() { proto.RegisterFile("google/devtools/cloudtrace/v1/trace.proto", fileDescriptor0) }
603 var fileDescriptor0 = []byte{
604 // 886 bytes of a gzipped FileDescriptorProto
605 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xdd, 0x6e, 0x1b, 0x45,
606 0x14, 0x66, 0xed, 0x78, 0x6d, 0x1f, 0x87, 0xd4, 0x8c, 0x68, 0x71, 0x5d, 0x2a, 0xc2, 0xaa, 0x20,
607 0x03, 0x62, 0xb7, 0x76, 0x41, 0x22, 0xe5, 0x47, 0x6a, 0xdc, 0x6d, 0xb4, 0x8a, 0xe3, 0xac, 0xd6,
608 0x26, 0x08, 0x6e, 0x56, 0x13, 0xef, 0xd4, 0x2c, 0x59, 0xcf, 0x2c, 0x3b, 0x13, 0x17, 0xa7, 0xea,
609 0x05, 0x5c, 0x72, 0x09, 0xe2, 0x8a, 0x37, 0xe0, 0x92, 0x37, 0x41, 0xbc, 0x02, 0x12, 0xaf, 0x81,
610 0x66, 0x66, 0xb7, 0x89, 0x12, 0x35, 0x76, 0xe8, 0x4d, 0x34, 0xe7, 0xcc, 0xf9, 0xfd, 0xbe, 0x6f,
611 0xb2, 0x86, 0xf7, 0xa6, 0x8c, 0x4d, 0x13, 0xe2, 0x44, 0x64, 0x2e, 0x18, 0x4b, 0xb8, 0x33, 0x49,
612 0xd8, 0x71, 0x24, 0x32, 0x3c, 0x21, 0xce, 0xbc, 0xeb, 0xa8, 0x83, 0x9d, 0x66, 0x4c, 0x30, 0x74,
613 0x5b, 0x87, 0xda, 0x45, 0xa8, 0x7d, 0x1a, 0x6a, 0xcf, 0xbb, 0xed, 0x37, 0xf3, 0x4a, 0x38, 0x8d,
614 0x1d, 0x4c, 0x29, 0x13, 0x58, 0xc4, 0x8c, 0x72, 0x9d, 0xdc, 0xbe, 0x95, 0xdf, 0x2a, 0xeb, 0xf0,
615 0xf8, 0xb1, 0x43, 0x66, 0xa9, 0x58, 0xe4, 0x97, 0x6f, 0x9d, 0xbf, 0x14, 0xf1, 0x8c, 0x70, 0x81,
616 0x67, 0xa9, 0x0e, 0xb0, 0x7e, 0x34, 0xa0, 0x32, 0x96, 0x8d, 0xd0, 0x6d, 0x80, 0x34, 0x63, 0xdf,
617 0x91, 0x89, 0x08, 0xe3, 0xa8, 0x65, 0x6c, 0x1a, 0x9d, 0x7a, 0x50, 0xcf, 0x3d, 0x5e, 0x84, 0x6e,
618 0x42, 0x4d, 0x0d, 0x24, 0x2f, 0x4b, 0xea, 0xb2, 0xaa, 0x6c, 0x2f, 0x42, 0x5f, 0x40, 0x85, 0xa7,
619 0x98, 0xf2, 0x56, 0x79, 0xb3, 0xdc, 0x69, 0xf4, 0x3a, 0xf6, 0xa5, 0xeb, 0xd8, 0xaa, 0xdd, 0x28,
620 0xc5, 0x34, 0xd0, 0x69, 0xd6, 0x23, 0x30, 0x95, 0x8f, 0xa3, 0xcf, 0xc0, 0x54, 0x61, 0xbc, 0x65,
621 0xa8, 0x52, 0x77, 0x56, 0x29, 0x15, 0xe4, 0x39, 0xd6, 0xbf, 0x65, 0xa8, 0x3f, 0x2f, 0x8e, 0xde,
622 0x80, 0xaa, 0x2c, 0x5f, 0x2c, 0x63, 0x06, 0xa6, 0x34, 0xbd, 0x08, 0xb9, 0xb0, 0x76, 0x14, 0x53,
623 0xbd, 0xc5, 0x46, 0xaf, 0xbb, 0xea, 0xb4, 0xb6, 0xfc, 0xb3, 0x1b, 0xd3, 0x28, 0x50, 0xe9, 0x08,
624 0xc1, 0x1a, 0xc5, 0x33, 0xd2, 0x2a, 0x2b, 0x30, 0xd4, 0x19, 0x6d, 0x01, 0x70, 0x81, 0x33, 0x11,
625 0x4a, 0x98, 0x5b, 0x6b, 0x9b, 0x46, 0xa7, 0xd1, 0x6b, 0x17, 0x0d, 0x0a, 0x0e, 0xec, 0x71, 0xc1,
626 0x41, 0x50, 0x57, 0xd1, 0xd2, 0x46, 0x1f, 0x43, 0x8d, 0xd0, 0x48, 0x27, 0x56, 0x96, 0x26, 0x56,
627 0x09, 0x8d, 0x54, 0xda, 0x1d, 0xd8, 0x48, 0x71, 0x46, 0xa8, 0x08, 0x8b, 0x65, 0x4d, 0xb5, 0xec,
628 0xba, 0xf6, 0x8e, 0xf4, 0xca, 0x03, 0x30, 0x13, 0x7c, 0x48, 0x12, 0xde, 0xaa, 0x2a, 0x5c, 0x3f,
629 0x5a, 0x79, 0xe9, 0x81, 0x4a, 0x73, 0xa9, 0xc8, 0x16, 0x41, 0x5e, 0xa3, 0xbd, 0x05, 0x8d, 0x33,
630 0x6e, 0xd4, 0x84, 0xf2, 0x11, 0x59, 0xe4, 0x8a, 0x91, 0x47, 0xf4, 0x3a, 0x54, 0xe6, 0x38, 0x39,
631 0x26, 0xb9, 0x50, 0xb4, 0x71, 0xbf, 0xf4, 0x89, 0x61, 0xb9, 0x50, 0x2b, 0x60, 0x44, 0x37, 0xe1,
632 0xfa, 0xc8, 0x7f, 0x30, 0x0c, 0x77, 0xbd, 0xe1, 0xc3, 0xf0, 0xcb, 0xe1, 0xc8, 0x77, 0xfb, 0xde,
633 0x23, 0xcf, 0x7d, 0xd8, 0x7c, 0x05, 0x6d, 0x00, 0x04, 0x7e, 0x3f, 0x1c, 0xb9, 0xc1, 0x81, 0x1b,
634 0x34, 0x8d, 0xc2, 0xee, 0x0f, 0x3c, 0x77, 0x38, 0x6e, 0x96, 0xac, 0x3f, 0xcb, 0xf0, 0xda, 0x20,
635 0xe6, 0x42, 0xcb, 0x26, 0x20, 0xdf, 0x1f, 0x13, 0x2e, 0x96, 0x29, 0x78, 0x0f, 0xd6, 0xe6, 0x31,
636 0x79, 0x92, 0xf3, 0xbe, 0xb5, 0x04, 0x82, 0x0b, 0xe5, 0xed, 0x83, 0x98, 0x3c, 0x19, 0x2f, 0x52,
637 0x12, 0xa8, 0x32, 0xe8, 0x16, 0xd4, 0x53, 0x3c, 0x25, 0x21, 0x8f, 0x4f, 0xb4, 0x08, 0x2a, 0x41,
638 0x4d, 0x3a, 0x46, 0xf1, 0x89, 0x7e, 0x4c, 0xf2, 0x52, 0xb0, 0x23, 0x42, 0x95, 0x10, 0xe4, 0x28,
639 0x78, 0x4a, 0xc6, 0xd2, 0x71, 0x4e, 0x27, 0x95, 0xff, 0xab, 0x13, 0x73, 0x75, 0x9d, 0xdc, 0x00,
640 0xf3, 0x71, 0x9c, 0x08, 0x92, 0xb5, 0xaa, 0x6a, 0x98, 0xdc, 0x92, 0xcf, 0x9a, 0x65, 0x11, 0xc9,
641 0xc2, 0xc3, 0x45, 0xab, 0xa6, 0x9f, 0xb5, 0xb2, 0xb7, 0x17, 0xd6, 0x10, 0x6a, 0xc5, 0xca, 0x92,
642 0xab, 0x03, 0xcf, 0xfd, 0x2a, 0x1c, 0x7f, 0xed, 0xbb, 0xe7, 0xb8, 0x6a, 0x40, 0x75, 0xcf, 0x1b,
643 0x7a, 0x7b, 0x0f, 0x06, 0x4d, 0x03, 0xad, 0x43, 0x2d, 0xd8, 0xdf, 0x1f, 0x4b, 0x5e, 0x9b, 0x25,
644 0x69, 0xf5, 0xf7, 0xf7, 0xfc, 0x81, 0x3b, 0x76, 0x9b, 0x65, 0xeb, 0x04, 0xd0, 0x59, 0x50, 0x79,
645 0xca, 0x28, 0x27, 0x2f, 0xf7, 0xe4, 0xd1, 0xbb, 0x70, 0x8d, 0x92, 0x1f, 0x44, 0x78, 0x06, 0x6c,
646 0xad, 0xb9, 0x57, 0xa5, 0xdb, 0x2f, 0x00, 0xb7, 0x76, 0xe1, 0xda, 0x0e, 0xd1, 0xad, 0x57, 0x54,
647 0xcb, 0x8b, 0xff, 0xdf, 0x59, 0x19, 0x20, 0x1f, 0x8b, 0xc9, 0xb7, 0x57, 0x52, 0xdf, 0xe7, 0xcf,
648 0xf7, 0x2c, 0x29, 0xd6, 0xde, 0x59, 0x65, 0x4f, 0x5e, 0x2c, 0xda, 0xfb, 0xab, 0x0c, 0xeb, 0xfa,
649 0x55, 0x92, 0x6c, 0x1e, 0x4f, 0x08, 0xfa, 0xdd, 0x00, 0x38, 0x85, 0x13, 0xdd, 0xbd, 0xaa, 0x9c,
650 0xdb, 0xdd, 0x2b, 0x64, 0x68, 0xae, 0xac, 0xce, 0x4f, 0x7f, 0xff, 0xf3, 0x6b, 0xc9, 0x42, 0x9b,
651 0xf2, 0x03, 0x96, 0xaf, 0xc6, 0x9d, 0xa7, 0xa7, 0x6b, 0x3f, 0x73, 0x72, 0x5e, 0x7e, 0x33, 0xa0,
652 0x56, 0x00, 0x8e, 0xec, 0x25, 0x9d, 0xce, 0x31, 0xd3, 0x5e, 0x49, 0x02, 0xd6, 0x3d, 0x35, 0xcc,
653 0x87, 0xe8, 0x83, 0x65, 0xc3, 0x38, 0x4f, 0x0b, 0x22, 0x9f, 0xa1, 0x9f, 0x0d, 0x68, 0x9c, 0xe1,
654 0x0e, 0x2d, 0x03, 0xe1, 0x22, 0xcf, 0xed, 0x1b, 0x17, 0x9e, 0x9b, 0x2b, 0x3f, 0xb8, 0xd6, 0x5d,
655 0x35, 0xcf, 0xfb, 0xbd, 0xa5, 0xe0, 0xdc, 0xcf, 0x39, 0xdd, 0xfe, 0xc5, 0x80, 0xb7, 0x27, 0x6c,
656 0x76, 0xf9, 0x08, 0xdb, 0xa0, 0xda, 0xfb, 0xb2, 0x99, 0x6f, 0x7c, 0xb3, 0x93, 0x07, 0x4f, 0x59,
657 0x82, 0xe9, 0xd4, 0x66, 0xd9, 0xd4, 0x99, 0x12, 0xaa, 0x46, 0x71, 0xf4, 0x15, 0x4e, 0x63, 0xfe,
658 0x82, 0x1f, 0x1d, 0x9f, 0x9e, 0x5a, 0x7f, 0x94, 0xae, 0xef, 0xe8, 0x4a, 0x7d, 0xe9, 0xd3, 0x98,
659 0xda, 0x07, 0xdd, 0x43, 0x53, 0xd5, 0xba, 0xf7, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0c, 0xd5,
660 0x26, 0xa6, 0xbf, 0x08, 0x00, 0x00,