gopkg.in/rethinkdb/rethinkdb-go.v6@v6.2.2/ql2/ql2.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // source: ql2.proto
     3  
     4  package ql2
     5  
     6  import proto "github.com/golang/protobuf/proto"
     7  import fmt "fmt"
     8  import math "math"
     9  
    10  // Reference imports to suppress errors if they are not otherwise used.
    11  var _ = proto.Marshal
    12  var _ = fmt.Errorf
    13  var _ = math.Inf
    14  
    15  // This is a compile-time assertion to ensure that this generated file
    16  // is compatible with the proto package it is being compiled against.
    17  // A compilation error at this line likely means your copy of the
    18  // proto package needs to be updated.
    19  const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
    20  
    21  // non-conforming protobuf libraries
    22  // This enum contains the magic numbers for your version.  See **THE HIGH-LEVEL
    23  // VIEW** for what to do with it.
    24  type VersionDummy_Version int32
    25  
    26  const (
    27  	VersionDummy_V0_1 VersionDummy_Version = 1063369270
    28  	VersionDummy_V0_2 VersionDummy_Version = 1915781601
    29  	VersionDummy_V0_3 VersionDummy_Version = 1601562686
    30  	VersionDummy_V0_4 VersionDummy_Version = 1074539808
    31  	VersionDummy_V1_0 VersionDummy_Version = 885177795
    32  )
    33  
    34  var VersionDummy_Version_name = map[int32]string{
    35  	1063369270: "V0_1",
    36  	1915781601: "V0_2",
    37  	1601562686: "V0_3",
    38  	1074539808: "V0_4",
    39  	885177795:  "V1_0",
    40  }
    41  var VersionDummy_Version_value = map[string]int32{
    42  	"V0_1": 1063369270,
    43  	"V0_2": 1915781601,
    44  	"V0_3": 1601562686,
    45  	"V0_4": 1074539808,
    46  	"V1_0": 885177795,
    47  }
    48  
    49  func (x VersionDummy_Version) Enum() *VersionDummy_Version {
    50  	p := new(VersionDummy_Version)
    51  	*p = x
    52  	return p
    53  }
    54  func (x VersionDummy_Version) String() string {
    55  	return proto.EnumName(VersionDummy_Version_name, int32(x))
    56  }
    57  func (x *VersionDummy_Version) UnmarshalJSON(data []byte) error {
    58  	value, err := proto.UnmarshalJSONEnum(VersionDummy_Version_value, data, "VersionDummy_Version")
    59  	if err != nil {
    60  		return err
    61  	}
    62  	*x = VersionDummy_Version(value)
    63  	return nil
    64  }
    65  func (VersionDummy_Version) EnumDescriptor() ([]byte, []int) {
    66  	return fileDescriptor_ql2_e86fe8a8468b24a0, []int{0, 0}
    67  }
    68  
    69  // The protocol to use after the handshake, specified in V0_3
    70  type VersionDummy_Protocol int32
    71  
    72  const (
    73  	VersionDummy_PROTOBUF VersionDummy_Protocol = 656407617
    74  	VersionDummy_JSON     VersionDummy_Protocol = 2120839367
    75  )
    76  
    77  var VersionDummy_Protocol_name = map[int32]string{
    78  	656407617:  "PROTOBUF",
    79  	2120839367: "JSON",
    80  }
    81  var VersionDummy_Protocol_value = map[string]int32{
    82  	"PROTOBUF": 656407617,
    83  	"JSON":     2120839367,
    84  }
    85  
    86  func (x VersionDummy_Protocol) Enum() *VersionDummy_Protocol {
    87  	p := new(VersionDummy_Protocol)
    88  	*p = x
    89  	return p
    90  }
    91  func (x VersionDummy_Protocol) String() string {
    92  	return proto.EnumName(VersionDummy_Protocol_name, int32(x))
    93  }
    94  func (x *VersionDummy_Protocol) UnmarshalJSON(data []byte) error {
    95  	value, err := proto.UnmarshalJSONEnum(VersionDummy_Protocol_value, data, "VersionDummy_Protocol")
    96  	if err != nil {
    97  		return err
    98  	}
    99  	*x = VersionDummy_Protocol(value)
   100  	return nil
   101  }
   102  func (VersionDummy_Protocol) EnumDescriptor() ([]byte, []int) {
   103  	return fileDescriptor_ql2_e86fe8a8468b24a0, []int{0, 1}
   104  }
   105  
   106  type Query_QueryType int32
   107  
   108  const (
   109  	Query_START    Query_QueryType = 1
   110  	Query_CONTINUE Query_QueryType = 2
   111  	// (see [Response]).
   112  	Query_STOP         Query_QueryType = 3
   113  	Query_NOREPLY_WAIT Query_QueryType = 4
   114  	Query_SERVER_INFO  Query_QueryType = 5
   115  )
   116  
   117  var Query_QueryType_name = map[int32]string{
   118  	1: "START",
   119  	2: "CONTINUE",
   120  	3: "STOP",
   121  	4: "NOREPLY_WAIT",
   122  	5: "SERVER_INFO",
   123  }
   124  var Query_QueryType_value = map[string]int32{
   125  	"START":        1,
   126  	"CONTINUE":     2,
   127  	"STOP":         3,
   128  	"NOREPLY_WAIT": 4,
   129  	"SERVER_INFO":  5,
   130  }
   131  
   132  func (x Query_QueryType) Enum() *Query_QueryType {
   133  	p := new(Query_QueryType)
   134  	*p = x
   135  	return p
   136  }
   137  func (x Query_QueryType) String() string {
   138  	return proto.EnumName(Query_QueryType_name, int32(x))
   139  }
   140  func (x *Query_QueryType) UnmarshalJSON(data []byte) error {
   141  	value, err := proto.UnmarshalJSONEnum(Query_QueryType_value, data, "Query_QueryType")
   142  	if err != nil {
   143  		return err
   144  	}
   145  	*x = Query_QueryType(value)
   146  	return nil
   147  }
   148  func (Query_QueryType) EnumDescriptor() ([]byte, []int) {
   149  	return fileDescriptor_ql2_e86fe8a8468b24a0, []int{1, 0}
   150  }
   151  
   152  type Frame_FrameType int32
   153  
   154  const (
   155  	Frame_POS Frame_FrameType = 1
   156  	Frame_OPT Frame_FrameType = 2
   157  )
   158  
   159  var Frame_FrameType_name = map[int32]string{
   160  	1: "POS",
   161  	2: "OPT",
   162  }
   163  var Frame_FrameType_value = map[string]int32{
   164  	"POS": 1,
   165  	"OPT": 2,
   166  }
   167  
   168  func (x Frame_FrameType) Enum() *Frame_FrameType {
   169  	p := new(Frame_FrameType)
   170  	*p = x
   171  	return p
   172  }
   173  func (x Frame_FrameType) String() string {
   174  	return proto.EnumName(Frame_FrameType_name, int32(x))
   175  }
   176  func (x *Frame_FrameType) UnmarshalJSON(data []byte) error {
   177  	value, err := proto.UnmarshalJSONEnum(Frame_FrameType_value, data, "Frame_FrameType")
   178  	if err != nil {
   179  		return err
   180  	}
   181  	*x = Frame_FrameType(value)
   182  	return nil
   183  }
   184  func (Frame_FrameType) EnumDescriptor() ([]byte, []int) {
   185  	return fileDescriptor_ql2_e86fe8a8468b24a0, []int{2, 0}
   186  }
   187  
   188  type Response_ResponseType int32
   189  
   190  const (
   191  	// These response types indicate success.
   192  	Response_SUCCESS_ATOM     Response_ResponseType = 1
   193  	Response_SUCCESS_SEQUENCE Response_ResponseType = 2
   194  	Response_SUCCESS_PARTIAL  Response_ResponseType = 3
   195  	// datatypes.  If you send a [CONTINUE] query with
   196  	// the same token as this response, you will get
   197  	// more of the sequence.  Keep sending [CONTINUE]
   198  	// queries until you get back [SUCCESS_SEQUENCE].
   199  	Response_WAIT_COMPLETE Response_ResponseType = 4
   200  	Response_SERVER_INFO   Response_ResponseType = 5
   201  	// These response types indicate failure.
   202  	Response_CLIENT_ERROR Response_ResponseType = 16
   203  	// client sends a malformed protobuf, or tries to
   204  	// send [CONTINUE] for an unknown token.
   205  	Response_COMPILE_ERROR Response_ResponseType = 17
   206  	// checking.  For example, if you pass too many
   207  	// arguments to a function.
   208  	Response_RUNTIME_ERROR Response_ResponseType = 18
   209  )
   210  
   211  var Response_ResponseType_name = map[int32]string{
   212  	1:  "SUCCESS_ATOM",
   213  	2:  "SUCCESS_SEQUENCE",
   214  	3:  "SUCCESS_PARTIAL",
   215  	4:  "WAIT_COMPLETE",
   216  	5:  "SERVER_INFO",
   217  	16: "CLIENT_ERROR",
   218  	17: "COMPILE_ERROR",
   219  	18: "RUNTIME_ERROR",
   220  }
   221  var Response_ResponseType_value = map[string]int32{
   222  	"SUCCESS_ATOM":     1,
   223  	"SUCCESS_SEQUENCE": 2,
   224  	"SUCCESS_PARTIAL":  3,
   225  	"WAIT_COMPLETE":    4,
   226  	"SERVER_INFO":      5,
   227  	"CLIENT_ERROR":     16,
   228  	"COMPILE_ERROR":    17,
   229  	"RUNTIME_ERROR":    18,
   230  }
   231  
   232  func (x Response_ResponseType) Enum() *Response_ResponseType {
   233  	p := new(Response_ResponseType)
   234  	*p = x
   235  	return p
   236  }
   237  func (x Response_ResponseType) String() string {
   238  	return proto.EnumName(Response_ResponseType_name, int32(x))
   239  }
   240  func (x *Response_ResponseType) UnmarshalJSON(data []byte) error {
   241  	value, err := proto.UnmarshalJSONEnum(Response_ResponseType_value, data, "Response_ResponseType")
   242  	if err != nil {
   243  		return err
   244  	}
   245  	*x = Response_ResponseType(value)
   246  	return nil
   247  }
   248  func (Response_ResponseType) EnumDescriptor() ([]byte, []int) {
   249  	return fileDescriptor_ql2_e86fe8a8468b24a0, []int{4, 0}
   250  }
   251  
   252  // If `ResponseType` is `RUNTIME_ERROR`, this may be filled in with more
   253  // information about the error.
   254  type Response_ErrorType int32
   255  
   256  const (
   257  	Response_INTERNAL         Response_ErrorType = 1000000
   258  	Response_RESOURCE_LIMIT   Response_ErrorType = 2000000
   259  	Response_QUERY_LOGIC      Response_ErrorType = 3000000
   260  	Response_NON_EXISTENCE    Response_ErrorType = 3100000
   261  	Response_OP_FAILED        Response_ErrorType = 4100000
   262  	Response_OP_INDETERMINATE Response_ErrorType = 4200000
   263  	Response_USER             Response_ErrorType = 5000000
   264  	Response_PERMISSION_ERROR Response_ErrorType = 6000000
   265  )
   266  
   267  var Response_ErrorType_name = map[int32]string{
   268  	1000000: "INTERNAL",
   269  	2000000: "RESOURCE_LIMIT",
   270  	3000000: "QUERY_LOGIC",
   271  	3100000: "NON_EXISTENCE",
   272  	4100000: "OP_FAILED",
   273  	4200000: "OP_INDETERMINATE",
   274  	5000000: "USER",
   275  	6000000: "PERMISSION_ERROR",
   276  }
   277  var Response_ErrorType_value = map[string]int32{
   278  	"INTERNAL":         1000000,
   279  	"RESOURCE_LIMIT":   2000000,
   280  	"QUERY_LOGIC":      3000000,
   281  	"NON_EXISTENCE":    3100000,
   282  	"OP_FAILED":        4100000,
   283  	"OP_INDETERMINATE": 4200000,
   284  	"USER":             5000000,
   285  	"PERMISSION_ERROR": 6000000,
   286  }
   287  
   288  func (x Response_ErrorType) Enum() *Response_ErrorType {
   289  	p := new(Response_ErrorType)
   290  	*p = x
   291  	return p
   292  }
   293  func (x Response_ErrorType) String() string {
   294  	return proto.EnumName(Response_ErrorType_name, int32(x))
   295  }
   296  func (x *Response_ErrorType) UnmarshalJSON(data []byte) error {
   297  	value, err := proto.UnmarshalJSONEnum(Response_ErrorType_value, data, "Response_ErrorType")
   298  	if err != nil {
   299  		return err
   300  	}
   301  	*x = Response_ErrorType(value)
   302  	return nil
   303  }
   304  func (Response_ErrorType) EnumDescriptor() ([]byte, []int) {
   305  	return fileDescriptor_ql2_e86fe8a8468b24a0, []int{4, 1}
   306  }
   307  
   308  // ResponseNotes are used to provide information about the query
   309  // response that may be useful for people writing drivers or ORMs.
   310  // Currently all the notes we send indicate that a stream has certain
   311  // special properties.
   312  type Response_ResponseNote int32
   313  
   314  const (
   315  	// The stream is a changefeed stream (e.g. `r.table('test').changes()`).
   316  	Response_SEQUENCE_FEED Response_ResponseNote = 1
   317  	// The stream is a point changefeed stream
   318  	// (e.g. `r.table('test').get(0).changes()`).
   319  	Response_ATOM_FEED Response_ResponseNote = 2
   320  	// The stream is an order_by_limit changefeed stream
   321  	// (e.g. `r.table('test').order_by(index: 'id').limit(5).changes()`).
   322  	Response_ORDER_BY_LIMIT_FEED Response_ResponseNote = 3
   323  	// The stream is a union of multiple changefeed types that can't be
   324  	// collapsed to a single type
   325  	// (e.g. `r.table('test').changes().union(r.table('test').get(0).changes())`).
   326  	Response_UNIONED_FEED Response_ResponseNote = 4
   327  	// The stream is a changefeed stream and includes notes on what state
   328  	// the changefeed stream is in (e.g. objects of the form `{state:
   329  	// 'initializing'}`).
   330  	Response_INCLUDES_STATES Response_ResponseNote = 5
   331  )
   332  
   333  var Response_ResponseNote_name = map[int32]string{
   334  	1: "SEQUENCE_FEED",
   335  	2: "ATOM_FEED",
   336  	3: "ORDER_BY_LIMIT_FEED",
   337  	4: "UNIONED_FEED",
   338  	5: "INCLUDES_STATES",
   339  }
   340  var Response_ResponseNote_value = map[string]int32{
   341  	"SEQUENCE_FEED":       1,
   342  	"ATOM_FEED":           2,
   343  	"ORDER_BY_LIMIT_FEED": 3,
   344  	"UNIONED_FEED":        4,
   345  	"INCLUDES_STATES":     5,
   346  }
   347  
   348  func (x Response_ResponseNote) Enum() *Response_ResponseNote {
   349  	p := new(Response_ResponseNote)
   350  	*p = x
   351  	return p
   352  }
   353  func (x Response_ResponseNote) String() string {
   354  	return proto.EnumName(Response_ResponseNote_name, int32(x))
   355  }
   356  func (x *Response_ResponseNote) UnmarshalJSON(data []byte) error {
   357  	value, err := proto.UnmarshalJSONEnum(Response_ResponseNote_value, data, "Response_ResponseNote")
   358  	if err != nil {
   359  		return err
   360  	}
   361  	*x = Response_ResponseNote(value)
   362  	return nil
   363  }
   364  func (Response_ResponseNote) EnumDescriptor() ([]byte, []int) {
   365  	return fileDescriptor_ql2_e86fe8a8468b24a0, []int{4, 2}
   366  }
   367  
   368  type Datum_DatumType int32
   369  
   370  const (
   371  	Datum_R_NULL   Datum_DatumType = 1
   372  	Datum_R_BOOL   Datum_DatumType = 2
   373  	Datum_R_NUM    Datum_DatumType = 3
   374  	Datum_R_STR    Datum_DatumType = 4
   375  	Datum_R_ARRAY  Datum_DatumType = 5
   376  	Datum_R_OBJECT Datum_DatumType = 6
   377  	// This [DatumType] will only be used if [accepts_r_json] is
   378  	// set to [true] in [Query].  [r_str] will be filled with a
   379  	// JSON encoding of the [Datum].
   380  	Datum_R_JSON Datum_DatumType = 7
   381  )
   382  
   383  var Datum_DatumType_name = map[int32]string{
   384  	1: "R_NULL",
   385  	2: "R_BOOL",
   386  	3: "R_NUM",
   387  	4: "R_STR",
   388  	5: "R_ARRAY",
   389  	6: "R_OBJECT",
   390  	7: "R_JSON",
   391  }
   392  var Datum_DatumType_value = map[string]int32{
   393  	"R_NULL":   1,
   394  	"R_BOOL":   2,
   395  	"R_NUM":    3,
   396  	"R_STR":    4,
   397  	"R_ARRAY":  5,
   398  	"R_OBJECT": 6,
   399  	"R_JSON":   7,
   400  }
   401  
   402  func (x Datum_DatumType) Enum() *Datum_DatumType {
   403  	p := new(Datum_DatumType)
   404  	*p = x
   405  	return p
   406  }
   407  func (x Datum_DatumType) String() string {
   408  	return proto.EnumName(Datum_DatumType_name, int32(x))
   409  }
   410  func (x *Datum_DatumType) UnmarshalJSON(data []byte) error {
   411  	value, err := proto.UnmarshalJSONEnum(Datum_DatumType_value, data, "Datum_DatumType")
   412  	if err != nil {
   413  		return err
   414  	}
   415  	*x = Datum_DatumType(value)
   416  	return nil
   417  }
   418  func (Datum_DatumType) EnumDescriptor() ([]byte, []int) {
   419  	return fileDescriptor_ql2_e86fe8a8468b24a0, []int{5, 0}
   420  }
   421  
   422  type Term_TermType int32
   423  
   424  const (
   425  	// A RQL datum, stored in `datum` below.
   426  	Term_DATUM      Term_TermType = 1
   427  	Term_MAKE_ARRAY Term_TermType = 2
   428  	// Evaluate the terms in [optargs] and make an object
   429  	Term_MAKE_OBJ Term_TermType = 3
   430  	// Takes an integer representing a variable and returns the value stored
   431  	// in that variable.  It's the responsibility of the client to translate
   432  	// from their local representation of a variable to a unique _non-negative_
   433  	// integer for that variable.  (We do it this way instead of letting
   434  	// clients provide variable names as strings to discourage
   435  	// variable-capturing client libraries, and because it's more efficient
   436  	// on the wire.)
   437  	Term_VAR Term_TermType = 10
   438  	// Takes some javascript code and executes it.
   439  	Term_JAVASCRIPT Term_TermType = 11
   440  	// STRING {timeout: !NUMBER} -> Function(*)
   441  	Term_UUID Term_TermType = 169
   442  	// Takes an HTTP URL and gets it.  If the get succeeds and
   443  	//  returns valid JSON, it is converted into a DATUM
   444  	Term_HTTP Term_TermType = 153
   445  	// Takes a string and throws an error with that message.
   446  	// Inside of a `default` block, you can omit the first
   447  	// argument to rethrow whatever error you catch (this is most
   448  	// useful as an argument to the `default` filter optarg).
   449  	Term_ERROR Term_TermType = 12
   450  	// Takes nothing and returns a reference to the implicit variable.
   451  	Term_IMPLICIT_VAR Term_TermType = 13
   452  	// * Data Operators
   453  	// Returns a reference to a database.
   454  	Term_DB Term_TermType = 14
   455  	// Returns a reference to a table.
   456  	Term_TABLE Term_TermType = 15
   457  	// STRING, {read_mode:STRING, identifier_format:STRING} -> Table
   458  	// Gets a single element from a table by its primary or a secondary key.
   459  	Term_GET Term_TermType = 16
   460  	// Table, STRING -> NULL            | Table, NUMBER -> NULL |
   461  	Term_GET_ALL Term_TermType = 78
   462  	// Simple DATUM Ops
   463  	Term_EQ  Term_TermType = 17
   464  	Term_NE  Term_TermType = 18
   465  	Term_LT  Term_TermType = 19
   466  	Term_LE  Term_TermType = 20
   467  	Term_GT  Term_TermType = 21
   468  	Term_GE  Term_TermType = 22
   469  	Term_NOT Term_TermType = 23
   470  	// ADD can either add two numbers or concatenate two arrays.
   471  	Term_ADD   Term_TermType = 24
   472  	Term_SUB   Term_TermType = 25
   473  	Term_MUL   Term_TermType = 26
   474  	Term_DIV   Term_TermType = 27
   475  	Term_MOD   Term_TermType = 28
   476  	Term_FLOOR Term_TermType = 183
   477  	Term_CEIL  Term_TermType = 184
   478  	Term_ROUND Term_TermType = 185
   479  	// DATUM Array Ops
   480  	// Append a single element to the end of an array (like `snoc`).
   481  	Term_APPEND Term_TermType = 29
   482  	// Prepend a single element to the end of an array (like `cons`).
   483  	Term_PREPEND Term_TermType = 80
   484  	// Remove the elements of one array from another array.
   485  	Term_DIFFERENCE Term_TermType = 95
   486  	// DATUM Set Ops
   487  	// Set ops work on arrays. They don't use actual sets and thus have
   488  	// performance characteristics you would expect from arrays rather than
   489  	// from sets. All set operations have the post condition that they
   490  	// array they return contains no duplicate values.
   491  	Term_SET_INSERT       Term_TermType = 88
   492  	Term_SET_INTERSECTION Term_TermType = 89
   493  	Term_SET_UNION        Term_TermType = 90
   494  	Term_SET_DIFFERENCE   Term_TermType = 91
   495  	Term_SLICE            Term_TermType = 30
   496  	Term_SKIP             Term_TermType = 70
   497  	Term_LIMIT            Term_TermType = 71
   498  	Term_OFFSETS_OF       Term_TermType = 87
   499  	Term_CONTAINS         Term_TermType = 93
   500  	// Stream/Object Ops
   501  	// Get a particular field from an object, or map that over a
   502  	// sequence.
   503  	Term_GET_FIELD Term_TermType = 31
   504  	// | Sequence, STRING -> Sequence
   505  	// Return an array containing the keys of the object.
   506  	Term_KEYS Term_TermType = 94
   507  	// Return an array containing the values of the object.
   508  	Term_VALUES Term_TermType = 186
   509  	// Creates an object
   510  	Term_OBJECT Term_TermType = 143
   511  	// Check whether an object contains all the specified fields,
   512  	// or filters a sequence so that all objects inside of it
   513  	// contain all the specified fields.
   514  	Term_HAS_FIELDS Term_TermType = 32
   515  	// x.with_fields(...) <=> x.has_fields(...).pluck(...)
   516  	Term_WITH_FIELDS Term_TermType = 96
   517  	// Get a subset of an object by selecting some attributes to preserve,
   518  	// or map that over a sequence.  (Both pick and pluck, polymorphic.)
   519  	Term_PLUCK Term_TermType = 33
   520  	// Get a subset of an object by selecting some attributes to discard, or
   521  	// map that over a sequence.  (Both unpick and without, polymorphic.)
   522  	Term_WITHOUT Term_TermType = 34
   523  	// Merge objects (right-preferential)
   524  	Term_MERGE Term_TermType = 35
   525  	// Sequence Ops
   526  	// Get all elements of a sequence between two values.
   527  	// Half-open by default, but the openness of either side can be
   528  	// changed by passing 'closed' or 'open for `right_bound` or
   529  	// `left_bound`.
   530  	Term_BETWEEN_DEPRECATED Term_TermType = 36
   531  	// With the newer version, clients should use `r.minval` and `r.maxval` for unboundedness
   532  	Term_BETWEEN Term_TermType = 182
   533  	Term_REDUCE  Term_TermType = 37
   534  	Term_MAP     Term_TermType = 38
   535  	Term_FOLD    Term_TermType = 187
   536  	// Filter a sequence with either a function or a shortcut
   537  	// object (see API docs for details).  The body of FILTER is
   538  	// wrapped in an implicit `.default(false)`, and you can
   539  	// change the default value by specifying the `default`
   540  	// optarg.  If you make the default `r.error`, all errors
   541  	// caught by `default` will be rethrown as if the `default`
   542  	// did not exist.
   543  	Term_FILTER Term_TermType = 39
   544  	// Sequence, OBJECT, {default:DATUM} -> Sequence
   545  	// Map a function over a sequence and then concatenate the results together.
   546  	Term_CONCAT_MAP Term_TermType = 40
   547  	// Order a sequence based on one or more attributes.
   548  	Term_ORDER_BY Term_TermType = 41
   549  	// Get all distinct elements of a sequence (like `uniq`).
   550  	Term_DISTINCT Term_TermType = 42
   551  	// Count the number of elements in a sequence, or only the elements that match
   552  	// a given filter.
   553  	Term_COUNT    Term_TermType = 43
   554  	Term_IS_EMPTY Term_TermType = 86
   555  	// Take the union of multiple sequences (preserves duplicate elements! (use distinct)).
   556  	Term_UNION Term_TermType = 44
   557  	// Get the Nth element of a sequence.
   558  	Term_NTH Term_TermType = 45
   559  	// do NTH or GET_FIELD depending on target object
   560  	Term_BRACKET    Term_TermType = 170
   561  	Term_INNER_JOIN Term_TermType = 48
   562  	Term_OUTER_JOIN Term_TermType = 49
   563  	// An inner-join that does an equality comparison on two attributes.
   564  	Term_EQ_JOIN Term_TermType = 50
   565  	Term_ZIP     Term_TermType = 72
   566  	Term_RANGE   Term_TermType = 173
   567  	// Array Ops
   568  	// Insert an element in to an array at a given index.
   569  	Term_INSERT_AT Term_TermType = 82
   570  	// Remove an element at a given index from an array.
   571  	Term_DELETE_AT Term_TermType = 83
   572  	// ARRAY, NUMBER, NUMBER -> ARRAY
   573  	// Change the element at a given index of an array.
   574  	Term_CHANGE_AT Term_TermType = 84
   575  	// Splice one array in to another array.
   576  	Term_SPLICE_AT Term_TermType = 85
   577  	// * Type Ops
   578  	// Coerces a datum to a named type (e.g. "bool").
   579  	// If you previously used `stream_to_array`, you should use this instead
   580  	// with the type "array".
   581  	Term_COERCE_TO Term_TermType = 51
   582  	// Returns the named type of a datum (e.g. TYPE_OF(true) = "BOOL")
   583  	Term_TYPE_OF Term_TermType = 52
   584  	// * Write Ops (the OBJECTs contain data about number of errors etc.)
   585  	// Updates all the rows in a selection.  Calls its Function with the row
   586  	// to be updated, and then merges the result of that call.
   587  	Term_UPDATE Term_TermType = 53
   588  	// SingleSelection, Function(1), {non_atomic:BOOL, durability:STRING, return_changes:BOOL} -> OBJECT |
   589  	// StreamSelection, OBJECT,      {non_atomic:BOOL, durability:STRING, return_changes:BOOL} -> OBJECT |
   590  	// SingleSelection, OBJECT,      {non_atomic:BOOL, durability:STRING, return_changes:BOOL} -> OBJECT
   591  	// Deletes all the rows in a selection.
   592  	Term_DELETE Term_TermType = 54
   593  	// Replaces all the rows in a selection.  Calls its Function with the row
   594  	// to be replaced, and then discards it and stores the result of that
   595  	// call.
   596  	Term_REPLACE Term_TermType = 55
   597  	// Inserts into a table.  If `conflict` is replace, overwrites
   598  	// entries with the same primary key.  If `conflict` is
   599  	// update, does an update on the entry.  If `conflict` is
   600  	// error, or is omitted, conflicts will trigger an error.
   601  	Term_INSERT Term_TermType = 56
   602  	// * Administrative OPs
   603  	// Creates a database with a particular name.
   604  	Term_DB_CREATE Term_TermType = 57
   605  	// Drops a database with a particular name.
   606  	Term_DB_DROP Term_TermType = 58
   607  	// Lists all the databases by name.  (Takes no arguments)
   608  	Term_DB_LIST Term_TermType = 59
   609  	// Creates a table with a particular name in a particular
   610  	// database.  (You may omit the first argument to use the
   611  	// default database.)
   612  	Term_TABLE_CREATE Term_TermType = 60
   613  	// Database, STRING, {primary_key:STRING, shards:NUMBER, replicas:OBJECT, primary_replica_tag:STRING} -> OBJECT
   614  	// STRING, {primary_key:STRING, shards:NUMBER, replicas:NUMBER, primary_replica_tag:STRING} -> OBJECT
   615  	// STRING, {primary_key:STRING, shards:NUMBER, replicas:OBJECT, primary_replica_tag:STRING} -> OBJECT
   616  	// Drops a table with a particular name from a particular
   617  	// database.  (You may omit the first argument to use the
   618  	// default database.)
   619  	Term_TABLE_DROP Term_TermType = 61
   620  	// STRING -> OBJECT
   621  	// Lists all the tables in a particular database.  (You may
   622  	// omit the first argument to use the default database.)
   623  	Term_TABLE_LIST Term_TermType = 62
   624  	//  -> ARRAY
   625  	// Returns the row in the `rethinkdb.table_config` or `rethinkdb.db_config` table
   626  	// that corresponds to the given database or table.
   627  	Term_CONFIG Term_TermType = 174
   628  	// Table -> SingleSelection
   629  	// Returns the row in the `rethinkdb.table_status` table that corresponds to the
   630  	// given table.
   631  	Term_STATUS Term_TermType = 175
   632  	// Called on a table, waits for that table to be ready for read/write operations.
   633  	// Called on a database, waits for all of the tables in the database to be ready.
   634  	// Returns the corresponding row or rows from the `rethinkdb.table_status` table.
   635  	Term_WAIT Term_TermType = 177
   636  	// Database -> OBJECT
   637  	// Generates a new config for the given table, or all tables in the given database
   638  	// The `shards` and `replicas` arguments are required. If `emergency_repair` is
   639  	// specified, it will enter a completely different mode of repairing a table
   640  	// which has lost half or more of its replicas.
   641  	Term_RECONFIGURE Term_TermType = 176
   642  	//                  dry_run:BOOLEAN]
   643  	//                 } -> OBJECT
   644  	// Database|Table, {shards:NUMBER, replicas:OBJECT [,
   645  	//                  primary_replica_tag:STRING,
   646  	//                  nonvoting_replica_tags:ARRAY,
   647  	//                  dry_run:BOOLEAN]
   648  	//                 } -> OBJECT
   649  	// Table, {emergency_repair:STRING, dry_run:BOOLEAN} -> OBJECT
   650  	// Balances the table's shards but leaves everything else the same. Can also be
   651  	// applied to an entire database at once.
   652  	Term_REBALANCE Term_TermType = 179
   653  	// Ensures that previously issued soft-durability writes are complete and
   654  	// written to disk.
   655  	Term_SYNC Term_TermType = 138
   656  	// Set global, database, or table-specific permissions
   657  	Term_GRANT Term_TermType = 188
   658  	// * Secondary indexes OPs
   659  	// Creates a new secondary index with a particular name and definition.
   660  	Term_INDEX_CREATE Term_TermType = 75
   661  	// Drops a secondary index with a particular name from the specified table.
   662  	Term_INDEX_DROP Term_TermType = 76
   663  	// Lists all secondary indexes on a particular table.
   664  	Term_INDEX_LIST Term_TermType = 77
   665  	// Gets information about whether or not a set of indexes are ready to
   666  	// be accessed. Returns a list of objects that look like this:
   667  	// {index:STRING, ready:BOOL[, progress:NUMBER]}
   668  	Term_INDEX_STATUS Term_TermType = 139
   669  	// Blocks until a set of indexes are ready to be accessed. Returns the
   670  	// same values INDEX_STATUS.
   671  	Term_INDEX_WAIT Term_TermType = 140
   672  	// Renames the given index to a new name
   673  	Term_INDEX_RENAME Term_TermType = 156
   674  	// * Write hook Function OPs
   675  	// Creates a new write hook function with a particular definition
   676  	Term_SET_WRITE_HOOK Term_TermType = 189
   677  	// Gets an existing write hook function on a table
   678  	Term_GET_WRITE_HOOK Term_TermType = 190
   679  	// * Control Operators
   680  	// Calls a function on data
   681  	Term_FUNCALL Term_TermType = 64
   682  	// Executes its first argument, and returns its second argument if it
   683  	// got [true] or its third argument if it got [false] (like an `if`
   684  	// statement).
   685  	Term_BRANCH Term_TermType = 65
   686  	// Returns true if any of its arguments returns true (short-circuits).
   687  	Term_OR Term_TermType = 66
   688  	// Returns true if all of its arguments return true (short-circuits).
   689  	Term_AND Term_TermType = 67
   690  	// Calls its Function with each entry in the sequence
   691  	// and executes the array of terms that Function returns.
   692  	Term_FOR_EACH Term_TermType = 68
   693  	// An anonymous function.  Takes an array of numbers representing
   694  	// variables (see [VAR] above), and a [Term] to execute with those in
   695  	// scope.  Returns a function that may be passed an array of arguments,
   696  	// then executes the Term with those bound to the variable names.  The
   697  	// user will never construct this directly.  We use it internally for
   698  	// things like `map` which take a function.  The "arity" of a [Function] is
   699  	// the number of arguments it takes.
   700  	// For example, here's what `_X_.map{|x| x+2}` turns into:
   701  	// Term {
   702  	//   type = MAP;
   703  	//   args = [_X_,
   704  	//           Term {
   705  	//             type = Function;
   706  	//             args = [Term {
   707  	//                       type = DATUM;
   708  	//                       datum = Datum {
   709  	//                         type = R_ARRAY;
   710  	//                         r_array = [Datum { type = R_NUM; r_num = 1; }];
   711  	//                       };
   712  	//                     },
   713  	//                     Term {
   714  	//                       type = ADD;
   715  	//                       args = [Term {
   716  	//                                 type = VAR;
   717  	//                                 args = [Term {
   718  	//                                           type = DATUM;
   719  	//                                           datum = Datum { type = R_NUM;
   720  	//                                                           r_num = 1};
   721  	//                                         }];
   722  	//                               },
   723  	//                               Term {
   724  	//                                 type = DATUM;
   725  	//                                 datum = Datum { type = R_NUM; r_num = 2; };
   726  	//                               }];
   727  	//                     }];
   728  	//           }];
   729  	Term_FUNC Term_TermType = 69
   730  	// Indicates to ORDER_BY that this attribute is to be sorted in ascending order.
   731  	Term_ASC Term_TermType = 73
   732  	// Indicates to ORDER_BY that this attribute is to be sorted in descending order.
   733  	Term_DESC Term_TermType = 74
   734  	// Gets info about anything.  INFO is most commonly called on tables.
   735  	Term_INFO Term_TermType = 79
   736  	// `a.match(b)` returns a match object if the string `a`
   737  	// matches the regular expression `b`.
   738  	Term_MATCH Term_TermType = 97
   739  	// Change the case of a string.
   740  	Term_UPCASE   Term_TermType = 141
   741  	Term_DOWNCASE Term_TermType = 142
   742  	// Select a number of elements from sequence with uniform distribution.
   743  	Term_SAMPLE Term_TermType = 81
   744  	// Evaluates its first argument.  If that argument returns
   745  	// NULL or throws an error related to the absence of an
   746  	// expected value (for instance, accessing a non-existent
   747  	// field or adding NULL to an integer), DEFAULT will either
   748  	// return its second argument or execute it if it's a
   749  	// function.  If the second argument is a function, it will be
   750  	// passed either the text of the error or NULL as its
   751  	// argument.
   752  	Term_DEFAULT Term_TermType = 92
   753  	// Parses its first argument as a json string and returns it as a
   754  	// datum.
   755  	Term_JSON Term_TermType = 98
   756  	// Parses its first arguments as an ISO 8601 time and returns it as a
   757  	// datum.
   758  	Term_ISO8601 Term_TermType = 99
   759  	// Prints a time as an ISO 8601 time.
   760  	Term_TO_ISO8601 Term_TermType = 100
   761  	// Returns a time given seconds since epoch in UTC.
   762  	Term_EPOCH_TIME Term_TermType = 101
   763  	// Returns seconds since epoch in UTC given a time.
   764  	Term_TO_EPOCH_TIME Term_TermType = 102
   765  	// The time the query was received by the server.
   766  	Term_NOW Term_TermType = 103
   767  	// Puts a time into an ISO 8601 timezone.
   768  	Term_IN_TIMEZONE Term_TermType = 104
   769  	// a.during(b, c) returns whether a is in the range [b, c)
   770  	Term_DURING Term_TermType = 105
   771  	// Retrieves the date portion of a time.
   772  	Term_DATE Term_TermType = 106
   773  	// x.time_of_day == x.date - x
   774  	Term_TIME_OF_DAY Term_TermType = 126
   775  	// Returns the timezone of a time.
   776  	Term_TIMEZONE Term_TermType = 127
   777  	// These access the various components of a time.
   778  	Term_YEAR        Term_TermType = 128
   779  	Term_MONTH       Term_TermType = 129
   780  	Term_DAY         Term_TermType = 130
   781  	Term_DAY_OF_WEEK Term_TermType = 131
   782  	Term_DAY_OF_YEAR Term_TermType = 132
   783  	Term_HOURS       Term_TermType = 133
   784  	Term_MINUTES     Term_TermType = 134
   785  	Term_SECONDS     Term_TermType = 135
   786  	// Construct a time from a date and optional timezone or a
   787  	// date+time and optional timezone.
   788  	Term_TIME Term_TermType = 136
   789  	// Constants for ISO 8601 days of the week.
   790  	Term_MONDAY    Term_TermType = 107
   791  	Term_TUESDAY   Term_TermType = 108
   792  	Term_WEDNESDAY Term_TermType = 109
   793  	Term_THURSDAY  Term_TermType = 110
   794  	Term_FRIDAY    Term_TermType = 111
   795  	Term_SATURDAY  Term_TermType = 112
   796  	Term_SUNDAY    Term_TermType = 113
   797  	// Constants for ISO 8601 months.
   798  	Term_JANUARY   Term_TermType = 114
   799  	Term_FEBRUARY  Term_TermType = 115
   800  	Term_MARCH     Term_TermType = 116
   801  	Term_APRIL     Term_TermType = 117
   802  	Term_MAY       Term_TermType = 118
   803  	Term_JUNE      Term_TermType = 119
   804  	Term_JULY      Term_TermType = 120
   805  	Term_AUGUST    Term_TermType = 121
   806  	Term_SEPTEMBER Term_TermType = 122
   807  	Term_OCTOBER   Term_TermType = 123
   808  	Term_NOVEMBER  Term_TermType = 124
   809  	Term_DECEMBER  Term_TermType = 125
   810  	// Indicates to MERGE to replace, or remove in case of an empty literal, the
   811  	// other object rather than merge it.
   812  	Term_LITERAL Term_TermType = 137
   813  	// SEQUENCE, STRING -> GROUPED_SEQUENCE | SEQUENCE, FUNCTION -> GROUPED_SEQUENCE
   814  	Term_GROUP Term_TermType = 144
   815  	Term_SUM   Term_TermType = 145
   816  	Term_AVG   Term_TermType = 146
   817  	Term_MIN   Term_TermType = 147
   818  	Term_MAX   Term_TermType = 148
   819  	// `str.split()` splits on whitespace
   820  	// `str.split(" ")` splits on spaces only
   821  	// `str.split(" ", 5)` splits on spaces with at most 5 results
   822  	// `str.split(nil, 5)` splits on whitespace with at most 5 results
   823  	Term_SPLIT   Term_TermType = 149
   824  	Term_UNGROUP Term_TermType = 150
   825  	// Takes a range of numbers and returns a random number within the range
   826  	Term_RANDOM  Term_TermType = 151
   827  	Term_CHANGES Term_TermType = 152
   828  	Term_ARGS    Term_TermType = 154
   829  	// BINARY is client-only at the moment, it is not supported on the server
   830  	Term_BINARY           Term_TermType = 155
   831  	Term_GEOJSON          Term_TermType = 157
   832  	Term_TO_GEOJSON       Term_TermType = 158
   833  	Term_POINT            Term_TermType = 159
   834  	Term_LINE             Term_TermType = 160
   835  	Term_POLYGON          Term_TermType = 161
   836  	Term_DISTANCE         Term_TermType = 162
   837  	Term_INTERSECTS       Term_TermType = 163
   838  	Term_INCLUDES         Term_TermType = 164
   839  	Term_CIRCLE           Term_TermType = 165
   840  	Term_GET_INTERSECTING Term_TermType = 166
   841  	Term_FILL             Term_TermType = 167
   842  	Term_GET_NEAREST      Term_TermType = 168
   843  	Term_POLYGON_SUB      Term_TermType = 171
   844  	// Returns the datum as a JSON string.
   845  	// N.B.: we would really prefer this be named TO_JSON and that exists as
   846  	// an alias in Python and JavaScript drivers; however it conflicts with the
   847  	// standard `to_json` method defined by Ruby's standard json library.
   848  	Term_TO_JSON_STRING Term_TermType = 172
   849  	// Constants for specifying key ranges
   850  	Term_MINVAL Term_TermType = 180
   851  	Term_MAXVAL Term_TermType = 181
   852  	// Bitwise operations
   853  	Term_BIT_AND Term_TermType = 191
   854  	Term_BIT_OR  Term_TermType = 192
   855  	Term_BIT_XOR Term_TermType = 193
   856  	Term_BIT_NOT Term_TermType = 194
   857  	Term_BIT_SAL Term_TermType = 195
   858  	Term_BIT_SAR Term_TermType = 196
   859  )
   860  
   861  var Term_TermType_name = map[int32]string{
   862  	1:   "DATUM",
   863  	2:   "MAKE_ARRAY",
   864  	3:   "MAKE_OBJ",
   865  	10:  "VAR",
   866  	11:  "JAVASCRIPT",
   867  	169: "UUID",
   868  	153: "HTTP",
   869  	12:  "ERROR",
   870  	13:  "IMPLICIT_VAR",
   871  	14:  "DB",
   872  	15:  "TABLE",
   873  	16:  "GET",
   874  	78:  "GET_ALL",
   875  	17:  "EQ",
   876  	18:  "NE",
   877  	19:  "LT",
   878  	20:  "LE",
   879  	21:  "GT",
   880  	22:  "GE",
   881  	23:  "NOT",
   882  	24:  "ADD",
   883  	25:  "SUB",
   884  	26:  "MUL",
   885  	27:  "DIV",
   886  	28:  "MOD",
   887  	183: "FLOOR",
   888  	184: "CEIL",
   889  	185: "ROUND",
   890  	29:  "APPEND",
   891  	80:  "PREPEND",
   892  	95:  "DIFFERENCE",
   893  	88:  "SET_INSERT",
   894  	89:  "SET_INTERSECTION",
   895  	90:  "SET_UNION",
   896  	91:  "SET_DIFFERENCE",
   897  	30:  "SLICE",
   898  	70:  "SKIP",
   899  	71:  "LIMIT",
   900  	87:  "OFFSETS_OF",
   901  	93:  "CONTAINS",
   902  	31:  "GET_FIELD",
   903  	94:  "KEYS",
   904  	186: "VALUES",
   905  	143: "OBJECT",
   906  	32:  "HAS_FIELDS",
   907  	96:  "WITH_FIELDS",
   908  	33:  "PLUCK",
   909  	34:  "WITHOUT",
   910  	35:  "MERGE",
   911  	36:  "BETWEEN_DEPRECATED",
   912  	182: "BETWEEN",
   913  	37:  "REDUCE",
   914  	38:  "MAP",
   915  	187: "FOLD",
   916  	39:  "FILTER",
   917  	40:  "CONCAT_MAP",
   918  	41:  "ORDER_BY",
   919  	42:  "DISTINCT",
   920  	43:  "COUNT",
   921  	86:  "IS_EMPTY",
   922  	44:  "UNION",
   923  	45:  "NTH",
   924  	170: "BRACKET",
   925  	48:  "INNER_JOIN",
   926  	49:  "OUTER_JOIN",
   927  	50:  "EQ_JOIN",
   928  	72:  "ZIP",
   929  	173: "RANGE",
   930  	82:  "INSERT_AT",
   931  	83:  "DELETE_AT",
   932  	84:  "CHANGE_AT",
   933  	85:  "SPLICE_AT",
   934  	51:  "COERCE_TO",
   935  	52:  "TYPE_OF",
   936  	53:  "UPDATE",
   937  	54:  "DELETE",
   938  	55:  "REPLACE",
   939  	56:  "INSERT",
   940  	57:  "DB_CREATE",
   941  	58:  "DB_DROP",
   942  	59:  "DB_LIST",
   943  	60:  "TABLE_CREATE",
   944  	61:  "TABLE_DROP",
   945  	62:  "TABLE_LIST",
   946  	174: "CONFIG",
   947  	175: "STATUS",
   948  	177: "WAIT",
   949  	176: "RECONFIGURE",
   950  	179: "REBALANCE",
   951  	138: "SYNC",
   952  	188: "GRANT",
   953  	75:  "INDEX_CREATE",
   954  	76:  "INDEX_DROP",
   955  	77:  "INDEX_LIST",
   956  	139: "INDEX_STATUS",
   957  	140: "INDEX_WAIT",
   958  	156: "INDEX_RENAME",
   959  	189: "SET_WRITE_HOOK",
   960  	190: "GET_WRITE_HOOK",
   961  	64:  "FUNCALL",
   962  	65:  "BRANCH",
   963  	66:  "OR",
   964  	67:  "AND",
   965  	68:  "FOR_EACH",
   966  	69:  "FUNC",
   967  	73:  "ASC",
   968  	74:  "DESC",
   969  	79:  "INFO",
   970  	97:  "MATCH",
   971  	141: "UPCASE",
   972  	142: "DOWNCASE",
   973  	81:  "SAMPLE",
   974  	92:  "DEFAULT",
   975  	98:  "JSON",
   976  	99:  "ISO8601",
   977  	100: "TO_ISO8601",
   978  	101: "EPOCH_TIME",
   979  	102: "TO_EPOCH_TIME",
   980  	103: "NOW",
   981  	104: "IN_TIMEZONE",
   982  	105: "DURING",
   983  	106: "DATE",
   984  	126: "TIME_OF_DAY",
   985  	127: "TIMEZONE",
   986  	128: "YEAR",
   987  	129: "MONTH",
   988  	130: "DAY",
   989  	131: "DAY_OF_WEEK",
   990  	132: "DAY_OF_YEAR",
   991  	133: "HOURS",
   992  	134: "MINUTES",
   993  	135: "SECONDS",
   994  	136: "TIME",
   995  	107: "MONDAY",
   996  	108: "TUESDAY",
   997  	109: "WEDNESDAY",
   998  	110: "THURSDAY",
   999  	111: "FRIDAY",
  1000  	112: "SATURDAY",
  1001  	113: "SUNDAY",
  1002  	114: "JANUARY",
  1003  	115: "FEBRUARY",
  1004  	116: "MARCH",
  1005  	117: "APRIL",
  1006  	118: "MAY",
  1007  	119: "JUNE",
  1008  	120: "JULY",
  1009  	121: "AUGUST",
  1010  	122: "SEPTEMBER",
  1011  	123: "OCTOBER",
  1012  	124: "NOVEMBER",
  1013  	125: "DECEMBER",
  1014  	137: "LITERAL",
  1015  	144: "GROUP",
  1016  	145: "SUM",
  1017  	146: "AVG",
  1018  	147: "MIN",
  1019  	148: "MAX",
  1020  	149: "SPLIT",
  1021  	150: "UNGROUP",
  1022  	151: "RANDOM",
  1023  	152: "CHANGES",
  1024  	154: "ARGS",
  1025  	155: "BINARY",
  1026  	157: "GEOJSON",
  1027  	158: "TO_GEOJSON",
  1028  	159: "POINT",
  1029  	160: "LINE",
  1030  	161: "POLYGON",
  1031  	162: "DISTANCE",
  1032  	163: "INTERSECTS",
  1033  	164: "INCLUDES",
  1034  	165: "CIRCLE",
  1035  	166: "GET_INTERSECTING",
  1036  	167: "FILL",
  1037  	168: "GET_NEAREST",
  1038  	171: "POLYGON_SUB",
  1039  	172: "TO_JSON_STRING",
  1040  	180: "MINVAL",
  1041  	181: "MAXVAL",
  1042  	191: "BIT_AND",
  1043  	192: "BIT_OR",
  1044  	193: "BIT_XOR",
  1045  	194: "BIT_NOT",
  1046  	195: "BIT_SAL",
  1047  	196: "BIT_SAR",
  1048  }
  1049  var Term_TermType_value = map[string]int32{
  1050  	"DATUM":              1,
  1051  	"MAKE_ARRAY":         2,
  1052  	"MAKE_OBJ":           3,
  1053  	"VAR":                10,
  1054  	"JAVASCRIPT":         11,
  1055  	"UUID":               169,
  1056  	"HTTP":               153,
  1057  	"ERROR":              12,
  1058  	"IMPLICIT_VAR":       13,
  1059  	"DB":                 14,
  1060  	"TABLE":              15,
  1061  	"GET":                16,
  1062  	"GET_ALL":            78,
  1063  	"EQ":                 17,
  1064  	"NE":                 18,
  1065  	"LT":                 19,
  1066  	"LE":                 20,
  1067  	"GT":                 21,
  1068  	"GE":                 22,
  1069  	"NOT":                23,
  1070  	"ADD":                24,
  1071  	"SUB":                25,
  1072  	"MUL":                26,
  1073  	"DIV":                27,
  1074  	"MOD":                28,
  1075  	"FLOOR":              183,
  1076  	"CEIL":               184,
  1077  	"ROUND":              185,
  1078  	"APPEND":             29,
  1079  	"PREPEND":            80,
  1080  	"DIFFERENCE":         95,
  1081  	"SET_INSERT":         88,
  1082  	"SET_INTERSECTION":   89,
  1083  	"SET_UNION":          90,
  1084  	"SET_DIFFERENCE":     91,
  1085  	"SLICE":              30,
  1086  	"SKIP":               70,
  1087  	"LIMIT":              71,
  1088  	"OFFSETS_OF":         87,
  1089  	"CONTAINS":           93,
  1090  	"GET_FIELD":          31,
  1091  	"KEYS":               94,
  1092  	"VALUES":             186,
  1093  	"OBJECT":             143,
  1094  	"HAS_FIELDS":         32,
  1095  	"WITH_FIELDS":        96,
  1096  	"PLUCK":              33,
  1097  	"WITHOUT":            34,
  1098  	"MERGE":              35,
  1099  	"BETWEEN_DEPRECATED": 36,
  1100  	"BETWEEN":            182,
  1101  	"REDUCE":             37,
  1102  	"MAP":                38,
  1103  	"FOLD":               187,
  1104  	"FILTER":             39,
  1105  	"CONCAT_MAP":         40,
  1106  	"ORDER_BY":           41,
  1107  	"DISTINCT":           42,
  1108  	"COUNT":              43,
  1109  	"IS_EMPTY":           86,
  1110  	"UNION":              44,
  1111  	"NTH":                45,
  1112  	"BRACKET":            170,
  1113  	"INNER_JOIN":         48,
  1114  	"OUTER_JOIN":         49,
  1115  	"EQ_JOIN":            50,
  1116  	"ZIP":                72,
  1117  	"RANGE":              173,
  1118  	"INSERT_AT":          82,
  1119  	"DELETE_AT":          83,
  1120  	"CHANGE_AT":          84,
  1121  	"SPLICE_AT":          85,
  1122  	"COERCE_TO":          51,
  1123  	"TYPE_OF":            52,
  1124  	"UPDATE":             53,
  1125  	"DELETE":             54,
  1126  	"REPLACE":            55,
  1127  	"INSERT":             56,
  1128  	"DB_CREATE":          57,
  1129  	"DB_DROP":            58,
  1130  	"DB_LIST":            59,
  1131  	"TABLE_CREATE":       60,
  1132  	"TABLE_DROP":         61,
  1133  	"TABLE_LIST":         62,
  1134  	"CONFIG":             174,
  1135  	"STATUS":             175,
  1136  	"WAIT":               177,
  1137  	"RECONFIGURE":        176,
  1138  	"REBALANCE":          179,
  1139  	"SYNC":               138,
  1140  	"GRANT":              188,
  1141  	"INDEX_CREATE":       75,
  1142  	"INDEX_DROP":         76,
  1143  	"INDEX_LIST":         77,
  1144  	"INDEX_STATUS":       139,
  1145  	"INDEX_WAIT":         140,
  1146  	"INDEX_RENAME":       156,
  1147  	"SET_WRITE_HOOK":     189,
  1148  	"GET_WRITE_HOOK":     190,
  1149  	"FUNCALL":            64,
  1150  	"BRANCH":             65,
  1151  	"OR":                 66,
  1152  	"AND":                67,
  1153  	"FOR_EACH":           68,
  1154  	"FUNC":               69,
  1155  	"ASC":                73,
  1156  	"DESC":               74,
  1157  	"INFO":               79,
  1158  	"MATCH":              97,
  1159  	"UPCASE":             141,
  1160  	"DOWNCASE":           142,
  1161  	"SAMPLE":             81,
  1162  	"DEFAULT":            92,
  1163  	"JSON":               98,
  1164  	"ISO8601":            99,
  1165  	"TO_ISO8601":         100,
  1166  	"EPOCH_TIME":         101,
  1167  	"TO_EPOCH_TIME":      102,
  1168  	"NOW":                103,
  1169  	"IN_TIMEZONE":        104,
  1170  	"DURING":             105,
  1171  	"DATE":               106,
  1172  	"TIME_OF_DAY":        126,
  1173  	"TIMEZONE":           127,
  1174  	"YEAR":               128,
  1175  	"MONTH":              129,
  1176  	"DAY":                130,
  1177  	"DAY_OF_WEEK":        131,
  1178  	"DAY_OF_YEAR":        132,
  1179  	"HOURS":              133,
  1180  	"MINUTES":            134,
  1181  	"SECONDS":            135,
  1182  	"TIME":               136,
  1183  	"MONDAY":             107,
  1184  	"TUESDAY":            108,
  1185  	"WEDNESDAY":          109,
  1186  	"THURSDAY":           110,
  1187  	"FRIDAY":             111,
  1188  	"SATURDAY":           112,
  1189  	"SUNDAY":             113,
  1190  	"JANUARY":            114,
  1191  	"FEBRUARY":           115,
  1192  	"MARCH":              116,
  1193  	"APRIL":              117,
  1194  	"MAY":                118,
  1195  	"JUNE":               119,
  1196  	"JULY":               120,
  1197  	"AUGUST":             121,
  1198  	"SEPTEMBER":          122,
  1199  	"OCTOBER":            123,
  1200  	"NOVEMBER":           124,
  1201  	"DECEMBER":           125,
  1202  	"LITERAL":            137,
  1203  	"GROUP":              144,
  1204  	"SUM":                145,
  1205  	"AVG":                146,
  1206  	"MIN":                147,
  1207  	"MAX":                148,
  1208  	"SPLIT":              149,
  1209  	"UNGROUP":            150,
  1210  	"RANDOM":             151,
  1211  	"CHANGES":            152,
  1212  	"ARGS":               154,
  1213  	"BINARY":             155,
  1214  	"GEOJSON":            157,
  1215  	"TO_GEOJSON":         158,
  1216  	"POINT":              159,
  1217  	"LINE":               160,
  1218  	"POLYGON":            161,
  1219  	"DISTANCE":           162,
  1220  	"INTERSECTS":         163,
  1221  	"INCLUDES":           164,
  1222  	"CIRCLE":             165,
  1223  	"GET_INTERSECTING":   166,
  1224  	"FILL":               167,
  1225  	"GET_NEAREST":        168,
  1226  	"POLYGON_SUB":        171,
  1227  	"TO_JSON_STRING":     172,
  1228  	"MINVAL":             180,
  1229  	"MAXVAL":             181,
  1230  	"BIT_AND":            191,
  1231  	"BIT_OR":             192,
  1232  	"BIT_XOR":            193,
  1233  	"BIT_NOT":            194,
  1234  	"BIT_SAL":            195,
  1235  	"BIT_SAR":            196,
  1236  }
  1237  
  1238  func (x Term_TermType) Enum() *Term_TermType {
  1239  	p := new(Term_TermType)
  1240  	*p = x
  1241  	return p
  1242  }
  1243  func (x Term_TermType) String() string {
  1244  	return proto.EnumName(Term_TermType_name, int32(x))
  1245  }
  1246  func (x *Term_TermType) UnmarshalJSON(data []byte) error {
  1247  	value, err := proto.UnmarshalJSONEnum(Term_TermType_value, data, "Term_TermType")
  1248  	if err != nil {
  1249  		return err
  1250  	}
  1251  	*x = Term_TermType(value)
  1252  	return nil
  1253  }
  1254  func (Term_TermType) EnumDescriptor() ([]byte, []int) {
  1255  	return fileDescriptor_ql2_e86fe8a8468b24a0, []int{6, 0}
  1256  }
  1257  
  1258  type VersionDummy struct {
  1259  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1260  	XXX_unrecognized     []byte   `json:"-"`
  1261  	XXX_sizecache        int32    `json:"-"`
  1262  }
  1263  
  1264  func (m *VersionDummy) Reset()         { *m = VersionDummy{} }
  1265  func (m *VersionDummy) String() string { return proto.CompactTextString(m) }
  1266  func (*VersionDummy) ProtoMessage()    {}
  1267  func (*VersionDummy) Descriptor() ([]byte, []int) {
  1268  	return fileDescriptor_ql2_e86fe8a8468b24a0, []int{0}
  1269  }
  1270  func (m *VersionDummy) XXX_Unmarshal(b []byte) error {
  1271  	return xxx_messageInfo_VersionDummy.Unmarshal(m, b)
  1272  }
  1273  func (m *VersionDummy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1274  	return xxx_messageInfo_VersionDummy.Marshal(b, m, deterministic)
  1275  }
  1276  func (dst *VersionDummy) XXX_Merge(src proto.Message) {
  1277  	xxx_messageInfo_VersionDummy.Merge(dst, src)
  1278  }
  1279  func (m *VersionDummy) XXX_Size() int {
  1280  	return xxx_messageInfo_VersionDummy.Size(m)
  1281  }
  1282  func (m *VersionDummy) XXX_DiscardUnknown() {
  1283  	xxx_messageInfo_VersionDummy.DiscardUnknown(m)
  1284  }
  1285  
  1286  var xxx_messageInfo_VersionDummy proto.InternalMessageInfo
  1287  
  1288  // You send one of:
  1289  // * A [START] query with a [Term] to evaluate and a unique-per-connection token.
  1290  // * A [CONTINUE] query with the same token as a [START] query that returned
  1291  //   [SUCCESS_PARTIAL] in its [Response].
  1292  // * A [STOP] query with the same token as a [START] query that you want to stop.
  1293  // * A [NOREPLY_WAIT] query with a unique per-connection token. The server answers
  1294  //   with a [WAIT_COMPLETE] [Response].
  1295  // * A [SERVER_INFO] query. The server answers with a [SERVER_INFO] [Response].
  1296  type Query struct {
  1297  	Type *Query_QueryType `protobuf:"varint,1,opt,name=type,enum=Query_QueryType" json:"type,omitempty"`
  1298  	// A [Term] is how we represent the operations we want a query to perform.
  1299  	Query *Term  `protobuf:"bytes,2,opt,name=query" json:"query,omitempty"`
  1300  	Token *int64 `protobuf:"varint,3,opt,name=token" json:"token,omitempty"`
  1301  	// This flag is ignored on the server.  `noreply` should be added
  1302  	// to `global_optargs` instead (the key "noreply" should map to
  1303  	// either true or false).
  1304  	OBSOLETENoreply *bool `protobuf:"varint,4,opt,name=OBSOLETE_noreply,json=OBSOLETENoreply,def=0" json:"OBSOLETE_noreply,omitempty"`
  1305  	// If this is set to [true], then [Datum] values will sometimes be
  1306  	// of [DatumType] [R_JSON] (see below).  This can provide enormous
  1307  	// speedups in languages with poor protobuf libraries.
  1308  	AcceptsRJson         *bool              `protobuf:"varint,5,opt,name=accepts_r_json,json=acceptsRJson,def=0" json:"accepts_r_json,omitempty"`
  1309  	GlobalOptargs        []*Query_AssocPair `protobuf:"bytes,6,rep,name=global_optargs,json=globalOptargs" json:"global_optargs,omitempty"`
  1310  	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
  1311  	XXX_unrecognized     []byte             `json:"-"`
  1312  	XXX_sizecache        int32              `json:"-"`
  1313  }
  1314  
  1315  func (m *Query) Reset()         { *m = Query{} }
  1316  func (m *Query) String() string { return proto.CompactTextString(m) }
  1317  func (*Query) ProtoMessage()    {}
  1318  func (*Query) Descriptor() ([]byte, []int) {
  1319  	return fileDescriptor_ql2_e86fe8a8468b24a0, []int{1}
  1320  }
  1321  func (m *Query) XXX_Unmarshal(b []byte) error {
  1322  	return xxx_messageInfo_Query.Unmarshal(m, b)
  1323  }
  1324  func (m *Query) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1325  	return xxx_messageInfo_Query.Marshal(b, m, deterministic)
  1326  }
  1327  func (dst *Query) XXX_Merge(src proto.Message) {
  1328  	xxx_messageInfo_Query.Merge(dst, src)
  1329  }
  1330  func (m *Query) XXX_Size() int {
  1331  	return xxx_messageInfo_Query.Size(m)
  1332  }
  1333  func (m *Query) XXX_DiscardUnknown() {
  1334  	xxx_messageInfo_Query.DiscardUnknown(m)
  1335  }
  1336  
  1337  var xxx_messageInfo_Query proto.InternalMessageInfo
  1338  
  1339  const Default_Query_OBSOLETENoreply bool = false
  1340  const Default_Query_AcceptsRJson bool = false
  1341  
  1342  func (m *Query) GetType() Query_QueryType {
  1343  	if m != nil && m.Type != nil {
  1344  		return *m.Type
  1345  	}
  1346  	return Query_START
  1347  }
  1348  
  1349  func (m *Query) GetQuery() *Term {
  1350  	if m != nil {
  1351  		return m.Query
  1352  	}
  1353  	return nil
  1354  }
  1355  
  1356  func (m *Query) GetToken() int64 {
  1357  	if m != nil && m.Token != nil {
  1358  		return *m.Token
  1359  	}
  1360  	return 0
  1361  }
  1362  
  1363  func (m *Query) GetOBSOLETENoreply() bool {
  1364  	if m != nil && m.OBSOLETENoreply != nil {
  1365  		return *m.OBSOLETENoreply
  1366  	}
  1367  	return Default_Query_OBSOLETENoreply
  1368  }
  1369  
  1370  func (m *Query) GetAcceptsRJson() bool {
  1371  	if m != nil && m.AcceptsRJson != nil {
  1372  		return *m.AcceptsRJson
  1373  	}
  1374  	return Default_Query_AcceptsRJson
  1375  }
  1376  
  1377  func (m *Query) GetGlobalOptargs() []*Query_AssocPair {
  1378  	if m != nil {
  1379  		return m.GlobalOptargs
  1380  	}
  1381  	return nil
  1382  }
  1383  
  1384  type Query_AssocPair struct {
  1385  	Key                  *string  `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
  1386  	Val                  *Term    `protobuf:"bytes,2,opt,name=val" json:"val,omitempty"`
  1387  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1388  	XXX_unrecognized     []byte   `json:"-"`
  1389  	XXX_sizecache        int32    `json:"-"`
  1390  }
  1391  
  1392  func (m *Query_AssocPair) Reset()         { *m = Query_AssocPair{} }
  1393  func (m *Query_AssocPair) String() string { return proto.CompactTextString(m) }
  1394  func (*Query_AssocPair) ProtoMessage()    {}
  1395  func (*Query_AssocPair) Descriptor() ([]byte, []int) {
  1396  	return fileDescriptor_ql2_e86fe8a8468b24a0, []int{1, 0}
  1397  }
  1398  func (m *Query_AssocPair) XXX_Unmarshal(b []byte) error {
  1399  	return xxx_messageInfo_Query_AssocPair.Unmarshal(m, b)
  1400  }
  1401  func (m *Query_AssocPair) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1402  	return xxx_messageInfo_Query_AssocPair.Marshal(b, m, deterministic)
  1403  }
  1404  func (dst *Query_AssocPair) XXX_Merge(src proto.Message) {
  1405  	xxx_messageInfo_Query_AssocPair.Merge(dst, src)
  1406  }
  1407  func (m *Query_AssocPair) XXX_Size() int {
  1408  	return xxx_messageInfo_Query_AssocPair.Size(m)
  1409  }
  1410  func (m *Query_AssocPair) XXX_DiscardUnknown() {
  1411  	xxx_messageInfo_Query_AssocPair.DiscardUnknown(m)
  1412  }
  1413  
  1414  var xxx_messageInfo_Query_AssocPair proto.InternalMessageInfo
  1415  
  1416  func (m *Query_AssocPair) GetKey() string {
  1417  	if m != nil && m.Key != nil {
  1418  		return *m.Key
  1419  	}
  1420  	return ""
  1421  }
  1422  
  1423  func (m *Query_AssocPair) GetVal() *Term {
  1424  	if m != nil {
  1425  		return m.Val
  1426  	}
  1427  	return nil
  1428  }
  1429  
  1430  // A backtrace frame (see `backtrace` in Response below)
  1431  type Frame struct {
  1432  	Type                 *Frame_FrameType `protobuf:"varint,1,opt,name=type,enum=Frame_FrameType" json:"type,omitempty"`
  1433  	Pos                  *int64           `protobuf:"varint,2,opt,name=pos" json:"pos,omitempty"`
  1434  	Opt                  *string          `protobuf:"bytes,3,opt,name=opt" json:"opt,omitempty"`
  1435  	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
  1436  	XXX_unrecognized     []byte           `json:"-"`
  1437  	XXX_sizecache        int32            `json:"-"`
  1438  }
  1439  
  1440  func (m *Frame) Reset()         { *m = Frame{} }
  1441  func (m *Frame) String() string { return proto.CompactTextString(m) }
  1442  func (*Frame) ProtoMessage()    {}
  1443  func (*Frame) Descriptor() ([]byte, []int) {
  1444  	return fileDescriptor_ql2_e86fe8a8468b24a0, []int{2}
  1445  }
  1446  func (m *Frame) XXX_Unmarshal(b []byte) error {
  1447  	return xxx_messageInfo_Frame.Unmarshal(m, b)
  1448  }
  1449  func (m *Frame) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1450  	return xxx_messageInfo_Frame.Marshal(b, m, deterministic)
  1451  }
  1452  func (dst *Frame) XXX_Merge(src proto.Message) {
  1453  	xxx_messageInfo_Frame.Merge(dst, src)
  1454  }
  1455  func (m *Frame) XXX_Size() int {
  1456  	return xxx_messageInfo_Frame.Size(m)
  1457  }
  1458  func (m *Frame) XXX_DiscardUnknown() {
  1459  	xxx_messageInfo_Frame.DiscardUnknown(m)
  1460  }
  1461  
  1462  var xxx_messageInfo_Frame proto.InternalMessageInfo
  1463  
  1464  func (m *Frame) GetType() Frame_FrameType {
  1465  	if m != nil && m.Type != nil {
  1466  		return *m.Type
  1467  	}
  1468  	return Frame_POS
  1469  }
  1470  
  1471  func (m *Frame) GetPos() int64 {
  1472  	if m != nil && m.Pos != nil {
  1473  		return *m.Pos
  1474  	}
  1475  	return 0
  1476  }
  1477  
  1478  func (m *Frame) GetOpt() string {
  1479  	if m != nil && m.Opt != nil {
  1480  		return *m.Opt
  1481  	}
  1482  	return ""
  1483  }
  1484  
  1485  type Backtrace struct {
  1486  	Frames               []*Frame `protobuf:"bytes,1,rep,name=frames" json:"frames,omitempty"`
  1487  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1488  	XXX_unrecognized     []byte   `json:"-"`
  1489  	XXX_sizecache        int32    `json:"-"`
  1490  }
  1491  
  1492  func (m *Backtrace) Reset()         { *m = Backtrace{} }
  1493  func (m *Backtrace) String() string { return proto.CompactTextString(m) }
  1494  func (*Backtrace) ProtoMessage()    {}
  1495  func (*Backtrace) Descriptor() ([]byte, []int) {
  1496  	return fileDescriptor_ql2_e86fe8a8468b24a0, []int{3}
  1497  }
  1498  func (m *Backtrace) XXX_Unmarshal(b []byte) error {
  1499  	return xxx_messageInfo_Backtrace.Unmarshal(m, b)
  1500  }
  1501  func (m *Backtrace) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1502  	return xxx_messageInfo_Backtrace.Marshal(b, m, deterministic)
  1503  }
  1504  func (dst *Backtrace) XXX_Merge(src proto.Message) {
  1505  	xxx_messageInfo_Backtrace.Merge(dst, src)
  1506  }
  1507  func (m *Backtrace) XXX_Size() int {
  1508  	return xxx_messageInfo_Backtrace.Size(m)
  1509  }
  1510  func (m *Backtrace) XXX_DiscardUnknown() {
  1511  	xxx_messageInfo_Backtrace.DiscardUnknown(m)
  1512  }
  1513  
  1514  var xxx_messageInfo_Backtrace proto.InternalMessageInfo
  1515  
  1516  func (m *Backtrace) GetFrames() []*Frame {
  1517  	if m != nil {
  1518  		return m.Frames
  1519  	}
  1520  	return nil
  1521  }
  1522  
  1523  // You get back a response with the same [token] as your query.
  1524  type Response struct {
  1525  	Type      *Response_ResponseType  `protobuf:"varint,1,opt,name=type,enum=Response_ResponseType" json:"type,omitempty"`
  1526  	ErrorType *Response_ErrorType     `protobuf:"varint,7,opt,name=error_type,json=errorType,enum=Response_ErrorType" json:"error_type,omitempty"`
  1527  	Notes     []Response_ResponseNote `protobuf:"varint,6,rep,name=notes,enum=Response_ResponseNote" json:"notes,omitempty"`
  1528  	Token     *int64                  `protobuf:"varint,2,opt,name=token" json:"token,omitempty"`
  1529  	// [response] contains 1 RQL datum if [type] is [SUCCESS_ATOM] or
  1530  	// [SERVER_INFO].  [response] contains many RQL data if [type] is
  1531  	// [SUCCESS_SEQUENCE] or [SUCCESS_PARTIAL].  [response] contains 1
  1532  	// error message (of type [R_STR]) in all other cases.
  1533  	Response []*Datum `protobuf:"bytes,3,rep,name=response" json:"response,omitempty"`
  1534  	// If [type] is [CLIENT_ERROR], [TYPE_ERROR], or [RUNTIME_ERROR], then a
  1535  	// backtrace will be provided.  The backtrace says where in the query the
  1536  	// error occurred.  Ideally this information will be presented to the user as
  1537  	// a pretty-printed version of their query with the erroneous section
  1538  	// underlined.  A backtrace is a series of 0 or more [Frame]s, each of which
  1539  	// specifies either the index of a positional argument or the name of an
  1540  	// optional argument.  (Those words will make more sense if you look at the
  1541  	// [Term] message below.)
  1542  	Backtrace *Backtrace `protobuf:"bytes,4,opt,name=backtrace" json:"backtrace,omitempty"`
  1543  	// If the [global_optargs] in the [Query] that this [Response] is a
  1544  	// response to contains a key "profile" which maps to a static value of
  1545  	// true then [profile] will contain a [Datum] which provides profiling
  1546  	// information about the execution of the query. This field should be
  1547  	// returned to the user along with the result that would normally be
  1548  	// returned (a datum or a cursor). In official drivers this is accomplished
  1549  	// by putting them inside of an object with "value" mapping to the return
  1550  	// value and "profile" mapping to the profile object.
  1551  	Profile              *Datum   `protobuf:"bytes,5,opt,name=profile" json:"profile,omitempty"`
  1552  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1553  	XXX_unrecognized     []byte   `json:"-"`
  1554  	XXX_sizecache        int32    `json:"-"`
  1555  }
  1556  
  1557  func (m *Response) Reset()         { *m = Response{} }
  1558  func (m *Response) String() string { return proto.CompactTextString(m) }
  1559  func (*Response) ProtoMessage()    {}
  1560  func (*Response) Descriptor() ([]byte, []int) {
  1561  	return fileDescriptor_ql2_e86fe8a8468b24a0, []int{4}
  1562  }
  1563  func (m *Response) XXX_Unmarshal(b []byte) error {
  1564  	return xxx_messageInfo_Response.Unmarshal(m, b)
  1565  }
  1566  func (m *Response) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1567  	return xxx_messageInfo_Response.Marshal(b, m, deterministic)
  1568  }
  1569  func (dst *Response) XXX_Merge(src proto.Message) {
  1570  	xxx_messageInfo_Response.Merge(dst, src)
  1571  }
  1572  func (m *Response) XXX_Size() int {
  1573  	return xxx_messageInfo_Response.Size(m)
  1574  }
  1575  func (m *Response) XXX_DiscardUnknown() {
  1576  	xxx_messageInfo_Response.DiscardUnknown(m)
  1577  }
  1578  
  1579  var xxx_messageInfo_Response proto.InternalMessageInfo
  1580  
  1581  func (m *Response) GetType() Response_ResponseType {
  1582  	if m != nil && m.Type != nil {
  1583  		return *m.Type
  1584  	}
  1585  	return Response_SUCCESS_ATOM
  1586  }
  1587  
  1588  func (m *Response) GetErrorType() Response_ErrorType {
  1589  	if m != nil && m.ErrorType != nil {
  1590  		return *m.ErrorType
  1591  	}
  1592  	return Response_INTERNAL
  1593  }
  1594  
  1595  func (m *Response) GetNotes() []Response_ResponseNote {
  1596  	if m != nil {
  1597  		return m.Notes
  1598  	}
  1599  	return nil
  1600  }
  1601  
  1602  func (m *Response) GetToken() int64 {
  1603  	if m != nil && m.Token != nil {
  1604  		return *m.Token
  1605  	}
  1606  	return 0
  1607  }
  1608  
  1609  func (m *Response) GetResponse() []*Datum {
  1610  	if m != nil {
  1611  		return m.Response
  1612  	}
  1613  	return nil
  1614  }
  1615  
  1616  func (m *Response) GetBacktrace() *Backtrace {
  1617  	if m != nil {
  1618  		return m.Backtrace
  1619  	}
  1620  	return nil
  1621  }
  1622  
  1623  func (m *Response) GetProfile() *Datum {
  1624  	if m != nil {
  1625  		return m.Profile
  1626  	}
  1627  	return nil
  1628  }
  1629  
  1630  // A [Datum] is a chunk of data that can be serialized to disk or returned to
  1631  // the user in a Response.  Currently we only support JSON types, but we may
  1632  // support other types in the future (e.g., a date type or an integer type).
  1633  type Datum struct {
  1634  	Type                 *Datum_DatumType   `protobuf:"varint,1,opt,name=type,enum=Datum_DatumType" json:"type,omitempty"`
  1635  	RBool                *bool              `protobuf:"varint,2,opt,name=r_bool,json=rBool" json:"r_bool,omitempty"`
  1636  	RNum                 *float64           `protobuf:"fixed64,3,opt,name=r_num,json=rNum" json:"r_num,omitempty"`
  1637  	RStr                 *string            `protobuf:"bytes,4,opt,name=r_str,json=rStr" json:"r_str,omitempty"`
  1638  	RArray               []*Datum           `protobuf:"bytes,5,rep,name=r_array,json=rArray" json:"r_array,omitempty"`
  1639  	RObject              []*Datum_AssocPair `protobuf:"bytes,6,rep,name=r_object,json=rObject" json:"r_object,omitempty"`
  1640  	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
  1641  	XXX_unrecognized     []byte             `json:"-"`
  1642  	XXX_sizecache        int32              `json:"-"`
  1643  }
  1644  
  1645  func (m *Datum) Reset()         { *m = Datum{} }
  1646  func (m *Datum) String() string { return proto.CompactTextString(m) }
  1647  func (*Datum) ProtoMessage()    {}
  1648  func (*Datum) Descriptor() ([]byte, []int) {
  1649  	return fileDescriptor_ql2_e86fe8a8468b24a0, []int{5}
  1650  }
  1651  func (m *Datum) XXX_Unmarshal(b []byte) error {
  1652  	return xxx_messageInfo_Datum.Unmarshal(m, b)
  1653  }
  1654  func (m *Datum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1655  	return xxx_messageInfo_Datum.Marshal(b, m, deterministic)
  1656  }
  1657  func (dst *Datum) XXX_Merge(src proto.Message) {
  1658  	xxx_messageInfo_Datum.Merge(dst, src)
  1659  }
  1660  func (m *Datum) XXX_Size() int {
  1661  	return xxx_messageInfo_Datum.Size(m)
  1662  }
  1663  func (m *Datum) XXX_DiscardUnknown() {
  1664  	xxx_messageInfo_Datum.DiscardUnknown(m)
  1665  }
  1666  
  1667  var xxx_messageInfo_Datum proto.InternalMessageInfo
  1668  
  1669  func (m *Datum) GetType() Datum_DatumType {
  1670  	if m != nil && m.Type != nil {
  1671  		return *m.Type
  1672  	}
  1673  	return Datum_R_NULL
  1674  }
  1675  
  1676  func (m *Datum) GetRBool() bool {
  1677  	if m != nil && m.RBool != nil {
  1678  		return *m.RBool
  1679  	}
  1680  	return false
  1681  }
  1682  
  1683  func (m *Datum) GetRNum() float64 {
  1684  	if m != nil && m.RNum != nil {
  1685  		return *m.RNum
  1686  	}
  1687  	return 0
  1688  }
  1689  
  1690  func (m *Datum) GetRStr() string {
  1691  	if m != nil && m.RStr != nil {
  1692  		return *m.RStr
  1693  	}
  1694  	return ""
  1695  }
  1696  
  1697  func (m *Datum) GetRArray() []*Datum {
  1698  	if m != nil {
  1699  		return m.RArray
  1700  	}
  1701  	return nil
  1702  }
  1703  
  1704  func (m *Datum) GetRObject() []*Datum_AssocPair {
  1705  	if m != nil {
  1706  		return m.RObject
  1707  	}
  1708  	return nil
  1709  }
  1710  
  1711  type Datum_AssocPair struct {
  1712  	Key                  *string  `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
  1713  	Val                  *Datum   `protobuf:"bytes,2,opt,name=val" json:"val,omitempty"`
  1714  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1715  	XXX_unrecognized     []byte   `json:"-"`
  1716  	XXX_sizecache        int32    `json:"-"`
  1717  }
  1718  
  1719  func (m *Datum_AssocPair) Reset()         { *m = Datum_AssocPair{} }
  1720  func (m *Datum_AssocPair) String() string { return proto.CompactTextString(m) }
  1721  func (*Datum_AssocPair) ProtoMessage()    {}
  1722  func (*Datum_AssocPair) Descriptor() ([]byte, []int) {
  1723  	return fileDescriptor_ql2_e86fe8a8468b24a0, []int{5, 0}
  1724  }
  1725  func (m *Datum_AssocPair) XXX_Unmarshal(b []byte) error {
  1726  	return xxx_messageInfo_Datum_AssocPair.Unmarshal(m, b)
  1727  }
  1728  func (m *Datum_AssocPair) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1729  	return xxx_messageInfo_Datum_AssocPair.Marshal(b, m, deterministic)
  1730  }
  1731  func (dst *Datum_AssocPair) XXX_Merge(src proto.Message) {
  1732  	xxx_messageInfo_Datum_AssocPair.Merge(dst, src)
  1733  }
  1734  func (m *Datum_AssocPair) XXX_Size() int {
  1735  	return xxx_messageInfo_Datum_AssocPair.Size(m)
  1736  }
  1737  func (m *Datum_AssocPair) XXX_DiscardUnknown() {
  1738  	xxx_messageInfo_Datum_AssocPair.DiscardUnknown(m)
  1739  }
  1740  
  1741  var xxx_messageInfo_Datum_AssocPair proto.InternalMessageInfo
  1742  
  1743  func (m *Datum_AssocPair) GetKey() string {
  1744  	if m != nil && m.Key != nil {
  1745  		return *m.Key
  1746  	}
  1747  	return ""
  1748  }
  1749  
  1750  func (m *Datum_AssocPair) GetVal() *Datum {
  1751  	if m != nil {
  1752  		return m.Val
  1753  	}
  1754  	return nil
  1755  }
  1756  
  1757  // A [Term] is either a piece of data (see **Datum** above), or an operator and
  1758  // its operands.  If you have a [Datum], it's stored in the member [datum].  If
  1759  // you have an operator, its positional arguments are stored in [args] and its
  1760  // optional arguments are stored in [optargs].
  1761  //
  1762  // A note about type signatures:
  1763  // We use the following notation to denote types:
  1764  //   arg1_type, arg2_type, argrest_type... -> result_type
  1765  // So, for example, if we have a function `avg` that takes any number of
  1766  // arguments and averages them, we might write:
  1767  //   NUMBER... -> NUMBER
  1768  // Or if we had a function that took one number modulo another:
  1769  //   NUMBER, NUMBER -> NUMBER
  1770  // Or a function that takes a table and a primary key of any Datum type, then
  1771  // retrieves the entry with that primary key:
  1772  //   Table, DATUM -> OBJECT
  1773  // Some arguments must be provided as literal values (and not the results of sub
  1774  // terms).  These are marked with a `!`.
  1775  // Optional arguments are specified within curly braces as argname `:` value
  1776  // type (e.x `{noreply:BOOL}`)
  1777  // Many RQL operations are polymorphic. For these, alterantive type signatures
  1778  // are separated by `|`.
  1779  //
  1780  // The RQL type hierarchy is as follows:
  1781  //   Top
  1782  //     DATUM
  1783  //       NULL
  1784  //       BOOL
  1785  //       NUMBER
  1786  //       STRING
  1787  //       OBJECT
  1788  //         SingleSelection
  1789  //       ARRAY
  1790  //     Sequence
  1791  //       ARRAY
  1792  //       Stream
  1793  //         StreamSelection
  1794  //           Table
  1795  //     Database
  1796  //     Function
  1797  //     Ordering - used only by ORDER_BY
  1798  //     Pathspec -- an object, string, or array that specifies a path
  1799  //   Error
  1800  type Term struct {
  1801  	Type *Term_TermType `protobuf:"varint,1,opt,name=type,enum=Term_TermType" json:"type,omitempty"`
  1802  	// This is only used when type is DATUM.
  1803  	Datum                *Datum            `protobuf:"bytes,2,opt,name=datum" json:"datum,omitempty"`
  1804  	Args                 []*Term           `protobuf:"bytes,3,rep,name=args" json:"args,omitempty"`
  1805  	Optargs              []*Term_AssocPair `protobuf:"bytes,4,rep,name=optargs" json:"optargs,omitempty"`
  1806  	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
  1807  	XXX_unrecognized     []byte            `json:"-"`
  1808  	XXX_sizecache        int32             `json:"-"`
  1809  }
  1810  
  1811  func (m *Term) Reset()         { *m = Term{} }
  1812  func (m *Term) String() string { return proto.CompactTextString(m) }
  1813  func (*Term) ProtoMessage()    {}
  1814  func (*Term) Descriptor() ([]byte, []int) {
  1815  	return fileDescriptor_ql2_e86fe8a8468b24a0, []int{6}
  1816  }
  1817  func (m *Term) XXX_Unmarshal(b []byte) error {
  1818  	return xxx_messageInfo_Term.Unmarshal(m, b)
  1819  }
  1820  func (m *Term) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1821  	return xxx_messageInfo_Term.Marshal(b, m, deterministic)
  1822  }
  1823  func (dst *Term) XXX_Merge(src proto.Message) {
  1824  	xxx_messageInfo_Term.Merge(dst, src)
  1825  }
  1826  func (m *Term) XXX_Size() int {
  1827  	return xxx_messageInfo_Term.Size(m)
  1828  }
  1829  func (m *Term) XXX_DiscardUnknown() {
  1830  	xxx_messageInfo_Term.DiscardUnknown(m)
  1831  }
  1832  
  1833  var xxx_messageInfo_Term proto.InternalMessageInfo
  1834  
  1835  func (m *Term) GetType() Term_TermType {
  1836  	if m != nil && m.Type != nil {
  1837  		return *m.Type
  1838  	}
  1839  	return Term_DATUM
  1840  }
  1841  
  1842  func (m *Term) GetDatum() *Datum {
  1843  	if m != nil {
  1844  		return m.Datum
  1845  	}
  1846  	return nil
  1847  }
  1848  
  1849  func (m *Term) GetArgs() []*Term {
  1850  	if m != nil {
  1851  		return m.Args
  1852  	}
  1853  	return nil
  1854  }
  1855  
  1856  func (m *Term) GetOptargs() []*Term_AssocPair {
  1857  	if m != nil {
  1858  		return m.Optargs
  1859  	}
  1860  	return nil
  1861  }
  1862  
  1863  type Term_AssocPair struct {
  1864  	Key                  *string  `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
  1865  	Val                  *Term    `protobuf:"bytes,2,opt,name=val" json:"val,omitempty"`
  1866  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1867  	XXX_unrecognized     []byte   `json:"-"`
  1868  	XXX_sizecache        int32    `json:"-"`
  1869  }
  1870  
  1871  func (m *Term_AssocPair) Reset()         { *m = Term_AssocPair{} }
  1872  func (m *Term_AssocPair) String() string { return proto.CompactTextString(m) }
  1873  func (*Term_AssocPair) ProtoMessage()    {}
  1874  func (*Term_AssocPair) Descriptor() ([]byte, []int) {
  1875  	return fileDescriptor_ql2_e86fe8a8468b24a0, []int{6, 0}
  1876  }
  1877  func (m *Term_AssocPair) XXX_Unmarshal(b []byte) error {
  1878  	return xxx_messageInfo_Term_AssocPair.Unmarshal(m, b)
  1879  }
  1880  func (m *Term_AssocPair) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1881  	return xxx_messageInfo_Term_AssocPair.Marshal(b, m, deterministic)
  1882  }
  1883  func (dst *Term_AssocPair) XXX_Merge(src proto.Message) {
  1884  	xxx_messageInfo_Term_AssocPair.Merge(dst, src)
  1885  }
  1886  func (m *Term_AssocPair) XXX_Size() int {
  1887  	return xxx_messageInfo_Term_AssocPair.Size(m)
  1888  }
  1889  func (m *Term_AssocPair) XXX_DiscardUnknown() {
  1890  	xxx_messageInfo_Term_AssocPair.DiscardUnknown(m)
  1891  }
  1892  
  1893  var xxx_messageInfo_Term_AssocPair proto.InternalMessageInfo
  1894  
  1895  func (m *Term_AssocPair) GetKey() string {
  1896  	if m != nil && m.Key != nil {
  1897  		return *m.Key
  1898  	}
  1899  	return ""
  1900  }
  1901  
  1902  func (m *Term_AssocPair) GetVal() *Term {
  1903  	if m != nil {
  1904  		return m.Val
  1905  	}
  1906  	return nil
  1907  }
  1908  
  1909  func init() {
  1910  	proto.RegisterType((*VersionDummy)(nil), "VersionDummy")
  1911  	proto.RegisterType((*Query)(nil), "Query")
  1912  	proto.RegisterType((*Query_AssocPair)(nil), "Query.AssocPair")
  1913  	proto.RegisterType((*Frame)(nil), "Frame")
  1914  	proto.RegisterType((*Backtrace)(nil), "Backtrace")
  1915  	proto.RegisterType((*Response)(nil), "Response")
  1916  	proto.RegisterType((*Datum)(nil), "Datum")
  1917  	proto.RegisterType((*Datum_AssocPair)(nil), "Datum.AssocPair")
  1918  	proto.RegisterType((*Term)(nil), "Term")
  1919  	proto.RegisterType((*Term_AssocPair)(nil), "Term.AssocPair")
  1920  	proto.RegisterEnum("VersionDummy_Version", VersionDummy_Version_name, VersionDummy_Version_value)
  1921  	proto.RegisterEnum("VersionDummy_Protocol", VersionDummy_Protocol_name, VersionDummy_Protocol_value)
  1922  	proto.RegisterEnum("Query_QueryType", Query_QueryType_name, Query_QueryType_value)
  1923  	proto.RegisterEnum("Frame_FrameType", Frame_FrameType_name, Frame_FrameType_value)
  1924  	proto.RegisterEnum("Response_ResponseType", Response_ResponseType_name, Response_ResponseType_value)
  1925  	proto.RegisterEnum("Response_ErrorType", Response_ErrorType_name, Response_ErrorType_value)
  1926  	proto.RegisterEnum("Response_ResponseNote", Response_ResponseNote_name, Response_ResponseNote_value)
  1927  	proto.RegisterEnum("Datum_DatumType", Datum_DatumType_name, Datum_DatumType_value)
  1928  	proto.RegisterEnum("Term_TermType", Term_TermType_name, Term_TermType_value)
  1929  }
  1930  
  1931  func init() { proto.RegisterFile("ql2.proto", fileDescriptor_ql2_e86fe8a8468b24a0) }
  1932  
  1933  var fileDescriptor_ql2_e86fe8a8468b24a0 = []byte{
  1934  	// 2492 bytes of a gzipped FileDescriptorProto
  1935  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x57, 0x5b, 0x70, 0x64, 0x45,
  1936  	0x19, 0xae, 0xc9, 0xcc, 0x64, 0x66, 0x3a, 0xd9, 0xec, 0xbf, 0x27, 0x0b, 0x84, 0x7b, 0x1c, 0x51,
  1937  	0x03, 0x8b, 0x5b, 0xbb, 0x01, 0x01, 0x51, 0x2c, 0x7b, 0xce, 0xe9, 0x99, 0xe9, 0xe4, 0x4c, 0xf7,
  1938  	0x49, 0x77, 0x9f, 0x64, 0x07, 0x2f, 0x87, 0x6c, 0x98, 0xc5, 0x65, 0x93, 0x4c, 0x38, 0x33, 0x8b,
  1939  	0x06, 0x6f, 0xab, 0x20, 0x0a, 0x88, 0x8a, 0x17, 0x54, 0x10, 0xc1, 0x0b, 0xe0, 0x05, 0x15, 0x4a,
  1940  	0x05, 0xbc, 0x80, 0x0b, 0x58, 0xe5, 0xab, 0x6f, 0x54, 0xf9, 0x24, 0x2f, 0x56, 0xf9, 0xe2, 0x8b,
  1941  	0x3e, 0x58, 0xee, 0x83, 0xd6, 0xff, 0x9f, 0x99, 0x49, 0x56, 0x28, 0x5f, 0x7c, 0x99, 0xf3, 0x7f,
  1942  	0xdf, 0xff, 0xf7, 0xed, 0xbf, 0x75, 0x0f, 0xab, 0xdc, 0xb6, 0x3e, 0x7f, 0x70, 0x2b, 0xed, 0xf6,
  1943  	0xbb, 0xd5, 0xfb, 0x72, 0x6c, 0x72, 0xb9, 0x93, 0xf6, 0x8e, 0x77, 0x37, 0x83, 0x93, 0x1b, 0x1b,
  1944  	0xdb, 0x55, 0xcd, 0x4a, 0x03, 0xec, 0x4d, 0xb2, 0xc2, 0xf2, 0xa1, 0xe4, 0x30, 0x3c, 0xfb, 0x8f,
  1945  	0xbb, 0xcf, 0xe4, 0x07, 0x68, 0x1e, 0x5e, 0xbb, 0xf3, 0xe5, 0x07, 0x4a, 0x03, 0x74, 0x15, 0xbc,
  1946  	0xf8, 0xc7, 0x57, 0xcf, 0x14, 0x07, 0xe8, 0x6a, 0x78, 0xec, 0x4f, 0x4f, 0x9f, 0x2a, 0x10, 0x3a,
  1947  	0x9c, 0x1c, 0x82, 0x57, 0xce, 0xdc, 0xfb, 0x44, 0xbe, 0x7a, 0x05, 0x2b, 0x47, 0xb8, 0xd4, 0x5a,
  1948  	0x77, 0xdd, 0x03, 0x56, 0x8e, 0x8c, 0x76, 0xba, 0x16, 0xd7, 0xe1, 0xa5, 0x7f, 0xfe, 0xfb, 0xf9,
  1949  	0x31, 0xb4, 0x5d, 0xb0, 0x5a, 0xc1, 0x1f, 0x5e, 0x7b, 0xfc, 0xef, 0xa5, 0xea, 0x9d, 0x79, 0x56,
  1950  	0x5c, 0x3a, 0xd9, 0x49, 0xb7, 0xbd, 0xcb, 0x58, 0xa1, 0xbf, 0xbd, 0xd5, 0x99, 0xc9, 0xcd, 0xe6,
  1951  	0xe6, 0xa6, 0xe6, 0xe1, 0x20, 0xb1, 0xd9, 0xaf, 0xdb, 0xde, 0xea, 0x18, 0xd2, 0x7a, 0x17, 0xb2,
  1952  	0xe2, 0x6d, 0x48, 0xcd, 0x8c, 0xcd, 0xe6, 0xe6, 0x26, 0xe6, 0x8b, 0x07, 0x5d, 0x27, 0xdd, 0x30,
  1953  	0x19, 0xe7, 0xed, 0x67, 0xc5, 0x7e, 0xf7, 0x44, 0x67, 0x73, 0x26, 0x3f, 0x9b, 0x9b, 0xcb, 0x9b,
  1954  	0x0c, 0x78, 0x87, 0x18, 0xe8, 0x9a, 0xd5, 0xa1, 0x70, 0x22, 0xd9, 0xec, 0xa6, 0x9d, 0xad, 0xf5,
  1955  	0xed, 0x99, 0xc2, 0x6c, 0x6e, 0xae, 0x7c, 0x7d, 0xf1, 0xd8, 0xea, 0x7a, 0xaf, 0x63, 0xf6, 0x0e,
  1956  	0xd5, 0x2a, 0xd3, 0x7a, 0x07, 0xd8, 0xd4, 0xea, 0xda, 0x5a, 0x67, 0xab, 0xdf, 0x4b, 0xd2, 0xe4,
  1957  	0xd6, 0x5e, 0x77, 0x73, 0xa6, 0xb8, 0xdb, 0x7e, 0x72, 0xa0, 0x34, 0x0b, 0xbd, 0xee, 0xa6, 0x77,
  1958  	0x2d, 0x9b, 0xba, 0x65, 0xbd, 0x7b, 0x74, 0x75, 0x3d, 0xe9, 0x6e, 0xf5, 0x57, 0xd3, 0x5b, 0x7a,
  1959  	0x33, 0xe3, 0xb3, 0xf9, 0xb9, 0x89, 0xd1, 0x09, 0x78, 0xaf, 0xd7, 0x5d, 0x8b, 0x56, 0x8f, 0xa7,
  1960  	0x66, 0x4f, 0x66, 0xa7, 0x33, 0xb3, 0x0b, 0xae, 0x61, 0x95, 0x91, 0xce, 0x03, 0x96, 0x3f, 0xd1,
  1961  	0xd9, 0xa6, 0xc3, 0x57, 0x0c, 0x8a, 0xde, 0x79, 0x2c, 0x7f, 0xfb, 0xea, 0xfa, 0xd9, 0xe7, 0x44,
  1962  	0xa6, 0xba, 0xc4, 0x2a, 0x23, 0xaf, 0x78, 0x15, 0x56, 0xb4, 0x8e, 0x1b, 0x07, 0x39, 0x6f, 0x92,
  1963  	0x95, 0x7d, 0xad, 0x9c, 0x54, 0xb1, 0x80, 0x31, 0xaf, 0xcc, 0x0a, 0xd6, 0xe9, 0x08, 0xf2, 0x1e,
  1964  	0xb0, 0x49, 0xa5, 0x8d, 0x88, 0xc2, 0x76, 0xb2, 0xc2, 0xa5, 0x83, 0x82, 0xb7, 0x97, 0x4d, 0x58,
  1965  	0x61, 0x96, 0x85, 0x49, 0xa4, 0xaa, 0x6b, 0x28, 0x56, 0xb7, 0x58, 0xb1, 0x9e, 0xae, 0x6e, 0x74,
  1966  	0x5e, 0x17, 0x04, 0x62, 0xb3, 0xdf, 0x5d, 0x41, 0x00, 0x96, 0xdf, 0xea, 0xf6, 0x68, 0x6b, 0x79,
  1967  	0x83, 0x22, 0x32, 0xdd, 0xad, 0x3e, 0xf9, 0xbd, 0x62, 0x50, 0xac, 0x5e, 0xcc, 0x2a, 0xa3, 0x61,
  1968  	0x5e, 0x89, 0xe5, 0x23, 0x6d, 0x21, 0x87, 0x82, 0x8e, 0x1c, 0x8c, 0x55, 0x0f, 0xb0, 0x4a, 0x6d,
  1969  	0x75, 0xed, 0x44, 0x3f, 0x5d, 0x5d, 0xeb, 0x78, 0x97, 0xb0, 0xf1, 0x63, 0x68, 0xdb, 0x9b, 0xc9,
  1970  	0x91, 0xeb, 0xc6, 0xb3, 0x15, 0xcd, 0x80, 0xad, 0xfe, 0xb5, 0xc8, 0xca, 0xa6, 0xd3, 0xdb, 0xea,
  1971  	0x6e, 0xf6, 0x3a, 0xde, 0x15, 0x67, 0x6d, 0xf1, 0xdc, 0x83, 0x43, 0xc5, 0x48, 0xd8, 0xb5, 0xd1,
  1972  	0x79, 0xc6, 0x3a, 0x69, 0xda, 0x4d, 0x13, 0x1a, 0x51, 0xa2, 0x11, 0xd3, 0x3b, 0x23, 0x04, 0xea,
  1973  	0xc8, 0xbc, 0xd2, 0x19, 0x8a, 0xde, 0x95, 0xac, 0xb8, 0xd9, 0xed, 0x77, 0xb2, 0x30, 0xbe, 0xe1,
  1974  	0x02, 0xaa, 0xdb, 0xef, 0x98, 0xcc, 0x68, 0x27, 0xe5, 0xc6, 0x76, 0xa7, 0x5c, 0x95, 0x95, 0xd3,
  1975  	0x81, 0xf1, 0x4c, 0x7e, 0x70, 0xa4, 0x60, 0xb5, 0x7f, 0x72, 0xc3, 0x8c, 0x78, 0x6f, 0x8e, 0x55,
  1976  	0x8e, 0x0e, 0x3d, 0x40, 0xf9, 0x38, 0x31, 0xcf, 0x0e, 0x8e, 0x7c, 0x62, 0x76, 0x94, 0xde, 0x2c,
  1977  	0x2b, 0x6d, 0xa5, 0xdd, 0x63, 0xc7, 0xd7, 0x3b, 0x94, 0x87, 0x3b, 0x93, 0x0d, 0xe9, 0xea, 0x93,
  1978  	0x39, 0x36, 0xb9, 0xfb, 0xf8, 0x18, 0x73, 0x1b, 0xfb, 0xbe, 0xb0, 0x36, 0xe1, 0x4e, 0xb7, 0x20,
  1979  	0xe7, 0xed, 0x67, 0x30, 0x64, 0xac, 0x58, 0x8a, 0x85, 0xf2, 0x31, 0x4b, 0xa6, 0xd9, 0xde, 0x21,
  1980  	0x1b, 0x71, 0xe3, 0x24, 0x0f, 0x21, 0xef, 0xed, 0x63, 0x7b, 0x30, 0x51, 0x12, 0x5f, 0xb7, 0x22,
  1981  	0x2c, 0x8b, 0x37, 0xc8, 0x18, 0x5c, 0xc0, 0x0f, 0xa5, 0x50, 0x2e, 0x11, 0xc6, 0x68, 0x03, 0x80,
  1982  	0xa3, 0x70, 0x80, 0x0c, 0xc5, 0x80, 0xda, 0x87, 0x94, 0x89, 0x95, 0x93, 0xad, 0x21, 0xe5, 0x55,
  1983  	0x9f, 0xca, 0xb1, 0xca, 0xc8, 0xed, 0xde, 0x14, 0x2b, 0x4b, 0xe5, 0x84, 0x51, 0x3c, 0x84, 0xd3,
  1984  	0x77, 0xdd, 0xe0, 0xed, 0x67, 0x53, 0x46, 0x58, 0x1d, 0x1b, 0x5f, 0x24, 0xa1, 0x6c, 0x49, 0x07,
  1985  	0xa7, 0xee, 0xb9, 0xc3, 0xf3, 0xd8, 0xc4, 0x52, 0x2c, 0x4c, 0x3b, 0x09, 0x75, 0x43, 0xfa, 0x70,
  1986  	0xfa, 0xfe, 0xe7, 0xf0, 0x38, 0x7b, 0x94, 0x56, 0x89, 0x38, 0x22, 0xad, 0xa3, 0xb3, 0xfc, 0xf9,
  1987  	0xa1, 0x17, 0x72, 0x1e, 0xb0, 0x8a, 0x8e, 0x92, 0x3a, 0x97, 0xa1, 0x08, 0xe0, 0xb1, 0x47, 0xff,
  1988  	0x95, 0xf3, 0xce, 0x63, 0xa0, 0xa3, 0x44, 0xaa, 0x40, 0x38, 0x61, 0x5a, 0x52, 0x71, 0x27, 0xe0,
  1989  	0xf4, 0x53, 0xa7, 0xc6, 0xbc, 0x09, 0x56, 0x88, 0xad, 0x30, 0x70, 0xfa, 0xc1, 0x67, 0xc6, 0xd0,
  1990  	0x2a, 0x42, 0xb5, 0xb5, 0x12, 0x27, 0xa5, 0xbd, 0x9e, 0x7a, 0xf8, 0x6f, 0x63, 0xd5, 0xad, 0x1d,
  1991  	0xbf, 0x62, 0xd4, 0xf1, 0x44, 0x43, 0xef, 0x25, 0x75, 0x21, 0x02, 0xc8, 0x79, 0x7b, 0x58, 0x05,
  1992  	0x5d, 0x9c, 0x41, 0x9c, 0x6a, 0x5a, 0x9b, 0x40, 0x98, 0xa4, 0xd6, 0xce, 0x8e, 0x90, 0x29, 0xa8,
  1993  	0x0c, 0x63, 0x25, 0xb5, 0x12, 0x41, 0xc6, 0x14, 0xd0, 0xf9, 0x52, 0xf9, 0x61, 0x1c, 0x08, 0x9b,
  1994  	0x58, 0xc7, 0x9d, 0xb0, 0x50, 0xac, 0xbe, 0x3a, 0xc6, 0x8a, 0x14, 0xdd, 0xd7, 0xd5, 0x22, 0xb1,
  1995  	0xd9, 0xef, 0xae, 0x14, 0x3f, 0x87, 0x8d, 0xa7, 0xc9, 0xd1, 0x6e, 0x37, 0xeb, 0x14, 0x65, 0x53,
  1996  	0x4c, 0x6b, 0xdd, 0xee, 0xba, 0x37, 0xcd, 0x8a, 0x69, 0xb2, 0x79, 0x72, 0x83, 0x4a, 0x32, 0x67,
  1997  	0x0a, 0xa9, 0x3a, 0xb9, 0x91, 0x91, 0xbd, 0x7e, 0x4a, 0xe9, 0x56, 0x31, 0x85, 0xd4, 0xf6, 0x53,
  1998  	0xef, 0x52, 0x56, 0x4a, 0x93, 0xd5, 0x34, 0x5d, 0xdd, 0x9e, 0x29, 0x9e, 0x95, 0xaa, 0xe3, 0x29,
  1999  	0x47, 0xd6, 0x3b, 0xc0, 0xca, 0x69, 0xd2, 0x3d, 0x7a, 0x6b, 0x67, 0xad, 0x3f, 0x6a, 0x6d, 0xd9,
  2000  	0x5e, 0x76, 0x5a, 0x5b, 0x29, 0xd5, 0x64, 0x70, 0xc1, 0xb5, 0xff, 0xbb, 0xa9, 0xcd, 0xec, 0x6e,
  2001  	0x6a, 0xc3, 0x85, 0xa8, 0xab, 0xdd, 0xc4, 0x2a, 0xa3, 0xa3, 0x79, 0x8c, 0x8d, 0x9b, 0x44, 0xc5,
  2002  	0x61, 0x08, 0xb9, 0x4c, 0xae, 0x69, 0x1d, 0xc2, 0x18, 0x76, 0x3b, 0xe4, 0x5b, 0x90, 0xcf, 0x44,
  2003  	0xeb, 0x0c, 0x14, 0xbc, 0x09, 0x56, 0x32, 0x09, 0x37, 0x86, 0xb7, 0x01, 0x2f, 0xa6, 0xb2, 0x49,
  2004  	0x74, 0x6d, 0x41, 0xf8, 0x0e, 0xc6, 0xb3, 0xc1, 0x74, 0xdd, 0x94, 0xaa, 0x7f, 0xd9, 0xcf, 0x0a,
  2005  	0xd8, 0x45, 0xbd, 0xea, 0x59, 0x8e, 0x9d, 0xa2, 0xd6, 0x4a, 0x3f, 0xbb, 0xdc, 0x7a, 0x11, 0x2b,
  2006  	0xde, 0x8c, 0xdb, 0xf9, 0xaf, 0xad, 0x66, 0xa4, 0x77, 0x3e, 0x2b, 0x50, 0xa7, 0xcf, 0x6a, 0x7b,
  2007  	0xd0, 0x9c, 0x89, 0xf2, 0x2e, 0x67, 0xa5, 0xe1, 0x3d, 0x50, 0x20, 0xed, 0xde, 0x6c, 0xfe, 0x5d,
  2008  	0xbe, 0xea, 0xfe, 0x9f, 0x17, 0xc0, 0x23, 0xd3, 0xac, 0x3c, 0xdc, 0x2e, 0xfa, 0x21, 0xe0, 0x2e,
  2009  	0xc6, 0x12, 0x9f, 0x62, 0xac, 0xc5, 0x17, 0xc5, 0xc0, 0x15, 0x78, 0xd3, 0x96, 0x09, 0xeb, 0xda,
  2010  	0x02, 0xe4, 0xb1, 0xf5, 0x2e, 0x73, 0x03, 0x0c, 0xcd, 0x16, 0xf8, 0x32, 0xb7, 0xbe, 0x91, 0x91,
  2011  	0x83, 0x09, 0xaf, 0xc2, 0x0a, 0x71, 0x2c, 0x03, 0xf8, 0x61, 0x0e, 0xc5, 0xa6, 0x73, 0x11, 0x7c,
  2012  	0x13, 0xc5, 0x62, 0x56, 0x07, 0x93, 0x98, 0xb9, 0xb2, 0x15, 0x85, 0xd2, 0x97, 0x2e, 0xc1, 0x29,
  2013  	0xf6, 0x78, 0xe3, 0x6c, 0x2c, 0xa8, 0xc1, 0x14, 0x1a, 0x39, 0x5e, 0x0b, 0x05, 0xec, 0xc5, 0xe9,
  2014  	0x1b, 0xc2, 0x01, 0x60, 0x34, 0x1a, 0xc2, 0x25, 0x3c, 0x0c, 0x41, 0xa1, 0xa1, 0x58, 0x82, 0x7d,
  2015  	0xf8, 0x55, 0x02, 0x3c, 0xfc, 0x86, 0x0e, 0xa6, 0xe9, 0x2b, 0x60, 0x3f, 0x7e, 0x1b, 0x0e, 0xce,
  2016  	0xa1, 0xaf, 0x80, 0x73, 0x71, 0x16, 0xa5, 0x1d, 0x9c, 0x87, 0x02, 0x0f, 0x02, 0x98, 0x41, 0xc1,
  2017  	0xc6, 0x35, 0x38, 0x1f, 0x85, 0x56, 0x1c, 0xc2, 0x05, 0x28, 0x04, 0x72, 0x19, 0x2e, 0x24, 0x46,
  2018  	0x07, 0x70, 0x91, 0xc7, 0x58, 0xb1, 0x1e, 0x6a, 0x6d, 0xe0, 0x39, 0x3a, 0x82, 0x2f, 0x64, 0x08,
  2019  	0xcf, 0x63, 0xe6, 0x14, 0x8d, 0x8e, 0x55, 0x00, 0xbf, 0xa2, 0x2c, 0xe2, 0x51, 0x24, 0x54, 0x00,
  2020  	0x17, 0xe3, 0x0e, 0x23, 0x23, 0x08, 0x44, 0xe8, 0x8d, 0x40, 0xd6, 0xeb, 0xc2, 0x50, 0x17, 0x49,
  2021  	0x10, 0x5b, 0xe1, 0x12, 0xa9, 0xac, 0x30, 0x0e, 0x8e, 0x50, 0xdf, 0x24, 0xec, 0x84, 0xb1, 0xc2,
  2022  	0x77, 0x52, 0x2b, 0x68, 0x63, 0xd1, 0x23, 0x4b, 0x05, 0x0d, 0x37, 0x7a, 0x1e, 0x9b, 0x42, 0xb8,
  2023  	0x6b, 0xa2, 0xf7, 0xd1, 0xcd, 0x1c, 0x4a, 0x5f, 0xc0, 0x25, 0x74, 0x17, 0x2f, 0xca, 0x08, 0xea,
  2024  	0x48, 0x66, 0x7d, 0xad, 0x81, 0x0b, 0xe9, 0x7a, 0xdd, 0x0a, 0x67, 0x13, 0x5d, 0x87, 0x95, 0xe1,
  2025  	0xf5, 0xcd, 0xa5, 0xb2, 0xf0, 0x01, 0x5c, 0x00, 0xbd, 0x58, 0x97, 0x22, 0x0c, 0xe0, 0x52, 0x9c,
  2026  	0x61, 0x51, 0xb4, 0x2d, 0x7c, 0xd0, 0x9b, 0x60, 0xe3, 0xcb, 0x3c, 0x8c, 0x85, 0x85, 0x5f, 0xe7,
  2027  	0x10, 0x0c, 0x52, 0xfd, 0x8b, 0x14, 0xfe, 0x26, 0xb7, 0xd9, 0x10, 0x0b, 0xb3, 0xd8, 0xb3, 0x57,
  2028  	0xa4, 0x6b, 0x0e, 0x89, 0x9b, 0x70, 0xf1, 0x28, 0x8c, 0xfd, 0x45, 0x78, 0x13, 0xba, 0x00, 0x75,
  2029  	0x3a, 0x76, 0x50, 0x45, 0xbe, 0x25, 0x4c, 0x43, 0xc0, 0x9b, 0xbd, 0x73, 0x99, 0x57, 0x13, 0x6e,
  2030  	0x45, 0x08, 0x95, 0x04, 0x22, 0x32, 0xc2, 0xe7, 0x4e, 0x04, 0x70, 0x99, 0x37, 0xc9, 0x4a, 0x03,
  2031  	0x1e, 0x9e, 0xcd, 0x4a, 0x52, 0x04, 0xb1, 0x2f, 0xe0, 0x2d, 0x14, 0x04, 0x1e, 0xc1, 0x5b, 0xd1,
  2032  	0xf1, 0x75, 0x1d, 0x06, 0xf0, 0x1b, 0xd2, 0xd7, 0x65, 0xe8, 0x84, 0x81, 0xb7, 0xe1, 0xae, 0x7c,
  2033  	0xad, 0x7c, 0xee, 0x12, 0x34, 0x9b, 0xc3, 0x63, 0x0e, 0xfb, 0x23, 0x5c, 0x8e, 0x28, 0x90, 0xd6,
  2034  	0x49, 0xe5, 0x3b, 0xb8, 0x02, 0x37, 0xe2, 0xeb, 0x58, 0x39, 0x38, 0x80, 0x0a, 0x69, 0x13, 0xd1,
  2035  	0x8a, 0x5c, 0x1b, 0x96, 0x51, 0x91, 0xb9, 0xfa, 0x4a, 0xca, 0x10, 0xd7, 0x84, 0xb7, 0xd3, 0x96,
  2036  	0x0c, 0xf7, 0x17, 0x85, 0x83, 0x1f, 0xd1, 0xe1, 0xa5, 0x52, 0xc2, 0x24, 0x0b, 0x5a, 0x2a, 0x38,
  2037  	0x44, 0xde, 0x8d, 0xdd, 0x10, 0x1f, 0xc6, 0x03, 0x8b, 0xa5, 0x0c, 0xcc, 0xe3, 0x1c, 0x37, 0xca,
  2038  	0x08, 0x9a, 0x94, 0x21, 0x5c, 0x35, 0x04, 0xfc, 0x84, 0xfa, 0x78, 0x16, 0xf4, 0x84, 0x3b, 0x30,
  2039  	0x08, 0x03, 0x41, 0x6f, 0x46, 0xee, 0xc0, 0x22, 0xf4, 0x9b, 0x68, 0x8a, 0xd0, 0x51, 0xfc, 0xb1,
  2040  	0x22, 0x08, 0xc6, 0xa4, 0xd5, 0x02, 0x6f, 0x2d, 0xa7, 0xe1, 0x2a, 0x5c, 0xcc, 0xb5, 0x23, 0x81,
  2041  	0x71, 0xbd, 0x1a, 0x9d, 0x11, 0x47, 0x01, 0xde, 0x3b, 0xef, 0x40, 0x39, 0x9b, 0x14, 0xae, 0xa1,
  2042  	0xae, 0x25, 0xa2, 0x90, 0xfb, 0x02, 0xae, 0x45, 0xc5, 0x20, 0xe3, 0xae, 0xa3, 0x95, 0x6b, 0x89,
  2043  	0x6f, 0x04, 0x8e, 0x79, 0x27, 0xda, 0x05, 0xb5, 0x24, 0x30, 0x3a, 0x82, 0xeb, 0x07, 0x20, 0x94,
  2044  	0xd6, 0xc1, 0xbb, 0xb0, 0x2e, 0xa9, 0xfa, 0x86, 0xb6, 0xef, 0xc6, 0x53, 0x67, 0x0c, 0x99, 0xdf,
  2045  	0xb0, 0x83, 0x69, 0xc4, 0x7b, 0x30, 0x5f, 0x7c, 0xad, 0xea, 0xb2, 0x01, 0x3f, 0xa5, 0xe4, 0xc1,
  2046  	0x5b, 0x27, 0xb6, 0xf0, 0x33, 0x2a, 0x1b, 0x7a, 0x1c, 0x3e, 0x83, 0x97, 0xe8, 0x84, 0x11, 0x99,
  2047  	0x59, 0x6c, 0x04, 0x3c, 0x8d, 0xce, 0xad, 0x18, 0x51, 0xe3, 0x21, 0xc7, 0xcc, 0xfe, 0x39, 0x19,
  2048  	0xdb, 0xb6, 0xf2, 0xe1, 0x5e, 0xaa, 0xb1, 0x86, 0xe1, 0xca, 0xc1, 0x6f, 0x73, 0xd4, 0x27, 0x54,
  2049  	0x20, 0x8e, 0x0c, 0xf7, 0xb3, 0x98, 0x45, 0x05, 0x19, 0xda, 0x4f, 0xb8, 0x83, 0x69, 0x3f, 0x2d,
  2050  	0x6f, 0xdf, 0x70, 0xc4, 0x60, 0x23, 0xf7, 0xe5, 0xbc, 0xbd, 0x43, 0x13, 0xda, 0xce, 0xe7, 0x73,
  2051  	0x3b, 0x36, 0x46, 0x28, 0xde, 0x12, 0xf0, 0xad, 0x9c, 0x37, 0x9d, 0x95, 0xdb, 0x8a, 0x91, 0x4e,
  2052  	0x24, 0x4d, 0xad, 0x17, 0xe1, 0x05, 0x22, 0x1b, 0x67, 0x93, 0x2f, 0xe2, 0x19, 0x4b, 0xf5, 0x58,
  2053  	0xf9, 0xd8, 0x8c, 0xde, 0x8b, 0x4e, 0xae, 0x19, 0xae, 0xfc, 0x26, 0x70, 0x6c, 0x38, 0xda, 0x40,
  2054  	0x8d, 0xfa, 0x8c, 0x0a, 0xc0, 0xc7, 0x84, 0xab, 0x6b, 0x93, 0x08, 0xee, 0x37, 0x21, 0xc0, 0x7a,
  2055  	0xc3, 0x71, 0x20, 0xc8, 0xc0, 0xfa, 0x20, 0x91, 0x0a, 0x84, 0xf5, 0x61, 0x01, 0x25, 0x7a, 0x05,
  2056  	0x69, 0xaa, 0x1c, 0xee, 0xfc, 0x26, 0xac, 0xa2, 0x37, 0xe3, 0xc8, 0xe7, 0x56, 0xc0, 0xfd, 0x98,
  2057  	0x4b, 0xe5, 0x40, 0xaf, 0x28, 0x82, 0x5f, 0xa0, 0x7a, 0xb0, 0x1c, 0xdf, 0x52, 0xb0, 0x44, 0x11,
  2058  	0x14, 0x75, 0x1e, 0x87, 0x0e, 0xde, 0x8f, 0x33, 0xd1, 0xe5, 0x74, 0x14, 0x69, 0x69, 0xf5, 0x75,
  2059  	0xd7, 0x1c, 0x3a, 0x0c, 0x6b, 0x14, 0x36, 0x9d, 0x0c, 0xf1, 0xcd, 0x88, 0x45, 0xa4, 0xfd, 0x66,
  2060  	0x82, 0x4f, 0x29, 0xa0, 0x57, 0x88, 0xd3, 0xc9, 0x2e, 0xea, 0x58, 0xd6, 0x38, 0x57, 0xe0, 0x16,
  2061  	0xac, 0x7a, 0xa9, 0x88, 0xbd, 0x51, 0x2b, 0x01, 0x1f, 0xa2, 0x9c, 0x8b, 0x8d, 0x54, 0x0d, 0x38,
  2062  	0x4e, 0x67, 0xc0, 0xc8, 0xdc, 0x8a, 0x66, 0xf4, 0x2e, 0xd3, 0xf5, 0x24, 0xe0, 0x6d, 0xf8, 0x04,
  2063  	0x9e, 0x7f, 0x34, 0xe8, 0x93, 0x18, 0xe1, 0xb6, 0xe0, 0x06, 0x4e, 0x51, 0x84, 0x5b, 0x1a, 0x4b,
  2064  	0xee, 0x53, 0x39, 0xaf, 0xcc, 0xf2, 0x68, 0xfd, 0x69, 0x4a, 0x92, 0x80, 0xb7, 0x71, 0xf8, 0x8a,
  2065  	0x10, 0x8b, 0x70, 0xe7, 0x6e, 0x86, 0x46, 0xde, 0x45, 0x23, 0x9b, 0x3a, 0x36, 0x16, 0x3e, 0x83,
  2066  	0x7f, 0x4e, 0x4a, 0x2d, 0xa9, 0x62, 0x7c, 0xe3, 0xdc, 0x4d, 0xc8, 0x62, 0x8a, 0x05, 0x16, 0x3e,
  2067  	0x4b, 0xe9, 0x44, 0xa7, 0xf8, 0x1c, 0x79, 0xaa, 0xa5, 0x15, 0xae, 0x71, 0x82, 0xaa, 0x28, 0x16,
  2068  	0x16, 0xc1, 0x3a, 0x16, 0xc5, 0x8a, 0x08, 0x54, 0x06, 0x37, 0x68, 0xb7, 0xcd, 0xd8, 0x10, 0xda,
  2069  	0xa4, 0x7e, 0x63, 0x24, 0xca, 0x5d, 0xd4, 0x58, 0xee, 0x62, 0x83, 0x68, 0x8b, 0x3c, 0x1f, 0xd3,
  2070  	0x7c, 0xb7, 0xe1, 0x7c, 0x0b, 0x5c, 0xc5, 0xdc, 0xb4, 0x21, 0xa5, 0x70, 0x8b, 0x9a, 0x21, 0xd4,
  2071  	0xcb, 0xe2, 0x68, 0xfc, 0x26, 0xf4, 0x51, 0xe4, 0x91, 0x91, 0x21, 0x9c, 0xcc, 0x5a, 0x5b, 0x1b,
  2072  	0x6e, 0xa7, 0x30, 0xc5, 0x4a, 0xc0, 0x87, 0x33, 0x29, 0x6c, 0xc3, 0x47, 0xe8, 0x42, 0x89, 0x1b,
  2073  	0xb1, 0x75, 0xb0, 0x9d, 0xdd, 0x06, 0x91, 0x13, 0xad, 0x9a, 0x30, 0x70, 0x07, 0x2e, 0xa4, 0x7d,
  2074  	0xa7, 0x11, 0x7c, 0x14, 0x17, 0x52, 0x7a, 0x39, 0x53, 0x7d, 0x8c, 0xfa, 0x9d, 0xf0, 0x33, 0xf4,
  2075  	0x71, 0x74, 0x43, 0x28, 0x9d, 0x30, 0x3c, 0x84, 0x7b, 0x06, 0xa5, 0xa4, 0xe3, 0x08, 0xbe, 0x44,
  2076  	0x8e, 0xb6, 0x71, 0x0b, 0x1e, 0x20, 0x89, 0x2f, 0x37, 0xe0, 0xcb, 0x24, 0xb5, 0xa4, 0x82, 0xaf,
  2077  	0x64, 0x12, 0x3f, 0x02, 0x5f, 0xa5, 0x31, 0xd8, 0x87, 0x1c, 0x7c, 0x8d, 0x9c, 0x1a, 0xab, 0x6c,
  2078  	0x86, 0x07, 0xa9, 0xba, 0x0d, 0x57, 0x81, 0x6e, 0xc1, 0xd7, 0x49, 0x95, 0x75, 0x2f, 0x0b, 0xdf,
  2079  	0x20, 0x7f, 0x73, 0xd3, 0xb0, 0xf0, 0x10, 0x59, 0xd5, 0xa4, 0x42, 0x27, 0x3c, 0x4c, 0x56, 0x0d,
  2080  	0xa1, 0x29, 0x21, 0x1f, 0xa1, 0x42, 0x74, 0x3a, 0x19, 0x12, 0xdf, 0xa6, 0xb5, 0x22, 0x2d, 0x95,
  2081  	0x83, 0x47, 0x69, 0x8a, 0x50, 0x2a, 0x01, 0x8f, 0xd1, 0xa8, 0x48, 0x87, 0xed, 0x86, 0x56, 0xf0,
  2082  	0x9d, 0x2c, 0xf3, 0xa5, 0x75, 0xd4, 0x29, 0xbe, 0x3b, 0xa8, 0xe6, 0xc1, 0xcd, 0x69, 0xe1, 0x7b,
  2083  	0xa4, 0x1f, 0xbe, 0x79, 0xe1, 0xfb, 0xb4, 0xbe, 0x2f, 0x8d, 0x1f, 0x0a, 0x78, 0x3c, 0xe7, 0x9d,
  2084  	0xc3, 0xa0, 0x71, 0xd6, 0x55, 0xab, 0x1a, 0xf0, 0x04, 0xad, 0x55, 0x97, 0x61, 0x08, 0x4f, 0x52,
  2085  	0x8e, 0xa1, 0x85, 0x12, 0xdc, 0x08, 0xeb, 0xe0, 0x07, 0xc4, 0x0c, 0x56, 0x4f, 0xf0, 0x99, 0xf0,
  2086  	0x63, 0xea, 0x03, 0x4e, 0xd3, 0x9b, 0x0f, 0x9f, 0x87, 0x38, 0xc7, 0x53, 0xb4, 0x4e, 0x4b, 0xaa,
  2087  	0x65, 0x1e, 0xc2, 0x2f, 0x32, 0xc0, 0x8f, 0x20, 0xf8, 0x25, 0x6d, 0xbf, 0x26, 0x5d, 0x82, 0x4d,
  2088  	0xe0, 0x77, 0x03, 0x7f, 0xb8, 0x44, 0x1b, 0x38, 0x3d, 0x52, 0x1d, 0xd1, 0x06, 0x5e, 0x1a, 0x21,
  2089  	0x7c, 0x9e, 0xbc, 0x3c, 0x42, 0x96, 0x87, 0xf0, 0xca, 0x2e, 0x64, 0xe0, 0xf7, 0xb9, 0xff, 0x04,
  2090  	0x00, 0x00, 0xff, 0xff, 0x00, 0xe8, 0xb7, 0x56, 0x6d, 0x11, 0x00, 0x00,
  2091  }