1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/cloud/scheduler/v1beta1/job.proto
3
4package scheduler
5
6import (
7	fmt "fmt"
8	math "math"
9
10	proto "github.com/golang/protobuf/proto"
11	duration "github.com/golang/protobuf/ptypes/duration"
12	timestamp "github.com/golang/protobuf/ptypes/timestamp"
13	_ "google.golang.org/genproto/googleapis/api/annotations"
14	status "google.golang.org/genproto/googleapis/rpc/status"
15)
16
17// Reference imports to suppress errors if they are not otherwise used.
18var _ = proto.Marshal
19var _ = fmt.Errorf
20var _ = math.Inf
21
22// This is a compile-time assertion to ensure that this generated file
23// is compatible with the proto package it is being compiled against.
24// A compilation error at this line likely means your copy of the
25// proto package needs to be updated.
26const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
27
28// State of the job.
29type Job_State int32
30
31const (
32	// Unspecified state.
33	Job_STATE_UNSPECIFIED Job_State = 0
34	// The job is executing normally.
35	Job_ENABLED Job_State = 1
36	// The job is paused by the user. It will not execute. A user can
37	// intentionally pause the job using
38	// [PauseJobRequest][google.cloud.scheduler.v1beta1.PauseJobRequest].
39	Job_PAUSED Job_State = 2
40	// The job is disabled by the system due to error. The user
41	// cannot directly set a job to be disabled.
42	Job_DISABLED Job_State = 3
43	// The job state resulting from a failed [CloudScheduler.UpdateJob][google.cloud.scheduler.v1beta1.CloudScheduler.UpdateJob]
44	// operation. To recover a job from this state, retry
45	// [CloudScheduler.UpdateJob][google.cloud.scheduler.v1beta1.CloudScheduler.UpdateJob] until a successful response is received.
46	Job_UPDATE_FAILED Job_State = 4
47)
48
49var Job_State_name = map[int32]string{
50	0: "STATE_UNSPECIFIED",
51	1: "ENABLED",
52	2: "PAUSED",
53	3: "DISABLED",
54	4: "UPDATE_FAILED",
55}
56
57var Job_State_value = map[string]int32{
58	"STATE_UNSPECIFIED": 0,
59	"ENABLED":           1,
60	"PAUSED":            2,
61	"DISABLED":          3,
62	"UPDATE_FAILED":     4,
63}
64
65func (x Job_State) String() string {
66	return proto.EnumName(Job_State_name, int32(x))
67}
68
69func (Job_State) EnumDescriptor() ([]byte, []int) {
70	return fileDescriptor_0cfee8289e3d589c, []int{0, 0}
71}
72
73// Configuration for a job.
74// The maximum allowed size for a job is 100KB.
75type Job struct {
76	// Optionally caller-specified in [CreateJob][google.cloud.scheduler.v1beta1.CloudScheduler.CreateJob], after
77	// which it becomes output only.
78	//
79	// The job name. For example:
80	// `projects/PROJECT_ID/locations/LOCATION_ID/jobs/JOB_ID`.
81	//
82	// * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),
83	//    hyphens (-), colons (:), or periods (.).
84	//    For more information, see
85	//    [Identifying
86	//    projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)
87	// * `LOCATION_ID` is the canonical ID for the job's location.
88	//    The list of available locations can be obtained by calling
89	//    [ListLocations][google.cloud.location.Locations.ListLocations].
90	//    For more information, see https://cloud.google.com/about/locations/.
91	// * `JOB_ID` can contain only letters ([A-Za-z]), numbers ([0-9]),
92	//    hyphens (-), or underscores (_). The maximum length is 500 characters.
93	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
94	// Optionally caller-specified in [CreateJob][google.cloud.scheduler.v1beta1.CloudScheduler.CreateJob] or
95	// [UpdateJob][google.cloud.scheduler.v1beta1.CloudScheduler.UpdateJob].
96	//
97	// A human-readable description for the job. This string must not contain
98	// more than 500 characters.
99	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
100	// Required.
101	//
102	// Delivery settings containing destination and parameters.
103	//
104	// Types that are valid to be assigned to Target:
105	//	*Job_PubsubTarget
106	//	*Job_AppEngineHttpTarget
107	//	*Job_HttpTarget
108	Target isJob_Target `protobuf_oneof:"target"`
109	// Required, except when used with [UpdateJob][google.cloud.scheduler.v1beta1.CloudScheduler.UpdateJob].
110	//
111	// Describes the schedule on which the job will be executed.
112	//
113	// The schedule can be either of the following types:
114	//
115	// * [Crontab](http://en.wikipedia.org/wiki/Cron#Overview)
116	// * English-like
117	// [schedule](https://cloud.google.com/scheduler/docs/configuring/cron-job-schedules)
118	//
119	// As a general rule, execution `n + 1` of a job will not begin
120	// until execution `n` has finished. Cloud Scheduler will never
121	// allow two simultaneously outstanding executions. For example,
122	// this implies that if the `n+1`th execution is scheduled to run at
123	// 16:00 but the `n`th execution takes until 16:15, the `n+1`th
124	// execution will not start until `16:15`.
125	// A scheduled start time will be delayed if the previous
126	// execution has not ended when its scheduled time occurs.
127	//
128	// If [retry_count][google.cloud.scheduler.v1beta1.RetryConfig.retry_count] > 0 and a job attempt fails,
129	// the job will be tried a total of [retry_count][google.cloud.scheduler.v1beta1.RetryConfig.retry_count]
130	// times, with exponential backoff, until the next scheduled start
131	// time.
132	Schedule string `protobuf:"bytes,20,opt,name=schedule,proto3" json:"schedule,omitempty"`
133	// Specifies the time zone to be used in interpreting
134	// [schedule][google.cloud.scheduler.v1beta1.Job.schedule]. The value of this field must be a time
135	// zone name from the [tz database](http://en.wikipedia.org/wiki/Tz_database).
136	//
137	// Note that some time zones include a provision for
138	// daylight savings time. The rules for daylight saving time are
139	// determined by the chosen tz. For UTC use the string "utc". If a
140	// time zone is not specified, the default will be in UTC (also known
141	// as GMT).
142	TimeZone string `protobuf:"bytes,21,opt,name=time_zone,json=timeZone,proto3" json:"time_zone,omitempty"`
143	// Output only. The creation time of the job.
144	UserUpdateTime *timestamp.Timestamp `protobuf:"bytes,9,opt,name=user_update_time,json=userUpdateTime,proto3" json:"user_update_time,omitempty"`
145	// Output only. State of the job.
146	State Job_State `protobuf:"varint,10,opt,name=state,proto3,enum=google.cloud.scheduler.v1beta1.Job_State" json:"state,omitempty"`
147	// Output only. The response from the target for the last attempted execution.
148	Status *status.Status `protobuf:"bytes,11,opt,name=status,proto3" json:"status,omitempty"`
149	// Output only. The next time the job is scheduled. Note that this may be a
150	// retry of a previously failed attempt or the next execution time
151	// according to the schedule.
152	ScheduleTime *timestamp.Timestamp `protobuf:"bytes,17,opt,name=schedule_time,json=scheduleTime,proto3" json:"schedule_time,omitempty"`
153	// Output only. The time the last job attempt started.
154	LastAttemptTime *timestamp.Timestamp `protobuf:"bytes,18,opt,name=last_attempt_time,json=lastAttemptTime,proto3" json:"last_attempt_time,omitempty"`
155	// Settings that determine the retry behavior.
156	RetryConfig *RetryConfig `protobuf:"bytes,19,opt,name=retry_config,json=retryConfig,proto3" json:"retry_config,omitempty"`
157	// The deadline for job attempts. If the request handler does not respond by
158	// this deadline then the request is cancelled and the attempt is marked as a
159	// `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in
160	// execution logs. Cloud Scheduler will retry the job according
161	// to the [RetryConfig][google.cloud.scheduler.v1beta1.RetryConfig].
162	//
163	// The allowed duration for this deadline is:
164	//
165	// * For [HTTP targets][google.cloud.scheduler.v1beta1.Job.http_target], between 15 seconds and 30 minutes.
166	// * For [App Engine HTTP targets][google.cloud.scheduler.v1beta1.Job.app_engine_http_target], between 15
167	//   seconds and 24 hours.
168	// * For [PubSub targets][google.cloud.scheduler.v1beta1.Job.pubsub_target], this field is ignored.
169	AttemptDeadline      *duration.Duration `protobuf:"bytes,22,opt,name=attempt_deadline,json=attemptDeadline,proto3" json:"attempt_deadline,omitempty"`
170	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
171	XXX_unrecognized     []byte             `json:"-"`
172	XXX_sizecache        int32              `json:"-"`
173}
174
175func (m *Job) Reset()         { *m = Job{} }
176func (m *Job) String() string { return proto.CompactTextString(m) }
177func (*Job) ProtoMessage()    {}
178func (*Job) Descriptor() ([]byte, []int) {
179	return fileDescriptor_0cfee8289e3d589c, []int{0}
180}
181
182func (m *Job) XXX_Unmarshal(b []byte) error {
183	return xxx_messageInfo_Job.Unmarshal(m, b)
184}
185func (m *Job) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
186	return xxx_messageInfo_Job.Marshal(b, m, deterministic)
187}
188func (m *Job) XXX_Merge(src proto.Message) {
189	xxx_messageInfo_Job.Merge(m, src)
190}
191func (m *Job) XXX_Size() int {
192	return xxx_messageInfo_Job.Size(m)
193}
194func (m *Job) XXX_DiscardUnknown() {
195	xxx_messageInfo_Job.DiscardUnknown(m)
196}
197
198var xxx_messageInfo_Job proto.InternalMessageInfo
199
200func (m *Job) GetName() string {
201	if m != nil {
202		return m.Name
203	}
204	return ""
205}
206
207func (m *Job) GetDescription() string {
208	if m != nil {
209		return m.Description
210	}
211	return ""
212}
213
214type isJob_Target interface {
215	isJob_Target()
216}
217
218type Job_PubsubTarget struct {
219	PubsubTarget *PubsubTarget `protobuf:"bytes,4,opt,name=pubsub_target,json=pubsubTarget,proto3,oneof"`
220}
221
222type Job_AppEngineHttpTarget struct {
223	AppEngineHttpTarget *AppEngineHttpTarget `protobuf:"bytes,5,opt,name=app_engine_http_target,json=appEngineHttpTarget,proto3,oneof"`
224}
225
226type Job_HttpTarget struct {
227	HttpTarget *HttpTarget `protobuf:"bytes,6,opt,name=http_target,json=httpTarget,proto3,oneof"`
228}
229
230func (*Job_PubsubTarget) isJob_Target() {}
231
232func (*Job_AppEngineHttpTarget) isJob_Target() {}
233
234func (*Job_HttpTarget) isJob_Target() {}
235
236func (m *Job) GetTarget() isJob_Target {
237	if m != nil {
238		return m.Target
239	}
240	return nil
241}
242
243func (m *Job) GetPubsubTarget() *PubsubTarget {
244	if x, ok := m.GetTarget().(*Job_PubsubTarget); ok {
245		return x.PubsubTarget
246	}
247	return nil
248}
249
250func (m *Job) GetAppEngineHttpTarget() *AppEngineHttpTarget {
251	if x, ok := m.GetTarget().(*Job_AppEngineHttpTarget); ok {
252		return x.AppEngineHttpTarget
253	}
254	return nil
255}
256
257func (m *Job) GetHttpTarget() *HttpTarget {
258	if x, ok := m.GetTarget().(*Job_HttpTarget); ok {
259		return x.HttpTarget
260	}
261	return nil
262}
263
264func (m *Job) GetSchedule() string {
265	if m != nil {
266		return m.Schedule
267	}
268	return ""
269}
270
271func (m *Job) GetTimeZone() string {
272	if m != nil {
273		return m.TimeZone
274	}
275	return ""
276}
277
278func (m *Job) GetUserUpdateTime() *timestamp.Timestamp {
279	if m != nil {
280		return m.UserUpdateTime
281	}
282	return nil
283}
284
285func (m *Job) GetState() Job_State {
286	if m != nil {
287		return m.State
288	}
289	return Job_STATE_UNSPECIFIED
290}
291
292func (m *Job) GetStatus() *status.Status {
293	if m != nil {
294		return m.Status
295	}
296	return nil
297}
298
299func (m *Job) GetScheduleTime() *timestamp.Timestamp {
300	if m != nil {
301		return m.ScheduleTime
302	}
303	return nil
304}
305
306func (m *Job) GetLastAttemptTime() *timestamp.Timestamp {
307	if m != nil {
308		return m.LastAttemptTime
309	}
310	return nil
311}
312
313func (m *Job) GetRetryConfig() *RetryConfig {
314	if m != nil {
315		return m.RetryConfig
316	}
317	return nil
318}
319
320func (m *Job) GetAttemptDeadline() *duration.Duration {
321	if m != nil {
322		return m.AttemptDeadline
323	}
324	return nil
325}
326
327// XXX_OneofWrappers is for the internal use of the proto package.
328func (*Job) XXX_OneofWrappers() []interface{} {
329	return []interface{}{
330		(*Job_PubsubTarget)(nil),
331		(*Job_AppEngineHttpTarget)(nil),
332		(*Job_HttpTarget)(nil),
333	}
334}
335
336// Settings that determine the retry behavior.
337//
338// By default, if a job does not complete successfully (meaning that
339// an acknowledgement is not received from the handler, then it will be retried
340// with exponential backoff according to the settings in [RetryConfig][google.cloud.scheduler.v1beta1.RetryConfig].
341type RetryConfig struct {
342	// The number of attempts that the system will make to run a job using the
343	// exponential backoff procedure described by
344	// [max_doublings][google.cloud.scheduler.v1beta1.RetryConfig.max_doublings].
345	//
346	// The default value of retry_count is zero.
347	//
348	// If retry_count is zero, a job attempt will *not* be retried if
349	// it fails. Instead the Cloud Scheduler system will wait for the
350	// next scheduled execution time.
351	//
352	// If retry_count is set to a non-zero number then Cloud Scheduler
353	// will retry failed attempts, using exponential backoff,
354	// retry_count times, or until the next scheduled execution time,
355	// whichever comes first.
356	//
357	// Values greater than 5 and negative values are not allowed.
358	RetryCount int32 `protobuf:"varint,1,opt,name=retry_count,json=retryCount,proto3" json:"retry_count,omitempty"`
359	// The time limit for retrying a failed job, measured from time when an
360	// execution was first attempted. If specified with
361	// [retry_count][google.cloud.scheduler.v1beta1.RetryConfig.retry_count], the job will be retried until both
362	// limits are reached.
363	//
364	// The default value for max_retry_duration is zero, which means retry
365	// duration is unlimited.
366	MaxRetryDuration *duration.Duration `protobuf:"bytes,2,opt,name=max_retry_duration,json=maxRetryDuration,proto3" json:"max_retry_duration,omitempty"`
367	// The minimum amount of time to wait before retrying a job after
368	// it fails.
369	//
370	// The default value of this field is 5 seconds.
371	MinBackoffDuration *duration.Duration `protobuf:"bytes,3,opt,name=min_backoff_duration,json=minBackoffDuration,proto3" json:"min_backoff_duration,omitempty"`
372	// The maximum amount of time to wait before retrying a job after
373	// it fails.
374	//
375	// The default value of this field is 1 hour.
376	MaxBackoffDuration *duration.Duration `protobuf:"bytes,4,opt,name=max_backoff_duration,json=maxBackoffDuration,proto3" json:"max_backoff_duration,omitempty"`
377	// The time between retries will double `max_doublings` times.
378	//
379	// A job's retry interval starts at
380	// [min_backoff_duration][google.cloud.scheduler.v1beta1.RetryConfig.min_backoff_duration], then doubles
381	// `max_doublings` times, then increases linearly, and finally
382	// retries retries at intervals of
383	// [max_backoff_duration][google.cloud.scheduler.v1beta1.RetryConfig.max_backoff_duration] up to
384	// [retry_count][google.cloud.scheduler.v1beta1.RetryConfig.retry_count] times.
385	//
386	// For example, if [min_backoff_duration][google.cloud.scheduler.v1beta1.RetryConfig.min_backoff_duration] is
387	// 10s, [max_backoff_duration][google.cloud.scheduler.v1beta1.RetryConfig.max_backoff_duration] is 300s, and
388	// `max_doublings` is 3, then the a job will first be retried in 10s. The
389	// retry interval will double three times, and then increase linearly by
390	// 2^3 * 10s.  Finally, the job will retry at intervals of
391	// [max_backoff_duration][google.cloud.scheduler.v1beta1.RetryConfig.max_backoff_duration] until the job has
392	// been attempted [retry_count][google.cloud.scheduler.v1beta1.RetryConfig.retry_count] times. Thus, the
393	// requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, ....
394	//
395	// The default value of this field is 5.
396	MaxDoublings         int32    `protobuf:"varint,5,opt,name=max_doublings,json=maxDoublings,proto3" json:"max_doublings,omitempty"`
397	XXX_NoUnkeyedLiteral struct{} `json:"-"`
398	XXX_unrecognized     []byte   `json:"-"`
399	XXX_sizecache        int32    `json:"-"`
400}
401
402func (m *RetryConfig) Reset()         { *m = RetryConfig{} }
403func (m *RetryConfig) String() string { return proto.CompactTextString(m) }
404func (*RetryConfig) ProtoMessage()    {}
405func (*RetryConfig) Descriptor() ([]byte, []int) {
406	return fileDescriptor_0cfee8289e3d589c, []int{1}
407}
408
409func (m *RetryConfig) XXX_Unmarshal(b []byte) error {
410	return xxx_messageInfo_RetryConfig.Unmarshal(m, b)
411}
412func (m *RetryConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
413	return xxx_messageInfo_RetryConfig.Marshal(b, m, deterministic)
414}
415func (m *RetryConfig) XXX_Merge(src proto.Message) {
416	xxx_messageInfo_RetryConfig.Merge(m, src)
417}
418func (m *RetryConfig) XXX_Size() int {
419	return xxx_messageInfo_RetryConfig.Size(m)
420}
421func (m *RetryConfig) XXX_DiscardUnknown() {
422	xxx_messageInfo_RetryConfig.DiscardUnknown(m)
423}
424
425var xxx_messageInfo_RetryConfig proto.InternalMessageInfo
426
427func (m *RetryConfig) GetRetryCount() int32 {
428	if m != nil {
429		return m.RetryCount
430	}
431	return 0
432}
433
434func (m *RetryConfig) GetMaxRetryDuration() *duration.Duration {
435	if m != nil {
436		return m.MaxRetryDuration
437	}
438	return nil
439}
440
441func (m *RetryConfig) GetMinBackoffDuration() *duration.Duration {
442	if m != nil {
443		return m.MinBackoffDuration
444	}
445	return nil
446}
447
448func (m *RetryConfig) GetMaxBackoffDuration() *duration.Duration {
449	if m != nil {
450		return m.MaxBackoffDuration
451	}
452	return nil
453}
454
455func (m *RetryConfig) GetMaxDoublings() int32 {
456	if m != nil {
457		return m.MaxDoublings
458	}
459	return 0
460}
461
462func init() {
463	proto.RegisterEnum("google.cloud.scheduler.v1beta1.Job_State", Job_State_name, Job_State_value)
464	proto.RegisterType((*Job)(nil), "google.cloud.scheduler.v1beta1.Job")
465	proto.RegisterType((*RetryConfig)(nil), "google.cloud.scheduler.v1beta1.RetryConfig")
466}
467
468func init() {
469	proto.RegisterFile("google/cloud/scheduler/v1beta1/job.proto", fileDescriptor_0cfee8289e3d589c)
470}
471
472var fileDescriptor_0cfee8289e3d589c = []byte{
473	// 728 bytes of a gzipped FileDescriptorProto
474	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x94, 0x4f, 0x4f, 0xeb, 0x46,
475	0x14, 0xc5, 0x09, 0x24, 0x21, 0x5c, 0x27, 0x90, 0x0c, 0x7f, 0x6a, 0xd2, 0xaa, 0x44, 0xe9, 0x26,
476	0x85, 0xca, 0x16, 0xb0, 0xec, 0x02, 0x25, 0x38, 0x40, 0x68, 0x8b, 0x22, 0x27, 0x91, 0x2a, 0x36,
477	0xd6, 0xd8, 0x9e, 0x18, 0xd3, 0x78, 0x66, 0x64, 0x8f, 0xab, 0xf0, 0x3e, 0xd8, 0x5b, 0xbc, 0x4f,
478	0xf7, 0xe4, 0xb1, 0x1d, 0x02, 0xe8, 0xe1, 0x9d, 0xe7, 0xde, 0x73, 0x7e, 0xf7, 0xcc, 0x8c, 0x6d,
479	0xe8, 0x79, 0x8c, 0x79, 0x0b, 0xa2, 0x3b, 0x0b, 0x16, 0xbb, 0x7a, 0xe4, 0x3c, 0x11, 0x37, 0x5e,
480	0x90, 0x50, 0xff, 0xff, 0xdc, 0x26, 0x02, 0x9f, 0xeb, 0xcf, 0xcc, 0xd6, 0x78, 0xc8, 0x04, 0x43,
481	0xbf, 0xa6, 0x4a, 0x4d, 0x2a, 0xb5, 0x95, 0x52, 0xcb, 0x94, 0xed, 0x5f, 0x32, 0x12, 0xe6, 0xbe,
482	0x8e, 0x29, 0x65, 0x02, 0x0b, 0x9f, 0xd1, 0x28, 0x75, 0xb7, 0x8f, 0xd7, 0xba, 0x21, 0x89, 0x58,
483	0x1c, 0x3a, 0x24, 0x6b, 0x9d, 0x15, 0x44, 0x10, 0x38, 0xf4, 0x88, 0xc8, 0xc4, 0x59, 0x0a, 0x5d,
484	0xae, 0xec, 0x78, 0xae, 0xbb, 0x71, 0x28, 0x07, 0x65, 0xfd, 0x93, 0xf7, 0x7d, 0xe1, 0x07, 0x24,
485	0x12, 0x38, 0xe0, 0x99, 0xe0, 0xa7, 0x4c, 0x10, 0x72, 0x47, 0x8f, 0x04, 0x16, 0x71, 0x96, 0xb0,
486	0xfb, 0x6d, 0x1b, 0xb6, 0xee, 0x99, 0x8d, 0x10, 0x94, 0x29, 0x0e, 0x88, 0x5a, 0xea, 0x94, 0x7a,
487	0x3b, 0xa6, 0x7c, 0x46, 0x1d, 0x50, 0x5c, 0x12, 0x39, 0xa1, 0xcf, 0x93, 0x51, 0xea, 0xa6, 0x6c,
488	0xad, 0x97, 0xd0, 0x04, 0x1a, 0x3c, 0xb6, 0xa3, 0xd8, 0xb6, 0xd2, 0xb8, 0x6a, 0xb9, 0x53, 0xea,
489	0x29, 0x17, 0x7f, 0x68, 0x9f, 0x9f, 0x9a, 0x36, 0x96, 0xa6, 0xa9, 0xf4, 0xdc, 0x6d, 0x98, 0x75,
490	0xbe, 0xb6, 0x46, 0xcf, 0x70, 0x84, 0x39, 0xb7, 0x08, 0xf5, 0x7c, 0x4a, 0xac, 0x27, 0x21, 0x78,
491	0x4e, 0xaf, 0x48, 0xfa, 0x65, 0x11, 0xbd, 0xcf, 0xf9, 0x50, 0x9a, 0xef, 0x84, 0xe0, 0xab, 0x21,
492	0xfb, 0xf8, 0x63, 0x19, 0xfd, 0x03, 0xca, 0xfa, 0x80, 0xaa, 0x1c, 0x70, 0x5a, 0x34, 0xe0, 0x0d,
493	0x17, 0x9e, 0x5e, 0x71, 0x6d, 0xa8, 0xe5, 0x6a, 0xf5, 0x40, 0x1e, 0xd7, 0x6a, 0x8d, 0x7e, 0x86,
494	0x9d, 0xe4, 0x56, 0xac, 0x2f, 0x8c, 0x12, 0xf5, 0x30, 0x6d, 0x26, 0x85, 0x47, 0x46, 0x09, 0x32,
495	0xa0, 0x19, 0x47, 0x24, 0xb4, 0x62, 0xee, 0x62, 0x41, 0xac, 0xa4, 0xae, 0xee, 0xc8, 0x30, 0xed,
496	0x3c, 0x4c, 0x7e, 0xb7, 0xda, 0x34, 0xbf, 0x5b, 0x73, 0x37, 0xf1, 0xcc, 0xa4, 0x25, 0x29, 0xa2,
497	0x2b, 0xa8, 0x24, 0x97, 0x4b, 0x54, 0xe8, 0x94, 0x7a, 0xbb, 0x17, 0xbf, 0x17, 0xed, 0xe3, 0x9e,
498	0xd9, 0xda, 0x24, 0x31, 0x98, 0xa9, 0x0f, 0x9d, 0x42, 0x35, 0x7d, 0x3b, 0x54, 0x45, 0x0e, 0x47,
499	0x39, 0x21, 0xe4, 0x8e, 0x54, 0xc6, 0x91, 0x99, 0x29, 0xd0, 0x15, 0x34, 0x72, 0x62, 0x9a, 0xb7,
500	0x55, 0x98, 0xb7, 0x9e, 0x1b, 0x64, 0xda, 0x1b, 0x68, 0x2d, 0x70, 0x24, 0x2c, 0x2c, 0x04, 0x09,
501	0xb8, 0x48, 0x21, 0xa8, 0x10, 0xb2, 0x97, 0x98, 0xfa, 0xa9, 0x47, 0x72, 0x1e, 0xa0, 0x1e, 0x12,
502	0x11, 0xbe, 0x58, 0x0e, 0xa3, 0x73, 0xdf, 0x53, 0xf7, 0x25, 0xe2, 0xac, 0x68, 0xf3, 0x66, 0xe2,
503	0xb9, 0x96, 0x16, 0x53, 0x09, 0x5f, 0x17, 0xc9, 0x5d, 0xe4, 0x91, 0x5c, 0x82, 0xdd, 0x85, 0x4f,
504	0x89, 0x7a, 0x24, 0x99, 0xc7, 0x1f, 0x62, 0x19, 0xd9, 0x77, 0x68, 0xee, 0x65, 0x16, 0x23, 0x73,
505	0x74, 0xff, 0x85, 0x8a, 0x3c, 0x5a, 0x74, 0x08, 0xad, 0xc9, 0xb4, 0x3f, 0x1d, 0x5a, 0xb3, 0x87,
506	0xc9, 0x78, 0x78, 0x3d, 0xba, 0x19, 0x0d, 0x8d, 0xe6, 0x06, 0x52, 0x60, 0x7b, 0xf8, 0xd0, 0x1f,
507	0xfc, 0x3d, 0x34, 0x9a, 0x25, 0x04, 0x50, 0x1d, 0xf7, 0x67, 0x93, 0xa1, 0xd1, 0xdc, 0x44, 0x75,
508	0xa8, 0x19, 0xa3, 0x49, 0xda, 0xd9, 0x42, 0x2d, 0x68, 0xcc, 0xc6, 0x46, 0x62, 0xbf, 0xe9, 0x8f,
509	0x92, 0x52, 0x79, 0x50, 0x83, 0x6a, 0xfa, 0xba, 0x76, 0xbf, 0x6e, 0x82, 0xb2, 0xb6, 0x0d, 0x74,
510	0x02, 0x4a, 0x7e, 0x12, 0x31, 0x15, 0xf2, 0x5b, 0xae, 0x98, 0x90, 0xed, 0x2d, 0xa6, 0x02, 0xdd,
511	0x02, 0x0a, 0xf0, 0xd2, 0x4a, 0x45, 0xf9, 0x3f, 0x44, 0x7e, 0xd8, 0x9f, 0x6e, 0xae, 0x19, 0xe0,
512	0xa5, 0x9c, 0x93, 0x57, 0xd0, 0x5f, 0x70, 0x10, 0xf8, 0xd4, 0xb2, 0xb1, 0xf3, 0x1f, 0x9b, 0xcf,
513	0x5f, 0x51, 0x5b, 0x45, 0x28, 0x14, 0xf8, 0x74, 0x90, 0xba, 0xde, 0xc0, 0xf0, 0xf2, 0x23, 0xac,
514	0x5c, 0x0c, 0xc3, 0xcb, 0xf7, 0xb0, 0xdf, 0xa0, 0x91, 0xc0, 0x5c, 0x16, 0xdb, 0x0b, 0x9f, 0x7a,
515	0x91, 0xfc, 0x69, 0x54, 0xcc, 0x7a, 0x80, 0x97, 0x46, 0x5e, 0x1b, 0xbc, 0x40, 0xd7, 0x61, 0x41,
516	0xc1, 0x1b, 0x32, 0xa8, 0xdd, 0x33, 0x7b, 0x9c, 0x0c, 0x1d, 0x97, 0x1e, 0x6f, 0x33, 0xad, 0xc7,
517	0x16, 0x98, 0x7a, 0x1a, 0x0b, 0x3d, 0xdd, 0x23, 0x54, 0x46, 0xd2, 0xd3, 0x16, 0xe6, 0x7e, 0xf4,
518	0xa3, 0xbf, 0xf9, 0x9f, 0xab, 0x8a, 0x5d, 0x95, 0x9e, 0xcb, 0xef, 0x01, 0x00, 0x00, 0xff, 0xff,
519	0x9d, 0xf8, 0x5c, 0x97, 0x83, 0x06, 0x00, 0x00,
520}
521