OSDN Git Service

new repo
[bytom/vapor.git] / vendor / google.golang.org / genproto / googleapis / cloud / ml / v1 / job_service.pb.go
1 // Code generated by protoc-gen-go. DO NOT EDIT.
2 // source: google/cloud/ml/v1/job_service.proto
3
4 /*
5 Package ml is a generated protocol buffer package.
6
7 It is generated from these files:
8         google/cloud/ml/v1/job_service.proto
9         google/cloud/ml/v1/model_service.proto
10         google/cloud/ml/v1/operation_metadata.proto
11         google/cloud/ml/v1/prediction_service.proto
12         google/cloud/ml/v1/project_service.proto
13
14 It has these top-level messages:
15         TrainingInput
16         HyperparameterSpec
17         ParameterSpec
18         HyperparameterOutput
19         TrainingOutput
20         PredictionInput
21         PredictionOutput
22         Job
23         CreateJobRequest
24         ListJobsRequest
25         ListJobsResponse
26         GetJobRequest
27         CancelJobRequest
28         Model
29         Version
30         ManualScaling
31         CreateModelRequest
32         ListModelsRequest
33         ListModelsResponse
34         GetModelRequest
35         DeleteModelRequest
36         CreateVersionRequest
37         ListVersionsRequest
38         ListVersionsResponse
39         GetVersionRequest
40         DeleteVersionRequest
41         SetDefaultVersionRequest
42         OperationMetadata
43         PredictRequest
44         GetConfigRequest
45         GetConfigResponse
46 */
47 package ml
48
49 import proto "github.com/golang/protobuf/proto"
50 import fmt "fmt"
51 import math "math"
52 import _ "google.golang.org/genproto/googleapis/api/annotations"
53 import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
54 import google_protobuf1 "github.com/golang/protobuf/ptypes/empty"
55 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
56
57 import (
58         context "golang.org/x/net/context"
59         grpc "google.golang.org/grpc"
60 )
61
62 // Reference imports to suppress errors if they are not otherwise used.
63 var _ = proto.Marshal
64 var _ = fmt.Errorf
65 var _ = math.Inf
66
67 // This is a compile-time assertion to ensure that this generated file
68 // is compatible with the proto package it is being compiled against.
69 // A compilation error at this line likely means your copy of the
70 // proto package needs to be updated.
71 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
72
73 // A scale tier is an abstract representation of the resources Cloud ML
74 // will allocate to a training job. When selecting a scale tier for your
75 // training job, you should consider the size of your training dataset and
76 // the complexity of your model. As the tiers increase, virtual machines are
77 // added to handle your job, and the individual machines in the cluster
78 // generally have more memory and greater processing power than they do at
79 // lower tiers. The number of training units charged per hour of processing
80 // increases as tiers get more advanced. Refer to the
81 // [pricing guide](/ml/pricing) for more details. Note that in addition to
82 // incurring costs, your use of training resources is constrained by the
83 // [quota policy](/ml/quota).
84 type TrainingInput_ScaleTier int32
85
86 const (
87         // A single worker instance. This tier is suitable for learning how to use
88         // Cloud ML, and for experimenting with new models using small datasets.
89         TrainingInput_BASIC TrainingInput_ScaleTier = 0
90         // Many workers and a few parameter servers.
91         TrainingInput_STANDARD_1 TrainingInput_ScaleTier = 1
92         // A large number of workers with many parameter servers.
93         TrainingInput_PREMIUM_1 TrainingInput_ScaleTier = 3
94         // A single worker instance [with a GPU](ml/docs/how-tos/using-gpus).
95         TrainingInput_BASIC_GPU TrainingInput_ScaleTier = 6
96         // The CUSTOM tier is not a set tier, but rather enables you to use your
97         // own cluster specification. When you use this tier, set values to
98         // configure your processing cluster according to these guidelines:
99         //
100         // *   You _must_ set `TrainingInput.masterType` to specify the type
101         //     of machine to use for your master node. This is the only required
102         //     setting.
103         //
104         // *   You _may_ set `TrainingInput.workerCount` to specify the number of
105         //     workers to use. If you specify one or more workers, you _must_ also
106         //     set `TrainingInput.workerType` to specify the type of machine to use
107         //     for your worker nodes.
108         //
109         // *   You _may_ set `TrainingInput.parameterServerCount` to specify the
110         //     number of parameter servers to use. If you specify one or more
111         //     parameter servers, you _must_ also set
112         //     `TrainingInput.parameterServerType` to specify the type of machine to
113         //     use for your parameter servers.
114         //
115         // Note that all of your workers must use the same machine type, which can
116         // be different from your parameter server type and master type. Your
117         // parameter servers must likewise use the same machine type, which can be
118         // different from your worker type and master type.
119         TrainingInput_CUSTOM TrainingInput_ScaleTier = 5
120 )
121
122 var TrainingInput_ScaleTier_name = map[int32]string{
123         0: "BASIC",
124         1: "STANDARD_1",
125         3: "PREMIUM_1",
126         6: "BASIC_GPU",
127         5: "CUSTOM",
128 }
129 var TrainingInput_ScaleTier_value = map[string]int32{
130         "BASIC":      0,
131         "STANDARD_1": 1,
132         "PREMIUM_1":  3,
133         "BASIC_GPU":  6,
134         "CUSTOM":     5,
135 }
136
137 func (x TrainingInput_ScaleTier) String() string {
138         return proto.EnumName(TrainingInput_ScaleTier_name, int32(x))
139 }
140 func (TrainingInput_ScaleTier) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0, 0} }
141
142 // The available types of optimization goals.
143 type HyperparameterSpec_GoalType int32
144
145 const (
146         // Goal Type will default to maximize.
147         HyperparameterSpec_GOAL_TYPE_UNSPECIFIED HyperparameterSpec_GoalType = 0
148         // Maximize the goal metric.
149         HyperparameterSpec_MAXIMIZE HyperparameterSpec_GoalType = 1
150         // Minimize the goal metric.
151         HyperparameterSpec_MINIMIZE HyperparameterSpec_GoalType = 2
152 )
153
154 var HyperparameterSpec_GoalType_name = map[int32]string{
155         0: "GOAL_TYPE_UNSPECIFIED",
156         1: "MAXIMIZE",
157         2: "MINIMIZE",
158 }
159 var HyperparameterSpec_GoalType_value = map[string]int32{
160         "GOAL_TYPE_UNSPECIFIED": 0,
161         "MAXIMIZE":              1,
162         "MINIMIZE":              2,
163 }
164
165 func (x HyperparameterSpec_GoalType) String() string {
166         return proto.EnumName(HyperparameterSpec_GoalType_name, int32(x))
167 }
168 func (HyperparameterSpec_GoalType) EnumDescriptor() ([]byte, []int) {
169         return fileDescriptor0, []int{1, 0}
170 }
171
172 // The type of the parameter.
173 type ParameterSpec_ParameterType int32
174
175 const (
176         // You must specify a valid type. Using this unspecified type will result in
177         // an error.
178         ParameterSpec_PARAMETER_TYPE_UNSPECIFIED ParameterSpec_ParameterType = 0
179         // Type for real-valued parameters.
180         ParameterSpec_DOUBLE ParameterSpec_ParameterType = 1
181         // Type for integral parameters.
182         ParameterSpec_INTEGER ParameterSpec_ParameterType = 2
183         // The parameter is categorical, with a value chosen from the categories
184         // field.
185         ParameterSpec_CATEGORICAL ParameterSpec_ParameterType = 3
186         // The parameter is real valued, with a fixed set of feasible points. If
187         // `type==DISCRETE`, feasible_points must be provided, and
188         // {`min_value`, `max_value`} will be ignored.
189         ParameterSpec_DISCRETE ParameterSpec_ParameterType = 4
190 )
191
192 var ParameterSpec_ParameterType_name = map[int32]string{
193         0: "PARAMETER_TYPE_UNSPECIFIED",
194         1: "DOUBLE",
195         2: "INTEGER",
196         3: "CATEGORICAL",
197         4: "DISCRETE",
198 }
199 var ParameterSpec_ParameterType_value = map[string]int32{
200         "PARAMETER_TYPE_UNSPECIFIED": 0,
201         "DOUBLE":                     1,
202         "INTEGER":                    2,
203         "CATEGORICAL":                3,
204         "DISCRETE":                   4,
205 }
206
207 func (x ParameterSpec_ParameterType) String() string {
208         return proto.EnumName(ParameterSpec_ParameterType_name, int32(x))
209 }
210 func (ParameterSpec_ParameterType) EnumDescriptor() ([]byte, []int) {
211         return fileDescriptor0, []int{2, 0}
212 }
213
214 // The type of scaling that should be applied to this parameter.
215 type ParameterSpec_ScaleType int32
216
217 const (
218         // By default, no scaling is applied.
219         ParameterSpec_NONE ParameterSpec_ScaleType = 0
220         // Scales the feasible space to (0, 1) linearly.
221         ParameterSpec_UNIT_LINEAR_SCALE ParameterSpec_ScaleType = 1
222         // Scales the feasible space logarithmically to (0, 1). The entire feasible
223         // space must be strictly positive.
224         ParameterSpec_UNIT_LOG_SCALE ParameterSpec_ScaleType = 2
225         // Scales the feasible space "reverse" logarithmically to (0, 1). The result
226         // is that values close to the top of the feasible space are spread out more
227         // than points near the bottom. The entire feasible space must be strictly
228         // positive.
229         ParameterSpec_UNIT_REVERSE_LOG_SCALE ParameterSpec_ScaleType = 3
230 )
231
232 var ParameterSpec_ScaleType_name = map[int32]string{
233         0: "NONE",
234         1: "UNIT_LINEAR_SCALE",
235         2: "UNIT_LOG_SCALE",
236         3: "UNIT_REVERSE_LOG_SCALE",
237 }
238 var ParameterSpec_ScaleType_value = map[string]int32{
239         "NONE":                   0,
240         "UNIT_LINEAR_SCALE":      1,
241         "UNIT_LOG_SCALE":         2,
242         "UNIT_REVERSE_LOG_SCALE": 3,
243 }
244
245 func (x ParameterSpec_ScaleType) String() string {
246         return proto.EnumName(ParameterSpec_ScaleType_name, int32(x))
247 }
248 func (ParameterSpec_ScaleType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2, 1} }
249
250 // The format used to separate data instances in the source files.
251 type PredictionInput_DataFormat int32
252
253 const (
254         // Unspecified format.
255         PredictionInput_DATA_FORMAT_UNSPECIFIED PredictionInput_DataFormat = 0
256         // The source file is a text file with instances separated by the
257         // new-line character.
258         PredictionInput_TEXT PredictionInput_DataFormat = 1
259         // The source file is a TFRecord file.
260         PredictionInput_TF_RECORD PredictionInput_DataFormat = 2
261         // The source file is a GZIP-compressed TFRecord file.
262         PredictionInput_TF_RECORD_GZIP PredictionInput_DataFormat = 3
263 )
264
265 var PredictionInput_DataFormat_name = map[int32]string{
266         0: "DATA_FORMAT_UNSPECIFIED",
267         1: "TEXT",
268         2: "TF_RECORD",
269         3: "TF_RECORD_GZIP",
270 }
271 var PredictionInput_DataFormat_value = map[string]int32{
272         "DATA_FORMAT_UNSPECIFIED": 0,
273         "TEXT":           1,
274         "TF_RECORD":      2,
275         "TF_RECORD_GZIP": 3,
276 }
277
278 func (x PredictionInput_DataFormat) String() string {
279         return proto.EnumName(PredictionInput_DataFormat_name, int32(x))
280 }
281 func (PredictionInput_DataFormat) EnumDescriptor() ([]byte, []int) {
282         return fileDescriptor0, []int{5, 0}
283 }
284
285 // Describes the job state.
286 type Job_State int32
287
288 const (
289         // The job state is unspecified.
290         Job_STATE_UNSPECIFIED Job_State = 0
291         // The job has been just created and processing has not yet begun.
292         Job_QUEUED Job_State = 1
293         // The service is preparing to run the job.
294         Job_PREPARING Job_State = 2
295         // The job is in progress.
296         Job_RUNNING Job_State = 3
297         // The job completed successfully.
298         Job_SUCCEEDED Job_State = 4
299         // The job failed.
300         // `error_message` should contain the details of the failure.
301         Job_FAILED Job_State = 5
302         // The job is being cancelled.
303         // `error_message` should describe the reason for the cancellation.
304         Job_CANCELLING Job_State = 6
305         // The job has been cancelled.
306         // `error_message` should describe the reason for the cancellation.
307         Job_CANCELLED Job_State = 7
308 )
309
310 var Job_State_name = map[int32]string{
311         0: "STATE_UNSPECIFIED",
312         1: "QUEUED",
313         2: "PREPARING",
314         3: "RUNNING",
315         4: "SUCCEEDED",
316         5: "FAILED",
317         6: "CANCELLING",
318         7: "CANCELLED",
319 }
320 var Job_State_value = map[string]int32{
321         "STATE_UNSPECIFIED": 0,
322         "QUEUED":            1,
323         "PREPARING":         2,
324         "RUNNING":           3,
325         "SUCCEEDED":         4,
326         "FAILED":            5,
327         "CANCELLING":        6,
328         "CANCELLED":         7,
329 }
330
331 func (x Job_State) String() string {
332         return proto.EnumName(Job_State_name, int32(x))
333 }
334 func (Job_State) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{7, 0} }
335
336 // Represents input parameters for a training job.
337 type TrainingInput struct {
338         // Required. Specifies the machine types, the number of replicas for workers
339         // and parameter servers.
340         ScaleTier TrainingInput_ScaleTier `protobuf:"varint,1,opt,name=scale_tier,json=scaleTier,enum=google.cloud.ml.v1.TrainingInput_ScaleTier" json:"scale_tier,omitempty"`
341         // Optional. Specifies the type of virtual machine to use for your training
342         // job's master worker.
343         //
344         // The following types are supported:
345         //
346         // <dl>
347         //   <dt>standard</dt>
348         //   <dd>
349         //   A basic machine configuration suitable for training simple models with
350         //   small to moderate datasets.
351         //   </dd>
352         //   <dt>large_model</dt>
353         //   <dd>
354         //   A machine with a lot of memory, specially suited for parameter servers
355         //   when your model is large (having many hidden layers or layers with very
356         //   large numbers of nodes).
357         //   </dd>
358         //   <dt>complex_model_s</dt>
359         //   <dd>
360         //   A machine suitable for the master and workers of the cluster when your
361         //   model requires more computation than the standard machine can handle
362         //   satisfactorily.
363         //   </dd>
364         //   <dt>complex_model_m</dt>
365         //   <dd>
366         //   A machine with roughly twice the number of cores and roughly double the
367         //   memory of <code suppresswarning="true">complex_model_s</code>.
368         //   </dd>
369         //   <dt>complex_model_l</dt>
370         //   <dd>
371         //   A machine with roughly twice the number of cores and roughly double the
372         //   memory of <code suppresswarning="true">complex_model_m</code>.
373         //   </dd>
374         //   <dt>standard_gpu</dt>
375         //   <dd>
376         //   A machine equivalent to <code suppresswarning="true">standard</code> that
377         //   also includes a
378         //   <a href="ml/docs/how-tos/using-gpus">
379         //   GPU that you can use in your trainer</a>.
380         //   </dd>
381         //   <dt>complex_model_m_gpu</dt>
382         //   <dd>
383         //   A machine equivalent to
384         //   <code suppresswarning="true">coplex_model_m</code> that also includes
385         //   four GPUs.
386         //   </dd>
387         // </dl>
388         //
389         // You must set this value when `scaleTier` is set to `CUSTOM`.
390         MasterType string `protobuf:"bytes,2,opt,name=master_type,json=masterType" json:"master_type,omitempty"`
391         // Optional. Specifies the type of virtual machine to use for your training
392         // job's worker nodes.
393         //
394         // The supported values are the same as those described in the entry for
395         // `masterType`.
396         //
397         // This value must be present when `scaleTier` is set to `CUSTOM` and
398         // `workerCount` is greater than zero.
399         WorkerType string `protobuf:"bytes,3,opt,name=worker_type,json=workerType" json:"worker_type,omitempty"`
400         // Optional. Specifies the type of virtual machine to use for your training
401         // job's parameter server.
402         //
403         // The supported values are the same as those described in the entry for
404         // `master_type`.
405         //
406         // This value must be present when `scaleTier` is set to `CUSTOM` and
407         // `parameter_server_count` is greater than zero.
408         ParameterServerType string `protobuf:"bytes,4,opt,name=parameter_server_type,json=parameterServerType" json:"parameter_server_type,omitempty"`
409         // Optional. The number of worker replicas to use for the training job. Each
410         // replica in the cluster will be of the type specified in `worker_type`.
411         //
412         // This value can only be used when `scale_tier` is set to `CUSTOM`. If you
413         // set this value, you must also set `worker_type`.
414         WorkerCount int64 `protobuf:"varint,5,opt,name=worker_count,json=workerCount" json:"worker_count,omitempty"`
415         // Optional. The number of parameter server replicas to use for the training
416         // job. Each replica in the cluster will be of the type specified in
417         // `parameter_server_type`.
418         //
419         // This value can only be used when `scale_tier` is set to `CUSTOM`.If you
420         // set this value, you must also set `parameter_server_type`.
421         ParameterServerCount int64 `protobuf:"varint,6,opt,name=parameter_server_count,json=parameterServerCount" json:"parameter_server_count,omitempty"`
422         // Required. The Google Cloud Storage location of the packages with
423         // the training program and any additional dependencies.
424         PackageUris []string `protobuf:"bytes,7,rep,name=package_uris,json=packageUris" json:"package_uris,omitempty"`
425         // Required. The Python module name to run after installing the packages.
426         PythonModule string `protobuf:"bytes,8,opt,name=python_module,json=pythonModule" json:"python_module,omitempty"`
427         // Optional. Command line arguments to pass to the program.
428         Args []string `protobuf:"bytes,10,rep,name=args" json:"args,omitempty"`
429         // Optional. The set of Hyperparameters to tune.
430         Hyperparameters *HyperparameterSpec `protobuf:"bytes,12,opt,name=hyperparameters" json:"hyperparameters,omitempty"`
431         // Required. The Google Compute Engine region to run the training job in.
432         Region string `protobuf:"bytes,14,opt,name=region" json:"region,omitempty"`
433         // Optional. A Google Cloud Storage path in which to store training outputs
434         // and other data needed for training. This path is passed to your TensorFlow
435         // program as the 'job_dir' command-line argument. The benefit of specifying
436         // this field is that Cloud ML validates the path for use in training.
437         JobDir string `protobuf:"bytes,16,opt,name=job_dir,json=jobDir" json:"job_dir,omitempty"`
438         // Optional. The Google Cloud ML runtime version to use for training.  If not
439         // set, Google Cloud ML will choose the latest stable version.
440         RuntimeVersion string `protobuf:"bytes,15,opt,name=runtime_version,json=runtimeVersion" json:"runtime_version,omitempty"`
441 }
442
443 func (m *TrainingInput) Reset()                    { *m = TrainingInput{} }
444 func (m *TrainingInput) String() string            { return proto.CompactTextString(m) }
445 func (*TrainingInput) ProtoMessage()               {}
446 func (*TrainingInput) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
447
448 func (m *TrainingInput) GetScaleTier() TrainingInput_ScaleTier {
449         if m != nil {
450                 return m.ScaleTier
451         }
452         return TrainingInput_BASIC
453 }
454
455 func (m *TrainingInput) GetMasterType() string {
456         if m != nil {
457                 return m.MasterType
458         }
459         return ""
460 }
461
462 func (m *TrainingInput) GetWorkerType() string {
463         if m != nil {
464                 return m.WorkerType
465         }
466         return ""
467 }
468
469 func (m *TrainingInput) GetParameterServerType() string {
470         if m != nil {
471                 return m.ParameterServerType
472         }
473         return ""
474 }
475
476 func (m *TrainingInput) GetWorkerCount() int64 {
477         if m != nil {
478                 return m.WorkerCount
479         }
480         return 0
481 }
482
483 func (m *TrainingInput) GetParameterServerCount() int64 {
484         if m != nil {
485                 return m.ParameterServerCount
486         }
487         return 0
488 }
489
490 func (m *TrainingInput) GetPackageUris() []string {
491         if m != nil {
492                 return m.PackageUris
493         }
494         return nil
495 }
496
497 func (m *TrainingInput) GetPythonModule() string {
498         if m != nil {
499                 return m.PythonModule
500         }
501         return ""
502 }
503
504 func (m *TrainingInput) GetArgs() []string {
505         if m != nil {
506                 return m.Args
507         }
508         return nil
509 }
510
511 func (m *TrainingInput) GetHyperparameters() *HyperparameterSpec {
512         if m != nil {
513                 return m.Hyperparameters
514         }
515         return nil
516 }
517
518 func (m *TrainingInput) GetRegion() string {
519         if m != nil {
520                 return m.Region
521         }
522         return ""
523 }
524
525 func (m *TrainingInput) GetJobDir() string {
526         if m != nil {
527                 return m.JobDir
528         }
529         return ""
530 }
531
532 func (m *TrainingInput) GetRuntimeVersion() string {
533         if m != nil {
534                 return m.RuntimeVersion
535         }
536         return ""
537 }
538
539 // Represents a set of hyperparameters to optimize.
540 type HyperparameterSpec struct {
541         // Required. The type of goal to use for tuning. Available types are
542         // `MAXIMIZE` and `MINIMIZE`.
543         //
544         // Defaults to `MAXIMIZE`.
545         Goal HyperparameterSpec_GoalType `protobuf:"varint,1,opt,name=goal,enum=google.cloud.ml.v1.HyperparameterSpec_GoalType" json:"goal,omitempty"`
546         // Required. The set of parameters to tune.
547         Params []*ParameterSpec `protobuf:"bytes,2,rep,name=params" json:"params,omitempty"`
548         // Optional. How many training trials should be attempted to optimize
549         // the specified hyperparameters.
550         //
551         // Defaults to one.
552         MaxTrials int32 `protobuf:"varint,3,opt,name=max_trials,json=maxTrials" json:"max_trials,omitempty"`
553         // Optional. The number of training trials to run concurrently.
554         // You can reduce the time it takes to perform hyperparameter tuning by adding
555         // trials in parallel. However, each trail only benefits from the information
556         // gained in completed trials. That means that a trial does not get access to
557         // the results of trials running at the same time, which could reduce the
558         // quality of the overall optimization.
559         //
560         // Each trial will use the same scale tier and machine types.
561         //
562         // Defaults to one.
563         MaxParallelTrials int32 `protobuf:"varint,4,opt,name=max_parallel_trials,json=maxParallelTrials" json:"max_parallel_trials,omitempty"`
564         // Optional. The Tensorflow summary tag name to use for optimizing trials. For
565         // current versions of Tensorflow, this tag name should exactly match what is
566         // shown in Tensorboard, including all scopes.  For versions of Tensorflow
567         // prior to 0.12, this should be only the tag passed to tf.Summary.
568         // By default, "training/hptuning/metric" will be used.
569         HyperparameterMetricTag string `protobuf:"bytes,5,opt,name=hyperparameter_metric_tag,json=hyperparameterMetricTag" json:"hyperparameter_metric_tag,omitempty"`
570 }
571
572 func (m *HyperparameterSpec) Reset()                    { *m = HyperparameterSpec{} }
573 func (m *HyperparameterSpec) String() string            { return proto.CompactTextString(m) }
574 func (*HyperparameterSpec) ProtoMessage()               {}
575 func (*HyperparameterSpec) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
576
577 func (m *HyperparameterSpec) GetGoal() HyperparameterSpec_GoalType {
578         if m != nil {
579                 return m.Goal
580         }
581         return HyperparameterSpec_GOAL_TYPE_UNSPECIFIED
582 }
583
584 func (m *HyperparameterSpec) GetParams() []*ParameterSpec {
585         if m != nil {
586                 return m.Params
587         }
588         return nil
589 }
590
591 func (m *HyperparameterSpec) GetMaxTrials() int32 {
592         if m != nil {
593                 return m.MaxTrials
594         }
595         return 0
596 }
597
598 func (m *HyperparameterSpec) GetMaxParallelTrials() int32 {
599         if m != nil {
600                 return m.MaxParallelTrials
601         }
602         return 0
603 }
604
605 func (m *HyperparameterSpec) GetHyperparameterMetricTag() string {
606         if m != nil {
607                 return m.HyperparameterMetricTag
608         }
609         return ""
610 }
611
612 // Represents a single hyperparameter to optimize.
613 type ParameterSpec struct {
614         // Required. The parameter name must be unique amongst all ParameterConfigs in
615         // a HyperparameterSpec message. E.g., "learning_rate".
616         ParameterName string `protobuf:"bytes,1,opt,name=parameter_name,json=parameterName" json:"parameter_name,omitempty"`
617         // Required. The type of the parameter.
618         Type ParameterSpec_ParameterType `protobuf:"varint,4,opt,name=type,enum=google.cloud.ml.v1.ParameterSpec_ParameterType" json:"type,omitempty"`
619         // Required if type is `DOUBLE` or `INTEGER`. This field
620         // should be unset if type is `CATEGORICAL`. This value should be integers if
621         // type is INTEGER.
622         MinValue float64 `protobuf:"fixed64,2,opt,name=min_value,json=minValue" json:"min_value,omitempty"`
623         // Required if typeis `DOUBLE` or `INTEGER`. This field
624         // should be unset if type is `CATEGORICAL`. This value should be integers if
625         // type is `INTEGER`.
626         MaxValue float64 `protobuf:"fixed64,3,opt,name=max_value,json=maxValue" json:"max_value,omitempty"`
627         // Required if type is `CATEGORICAL`. The list of possible categories.
628         CategoricalValues []string `protobuf:"bytes,5,rep,name=categorical_values,json=categoricalValues" json:"categorical_values,omitempty"`
629         // Required if type is `DISCRETE`.
630         // A list of feasible points.
631         // The list should be in strictly increasing order. For instance, this
632         // parameter might have possible settings of 1.5, 2.5, and 4.0. This list
633         // should not contain more than 1,000 values.
634         DiscreteValues []float64 `protobuf:"fixed64,6,rep,packed,name=discrete_values,json=discreteValues" json:"discrete_values,omitempty"`
635         // Optional. How the parameter should be scaled to the hypercube.
636         // Leave unset for categorical parameters.
637         // Some kind of scaling is strongly recommended for real or integral
638         // parameters (e.g., `UNIT_LINEAR_SCALE`).
639         ScaleType ParameterSpec_ScaleType `protobuf:"varint,7,opt,name=scale_type,json=scaleType,enum=google.cloud.ml.v1.ParameterSpec_ScaleType" json:"scale_type,omitempty"`
640 }
641
642 func (m *ParameterSpec) Reset()                    { *m = ParameterSpec{} }
643 func (m *ParameterSpec) String() string            { return proto.CompactTextString(m) }
644 func (*ParameterSpec) ProtoMessage()               {}
645 func (*ParameterSpec) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
646
647 func (m *ParameterSpec) GetParameterName() string {
648         if m != nil {
649                 return m.ParameterName
650         }
651         return ""
652 }
653
654 func (m *ParameterSpec) GetType() ParameterSpec_ParameterType {
655         if m != nil {
656                 return m.Type
657         }
658         return ParameterSpec_PARAMETER_TYPE_UNSPECIFIED
659 }
660
661 func (m *ParameterSpec) GetMinValue() float64 {
662         if m != nil {
663                 return m.MinValue
664         }
665         return 0
666 }
667
668 func (m *ParameterSpec) GetMaxValue() float64 {
669         if m != nil {
670                 return m.MaxValue
671         }
672         return 0
673 }
674
675 func (m *ParameterSpec) GetCategoricalValues() []string {
676         if m != nil {
677                 return m.CategoricalValues
678         }
679         return nil
680 }
681
682 func (m *ParameterSpec) GetDiscreteValues() []float64 {
683         if m != nil {
684                 return m.DiscreteValues
685         }
686         return nil
687 }
688
689 func (m *ParameterSpec) GetScaleType() ParameterSpec_ScaleType {
690         if m != nil {
691                 return m.ScaleType
692         }
693         return ParameterSpec_NONE
694 }
695
696 // Represents the result of a single hyperparameter tuning trial from a
697 // training job. The TrainingOutput object that is returned on successful
698 // completion of a training job with hyperparameter tuning includes a list
699 // of HyperparameterOutput objects, one for each successful trial.
700 type HyperparameterOutput struct {
701         // The trial id for these results.
702         TrialId string `protobuf:"bytes,1,opt,name=trial_id,json=trialId" json:"trial_id,omitempty"`
703         // The hyperparameters given to this trial.
704         Hyperparameters map[string]string `protobuf:"bytes,2,rep,name=hyperparameters" json:"hyperparameters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
705         // The final objective metric seen for this trial.
706         FinalMetric *HyperparameterOutput_HyperparameterMetric `protobuf:"bytes,3,opt,name=final_metric,json=finalMetric" json:"final_metric,omitempty"`
707         // All recorded object metrics for this trial.
708         AllMetrics []*HyperparameterOutput_HyperparameterMetric `protobuf:"bytes,4,rep,name=all_metrics,json=allMetrics" json:"all_metrics,omitempty"`
709 }
710
711 func (m *HyperparameterOutput) Reset()                    { *m = HyperparameterOutput{} }
712 func (m *HyperparameterOutput) String() string            { return proto.CompactTextString(m) }
713 func (*HyperparameterOutput) ProtoMessage()               {}
714 func (*HyperparameterOutput) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
715
716 func (m *HyperparameterOutput) GetTrialId() string {
717         if m != nil {
718                 return m.TrialId
719         }
720         return ""
721 }
722
723 func (m *HyperparameterOutput) GetHyperparameters() map[string]string {
724         if m != nil {
725                 return m.Hyperparameters
726         }
727         return nil
728 }
729
730 func (m *HyperparameterOutput) GetFinalMetric() *HyperparameterOutput_HyperparameterMetric {
731         if m != nil {
732                 return m.FinalMetric
733         }
734         return nil
735 }
736
737 func (m *HyperparameterOutput) GetAllMetrics() []*HyperparameterOutput_HyperparameterMetric {
738         if m != nil {
739                 return m.AllMetrics
740         }
741         return nil
742 }
743
744 // An observed value of a metric.
745 type HyperparameterOutput_HyperparameterMetric struct {
746         // The global training step for this metric.
747         TrainingStep int64 `protobuf:"varint,1,opt,name=training_step,json=trainingStep" json:"training_step,omitempty"`
748         // The objective value at this training step.
749         ObjectiveValue float64 `protobuf:"fixed64,2,opt,name=objective_value,json=objectiveValue" json:"objective_value,omitempty"`
750 }
751
752 func (m *HyperparameterOutput_HyperparameterMetric) Reset() {
753         *m = HyperparameterOutput_HyperparameterMetric{}
754 }
755 func (m *HyperparameterOutput_HyperparameterMetric) String() string { return proto.CompactTextString(m) }
756 func (*HyperparameterOutput_HyperparameterMetric) ProtoMessage()    {}
757 func (*HyperparameterOutput_HyperparameterMetric) Descriptor() ([]byte, []int) {
758         return fileDescriptor0, []int{3, 0}
759 }
760
761 func (m *HyperparameterOutput_HyperparameterMetric) GetTrainingStep() int64 {
762         if m != nil {
763                 return m.TrainingStep
764         }
765         return 0
766 }
767
768 func (m *HyperparameterOutput_HyperparameterMetric) GetObjectiveValue() float64 {
769         if m != nil {
770                 return m.ObjectiveValue
771         }
772         return 0
773 }
774
775 // Represents results of a training job. Output only.
776 type TrainingOutput struct {
777         // The number of hyperparameter tuning trials that completed successfully.
778         // Only set for hyperparameter tuning jobs.
779         CompletedTrialCount int64 `protobuf:"varint,1,opt,name=completed_trial_count,json=completedTrialCount" json:"completed_trial_count,omitempty"`
780         // Results for individual Hyperparameter trials.
781         // Only set for hyperparameter tuning jobs.
782         Trials []*HyperparameterOutput `protobuf:"bytes,2,rep,name=trials" json:"trials,omitempty"`
783         // The amount of ML units consumed by the job.
784         ConsumedMlUnits float64 `protobuf:"fixed64,3,opt,name=consumed_ml_units,json=consumedMlUnits" json:"consumed_ml_units,omitempty"`
785         // Whether this job is a hyperparameter tuning job.
786         IsHyperparameterTuningJob bool `protobuf:"varint,4,opt,name=is_hyperparameter_tuning_job,json=isHyperparameterTuningJob" json:"is_hyperparameter_tuning_job,omitempty"`
787 }
788
789 func (m *TrainingOutput) Reset()                    { *m = TrainingOutput{} }
790 func (m *TrainingOutput) String() string            { return proto.CompactTextString(m) }
791 func (*TrainingOutput) ProtoMessage()               {}
792 func (*TrainingOutput) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
793
794 func (m *TrainingOutput) GetCompletedTrialCount() int64 {
795         if m != nil {
796                 return m.CompletedTrialCount
797         }
798         return 0
799 }
800
801 func (m *TrainingOutput) GetTrials() []*HyperparameterOutput {
802         if m != nil {
803                 return m.Trials
804         }
805         return nil
806 }
807
808 func (m *TrainingOutput) GetConsumedMlUnits() float64 {
809         if m != nil {
810                 return m.ConsumedMlUnits
811         }
812         return 0
813 }
814
815 func (m *TrainingOutput) GetIsHyperparameterTuningJob() bool {
816         if m != nil {
817                 return m.IsHyperparameterTuningJob
818         }
819         return false
820 }
821
822 // Represents input parameters for a prediction job.
823 type PredictionInput struct {
824         // Required. The model or the version to use for prediction.
825         //
826         // Types that are valid to be assigned to ModelVersion:
827         //      *PredictionInput_ModelName
828         //      *PredictionInput_VersionName
829         //      *PredictionInput_Uri
830         ModelVersion isPredictionInput_ModelVersion `protobuf_oneof:"model_version"`
831         // Required. The format of the input data files.
832         DataFormat PredictionInput_DataFormat `protobuf:"varint,3,opt,name=data_format,json=dataFormat,enum=google.cloud.ml.v1.PredictionInput_DataFormat" json:"data_format,omitempty"`
833         // Required. The Google Cloud Storage location of the input data files.
834         // May contain wildcards.
835         InputPaths []string `protobuf:"bytes,4,rep,name=input_paths,json=inputPaths" json:"input_paths,omitempty"`
836         // Required. The output Google Cloud Storage location.
837         OutputPath string `protobuf:"bytes,5,opt,name=output_path,json=outputPath" json:"output_path,omitempty"`
838         // Optional. The maximum number of workers to be used for parallel processing.
839         // Defaults to 10 if not specified.
840         MaxWorkerCount int64 `protobuf:"varint,6,opt,name=max_worker_count,json=maxWorkerCount" json:"max_worker_count,omitempty"`
841         // Required. The Google Compute Engine region to run the prediction job in.
842         Region string `protobuf:"bytes,7,opt,name=region" json:"region,omitempty"`
843         // Optional. The Google Cloud ML runtime version to use for this batch
844         // prediction. If not set, Google Cloud ML will pick the runtime version used
845         // during the CreateVersion request for this model version, or choose the
846         // latest stable version when model version information is not available
847         // such as when the model is specified by uri.
848         RuntimeVersion string `protobuf:"bytes,8,opt,name=runtime_version,json=runtimeVersion" json:"runtime_version,omitempty"`
849 }
850
851 func (m *PredictionInput) Reset()                    { *m = PredictionInput{} }
852 func (m *PredictionInput) String() string            { return proto.CompactTextString(m) }
853 func (*PredictionInput) ProtoMessage()               {}
854 func (*PredictionInput) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
855
856 type isPredictionInput_ModelVersion interface {
857         isPredictionInput_ModelVersion()
858 }
859
860 type PredictionInput_ModelName struct {
861         ModelName string `protobuf:"bytes,1,opt,name=model_name,json=modelName,oneof"`
862 }
863 type PredictionInput_VersionName struct {
864         VersionName string `protobuf:"bytes,2,opt,name=version_name,json=versionName,oneof"`
865 }
866 type PredictionInput_Uri struct {
867         Uri string `protobuf:"bytes,9,opt,name=uri,oneof"`
868 }
869
870 func (*PredictionInput_ModelName) isPredictionInput_ModelVersion()   {}
871 func (*PredictionInput_VersionName) isPredictionInput_ModelVersion() {}
872 func (*PredictionInput_Uri) isPredictionInput_ModelVersion()         {}
873
874 func (m *PredictionInput) GetModelVersion() isPredictionInput_ModelVersion {
875         if m != nil {
876                 return m.ModelVersion
877         }
878         return nil
879 }
880
881 func (m *PredictionInput) GetModelName() string {
882         if x, ok := m.GetModelVersion().(*PredictionInput_ModelName); ok {
883                 return x.ModelName
884         }
885         return ""
886 }
887
888 func (m *PredictionInput) GetVersionName() string {
889         if x, ok := m.GetModelVersion().(*PredictionInput_VersionName); ok {
890                 return x.VersionName
891         }
892         return ""
893 }
894
895 func (m *PredictionInput) GetUri() string {
896         if x, ok := m.GetModelVersion().(*PredictionInput_Uri); ok {
897                 return x.Uri
898         }
899         return ""
900 }
901
902 func (m *PredictionInput) GetDataFormat() PredictionInput_DataFormat {
903         if m != nil {
904                 return m.DataFormat
905         }
906         return PredictionInput_DATA_FORMAT_UNSPECIFIED
907 }
908
909 func (m *PredictionInput) GetInputPaths() []string {
910         if m != nil {
911                 return m.InputPaths
912         }
913         return nil
914 }
915
916 func (m *PredictionInput) GetOutputPath() string {
917         if m != nil {
918                 return m.OutputPath
919         }
920         return ""
921 }
922
923 func (m *PredictionInput) GetMaxWorkerCount() int64 {
924         if m != nil {
925                 return m.MaxWorkerCount
926         }
927         return 0
928 }
929
930 func (m *PredictionInput) GetRegion() string {
931         if m != nil {
932                 return m.Region
933         }
934         return ""
935 }
936
937 func (m *PredictionInput) GetRuntimeVersion() string {
938         if m != nil {
939                 return m.RuntimeVersion
940         }
941         return ""
942 }
943
944 // XXX_OneofFuncs is for the internal use of the proto package.
945 func (*PredictionInput) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
946         return _PredictionInput_OneofMarshaler, _PredictionInput_OneofUnmarshaler, _PredictionInput_OneofSizer, []interface{}{
947                 (*PredictionInput_ModelName)(nil),
948                 (*PredictionInput_VersionName)(nil),
949                 (*PredictionInput_Uri)(nil),
950         }
951 }
952
953 func _PredictionInput_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
954         m := msg.(*PredictionInput)
955         // model_version
956         switch x := m.ModelVersion.(type) {
957         case *PredictionInput_ModelName:
958                 b.EncodeVarint(1<<3 | proto.WireBytes)
959                 b.EncodeStringBytes(x.ModelName)
960         case *PredictionInput_VersionName:
961                 b.EncodeVarint(2<<3 | proto.WireBytes)
962                 b.EncodeStringBytes(x.VersionName)
963         case *PredictionInput_Uri:
964                 b.EncodeVarint(9<<3 | proto.WireBytes)
965                 b.EncodeStringBytes(x.Uri)
966         case nil:
967         default:
968                 return fmt.Errorf("PredictionInput.ModelVersion has unexpected type %T", x)
969         }
970         return nil
971 }
972
973 func _PredictionInput_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
974         m := msg.(*PredictionInput)
975         switch tag {
976         case 1: // model_version.model_name
977                 if wire != proto.WireBytes {
978                         return true, proto.ErrInternalBadWireType
979                 }
980                 x, err := b.DecodeStringBytes()
981                 m.ModelVersion = &PredictionInput_ModelName{x}
982                 return true, err
983         case 2: // model_version.version_name
984                 if wire != proto.WireBytes {
985                         return true, proto.ErrInternalBadWireType
986                 }
987                 x, err := b.DecodeStringBytes()
988                 m.ModelVersion = &PredictionInput_VersionName{x}
989                 return true, err
990         case 9: // model_version.uri
991                 if wire != proto.WireBytes {
992                         return true, proto.ErrInternalBadWireType
993                 }
994                 x, err := b.DecodeStringBytes()
995                 m.ModelVersion = &PredictionInput_Uri{x}
996                 return true, err
997         default:
998                 return false, nil
999         }
1000 }
1001
1002 func _PredictionInput_OneofSizer(msg proto.Message) (n int) {
1003         m := msg.(*PredictionInput)
1004         // model_version
1005         switch x := m.ModelVersion.(type) {
1006         case *PredictionInput_ModelName:
1007                 n += proto.SizeVarint(1<<3 | proto.WireBytes)
1008                 n += proto.SizeVarint(uint64(len(x.ModelName)))
1009                 n += len(x.ModelName)
1010         case *PredictionInput_VersionName:
1011                 n += proto.SizeVarint(2<<3 | proto.WireBytes)
1012                 n += proto.SizeVarint(uint64(len(x.VersionName)))
1013                 n += len(x.VersionName)
1014         case *PredictionInput_Uri:
1015                 n += proto.SizeVarint(9<<3 | proto.WireBytes)
1016                 n += proto.SizeVarint(uint64(len(x.Uri)))
1017                 n += len(x.Uri)
1018         case nil:
1019         default:
1020                 panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
1021         }
1022         return n
1023 }
1024
1025 // Represents results of a prediction job.
1026 type PredictionOutput struct {
1027         // The output Google Cloud Storage location provided at the job creation time.
1028         OutputPath string `protobuf:"bytes,1,opt,name=output_path,json=outputPath" json:"output_path,omitempty"`
1029         // The number of generated predictions.
1030         PredictionCount int64 `protobuf:"varint,2,opt,name=prediction_count,json=predictionCount" json:"prediction_count,omitempty"`
1031         // The number of data instances which resulted in errors.
1032         ErrorCount int64 `protobuf:"varint,3,opt,name=error_count,json=errorCount" json:"error_count,omitempty"`
1033         // Node hours used by the batch prediction job.
1034         NodeHours float64 `protobuf:"fixed64,4,opt,name=node_hours,json=nodeHours" json:"node_hours,omitempty"`
1035 }
1036
1037 func (m *PredictionOutput) Reset()                    { *m = PredictionOutput{} }
1038 func (m *PredictionOutput) String() string            { return proto.CompactTextString(m) }
1039 func (*PredictionOutput) ProtoMessage()               {}
1040 func (*PredictionOutput) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
1041
1042 func (m *PredictionOutput) GetOutputPath() string {
1043         if m != nil {
1044                 return m.OutputPath
1045         }
1046         return ""
1047 }
1048
1049 func (m *PredictionOutput) GetPredictionCount() int64 {
1050         if m != nil {
1051                 return m.PredictionCount
1052         }
1053         return 0
1054 }
1055
1056 func (m *PredictionOutput) GetErrorCount() int64 {
1057         if m != nil {
1058                 return m.ErrorCount
1059         }
1060         return 0
1061 }
1062
1063 func (m *PredictionOutput) GetNodeHours() float64 {
1064         if m != nil {
1065                 return m.NodeHours
1066         }
1067         return 0
1068 }
1069
1070 // Represents a training or prediction job.
1071 type Job struct {
1072         // Required. The user-specified id of the job.
1073         JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId" json:"job_id,omitempty"`
1074         // Required. Parameters to create a job.
1075         //
1076         // Types that are valid to be assigned to Input:
1077         //      *Job_TrainingInput
1078         //      *Job_PredictionInput
1079         Input isJob_Input `protobuf_oneof:"input"`
1080         // Output only. When the job was created.
1081         CreateTime *google_protobuf2.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime" json:"create_time,omitempty"`
1082         // Output only. When the job processing was started.
1083         StartTime *google_protobuf2.Timestamp `protobuf:"bytes,5,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
1084         // Output only. When the job processing was completed.
1085         EndTime *google_protobuf2.Timestamp `protobuf:"bytes,6,opt,name=end_time,json=endTime" json:"end_time,omitempty"`
1086         // Output only. The detailed state of a job.
1087         State Job_State `protobuf:"varint,7,opt,name=state,enum=google.cloud.ml.v1.Job_State" json:"state,omitempty"`
1088         // Output only. The details of a failure or a cancellation.
1089         ErrorMessage string `protobuf:"bytes,8,opt,name=error_message,json=errorMessage" json:"error_message,omitempty"`
1090         // Output only. The current result of the job.
1091         //
1092         // Types that are valid to be assigned to Output:
1093         //      *Job_TrainingOutput
1094         //      *Job_PredictionOutput
1095         Output isJob_Output `protobuf_oneof:"output"`
1096 }
1097
1098 func (m *Job) Reset()                    { *m = Job{} }
1099 func (m *Job) String() string            { return proto.CompactTextString(m) }
1100 func (*Job) ProtoMessage()               {}
1101 func (*Job) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
1102
1103 type isJob_Input interface {
1104         isJob_Input()
1105 }
1106 type isJob_Output interface {
1107         isJob_Output()
1108 }
1109
1110 type Job_TrainingInput struct {
1111         TrainingInput *TrainingInput `protobuf:"bytes,2,opt,name=training_input,json=trainingInput,oneof"`
1112 }
1113 type Job_PredictionInput struct {
1114         PredictionInput *PredictionInput `protobuf:"bytes,3,opt,name=prediction_input,json=predictionInput,oneof"`
1115 }
1116 type Job_TrainingOutput struct {
1117         TrainingOutput *TrainingOutput `protobuf:"bytes,9,opt,name=training_output,json=trainingOutput,oneof"`
1118 }
1119 type Job_PredictionOutput struct {
1120         PredictionOutput *PredictionOutput `protobuf:"bytes,10,opt,name=prediction_output,json=predictionOutput,oneof"`
1121 }
1122
1123 func (*Job_TrainingInput) isJob_Input()     {}
1124 func (*Job_PredictionInput) isJob_Input()   {}
1125 func (*Job_TrainingOutput) isJob_Output()   {}
1126 func (*Job_PredictionOutput) isJob_Output() {}
1127
1128 func (m *Job) GetInput() isJob_Input {
1129         if m != nil {
1130                 return m.Input
1131         }
1132         return nil
1133 }
1134 func (m *Job) GetOutput() isJob_Output {
1135         if m != nil {
1136                 return m.Output
1137         }
1138         return nil
1139 }
1140
1141 func (m *Job) GetJobId() string {
1142         if m != nil {
1143                 return m.JobId
1144         }
1145         return ""
1146 }
1147
1148 func (m *Job) GetTrainingInput() *TrainingInput {
1149         if x, ok := m.GetInput().(*Job_TrainingInput); ok {
1150                 return x.TrainingInput
1151         }
1152         return nil
1153 }
1154
1155 func (m *Job) GetPredictionInput() *PredictionInput {
1156         if x, ok := m.GetInput().(*Job_PredictionInput); ok {
1157                 return x.PredictionInput
1158         }
1159         return nil
1160 }
1161
1162 func (m *Job) GetCreateTime() *google_protobuf2.Timestamp {
1163         if m != nil {
1164                 return m.CreateTime
1165         }
1166         return nil
1167 }
1168
1169 func (m *Job) GetStartTime() *google_protobuf2.Timestamp {
1170         if m != nil {
1171                 return m.StartTime
1172         }
1173         return nil
1174 }
1175
1176 func (m *Job) GetEndTime() *google_protobuf2.Timestamp {
1177         if m != nil {
1178                 return m.EndTime
1179         }
1180         return nil
1181 }
1182
1183 func (m *Job) GetState() Job_State {
1184         if m != nil {
1185                 return m.State
1186         }
1187         return Job_STATE_UNSPECIFIED
1188 }
1189
1190 func (m *Job) GetErrorMessage() string {
1191         if m != nil {
1192                 return m.ErrorMessage
1193         }
1194         return ""
1195 }
1196
1197 func (m *Job) GetTrainingOutput() *TrainingOutput {
1198         if x, ok := m.GetOutput().(*Job_TrainingOutput); ok {
1199                 return x.TrainingOutput
1200         }
1201         return nil
1202 }
1203
1204 func (m *Job) GetPredictionOutput() *PredictionOutput {
1205         if x, ok := m.GetOutput().(*Job_PredictionOutput); ok {
1206                 return x.PredictionOutput
1207         }
1208         return nil
1209 }
1210
1211 // XXX_OneofFuncs is for the internal use of the proto package.
1212 func (*Job) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
1213         return _Job_OneofMarshaler, _Job_OneofUnmarshaler, _Job_OneofSizer, []interface{}{
1214                 (*Job_TrainingInput)(nil),
1215                 (*Job_PredictionInput)(nil),
1216                 (*Job_TrainingOutput)(nil),
1217                 (*Job_PredictionOutput)(nil),
1218         }
1219 }
1220
1221 func _Job_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
1222         m := msg.(*Job)
1223         // input
1224         switch x := m.Input.(type) {
1225         case *Job_TrainingInput:
1226                 b.EncodeVarint(2<<3 | proto.WireBytes)
1227                 if err := b.EncodeMessage(x.TrainingInput); err != nil {
1228                         return err
1229                 }
1230         case *Job_PredictionInput:
1231                 b.EncodeVarint(3<<3 | proto.WireBytes)
1232                 if err := b.EncodeMessage(x.PredictionInput); err != nil {
1233                         return err
1234                 }
1235         case nil:
1236         default:
1237                 return fmt.Errorf("Job.Input has unexpected type %T", x)
1238         }
1239         // output
1240         switch x := m.Output.(type) {
1241         case *Job_TrainingOutput:
1242                 b.EncodeVarint(9<<3 | proto.WireBytes)
1243                 if err := b.EncodeMessage(x.TrainingOutput); err != nil {
1244                         return err
1245                 }
1246         case *Job_PredictionOutput:
1247                 b.EncodeVarint(10<<3 | proto.WireBytes)
1248                 if err := b.EncodeMessage(x.PredictionOutput); err != nil {
1249                         return err
1250                 }
1251         case nil:
1252         default:
1253                 return fmt.Errorf("Job.Output has unexpected type %T", x)
1254         }
1255         return nil
1256 }
1257
1258 func _Job_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
1259         m := msg.(*Job)
1260         switch tag {
1261         case 2: // input.training_input
1262                 if wire != proto.WireBytes {
1263                         return true, proto.ErrInternalBadWireType
1264                 }
1265                 msg := new(TrainingInput)
1266                 err := b.DecodeMessage(msg)
1267                 m.Input = &Job_TrainingInput{msg}
1268                 return true, err
1269         case 3: // input.prediction_input
1270                 if wire != proto.WireBytes {
1271                         return true, proto.ErrInternalBadWireType
1272                 }
1273                 msg := new(PredictionInput)
1274                 err := b.DecodeMessage(msg)
1275                 m.Input = &Job_PredictionInput{msg}
1276                 return true, err
1277         case 9: // output.training_output
1278                 if wire != proto.WireBytes {
1279                         return true, proto.ErrInternalBadWireType
1280                 }
1281                 msg := new(TrainingOutput)
1282                 err := b.DecodeMessage(msg)
1283                 m.Output = &Job_TrainingOutput{msg}
1284                 return true, err
1285         case 10: // output.prediction_output
1286                 if wire != proto.WireBytes {
1287                         return true, proto.ErrInternalBadWireType
1288                 }
1289                 msg := new(PredictionOutput)
1290                 err := b.DecodeMessage(msg)
1291                 m.Output = &Job_PredictionOutput{msg}
1292                 return true, err
1293         default:
1294                 return false, nil
1295         }
1296 }
1297
1298 func _Job_OneofSizer(msg proto.Message) (n int) {
1299         m := msg.(*Job)
1300         // input
1301         switch x := m.Input.(type) {
1302         case *Job_TrainingInput:
1303                 s := proto.Size(x.TrainingInput)
1304                 n += proto.SizeVarint(2<<3 | proto.WireBytes)
1305                 n += proto.SizeVarint(uint64(s))
1306                 n += s
1307         case *Job_PredictionInput:
1308                 s := proto.Size(x.PredictionInput)
1309                 n += proto.SizeVarint(3<<3 | proto.WireBytes)
1310                 n += proto.SizeVarint(uint64(s))
1311                 n += s
1312         case nil:
1313         default:
1314                 panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
1315         }
1316         // output
1317         switch x := m.Output.(type) {
1318         case *Job_TrainingOutput:
1319                 s := proto.Size(x.TrainingOutput)
1320                 n += proto.SizeVarint(9<<3 | proto.WireBytes)
1321                 n += proto.SizeVarint(uint64(s))
1322                 n += s
1323         case *Job_PredictionOutput:
1324                 s := proto.Size(x.PredictionOutput)
1325                 n += proto.SizeVarint(10<<3 | proto.WireBytes)
1326                 n += proto.SizeVarint(uint64(s))
1327                 n += s
1328         case nil:
1329         default:
1330                 panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
1331         }
1332         return n
1333 }
1334
1335 // Request message for the CreateJob method.
1336 type CreateJobRequest struct {
1337         // Required. The project name.
1338         //
1339         // Authorization: requires `Editor` role on the specified project.
1340         Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
1341         // Required. The job to create.
1342         Job *Job `protobuf:"bytes,2,opt,name=job" json:"job,omitempty"`
1343 }
1344
1345 func (m *CreateJobRequest) Reset()                    { *m = CreateJobRequest{} }
1346 func (m *CreateJobRequest) String() string            { return proto.CompactTextString(m) }
1347 func (*CreateJobRequest) ProtoMessage()               {}
1348 func (*CreateJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
1349
1350 func (m *CreateJobRequest) GetParent() string {
1351         if m != nil {
1352                 return m.Parent
1353         }
1354         return ""
1355 }
1356
1357 func (m *CreateJobRequest) GetJob() *Job {
1358         if m != nil {
1359                 return m.Job
1360         }
1361         return nil
1362 }
1363
1364 // Request message for the ListJobs method.
1365 type ListJobsRequest struct {
1366         // Required. The name of the project for which to list jobs.
1367         //
1368         // Authorization: requires `Viewer` role on the specified project.
1369         Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
1370         // Optional. Specifies the subset of jobs to retrieve.
1371         Filter string `protobuf:"bytes,2,opt,name=filter" json:"filter,omitempty"`
1372         // Optional. A page token to request the next page of results.
1373         //
1374         // You get the token from the `next_page_token` field of the response from
1375         // the previous call.
1376         PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
1377         // Optional. The number of jobs to retrieve per "page" of results. If there
1378         // are more remaining results than this number, the response message will
1379         // contain a valid value in the `next_page_token` field.
1380         //
1381         // The default value is 20, and the maximum page size is 100.
1382         PageSize int32 `protobuf:"varint,5,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
1383 }
1384
1385 func (m *ListJobsRequest) Reset()                    { *m = ListJobsRequest{} }
1386 func (m *ListJobsRequest) String() string            { return proto.CompactTextString(m) }
1387 func (*ListJobsRequest) ProtoMessage()               {}
1388 func (*ListJobsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
1389
1390 func (m *ListJobsRequest) GetParent() string {
1391         if m != nil {
1392                 return m.Parent
1393         }
1394         return ""
1395 }
1396
1397 func (m *ListJobsRequest) GetFilter() string {
1398         if m != nil {
1399                 return m.Filter
1400         }
1401         return ""
1402 }
1403
1404 func (m *ListJobsRequest) GetPageToken() string {
1405         if m != nil {
1406                 return m.PageToken
1407         }
1408         return ""
1409 }
1410
1411 func (m *ListJobsRequest) GetPageSize() int32 {
1412         if m != nil {
1413                 return m.PageSize
1414         }
1415         return 0
1416 }
1417
1418 // Response message for the ListJobs method.
1419 type ListJobsResponse struct {
1420         // The list of jobs.
1421         Jobs []*Job `protobuf:"bytes,1,rep,name=jobs" json:"jobs,omitempty"`
1422         // Optional. Pass this token as the `page_token` field of the request for a
1423         // subsequent call.
1424         NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
1425 }
1426
1427 func (m *ListJobsResponse) Reset()                    { *m = ListJobsResponse{} }
1428 func (m *ListJobsResponse) String() string            { return proto.CompactTextString(m) }
1429 func (*ListJobsResponse) ProtoMessage()               {}
1430 func (*ListJobsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
1431
1432 func (m *ListJobsResponse) GetJobs() []*Job {
1433         if m != nil {
1434                 return m.Jobs
1435         }
1436         return nil
1437 }
1438
1439 func (m *ListJobsResponse) GetNextPageToken() string {
1440         if m != nil {
1441                 return m.NextPageToken
1442         }
1443         return ""
1444 }
1445
1446 // Request message for the GetJob method.
1447 type GetJobRequest struct {
1448         // Required. The name of the job to get the description of.
1449         //
1450         // Authorization: requires `Viewer` role on the parent project.
1451         Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
1452 }
1453
1454 func (m *GetJobRequest) Reset()                    { *m = GetJobRequest{} }
1455 func (m *GetJobRequest) String() string            { return proto.CompactTextString(m) }
1456 func (*GetJobRequest) ProtoMessage()               {}
1457 func (*GetJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
1458
1459 func (m *GetJobRequest) GetName() string {
1460         if m != nil {
1461                 return m.Name
1462         }
1463         return ""
1464 }
1465
1466 // Request message for the CancelJob method.
1467 type CancelJobRequest struct {
1468         // Required. The name of the job to cancel.
1469         //
1470         // Authorization: requires `Editor` role on the parent project.
1471         Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
1472 }
1473
1474 func (m *CancelJobRequest) Reset()                    { *m = CancelJobRequest{} }
1475 func (m *CancelJobRequest) String() string            { return proto.CompactTextString(m) }
1476 func (*CancelJobRequest) ProtoMessage()               {}
1477 func (*CancelJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
1478
1479 func (m *CancelJobRequest) GetName() string {
1480         if m != nil {
1481                 return m.Name
1482         }
1483         return ""
1484 }
1485
1486 func init() {
1487         proto.RegisterType((*TrainingInput)(nil), "google.cloud.ml.v1.TrainingInput")
1488         proto.RegisterType((*HyperparameterSpec)(nil), "google.cloud.ml.v1.HyperparameterSpec")
1489         proto.RegisterType((*ParameterSpec)(nil), "google.cloud.ml.v1.ParameterSpec")
1490         proto.RegisterType((*HyperparameterOutput)(nil), "google.cloud.ml.v1.HyperparameterOutput")
1491         proto.RegisterType((*HyperparameterOutput_HyperparameterMetric)(nil), "google.cloud.ml.v1.HyperparameterOutput.HyperparameterMetric")
1492         proto.RegisterType((*TrainingOutput)(nil), "google.cloud.ml.v1.TrainingOutput")
1493         proto.RegisterType((*PredictionInput)(nil), "google.cloud.ml.v1.PredictionInput")
1494         proto.RegisterType((*PredictionOutput)(nil), "google.cloud.ml.v1.PredictionOutput")
1495         proto.RegisterType((*Job)(nil), "google.cloud.ml.v1.Job")
1496         proto.RegisterType((*CreateJobRequest)(nil), "google.cloud.ml.v1.CreateJobRequest")
1497         proto.RegisterType((*ListJobsRequest)(nil), "google.cloud.ml.v1.ListJobsRequest")
1498         proto.RegisterType((*ListJobsResponse)(nil), "google.cloud.ml.v1.ListJobsResponse")
1499         proto.RegisterType((*GetJobRequest)(nil), "google.cloud.ml.v1.GetJobRequest")
1500         proto.RegisterType((*CancelJobRequest)(nil), "google.cloud.ml.v1.CancelJobRequest")
1501         proto.RegisterEnum("google.cloud.ml.v1.TrainingInput_ScaleTier", TrainingInput_ScaleTier_name, TrainingInput_ScaleTier_value)
1502         proto.RegisterEnum("google.cloud.ml.v1.HyperparameterSpec_GoalType", HyperparameterSpec_GoalType_name, HyperparameterSpec_GoalType_value)
1503         proto.RegisterEnum("google.cloud.ml.v1.ParameterSpec_ParameterType", ParameterSpec_ParameterType_name, ParameterSpec_ParameterType_value)
1504         proto.RegisterEnum("google.cloud.ml.v1.ParameterSpec_ScaleType", ParameterSpec_ScaleType_name, ParameterSpec_ScaleType_value)
1505         proto.RegisterEnum("google.cloud.ml.v1.PredictionInput_DataFormat", PredictionInput_DataFormat_name, PredictionInput_DataFormat_value)
1506         proto.RegisterEnum("google.cloud.ml.v1.Job_State", Job_State_name, Job_State_value)
1507 }
1508
1509 // Reference imports to suppress errors if they are not otherwise used.
1510 var _ context.Context
1511 var _ grpc.ClientConn
1512
1513 // This is a compile-time assertion to ensure that this generated file
1514 // is compatible with the grpc package it is being compiled against.
1515 const _ = grpc.SupportPackageIsVersion4
1516
1517 // Client API for JobService service
1518
1519 type JobServiceClient interface {
1520         // Creates a training or a batch prediction job.
1521         CreateJob(ctx context.Context, in *CreateJobRequest, opts ...grpc.CallOption) (*Job, error)
1522         // Lists the jobs in the project.
1523         ListJobs(ctx context.Context, in *ListJobsRequest, opts ...grpc.CallOption) (*ListJobsResponse, error)
1524         // Describes a job.
1525         GetJob(ctx context.Context, in *GetJobRequest, opts ...grpc.CallOption) (*Job, error)
1526         // Cancels a running job.
1527         CancelJob(ctx context.Context, in *CancelJobRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error)
1528 }
1529
1530 type jobServiceClient struct {
1531         cc *grpc.ClientConn
1532 }
1533
1534 func NewJobServiceClient(cc *grpc.ClientConn) JobServiceClient {
1535         return &jobServiceClient{cc}
1536 }
1537
1538 func (c *jobServiceClient) CreateJob(ctx context.Context, in *CreateJobRequest, opts ...grpc.CallOption) (*Job, error) {
1539         out := new(Job)
1540         err := grpc.Invoke(ctx, "/google.cloud.ml.v1.JobService/CreateJob", in, out, c.cc, opts...)
1541         if err != nil {
1542                 return nil, err
1543         }
1544         return out, nil
1545 }
1546
1547 func (c *jobServiceClient) ListJobs(ctx context.Context, in *ListJobsRequest, opts ...grpc.CallOption) (*ListJobsResponse, error) {
1548         out := new(ListJobsResponse)
1549         err := grpc.Invoke(ctx, "/google.cloud.ml.v1.JobService/ListJobs", in, out, c.cc, opts...)
1550         if err != nil {
1551                 return nil, err
1552         }
1553         return out, nil
1554 }
1555
1556 func (c *jobServiceClient) GetJob(ctx context.Context, in *GetJobRequest, opts ...grpc.CallOption) (*Job, error) {
1557         out := new(Job)
1558         err := grpc.Invoke(ctx, "/google.cloud.ml.v1.JobService/GetJob", in, out, c.cc, opts...)
1559         if err != nil {
1560                 return nil, err
1561         }
1562         return out, nil
1563 }
1564
1565 func (c *jobServiceClient) CancelJob(ctx context.Context, in *CancelJobRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) {
1566         out := new(google_protobuf1.Empty)
1567         err := grpc.Invoke(ctx, "/google.cloud.ml.v1.JobService/CancelJob", in, out, c.cc, opts...)
1568         if err != nil {
1569                 return nil, err
1570         }
1571         return out, nil
1572 }
1573
1574 // Server API for JobService service
1575
1576 type JobServiceServer interface {
1577         // Creates a training or a batch prediction job.
1578         CreateJob(context.Context, *CreateJobRequest) (*Job, error)
1579         // Lists the jobs in the project.
1580         ListJobs(context.Context, *ListJobsRequest) (*ListJobsResponse, error)
1581         // Describes a job.
1582         GetJob(context.Context, *GetJobRequest) (*Job, error)
1583         // Cancels a running job.
1584         CancelJob(context.Context, *CancelJobRequest) (*google_protobuf1.Empty, error)
1585 }
1586
1587 func RegisterJobServiceServer(s *grpc.Server, srv JobServiceServer) {
1588         s.RegisterService(&_JobService_serviceDesc, srv)
1589 }
1590
1591 func _JobService_CreateJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1592         in := new(CreateJobRequest)
1593         if err := dec(in); err != nil {
1594                 return nil, err
1595         }
1596         if interceptor == nil {
1597                 return srv.(JobServiceServer).CreateJob(ctx, in)
1598         }
1599         info := &grpc.UnaryServerInfo{
1600                 Server:     srv,
1601                 FullMethod: "/google.cloud.ml.v1.JobService/CreateJob",
1602         }
1603         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1604                 return srv.(JobServiceServer).CreateJob(ctx, req.(*CreateJobRequest))
1605         }
1606         return interceptor(ctx, in, info, handler)
1607 }
1608
1609 func _JobService_ListJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1610         in := new(ListJobsRequest)
1611         if err := dec(in); err != nil {
1612                 return nil, err
1613         }
1614         if interceptor == nil {
1615                 return srv.(JobServiceServer).ListJobs(ctx, in)
1616         }
1617         info := &grpc.UnaryServerInfo{
1618                 Server:     srv,
1619                 FullMethod: "/google.cloud.ml.v1.JobService/ListJobs",
1620         }
1621         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1622                 return srv.(JobServiceServer).ListJobs(ctx, req.(*ListJobsRequest))
1623         }
1624         return interceptor(ctx, in, info, handler)
1625 }
1626
1627 func _JobService_GetJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1628         in := new(GetJobRequest)
1629         if err := dec(in); err != nil {
1630                 return nil, err
1631         }
1632         if interceptor == nil {
1633                 return srv.(JobServiceServer).GetJob(ctx, in)
1634         }
1635         info := &grpc.UnaryServerInfo{
1636                 Server:     srv,
1637                 FullMethod: "/google.cloud.ml.v1.JobService/GetJob",
1638         }
1639         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1640                 return srv.(JobServiceServer).GetJob(ctx, req.(*GetJobRequest))
1641         }
1642         return interceptor(ctx, in, info, handler)
1643 }
1644
1645 func _JobService_CancelJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1646         in := new(CancelJobRequest)
1647         if err := dec(in); err != nil {
1648                 return nil, err
1649         }
1650         if interceptor == nil {
1651                 return srv.(JobServiceServer).CancelJob(ctx, in)
1652         }
1653         info := &grpc.UnaryServerInfo{
1654                 Server:     srv,
1655                 FullMethod: "/google.cloud.ml.v1.JobService/CancelJob",
1656         }
1657         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1658                 return srv.(JobServiceServer).CancelJob(ctx, req.(*CancelJobRequest))
1659         }
1660         return interceptor(ctx, in, info, handler)
1661 }
1662
1663 var _JobService_serviceDesc = grpc.ServiceDesc{
1664         ServiceName: "google.cloud.ml.v1.JobService",
1665         HandlerType: (*JobServiceServer)(nil),
1666         Methods: []grpc.MethodDesc{
1667                 {
1668                         MethodName: "CreateJob",
1669                         Handler:    _JobService_CreateJob_Handler,
1670                 },
1671                 {
1672                         MethodName: "ListJobs",
1673                         Handler:    _JobService_ListJobs_Handler,
1674                 },
1675                 {
1676                         MethodName: "GetJob",
1677                         Handler:    _JobService_GetJob_Handler,
1678                 },
1679                 {
1680                         MethodName: "CancelJob",
1681                         Handler:    _JobService_CancelJob_Handler,
1682                 },
1683         },
1684         Streams:  []grpc.StreamDesc{},
1685         Metadata: "google/cloud/ml/v1/job_service.proto",
1686 }
1687
1688 func init() { proto.RegisterFile("google/cloud/ml/v1/job_service.proto", fileDescriptor0) }
1689
1690 var fileDescriptor0 = []byte{
1691         // 2070 bytes of a gzipped FileDescriptorProto
1692         0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x58, 0xdb, 0x6e, 0x1b, 0xc9,
1693         0x11, 0x15, 0xaf, 0x22, 0x8b, 0x12, 0x39, 0x6e, 0x5b, 0x36, 0x4d, 0xdb, 0x6b, 0x79, 0xe4, 0x38,
1694         0xb2, 0x17, 0x21, 0x21, 0xed, 0x06, 0xc8, 0x7a, 0xb1, 0x48, 0x28, 0x72, 0x2c, 0x51, 0x10, 0x29,
1695         0xa6, 0x39, 0x74, 0x36, 0x46, 0x90, 0x49, 0x93, 0x6c, 0xd3, 0x23, 0xcf, 0x2d, 0x33, 0x4d, 0x45,
1696         0xda, 0x85, 0x81, 0x20, 0x08, 0xf2, 0x03, 0x79, 0x0f, 0xf2, 0x4d, 0xc9, 0x1f, 0x04, 0x01, 0xf2,
1697         0x01, 0x79, 0x0e, 0x10, 0xf4, 0x85, 0xc3, 0x8b, 0x28, 0xd9, 0x48, 0xde, 0xd8, 0xa7, 0x4e, 0x55,
1698         0x75, 0x57, 0x55, 0x57, 0xd7, 0x10, 0x9e, 0x8e, 0x7d, 0x7f, 0xec, 0xd0, 0xda, 0xd0, 0xf1, 0x27,
1699         0xa3, 0x9a, 0xeb, 0xd4, 0xce, 0xf7, 0x6a, 0x67, 0xfe, 0xc0, 0x8a, 0x68, 0x78, 0x6e, 0x0f, 0x69,
1700         0x35, 0x08, 0x7d, 0xe6, 0x23, 0x24, 0x59, 0x55, 0xc1, 0xaa, 0xba, 0x4e, 0xf5, 0x7c, 0xaf, 0xf2,
1701         0x50, 0x69, 0x92, 0xc0, 0xae, 0x11, 0xcf, 0xf3, 0x19, 0x61, 0xb6, 0xef, 0x45, 0x52, 0xa3, 0xb2,
1702         0x35, 0x2f, 0x9d, 0xb0, 0x77, 0x0a, 0x7e, 0xa0, 0x60, 0xb1, 0x1a, 0x4c, 0xde, 0xd6, 0xa8, 0x1b,
1703         0xb0, 0x4b, 0x25, 0x7c, 0xbc, 0x2c, 0x64, 0xb6, 0x4b, 0x23, 0x46, 0xdc, 0x40, 0x12, 0xf4, 0x3f,
1704         0x66, 0x60, 0xd3, 0x0c, 0x89, 0xed, 0xd9, 0xde, 0xb8, 0xe5, 0x05, 0x13, 0x86, 0x8e, 0x01, 0xa2,
1705         0x21, 0x71, 0xa8, 0xc5, 0x6c, 0x1a, 0x96, 0x13, 0xdb, 0x89, 0xdd, 0xe2, 0xfe, 0xe7, 0xd5, 0xab,
1706         0xbb, 0xad, 0x2e, 0xa8, 0x55, 0x7b, 0x5c, 0xc7, 0xb4, 0x69, 0x88, 0xf3, 0xd1, 0xf4, 0x27, 0x7a,
1707         0x0c, 0x05, 0x97, 0x44, 0x8c, 0x86, 0x16, 0xbb, 0x0c, 0x68, 0x39, 0xb9, 0x9d, 0xd8, 0xcd, 0x63,
1708         0x90, 0x90, 0x79, 0x19, 0x50, 0x4e, 0xf8, 0x9d, 0x1f, 0xbe, 0x9f, 0x12, 0x52, 0x92, 0x20, 0x21,
1709         0x41, 0xd8, 0x87, 0xad, 0x80, 0x84, 0xc4, 0xa5, 0xdc, 0x08, 0x8f, 0xe0, 0x94, 0x9a, 0x16, 0xd4,
1710         0xdb, 0xb1, 0xb0, 0x27, 0x64, 0x42, 0xe7, 0x09, 0x6c, 0x28, 0xa3, 0x43, 0x7f, 0xe2, 0xb1, 0x72,
1711         0x66, 0x3b, 0xb1, 0x9b, 0xc2, 0xca, 0x51, 0x83, 0x43, 0xe8, 0x4b, 0xb8, 0x7b, 0xc5, 0xac, 0x24,
1712         0x67, 0x05, 0xf9, 0xce, 0x92, 0x5d, 0xa9, 0xf5, 0x04, 0x36, 0x02, 0x32, 0x7c, 0x4f, 0xc6, 0xd4,
1713         0x9a, 0x84, 0x76, 0x54, 0x5e, 0xdf, 0x4e, 0xed, 0xe6, 0x71, 0x41, 0x61, 0xfd, 0xd0, 0x8e, 0xd0,
1714         0x0e, 0x6c, 0x06, 0x97, 0xec, 0x9d, 0xef, 0x59, 0xae, 0x3f, 0x9a, 0x38, 0xb4, 0x9c, 0x13, 0xfb,
1715         0xdc, 0x90, 0x60, 0x5b, 0x60, 0x08, 0x41, 0x9a, 0x84, 0xe3, 0xa8, 0x0c, 0x42, 0x5f, 0xfc, 0x46,
1716         0x5d, 0x28, 0xbd, 0xbb, 0x0c, 0x68, 0x18, 0x3b, 0x8e, 0xca, 0x1b, 0xdb, 0x89, 0xdd, 0xc2, 0xfe,
1717         0xb3, 0x55, 0xb1, 0x3f, 0x5a, 0xa0, 0xf6, 0x02, 0x3a, 0xc4, 0xcb, 0xea, 0xe8, 0x2e, 0x64, 0x43,
1718         0x3a, 0xb6, 0x7d, 0xaf, 0x5c, 0x14, 0x7b, 0x50, 0x2b, 0x74, 0x0f, 0xd6, 0x79, 0x39, 0x8e, 0xec,
1719         0xb0, 0xac, 0x49, 0xc1, 0x99, 0x3f, 0x68, 0xda, 0x21, 0xfa, 0x21, 0x94, 0xc2, 0x89, 0xc7, 0x2b,
1720         0xc4, 0x3a, 0xa7, 0x61, 0xc4, 0x35, 0x4b, 0x82, 0x50, 0x54, 0xf0, 0x6b, 0x89, 0xea, 0x5d, 0xc8,
1721         0xc7, 0xe9, 0x46, 0x79, 0xc8, 0x1c, 0xd4, 0x7b, 0xad, 0x86, 0xb6, 0x86, 0x8a, 0x00, 0x3d, 0xb3,
1722         0xde, 0x69, 0xd6, 0x71, 0xd3, 0xda, 0xd3, 0x12, 0x68, 0x13, 0xf2, 0x5d, 0x6c, 0xb4, 0x5b, 0xfd,
1723         0xb6, 0xb5, 0xa7, 0xa5, 0xf8, 0x52, 0x30, 0xad, 0xc3, 0x6e, 0x5f, 0xcb, 0x22, 0x80, 0x6c, 0xa3,
1724         0xdf, 0x33, 0x4f, 0xdb, 0x5a, 0x46, 0xff, 0x47, 0x12, 0xd0, 0xd5, 0x33, 0xa1, 0x06, 0xa4, 0xc7,
1725         0x3e, 0x71, 0x54, 0x15, 0xd6, 0x3e, 0x2d, 0x12, 0xd5, 0x43, 0x9f, 0x38, 0xbc, 0x10, 0xb0, 0x50,
1726         0x46, 0x5f, 0x41, 0x56, 0xc8, 0xa3, 0x72, 0x72, 0x3b, 0xb5, 0x5b, 0xd8, 0x7f, 0xb2, 0xca, 0x4c,
1727         0x77, 0x21, 0x96, 0x4a, 0x01, 0x3d, 0x02, 0x70, 0xc9, 0x85, 0xc5, 0x42, 0x9b, 0x38, 0x91, 0xa8,
1728         0xce, 0x0c, 0xce, 0xbb, 0xe4, 0xc2, 0x14, 0x00, 0xaa, 0xc2, 0x6d, 0x2e, 0xe6, 0x64, 0xc7, 0xa1,
1729         0xce, 0x94, 0x97, 0x16, 0xbc, 0x5b, 0x2e, 0xb9, 0xe8, 0x2a, 0x89, 0xe2, 0xbf, 0x84, 0xfb, 0x8b,
1730         0x49, 0xb2, 0x5c, 0xca, 0x42, 0x7b, 0x68, 0x31, 0x32, 0x16, 0x55, 0x9a, 0xc7, 0xf7, 0x16, 0x09,
1731         0x6d, 0x21, 0x37, 0xc9, 0x58, 0xaf, 0x43, 0x6e, 0x7a, 0x2e, 0x74, 0x1f, 0xb6, 0x0e, 0x4f, 0xeb,
1732         0x27, 0x96, 0xf9, 0xcb, 0xae, 0x61, 0xf5, 0x3b, 0xbd, 0xae, 0xd1, 0x68, 0xbd, 0x6a, 0x19, 0x4d,
1733         0x6d, 0x0d, 0x6d, 0x40, 0xae, 0x5d, 0xff, 0xb6, 0xd5, 0x6e, 0xbd, 0x31, 0xb4, 0x84, 0x58, 0xb5,
1734         0x3a, 0x72, 0x95, 0xd4, 0xff, 0x9a, 0x86, 0xcd, 0x85, 0x73, 0xa2, 0x1f, 0x40, 0x71, 0xb6, 0x17,
1735         0x8f, 0xb8, 0x54, 0x44, 0x3a, 0x8f, 0x37, 0x63, 0xb4, 0x43, 0x5c, 0xca, 0xd3, 0x10, 0xdf, 0xb9,
1736         0x6b, 0xd2, 0xb0, 0x60, 0x77, 0xb6, 0x92, 0x69, 0xe0, 0xca, 0xe8, 0x01, 0xe4, 0x5d, 0xdb, 0xb3,
1737         0xce, 0x89, 0x33, 0x91, 0x9d, 0x20, 0x81, 0x73, 0xae, 0xed, 0xbd, 0xe6, 0x6b, 0x21, 0x24, 0x17,
1738         0x4a, 0x98, 0x52, 0x42, 0x72, 0x21, 0x85, 0x3f, 0x02, 0x34, 0x24, 0x8c, 0x8e, 0xfd, 0xd0, 0x1e,
1739         0x12, 0x47, 0x92, 0xa2, 0x72, 0x46, 0x5c, 0x9e, 0x5b, 0x73, 0x12, 0xc1, 0x8e, 0x78, 0x19, 0x8f,
1740         0xec, 0x68, 0x18, 0x52, 0x46, 0xa7, 0xdc, 0xec, 0x76, 0x6a, 0x37, 0x81, 0x8b, 0x53, 0x58, 0x11,
1741         0x67, 0x9d, 0x8e, 0x1f, 0x6e, 0xfd, 0xfa, 0x4e, 0xb7, 0x78, 0x38, 0x59, 0xfa, 0xfc, 0x60, 0xaa,
1742         0xd3, 0x5d, 0x06, 0x54, 0x1f, 0xcf, 0x85, 0x56, 0xe4, 0xe8, 0x33, 0xa8, 0x74, 0xeb, 0xb8, 0xde,
1743         0x36, 0x4c, 0x03, 0xaf, 0x4a, 0x14, 0x40, 0xb6, 0x79, 0xda, 0x3f, 0x38, 0xe1, 0x69, 0x2a, 0xc0,
1744         0x7a, 0xab, 0x63, 0x1a, 0x87, 0x06, 0xd6, 0x92, 0xa8, 0x04, 0x85, 0x46, 0xdd, 0x34, 0x0e, 0x4f,
1745         0x71, 0xab, 0x51, 0x3f, 0xd1, 0x52, 0x3c, 0x89, 0xcd, 0x56, 0xaf, 0x81, 0x0d, 0xd3, 0xd0, 0xd2,
1746         0xfa, 0xaf, 0xa6, 0x77, 0x8f, 0x3b, 0xc9, 0x41, 0xba, 0x73, 0xda, 0x31, 0xb4, 0x35, 0xb4, 0x05,
1747         0xb7, 0xfa, 0x9d, 0x96, 0x69, 0x9d, 0xb4, 0x3a, 0x46, 0x1d, 0x5b, 0xbd, 0x46, 0x5d, 0x58, 0x46,
1748         0x50, 0x94, 0xf0, 0xe9, 0xa1, 0xc2, 0x92, 0xa8, 0x02, 0x77, 0x05, 0x86, 0x8d, 0xd7, 0x06, 0xee,
1749         0x19, 0x73, 0xb2, 0x94, 0xfe, 0xa7, 0x34, 0xdc, 0x59, 0xbc, 0x51, 0xa7, 0x13, 0xc6, 0x5f, 0x85,
1750         0xfb, 0x90, 0x13, 0xd5, 0x6d, 0xd9, 0x23, 0x55, 0x23, 0xeb, 0x62, 0xdd, 0x1a, 0xa1, 0xf1, 0xd5,
1751         0xce, 0x25, 0x2f, 0xda, 0x37, 0x1f, 0xbf, 0xaf, 0xd2, 0xfa, 0x12, 0x18, 0x19, 0x1e, 0x0b, 0x2f,
1752         0xaf, 0x36, 0xb4, 0xdf, 0xc0, 0xc6, 0x5b, 0xdb, 0x23, 0x8e, 0xba, 0x35, 0xa2, 0x4e, 0xfe, 0x77,
1753         0x2f, 0xf2, 0x6a, 0xe1, 0x82, 0x30, 0x29, 0x17, 0xe8, 0xd7, 0x50, 0x20, 0xce, 0xd4, 0x3e, 0xbf,
1754         0xc8, 0xa9, 0xff, 0xdf, 0x01, 0x10, 0x47, 0x99, 0x8f, 0x2a, 0xa3, 0xe5, 0xe8, 0x2a, 0xbf, 0x3b,
1755         0xb0, 0xc9, 0xd4, 0x6b, 0x6a, 0x45, 0x8c, 0x06, 0x22, 0xc4, 0x29, 0xbc, 0x31, 0x05, 0x7b, 0x8c,
1756         0x06, 0xbc, 0xae, 0xfd, 0xc1, 0x19, 0x1d, 0x32, 0xfb, 0x9c, 0x2e, 0x5c, 0xa3, 0x62, 0x0c, 0x8b,
1757         0xc2, 0xae, 0x1c, 0x2c, 0x7b, 0x91, 0x01, 0x45, 0x1a, 0xa4, 0xde, 0xd3, 0x4b, 0x95, 0x3e, 0xfe,
1758         0x13, 0xdd, 0x81, 0xcc, 0xcc, 0x50, 0x1e, 0xcb, 0xc5, 0xcb, 0xe4, 0x4f, 0x12, 0xfa, 0xbf, 0x13,
1759         0x50, 0x9c, 0x3e, 0xf0, 0xaa, 0x04, 0xf6, 0x61, 0x6b, 0xe8, 0xbb, 0x81, 0x43, 0x19, 0x1d, 0xc9,
1760         0x56, 0xa7, 0x9e, 0x4c, 0xb9, 0xd9, 0xdb, 0xb1, 0x50, 0x74, 0x3b, 0xf9, 0x62, 0xfe, 0x0c, 0xb2,
1761         0xaa, 0x29, 0xca, 0x92, 0xd8, 0xfd, 0xd4, 0x58, 0x62, 0xa5, 0x87, 0x5e, 0xc0, 0xad, 0xa1, 0xef,
1762         0x45, 0x13, 0x97, 0x8e, 0x2c, 0xd7, 0xb1, 0x26, 0x9e, 0xcd, 0x22, 0xd5, 0x21, 0x4a, 0x53, 0x41,
1763         0xdb, 0xe9, 0x73, 0x18, 0xfd, 0x14, 0x1e, 0xda, 0x91, 0xb5, 0xd4, 0x62, 0xd9, 0x44, 0x84, 0xf5,
1764         0xcc, 0x1f, 0x88, 0xfe, 0x95, 0xc3, 0xf7, 0xed, 0x68, 0xd1, 0xa3, 0x29, 0x18, 0xc7, 0xfe, 0x40,
1765         0xff, 0x5b, 0x0a, 0x4a, 0xdd, 0x90, 0x8e, 0xec, 0x21, 0x1f, 0xbc, 0xe4, 0x3c, 0xf4, 0x18, 0xc0,
1766         0xf5, 0x47, 0xd4, 0x99, 0xeb, 0x8f, 0x47, 0x6b, 0x38, 0x2f, 0x30, 0xd1, 0x1d, 0x77, 0x60, 0x43,
1767         0x3d, 0x97, 0x92, 0x92, 0x54, 0x94, 0x82, 0x42, 0x05, 0x09, 0x41, 0x6a, 0x12, 0xda, 0xe5, 0xbc,
1768         0x92, 0xf1, 0x05, 0x3a, 0x85, 0xc2, 0x88, 0x30, 0x62, 0xbd, 0xf5, 0x43, 0x97, 0x30, 0x71, 0xa8,
1769         0xe2, 0x7e, 0x75, 0x65, 0x03, 0x5a, 0xdc, 0x53, 0xb5, 0x49, 0x18, 0x79, 0x25, 0xb4, 0x30, 0x8c,
1770         0xe2, 0xdf, 0x7c, 0x9a, 0xb2, 0xb9, 0xdc, 0x0a, 0x08, 0x7b, 0x27, 0xcb, 0x37, 0x8f, 0x41, 0x40,
1771         0x5d, 0x8e, 0x70, 0x82, 0x2f, 0xc2, 0x2b, 0x18, 0xea, 0xc9, 0x01, 0x09, 0x71, 0x06, 0xda, 0x05,
1772         0x8d, 0xf7, 0xe1, 0x85, 0xf1, 0x49, 0x4e, 0x44, 0x45, 0x97, 0x5c, 0xfc, 0x62, 0x6e, 0x82, 0x9a,
1773         0x4d, 0x17, 0xeb, 0x0b, 0xd3, 0xc5, 0x8a, 0x21, 0x22, 0xb7, 0x72, 0x88, 0x78, 0x0d, 0x30, 0x3b,
1774         0x06, 0x7a, 0x00, 0xf7, 0x9a, 0x75, 0xb3, 0x6e, 0xbd, 0x3a, 0xc5, 0xed, 0xba, 0xb9, 0xd4, 0x2b,
1775         0x73, 0x90, 0x36, 0x8d, 0x6f, 0x4d, 0x39, 0x51, 0x98, 0xaf, 0x2c, 0x6c, 0x34, 0x4e, 0x71, 0x53,
1776         0x4b, 0xf2, 0xf6, 0x16, 0x2f, 0xad, 0xc3, 0x37, 0xad, 0xae, 0x96, 0x3a, 0x28, 0xc1, 0xa6, 0xcc,
1777         0x97, 0x72, 0xaf, 0xff, 0x25, 0x01, 0xda, 0x2c, 0x80, 0xaa, 0x98, 0x97, 0x22, 0x91, 0xb8, 0x12,
1778         0x89, 0xe7, 0xa0, 0x05, 0xb1, 0x92, 0x8a, 0x44, 0x52, 0x44, 0xa2, 0x34, 0xc3, 0x65, 0x28, 0x1e,
1779         0x43, 0x81, 0x86, 0xa1, 0x3f, 0x8d, 0x57, 0x4a, 0xb0, 0x40, 0x40, 0x92, 0xf0, 0x08, 0xc0, 0xf3,
1780         0x47, 0xd4, 0x7a, 0xe7, 0x4f, 0x42, 0x39, 0x1e, 0x24, 0x70, 0x9e, 0x23, 0x47, 0x1c, 0xd0, 0xff,
1781         0x93, 0x81, 0xd4, 0xb1, 0x3f, 0x40, 0x5b, 0xc0, 0x27, 0xb1, 0x59, 0x87, 0xcd, 0x9c, 0xf9, 0x83,
1782         0xd6, 0x08, 0x1d, 0x43, 0x31, 0x6e, 0x0e, 0x22, 0x97, 0x62, 0x1f, 0xd7, 0xcc, 0x31, 0x0b, 0x43,
1783         0xf9, 0xd1, 0x1a, 0x8e, 0xfb, 0x8a, 0x2c, 0xe6, 0xee, 0xc2, 0xa9, 0xa4, 0x35, 0xd9, 0x46, 0x77,
1784         0x3e, 0xa1, 0xee, 0x8e, 0xd6, 0xe6, 0x0f, 0x2f, 0x2d, 0x7e, 0x0d, 0x85, 0x61, 0x48, 0x09, 0xe3,
1785         0xdf, 0x0b, 0xae, 0x1c, 0x11, 0x0a, 0xfb, 0x95, 0xa9, 0xb1, 0xe9, 0x77, 0x47, 0xd5, 0x9c, 0x7e,
1786         0x77, 0x60, 0x90, 0x74, 0x0e, 0xa0, 0xaf, 0x00, 0x22, 0x46, 0x42, 0x26, 0x75, 0x33, 0x1f, 0xd5,
1787         0xcd, 0x0b, 0xb6, 0x50, 0xfd, 0x31, 0xe4, 0xa8, 0x37, 0x92, 0x8a, 0xd9, 0x8f, 0x2a, 0xae, 0x53,
1788         0x6f, 0x24, 0xd4, 0xbe, 0x80, 0x4c, 0xc4, 0x08, 0x9b, 0x3e, 0xf7, 0x8f, 0x56, 0x9d, 0xfa, 0xd8,
1789         0x1f, 0x54, 0x7b, 0x9c, 0x84, 0x25, 0x97, 0xb7, 0x67, 0x99, 0x60, 0x97, 0x46, 0x11, 0x19, 0xc7,
1790         0x43, 0xbd, 0x00, 0xdb, 0x12, 0x43, 0x6d, 0x28, 0xc5, 0x69, 0x92, 0x75, 0x24, 0x6e, 0x7b, 0x61,
1791         0x5f, 0xbf, 0x29, 0x4f, 0xb2, 0x1c, 0x8f, 0x12, 0x38, 0xce, 0xb1, 0x2a, 0xd0, 0x1e, 0xdc, 0x9a,
1792         0xcb, 0x94, 0x32, 0x08, 0xc2, 0xe0, 0xd3, 0x9b, 0x53, 0x15, 0x9b, 0x9c, 0x4b, 0xb5, 0xc4, 0xf4,
1793         0xdf, 0x27, 0x20, 0x23, 0x4e, 0xc6, 0xe7, 0x85, 0x9e, 0x59, 0x37, 0x57, 0x4c, 0x25, 0x3f, 0xef,
1794         0x1b, 0x7d, 0xa3, 0x19, 0x4f, 0xef, 0xdd, 0x3a, 0x6e, 0x75, 0x0e, 0xb5, 0x24, 0x1f, 0x52, 0x70,
1795         0xbf, 0xd3, 0xe1, 0x0b, 0x31, 0xca, 0xf7, 0xfa, 0x8d, 0x86, 0x61, 0x34, 0x8d, 0xa6, 0x96, 0xe6,
1796         0x6a, 0xaf, 0xea, 0xad, 0x13, 0xa3, 0xa9, 0x65, 0xf8, 0x47, 0x40, 0xa3, 0xde, 0x69, 0x18, 0x27,
1797         0x27, 0x9c, 0x9a, 0xe5, 0x54, 0xb5, 0x36, 0x9a, 0xda, 0xfa, 0xc1, 0x3a, 0x64, 0x44, 0xd9, 0x1d,
1798         0xe4, 0x20, 0x2b, 0x4f, 0xa5, 0xf7, 0x41, 0x6b, 0x88, 0x9a, 0x38, 0xf6, 0x07, 0x98, 0xfe, 0x76,
1799         0x42, 0x23, 0xd1, 0x5e, 0x02, 0x12, 0x52, 0xf5, 0xba, 0xe4, 0xb1, 0x5a, 0xa1, 0xe7, 0x90, 0xe2,
1800         0x9d, 0x5c, 0xde, 0x80, 0x7b, 0xd7, 0x64, 0x0f, 0x73, 0x8e, 0xfe, 0x01, 0x4a, 0x27, 0x76, 0xc4,
1801         0x8e, 0xfd, 0x41, 0xf4, 0x31, 0xab, 0x77, 0x21, 0xfb, 0xd6, 0x76, 0x18, 0x0d, 0xd5, 0x43, 0xa8,
1802         0x56, 0xfc, 0xe2, 0x06, 0xfc, 0x6b, 0x8f, 0xf9, 0xef, 0xa9, 0xa7, 0x3e, 0x39, 0xf3, 0x1c, 0x31,
1803         0x39, 0xc0, 0xa7, 0x56, 0x21, 0x8e, 0xec, 0xef, 0x64, 0xf5, 0x66, 0x70, 0x8e, 0x03, 0x3d, 0xfb,
1804         0x3b, 0x3e, 0x11, 0x6a, 0x33, 0xf7, 0x51, 0xe0, 0x7b, 0x11, 0x45, 0x9f, 0x43, 0xfa, 0xcc, 0x1f,
1805         0x44, 0xe5, 0x84, 0x78, 0x0c, 0xaf, 0xdd, 0xbe, 0x20, 0xa1, 0x67, 0x50, 0xf2, 0xe8, 0x05, 0x6f,
1806         0x50, 0xf1, 0x0e, 0xe4, 0xee, 0x36, 0x39, 0xdc, 0x9d, 0xee, 0x42, 0xdf, 0x81, 0xcd, 0x43, 0xca,
1807         0xe6, 0x62, 0x87, 0x20, 0x3d, 0x37, 0xcb, 0x8b, 0xdf, 0xfa, 0x33, 0xd0, 0x1a, 0xc4, 0x1b, 0x52,
1808         0xe7, 0x66, 0xde, 0xfe, 0xbf, 0x52, 0x00, 0xc7, 0xfe, 0xa0, 0x27, 0xff, 0xab, 0x40, 0x13, 0xc8,
1809         0xc7, 0xa9, 0x41, 0x2b, 0xeb, 0x6e, 0x39, 0x73, 0x95, 0xeb, 0x4e, 0xa5, 0x3f, 0xff, 0xc3, 0xdf,
1810         0xff, 0xf9, 0xe7, 0xe4, 0x8e, 0xfe, 0xb0, 0x76, 0xbe, 0x57, 0xfb, 0x5e, 0x46, 0xfe, 0x9b, 0x20,
1811         0xf4, 0xf9, 0xec, 0x12, 0xd5, 0x5e, 0x7c, 0xa8, 0xf1, 0x53, 0xbf, 0xe4, 0xa9, 0x43, 0xdf, 0x43,
1812         0x6e, 0x1a, 0x3b, 0xb4, 0xb2, 0x31, 0x2d, 0x25, 0xb6, 0xf2, 0xf4, 0x66, 0x92, 0x0c, 0xbf, 0xfe,
1813         0x54, 0xec, 0xe0, 0x33, 0x74, 0xe3, 0x0e, 0xd0, 0x19, 0x64, 0x65, 0x3c, 0xd1, 0xca, 0x0e, 0xbb,
1814         0x10, 0xeb, 0xeb, 0x4f, 0xbb, 0xe8, 0x8b, 0xc7, 0x76, 0xce, 0x93, 0x70, 0x54, 0x7b, 0xf1, 0x01,
1815         0x5d, 0x42, 0x3e, 0x4e, 0xcb, 0x35, 0xf1, 0x5d, 0xca, 0x5a, 0xe5, 0xee, 0x95, 0x36, 0x67, 0xb8,
1816         0x01, 0xbb, 0xd4, 0xab, 0xc2, 0xe1, 0xae, 0xbe, 0x73, 0x93, 0xc3, 0x97, 0x43, 0x61, 0xee, 0x65,
1817         0xe2, 0xc5, 0x01, 0x85, 0xca, 0xd0, 0x77, 0xaf, 0xb8, 0x24, 0x81, 0x5d, 0x3d, 0xdf, 0x3b, 0x28,
1818         0xcd, 0x8a, 0xa0, 0xcb, 0xfd, 0x74, 0x13, 0x6f, 0xbe, 0x54, 0xd4, 0xb1, 0xef, 0x10, 0x6f, 0x5c,
1819         0xf5, 0xc3, 0x71, 0x6d, 0x4c, 0x3d, 0xb1, 0x8b, 0x9a, 0x14, 0x91, 0xc0, 0x8e, 0xe6, 0xff, 0xf6,
1820         0xfa, 0xda, 0x75, 0x06, 0x59, 0x41, 0xf8, 0xe2, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x4c, 0x7b,
1821         0x72, 0xd5, 0x16, 0x13, 0x00, 0x00,
1822 }