// source: c2se/api/betting.proto
/**
 * @fileoverview
 * @enhanceable
 * @suppress {missingRequire} reports error on implicit type usages.
 * @suppress {messageConventions} JS Compiler reports an error if a variable or
 *     field starts with 'MSG_' and isn't a translatable message.
 * @public
 */
// GENERATED CODE -- DO NOT EDIT!
/* eslint-disable */
// @ts-nocheck

var jspb = require("google-protobuf");
var goog = jspb;
var global = function () {
  return this || window || global || self || Function("return this")();
}.call(null);

var protobuf_rpc_pb = require("../../protobuf/rpc_pb.js");
goog.object.extend(proto, protobuf_rpc_pb);
var protobuf_pagination_pb = require("../../protobuf/pagination_pb.js");
goog.object.extend(proto, protobuf_pagination_pb);
var models_core_network_pb = require("../../models/core/network_pb.js");
goog.object.extend(proto, models_core_network_pb);
var models_api_betting_pb = require("../../models/api/betting_pb.js");
goog.object.extend(proto, models_api_betting_pb);
goog.exportSymbol(
  "proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest",
  null,
  global
);
goog.exportSymbol(
  "proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search",
  null,
  global
);
goog.exportSymbol(
  "proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse",
  null,
  global
);
goog.exportSymbol(
  "proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result",
  null,
  global
);
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest = function (
  opt_data
) {
  jspb.Message.initialize(
    this,
    opt_data,
    0,
    -1,
    proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest
      .repeatedFields_,
    null
  );
};
goog.inherits(
  proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest,
  jspb.Message
);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.displayName =
    "proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest";
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search = function (
  opt_data
) {
  jspb.Message.initialize(
    this,
    opt_data,
    0,
    -1,
    proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search
      .repeatedFields_,
    null
  );
};
goog.inherits(
  proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search,
  jspb.Message
);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.displayName =
    "proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search";
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse = function (
  opt_data
) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(
  proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse,
  jspb.Message
);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.displayName =
    "proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse";
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result =
  function (opt_data) {
    jspb.Message.initialize(
      this,
      opt_data,
      0,
      -1,
      proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result
        .repeatedFields_,
      null
    );
  };
goog.inherits(
  proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result,
  jspb.Message
);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result.displayName =
    "proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result";
}

/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.repeatedFields_ = [
  2,
];

if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * Optional fields that are not set will be set to undefined.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
   *     JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.prototype.toObject =
    function (opt_includeInstance) {
      return proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.toObject(
        opt_includeInstance,
        this
      );
    };

  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
   *     the JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.toObject =
    function (includeInstance, msg) {
      var f,
        obj = {
          pagination:
            (f = msg.getPagination()) &&
            protobuf_pagination_pb.Pagination.toObject(includeInstance, f),
          sortsList: jspb.Message.toObjectList(
            msg.getSortsList(),
            protobuf_pagination_pb.Sort.toObject,
            includeInstance
          ),
          search:
            (f = msg.getSearch()) &&
            proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.toObject(
              includeInstance,
              f
            ),
        };

      if (includeInstance) {
        obj.$jspbMessageInstance = msg;
      }
      return obj;
    };
}

/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.deserializeBinary =
  function (bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg =
      new proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest();
    return proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.deserializeBinaryFromReader(
      msg,
      reader
    );
  };

/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.deserializeBinaryFromReader =
  function (msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
        case 1:
          var value = new protobuf_pagination_pb.Pagination();
          reader.readMessage(
            value,
            protobuf_pagination_pb.Pagination.deserializeBinaryFromReader
          );
          msg.setPagination(value);
          break;
        case 2:
          var value = new protobuf_pagination_pb.Sort();
          reader.readMessage(
            value,
            protobuf_pagination_pb.Sort.deserializeBinaryFromReader
          );
          msg.addSorts(value);
          break;
        case 3:
          var value =
            new proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search();
          reader.readMessage(
            value,
            proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search
              .deserializeBinaryFromReader
          );
          msg.setSearch(value);
          break;
        default:
          reader.skipField();
          break;
      }
    }
    return msg;
  };

/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.prototype.serializeBinary =
  function () {
    var writer = new jspb.BinaryWriter();
    proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.serializeBinaryToWriter(
      this,
      writer
    );
    return writer.getResultBuffer();
  };

/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.serializeBinaryToWriter =
  function (message, writer) {
    var f = undefined;
    f = message.getPagination();
    if (f != null) {
      writer.writeMessage(
        1,
        f,
        protobuf_pagination_pb.Pagination.serializeBinaryToWriter
      );
    }
    f = message.getSortsList();
    if (f.length > 0) {
      writer.writeRepeatedMessage(
        2,
        f,
        protobuf_pagination_pb.Sort.serializeBinaryToWriter
      );
    }
    f = message.getSearch();
    if (f != null) {
      writer.writeMessage(
        3,
        f,
        proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search
          .serializeBinaryToWriter
      );
    }
  };

/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.repeatedFields_ =
  [3, 7];

if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * Optional fields that are not set will be set to undefined.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
   *     JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.toObject =
    function (opt_includeInstance) {
      return proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.toObject(
        opt_includeInstance,
        this
      );
    };

  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
   *     the JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.toObject =
    function (includeInstance, msg) {
      var f,
        obj = {
          memberId: jspb.Message.getFieldWithDefault(msg, 1, ""),
          vendorId: jspb.Message.getFieldWithDefault(msg, 2, 0),
          vendorIdsList:
            (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f,
          vendorName: jspb.Message.getFieldWithDefault(msg, 4, ""),
          vendorNameLike: jspb.Message.getFieldWithDefault(msg, 5, ""),
          gameId: jspb.Message.getFieldWithDefault(msg, 6, 0),
          gameIdsList:
            (f = jspb.Message.getRepeatedField(msg, 7)) == null ? undefined : f,
          gameName: jspb.Message.getFieldWithDefault(msg, 8, ""),
          gameNameLike: jspb.Message.getFieldWithDefault(msg, 9, ""),
          gameCategory: jspb.Message.getFieldWithDefault(msg, 10, ""),
          gameCategoryLike: jspb.Message.getFieldWithDefault(msg, 11, ""),
          gameType: jspb.Message.getFieldWithDefault(msg, 12, ""),
          gameTypeLike: jspb.Message.getFieldWithDefault(msg, 13, ""),
          currency: jspb.Message.getFieldWithDefault(msg, 14, ""),
          currencyLike: jspb.Message.getFieldWithDefault(msg, 15, ""),
          key: jspb.Message.getFieldWithDefault(msg, 16, ""),
          keyLike: jspb.Message.getFieldWithDefault(msg, 17, ""),
          refId: jspb.Message.getFieldWithDefault(msg, 18, ""),
          refIdLike: jspb.Message.getFieldWithDefault(msg, 19, ""),
          oRefId: jspb.Message.getFieldWithDefault(msg, 20, ""),
          oRefIdLike: jspb.Message.getFieldWithDefault(msg, 21, ""),
          groupKey: jspb.Message.getFieldWithDefault(msg, 22, ""),
          groupKeyLike: jspb.Message.getFieldWithDefault(msg, 23, ""),
          isBonus: jspb.Message.getBooleanFieldWithDefault(msg, 24, false),
          isPromo: jspb.Message.getBooleanFieldWithDefault(msg, 25, false),
          isJackpot: jspb.Message.getBooleanFieldWithDefault(msg, 26, false),
          siteUsername: jspb.Message.getFieldWithDefault(msg, 27, ""),
          siteUsernameLike: jspb.Message.getFieldWithDefault(msg, 28, ""),
          bettingType: jspb.Message.getFieldWithDefault(msg, 29, ""),
          bettingTypeLike: jspb.Message.getFieldWithDefault(msg, 30, ""),
          category: jspb.Message.getFieldWithDefault(msg, 31, ""),
          categoryLike: jspb.Message.getFieldWithDefault(msg, 32, ""),
        };

      if (includeInstance) {
        obj.$jspbMessageInstance = msg;
      }
      return obj;
    };
}

/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.deserializeBinary =
  function (bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg =
      new proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search();
    return proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.deserializeBinaryFromReader(
      msg,
      reader
    );
  };

/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.deserializeBinaryFromReader =
  function (msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
        case 1:
          var value = /** @type {string} */ (reader.readString());
          msg.setMemberId(value);
          break;
        case 2:
          var value = /** @type {number} */ (reader.readUint64());
          msg.setVendorId(value);
          break;
        case 3:
          var values = /** @type {!Array<number>} */ (
            reader.isDelimited()
              ? reader.readPackedUint64()
              : [reader.readUint64()]
          );
          for (var i = 0; i < values.length; i++) {
            msg.addVendorIds(values[i]);
          }
          break;
        case 4:
          var value = /** @type {string} */ (reader.readString());
          msg.setVendorName(value);
          break;
        case 5:
          var value = /** @type {string} */ (reader.readString());
          msg.setVendorNameLike(value);
          break;
        case 6:
          var value = /** @type {number} */ (reader.readUint64());
          msg.setGameId(value);
          break;
        case 7:
          var values = /** @type {!Array<number>} */ (
            reader.isDelimited()
              ? reader.readPackedUint64()
              : [reader.readUint64()]
          );
          for (var i = 0; i < values.length; i++) {
            msg.addGameIds(values[i]);
          }
          break;
        case 8:
          var value = /** @type {string} */ (reader.readString());
          msg.setGameName(value);
          break;
        case 9:
          var value = /** @type {string} */ (reader.readString());
          msg.setGameNameLike(value);
          break;
        case 10:
          var value = /** @type {string} */ (reader.readString());
          msg.setGameCategory(value);
          break;
        case 11:
          var value = /** @type {string} */ (reader.readString());
          msg.setGameCategoryLike(value);
          break;
        case 12:
          var value = /** @type {string} */ (reader.readString());
          msg.setGameType(value);
          break;
        case 13:
          var value = /** @type {string} */ (reader.readString());
          msg.setGameTypeLike(value);
          break;
        case 14:
          var value = /** @type {string} */ (reader.readString());
          msg.setCurrency(value);
          break;
        case 15:
          var value = /** @type {string} */ (reader.readString());
          msg.setCurrencyLike(value);
          break;
        case 16:
          var value = /** @type {string} */ (reader.readString());
          msg.setKey(value);
          break;
        case 17:
          var value = /** @type {string} */ (reader.readString());
          msg.setKeyLike(value);
          break;
        case 18:
          var value = /** @type {string} */ (reader.readString());
          msg.setRefId(value);
          break;
        case 19:
          var value = /** @type {string} */ (reader.readString());
          msg.setRefIdLike(value);
          break;
        case 20:
          var value = /** @type {string} */ (reader.readString());
          msg.setORefId(value);
          break;
        case 21:
          var value = /** @type {string} */ (reader.readString());
          msg.setORefIdLike(value);
          break;
        case 22:
          var value = /** @type {string} */ (reader.readString());
          msg.setGroupKey(value);
          break;
        case 23:
          var value = /** @type {string} */ (reader.readString());
          msg.setGroupKeyLike(value);
          break;
        case 24:
          var value = /** @type {boolean} */ (reader.readBool());
          msg.setIsBonus(value);
          break;
        case 25:
          var value = /** @type {boolean} */ (reader.readBool());
          msg.setIsPromo(value);
          break;
        case 26:
          var value = /** @type {boolean} */ (reader.readBool());
          msg.setIsJackpot(value);
          break;
        case 27:
          var value = /** @type {string} */ (reader.readString());
          msg.setSiteUsername(value);
          break;
        case 28:
          var value = /** @type {string} */ (reader.readString());
          msg.setSiteUsernameLike(value);
          break;
        case 29:
          var value = /** @type {string} */ (reader.readString());
          msg.setBettingType(value);
          break;
        case 30:
          var value = /** @type {string} */ (reader.readString());
          msg.setBettingTypeLike(value);
          break;
        case 31:
          var value = /** @type {string} */ (reader.readString());
          msg.setCategory(value);
          break;
        case 32:
          var value = /** @type {string} */ (reader.readString());
          msg.setCategoryLike(value);
          break;
        default:
          reader.skipField();
          break;
      }
    }
    return msg;
  };

/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.serializeBinary =
  function () {
    var writer = new jspb.BinaryWriter();
    proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.serializeBinaryToWriter(
      this,
      writer
    );
    return writer.getResultBuffer();
  };

/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.serializeBinaryToWriter =
  function (message, writer) {
    var f = undefined;
    f = /** @type {string} */ (jspb.Message.getField(message, 1));
    if (f != null) {
      writer.writeString(1, f);
    }
    f = /** @type {number} */ (jspb.Message.getField(message, 2));
    if (f != null) {
      writer.writeUint64(2, f);
    }
    f = message.getVendorIdsList();
    if (f.length > 0) {
      writer.writePackedUint64(3, f);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 4));
    if (f != null) {
      writer.writeString(4, f);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 5));
    if (f != null) {
      writer.writeString(5, f);
    }
    f = /** @type {number} */ (jspb.Message.getField(message, 6));
    if (f != null) {
      writer.writeUint64(6, f);
    }
    f = message.getGameIdsList();
    if (f.length > 0) {
      writer.writePackedUint64(7, f);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 8));
    if (f != null) {
      writer.writeString(8, f);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 9));
    if (f != null) {
      writer.writeString(9, f);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 10));
    if (f != null) {
      writer.writeString(10, f);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 11));
    if (f != null) {
      writer.writeString(11, f);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 12));
    if (f != null) {
      writer.writeString(12, f);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 13));
    if (f != null) {
      writer.writeString(13, f);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 14));
    if (f != null) {
      writer.writeString(14, f);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 15));
    if (f != null) {
      writer.writeString(15, f);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 16));
    if (f != null) {
      writer.writeString(16, f);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 17));
    if (f != null) {
      writer.writeString(17, f);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 18));
    if (f != null) {
      writer.writeString(18, f);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 19));
    if (f != null) {
      writer.writeString(19, f);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 20));
    if (f != null) {
      writer.writeString(20, f);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 21));
    if (f != null) {
      writer.writeString(21, f);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 22));
    if (f != null) {
      writer.writeString(22, f);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 23));
    if (f != null) {
      writer.writeString(23, f);
    }
    f = /** @type {boolean} */ (jspb.Message.getField(message, 24));
    if (f != null) {
      writer.writeBool(24, f);
    }
    f = /** @type {boolean} */ (jspb.Message.getField(message, 25));
    if (f != null) {
      writer.writeBool(25, f);
    }
    f = /** @type {boolean} */ (jspb.Message.getField(message, 26));
    if (f != null) {
      writer.writeBool(26, f);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 27));
    if (f != null) {
      writer.writeString(27, f);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 28));
    if (f != null) {
      writer.writeString(28, f);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 29));
    if (f != null) {
      writer.writeString(29, f);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 30));
    if (f != null) {
      writer.writeString(30, f);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 31));
    if (f != null) {
      writer.writeString(31, f);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 32));
    if (f != null) {
      writer.writeString(32, f);
    }
  };

/**
 * optional string member_id = 1;
 * @return {string}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getMemberId =
  function () {
    return /** @type {string} */ (
      jspb.Message.getFieldWithDefault(this, 1, "")
    );
  };

/**
 * @param {string} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setMemberId =
  function (value) {
    return jspb.Message.setField(this, 1, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearMemberId =
  function () {
    return jspb.Message.setField(this, 1, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasMemberId =
  function () {
    return jspb.Message.getField(this, 1) != null;
  };

/**
 * optional uint64 vendor_id = 2;
 * @return {number}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getVendorId =
  function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
  };

/**
 * @param {number} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setVendorId =
  function (value) {
    return jspb.Message.setField(this, 2, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearVendorId =
  function () {
    return jspb.Message.setField(this, 2, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasVendorId =
  function () {
    return jspb.Message.getField(this, 2) != null;
  };

/**
 * repeated uint64 vendor_ids = 3;
 * @return {!Array<number>}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getVendorIdsList =
  function () {
    return /** @type {!Array<number>} */ (
      jspb.Message.getRepeatedField(this, 3)
    );
  };

/**
 * @param {!Array<number>} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setVendorIdsList =
  function (value) {
    return jspb.Message.setField(this, 3, value || []);
  };

/**
 * @param {number} value
 * @param {number=} opt_index
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.addVendorIds =
  function (value, opt_index) {
    return jspb.Message.addToRepeatedField(this, 3, value, opt_index);
  };

/**
 * Clears the list making it empty but non-null.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearVendorIdsList =
  function () {
    return this.setVendorIdsList([]);
  };

/**
 * optional string vendor_name = 4;
 * @return {string}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getVendorName =
  function () {
    return /** @type {string} */ (
      jspb.Message.getFieldWithDefault(this, 4, "")
    );
  };

/**
 * @param {string} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setVendorName =
  function (value) {
    return jspb.Message.setField(this, 4, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearVendorName =
  function () {
    return jspb.Message.setField(this, 4, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasVendorName =
  function () {
    return jspb.Message.getField(this, 4) != null;
  };

/**
 * optional string vendor_name_like = 5;
 * @return {string}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getVendorNameLike =
  function () {
    return /** @type {string} */ (
      jspb.Message.getFieldWithDefault(this, 5, "")
    );
  };

/**
 * @param {string} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setVendorNameLike =
  function (value) {
    return jspb.Message.setField(this, 5, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearVendorNameLike =
  function () {
    return jspb.Message.setField(this, 5, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasVendorNameLike =
  function () {
    return jspb.Message.getField(this, 5) != null;
  };

/**
 * optional uint64 game_id = 6;
 * @return {number}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getGameId =
  function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
  };

/**
 * @param {number} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setGameId =
  function (value) {
    return jspb.Message.setField(this, 6, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearGameId =
  function () {
    return jspb.Message.setField(this, 6, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasGameId =
  function () {
    return jspb.Message.getField(this, 6) != null;
  };

/**
 * repeated uint64 game_ids = 7;
 * @return {!Array<number>}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getGameIdsList =
  function () {
    return /** @type {!Array<number>} */ (
      jspb.Message.getRepeatedField(this, 7)
    );
  };

/**
 * @param {!Array<number>} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setGameIdsList =
  function (value) {
    return jspb.Message.setField(this, 7, value || []);
  };

/**
 * @param {number} value
 * @param {number=} opt_index
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.addGameIds =
  function (value, opt_index) {
    return jspb.Message.addToRepeatedField(this, 7, value, opt_index);
  };

/**
 * Clears the list making it empty but non-null.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearGameIdsList =
  function () {
    return this.setGameIdsList([]);
  };

/**
 * optional string game_name = 8;
 * @return {string}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getGameName =
  function () {
    return /** @type {string} */ (
      jspb.Message.getFieldWithDefault(this, 8, "")
    );
  };

/**
 * @param {string} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setGameName =
  function (value) {
    return jspb.Message.setField(this, 8, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearGameName =
  function () {
    return jspb.Message.setField(this, 8, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasGameName =
  function () {
    return jspb.Message.getField(this, 8) != null;
  };

/**
 * optional string game_name_like = 9;
 * @return {string}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getGameNameLike =
  function () {
    return /** @type {string} */ (
      jspb.Message.getFieldWithDefault(this, 9, "")
    );
  };

/**
 * @param {string} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setGameNameLike =
  function (value) {
    return jspb.Message.setField(this, 9, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearGameNameLike =
  function () {
    return jspb.Message.setField(this, 9, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasGameNameLike =
  function () {
    return jspb.Message.getField(this, 9) != null;
  };

/**
 * optional string game_category = 10;
 * @return {string}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getGameCategory =
  function () {
    return /** @type {string} */ (
      jspb.Message.getFieldWithDefault(this, 10, "")
    );
  };

/**
 * @param {string} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setGameCategory =
  function (value) {
    return jspb.Message.setField(this, 10, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearGameCategory =
  function () {
    return jspb.Message.setField(this, 10, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasGameCategory =
  function () {
    return jspb.Message.getField(this, 10) != null;
  };

/**
 * optional string game_category_like = 11;
 * @return {string}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getGameCategoryLike =
  function () {
    return /** @type {string} */ (
      jspb.Message.getFieldWithDefault(this, 11, "")
    );
  };

/**
 * @param {string} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setGameCategoryLike =
  function (value) {
    return jspb.Message.setField(this, 11, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearGameCategoryLike =
  function () {
    return jspb.Message.setField(this, 11, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasGameCategoryLike =
  function () {
    return jspb.Message.getField(this, 11) != null;
  };

/**
 * optional string game_type = 12;
 * @return {string}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getGameType =
  function () {
    return /** @type {string} */ (
      jspb.Message.getFieldWithDefault(this, 12, "")
    );
  };

/**
 * @param {string} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setGameType =
  function (value) {
    return jspb.Message.setField(this, 12, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearGameType =
  function () {
    return jspb.Message.setField(this, 12, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasGameType =
  function () {
    return jspb.Message.getField(this, 12) != null;
  };

/**
 * optional string game_type_like = 13;
 * @return {string}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getGameTypeLike =
  function () {
    return /** @type {string} */ (
      jspb.Message.getFieldWithDefault(this, 13, "")
    );
  };

/**
 * @param {string} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setGameTypeLike =
  function (value) {
    return jspb.Message.setField(this, 13, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearGameTypeLike =
  function () {
    return jspb.Message.setField(this, 13, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasGameTypeLike =
  function () {
    return jspb.Message.getField(this, 13) != null;
  };

/**
 * optional string currency = 14;
 * @return {string}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getCurrency =
  function () {
    return /** @type {string} */ (
      jspb.Message.getFieldWithDefault(this, 14, "")
    );
  };

/**
 * @param {string} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setCurrency =
  function (value) {
    return jspb.Message.setField(this, 14, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearCurrency =
  function () {
    return jspb.Message.setField(this, 14, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasCurrency =
  function () {
    return jspb.Message.getField(this, 14) != null;
  };

/**
 * optional string currency_like = 15;
 * @return {string}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getCurrencyLike =
  function () {
    return /** @type {string} */ (
      jspb.Message.getFieldWithDefault(this, 15, "")
    );
  };

/**
 * @param {string} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setCurrencyLike =
  function (value) {
    return jspb.Message.setField(this, 15, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearCurrencyLike =
  function () {
    return jspb.Message.setField(this, 15, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasCurrencyLike =
  function () {
    return jspb.Message.getField(this, 15) != null;
  };

/**
 * optional string key = 16;
 * @return {string}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getKey =
  function () {
    return /** @type {string} */ (
      jspb.Message.getFieldWithDefault(this, 16, "")
    );
  };

/**
 * @param {string} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setKey =
  function (value) {
    return jspb.Message.setField(this, 16, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearKey =
  function () {
    return jspb.Message.setField(this, 16, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasKey =
  function () {
    return jspb.Message.getField(this, 16) != null;
  };

/**
 * optional string key_like = 17;
 * @return {string}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getKeyLike =
  function () {
    return /** @type {string} */ (
      jspb.Message.getFieldWithDefault(this, 17, "")
    );
  };

/**
 * @param {string} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setKeyLike =
  function (value) {
    return jspb.Message.setField(this, 17, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearKeyLike =
  function () {
    return jspb.Message.setField(this, 17, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasKeyLike =
  function () {
    return jspb.Message.getField(this, 17) != null;
  };

/**
 * optional string ref_id = 18;
 * @return {string}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getRefId =
  function () {
    return /** @type {string} */ (
      jspb.Message.getFieldWithDefault(this, 18, "")
    );
  };

/**
 * @param {string} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setRefId =
  function (value) {
    return jspb.Message.setField(this, 18, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearRefId =
  function () {
    return jspb.Message.setField(this, 18, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasRefId =
  function () {
    return jspb.Message.getField(this, 18) != null;
  };

/**
 * optional string ref_id_like = 19;
 * @return {string}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getRefIdLike =
  function () {
    return /** @type {string} */ (
      jspb.Message.getFieldWithDefault(this, 19, "")
    );
  };

/**
 * @param {string} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setRefIdLike =
  function (value) {
    return jspb.Message.setField(this, 19, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearRefIdLike =
  function () {
    return jspb.Message.setField(this, 19, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasRefIdLike =
  function () {
    return jspb.Message.getField(this, 19) != null;
  };

/**
 * optional string o_ref_id = 20;
 * @return {string}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getORefId =
  function () {
    return /** @type {string} */ (
      jspb.Message.getFieldWithDefault(this, 20, "")
    );
  };

/**
 * @param {string} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setORefId =
  function (value) {
    return jspb.Message.setField(this, 20, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearORefId =
  function () {
    return jspb.Message.setField(this, 20, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasORefId =
  function () {
    return jspb.Message.getField(this, 20) != null;
  };

/**
 * optional string o_ref_id_like = 21;
 * @return {string}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getORefIdLike =
  function () {
    return /** @type {string} */ (
      jspb.Message.getFieldWithDefault(this, 21, "")
    );
  };

/**
 * @param {string} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setORefIdLike =
  function (value) {
    return jspb.Message.setField(this, 21, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearORefIdLike =
  function () {
    return jspb.Message.setField(this, 21, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasORefIdLike =
  function () {
    return jspb.Message.getField(this, 21) != null;
  };

/**
 * optional string group_key = 22;
 * @return {string}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getGroupKey =
  function () {
    return /** @type {string} */ (
      jspb.Message.getFieldWithDefault(this, 22, "")
    );
  };

/**
 * @param {string} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setGroupKey =
  function (value) {
    return jspb.Message.setField(this, 22, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearGroupKey =
  function () {
    return jspb.Message.setField(this, 22, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasGroupKey =
  function () {
    return jspb.Message.getField(this, 22) != null;
  };

/**
 * optional string group_key_like = 23;
 * @return {string}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getGroupKeyLike =
  function () {
    return /** @type {string} */ (
      jspb.Message.getFieldWithDefault(this, 23, "")
    );
  };

/**
 * @param {string} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setGroupKeyLike =
  function (value) {
    return jspb.Message.setField(this, 23, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearGroupKeyLike =
  function () {
    return jspb.Message.setField(this, 23, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasGroupKeyLike =
  function () {
    return jspb.Message.getField(this, 23) != null;
  };

/**
 * optional bool is_bonus = 24;
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getIsBonus =
  function () {
    return /** @type {boolean} */ (
      jspb.Message.getBooleanFieldWithDefault(this, 24, false)
    );
  };

/**
 * @param {boolean} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setIsBonus =
  function (value) {
    return jspb.Message.setField(this, 24, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearIsBonus =
  function () {
    return jspb.Message.setField(this, 24, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasIsBonus =
  function () {
    return jspb.Message.getField(this, 24) != null;
  };

/**
 * optional bool is_promo = 25;
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getIsPromo =
  function () {
    return /** @type {boolean} */ (
      jspb.Message.getBooleanFieldWithDefault(this, 25, false)
    );
  };

/**
 * @param {boolean} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setIsPromo =
  function (value) {
    return jspb.Message.setField(this, 25, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearIsPromo =
  function () {
    return jspb.Message.setField(this, 25, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasIsPromo =
  function () {
    return jspb.Message.getField(this, 25) != null;
  };

/**
 * optional bool is_jackpot = 26;
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getIsJackpot =
  function () {
    return /** @type {boolean} */ (
      jspb.Message.getBooleanFieldWithDefault(this, 26, false)
    );
  };

/**
 * @param {boolean} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setIsJackpot =
  function (value) {
    return jspb.Message.setField(this, 26, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearIsJackpot =
  function () {
    return jspb.Message.setField(this, 26, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasIsJackpot =
  function () {
    return jspb.Message.getField(this, 26) != null;
  };

/**
 * optional string site_username = 27;
 * @return {string}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getSiteUsername =
  function () {
    return /** @type {string} */ (
      jspb.Message.getFieldWithDefault(this, 27, "")
    );
  };

/**
 * @param {string} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setSiteUsername =
  function (value) {
    return jspb.Message.setField(this, 27, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearSiteUsername =
  function () {
    return jspb.Message.setField(this, 27, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasSiteUsername =
  function () {
    return jspb.Message.getField(this, 27) != null;
  };

/**
 * optional string site_username_like = 28;
 * @return {string}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getSiteUsernameLike =
  function () {
    return /** @type {string} */ (
      jspb.Message.getFieldWithDefault(this, 28, "")
    );
  };

/**
 * @param {string} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setSiteUsernameLike =
  function (value) {
    return jspb.Message.setField(this, 28, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearSiteUsernameLike =
  function () {
    return jspb.Message.setField(this, 28, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasSiteUsernameLike =
  function () {
    return jspb.Message.getField(this, 28) != null;
  };

/**
 * optional string betting_type = 29;
 * @return {string}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getBettingType =
  function () {
    return /** @type {string} */ (
      jspb.Message.getFieldWithDefault(this, 29, "")
    );
  };

/**
 * @param {string} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setBettingType =
  function (value) {
    return jspb.Message.setField(this, 29, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearBettingType =
  function () {
    return jspb.Message.setField(this, 29, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasBettingType =
  function () {
    return jspb.Message.getField(this, 29) != null;
  };

/**
 * optional string betting_type_like = 30;
 * @return {string}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getBettingTypeLike =
  function () {
    return /** @type {string} */ (
      jspb.Message.getFieldWithDefault(this, 30, "")
    );
  };

/**
 * @param {string} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setBettingTypeLike =
  function (value) {
    return jspb.Message.setField(this, 30, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearBettingTypeLike =
  function () {
    return jspb.Message.setField(this, 30, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasBettingTypeLike =
  function () {
    return jspb.Message.getField(this, 30) != null;
  };

/**
 * optional string category = 31;
 * @return {string}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getCategory =
  function () {
    return /** @type {string} */ (
      jspb.Message.getFieldWithDefault(this, 31, "")
    );
  };

/**
 * @param {string} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setCategory =
  function (value) {
    return jspb.Message.setField(this, 31, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearCategory =
  function () {
    return jspb.Message.setField(this, 31, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasCategory =
  function () {
    return jspb.Message.getField(this, 31) != null;
  };

/**
 * optional string category_like = 32;
 * @return {string}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.getCategoryLike =
  function () {
    return /** @type {string} */ (
      jspb.Message.getFieldWithDefault(this, 32, "")
    );
  };

/**
 * @param {string} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.setCategoryLike =
  function (value) {
    return jspb.Message.setField(this, 32, value);
  };

/**
 * Clears the field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.clearCategoryLike =
  function () {
    return jspb.Message.setField(this, 32, undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search.prototype.hasCategoryLike =
  function () {
    return jspb.Message.getField(this, 32) != null;
  };

/**
 * optional bet.protobuf.pagination.Pagination pagination = 1;
 * @return {?proto.bet.protobuf.pagination.Pagination}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.prototype.getPagination =
  function () {
    return /** @type{?proto.bet.protobuf.pagination.Pagination} */ (
      jspb.Message.getWrapperField(this, protobuf_pagination_pb.Pagination, 1)
    );
  };

/**
 * @param {?proto.bet.protobuf.pagination.Pagination|undefined} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.prototype.setPagination =
  function (value) {
    return jspb.Message.setWrapperField(this, 1, value);
  };

/**
 * Clears the message field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.prototype.clearPagination =
  function () {
    return this.setPagination(undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.prototype.hasPagination =
  function () {
    return jspb.Message.getField(this, 1) != null;
  };

/**
 * repeated bet.protobuf.pagination.Sort sorts = 2;
 * @return {!Array<!proto.bet.protobuf.pagination.Sort>}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.prototype.getSortsList =
  function () {
    return /** @type{!Array<!proto.bet.protobuf.pagination.Sort>} */ (
      jspb.Message.getRepeatedWrapperField(this, protobuf_pagination_pb.Sort, 2)
    );
  };

/**
 * @param {!Array<!proto.bet.protobuf.pagination.Sort>} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.prototype.setSortsList =
  function (value) {
    return jspb.Message.setRepeatedWrapperField(this, 2, value);
  };

/**
 * @param {!proto.bet.protobuf.pagination.Sort=} opt_value
 * @param {number=} opt_index
 * @return {!proto.bet.protobuf.pagination.Sort}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.prototype.addSorts =
  function (opt_value, opt_index) {
    return jspb.Message.addToRepeatedWrapperField(
      this,
      2,
      opt_value,
      proto.bet.protobuf.pagination.Sort,
      opt_index
    );
  };

/**
 * Clears the list making it empty but non-null.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.prototype.clearSortsList =
  function () {
    return this.setSortsList([]);
  };

/**
 * optional Search search = 3;
 * @return {?proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.prototype.getSearch =
  function () {
    return /** @type{?proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search} */ (
      jspb.Message.getWrapperField(
        this,
        proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search,
        3
      )
    );
  };

/**
 * @param {?proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.Search|undefined} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.prototype.setSearch =
  function (value) {
    return jspb.Message.setWrapperField(this, 3, value);
  };

/**
 * Clears the message field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.prototype.clearSearch =
  function () {
    return this.setSearch(undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryRequest.prototype.hasSearch =
  function () {
    return jspb.Message.getField(this, 3) != null;
  };

if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * Optional fields that are not set will be set to undefined.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
   *     JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.prototype.toObject =
    function (opt_includeInstance) {
      return proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.toObject(
        opt_includeInstance,
        this
      );
    };

  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
   *     the JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.toObject =
    function (includeInstance, msg) {
      var f,
        obj = {
          error:
            (f = msg.getError()) &&
            protobuf_rpc_pb.Error.toObject(includeInstance, f),
          result:
            (f = msg.getResult()) &&
            proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result.toObject(
              includeInstance,
              f
            ),
        };

      if (includeInstance) {
        obj.$jspbMessageInstance = msg;
      }
      return obj;
    };
}

/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.deserializeBinary =
  function (bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg =
      new proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse();
    return proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.deserializeBinaryFromReader(
      msg,
      reader
    );
  };

/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.deserializeBinaryFromReader =
  function (msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
        case 1:
          var value = new protobuf_rpc_pb.Error();
          reader.readMessage(
            value,
            protobuf_rpc_pb.Error.deserializeBinaryFromReader
          );
          msg.setError(value);
          break;
        case 2:
          var value =
            new proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result();
          reader.readMessage(
            value,
            proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result
              .deserializeBinaryFromReader
          );
          msg.setResult(value);
          break;
        default:
          reader.skipField();
          break;
      }
    }
    return msg;
  };

/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.prototype.serializeBinary =
  function () {
    var writer = new jspb.BinaryWriter();
    proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.serializeBinaryToWriter(
      this,
      writer
    );
    return writer.getResultBuffer();
  };

/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.serializeBinaryToWriter =
  function (message, writer) {
    var f = undefined;
    f = message.getError();
    if (f != null) {
      writer.writeMessage(1, f, protobuf_rpc_pb.Error.serializeBinaryToWriter);
    }
    f = message.getResult();
    if (f != null) {
      writer.writeMessage(
        2,
        f,
        proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result
          .serializeBinaryToWriter
      );
    }
  };

/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result.repeatedFields_ =
  [2];

if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * Optional fields that are not set will be set to undefined.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
   *     JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result.prototype.toObject =
    function (opt_includeInstance) {
      return proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result.toObject(
        opt_includeInstance,
        this
      );
    };

  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
   *     the JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result.toObject =
    function (includeInstance, msg) {
      var f,
        obj = {
          totalCount: jspb.Message.getFieldWithDefault(msg, 1, 0),
          bettingHistoryList: jspb.Message.toObjectList(
            msg.getBettingHistoryList(),
            models_api_betting_pb.BettingHistoryModel.toObject,
            includeInstance
          ),
        };

      if (includeInstance) {
        obj.$jspbMessageInstance = msg;
      }
      return obj;
    };
}

/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result.deserializeBinary =
  function (bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg =
      new proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result();
    return proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result.deserializeBinaryFromReader(
      msg,
      reader
    );
  };

/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result.deserializeBinaryFromReader =
  function (msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
        case 1:
          var value = /** @type {number} */ (reader.readUint64());
          msg.setTotalCount(value);
          break;
        case 2:
          var value = new models_api_betting_pb.BettingHistoryModel();
          reader.readMessage(
            value,
            models_api_betting_pb.BettingHistoryModel
              .deserializeBinaryFromReader
          );
          msg.addBettingHistory(value);
          break;
        default:
          reader.skipField();
          break;
      }
    }
    return msg;
  };

/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result.prototype.serializeBinary =
  function () {
    var writer = new jspb.BinaryWriter();
    proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result.serializeBinaryToWriter(
      this,
      writer
    );
    return writer.getResultBuffer();
  };

/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result.serializeBinaryToWriter =
  function (message, writer) {
    var f = undefined;
    f = message.getTotalCount();
    if (f !== 0) {
      writer.writeUint64(1, f);
    }
    f = message.getBettingHistoryList();
    if (f.length > 0) {
      writer.writeRepeatedMessage(
        2,
        f,
        models_api_betting_pb.BettingHistoryModel.serializeBinaryToWriter
      );
    }
  };

/**
 * optional uint64 total_count = 1;
 * @return {number}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result.prototype.getTotalCount =
  function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
  };

/**
 * @param {number} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result.prototype.setTotalCount =
  function (value) {
    return jspb.Message.setProto3IntField(this, 1, value);
  };

/**
 * repeated bet.beteran.api.betting.BettingHistoryModel betting_history = 2;
 * @return {!Array<!proto.bet.beteran.api.betting.BettingHistoryModel>}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result.prototype.getBettingHistoryList =
  function () {
    return /** @type{!Array<!proto.bet.beteran.api.betting.BettingHistoryModel>} */ (
      jspb.Message.getRepeatedWrapperField(
        this,
        models_api_betting_pb.BettingHistoryModel,
        2
      )
    );
  };

/**
 * @param {!Array<!proto.bet.beteran.api.betting.BettingHistoryModel>} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result.prototype.setBettingHistoryList =
  function (value) {
    return jspb.Message.setRepeatedWrapperField(this, 2, value);
  };

/**
 * @param {!proto.bet.beteran.api.betting.BettingHistoryModel=} opt_value
 * @param {number=} opt_index
 * @return {!proto.bet.beteran.api.betting.BettingHistoryModel}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result.prototype.addBettingHistory =
  function (opt_value, opt_index) {
    return jspb.Message.addToRepeatedWrapperField(
      this,
      2,
      opt_value,
      proto.bet.beteran.api.betting.BettingHistoryModel,
      opt_index
    );
  };

/**
 * Clears the list making it empty but non-null.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result.prototype.clearBettingHistoryList =
  function () {
    return this.setBettingHistoryList([]);
  };

/**
 * optional bet.protobuf.rpc.Error error = 1;
 * @return {?proto.bet.protobuf.rpc.Error}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.prototype.getError =
  function () {
    return /** @type{?proto.bet.protobuf.rpc.Error} */ (
      jspb.Message.getWrapperField(this, protobuf_rpc_pb.Error, 1)
    );
  };

/**
 * @param {?proto.bet.protobuf.rpc.Error|undefined} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.prototype.setError =
  function (value) {
    return jspb.Message.setWrapperField(this, 1, value);
  };

/**
 * Clears the message field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.prototype.clearError =
  function () {
    return this.setError(undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.prototype.hasError =
  function () {
    return jspb.Message.getField(this, 1) != null;
  };

/**
 * optional Result result = 2;
 * @return {?proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.prototype.getResult =
  function () {
    return /** @type{?proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result} */ (
      jspb.Message.getWrapperField(
        this,
        proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result,
        2
      )
    );
  };

/**
 * @param {?proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.Result|undefined} value
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.prototype.setResult =
  function (value) {
    return jspb.Message.setWrapperField(this, 2, value);
  };

/**
 * Clears the message field making it undefined.
 * @return {!proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse} returns this
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.prototype.clearResult =
  function () {
    return this.setResult(undefined);
  };

/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.bet.beteran.c2se.api.betting.ListBettingHistoryResponse.prototype.hasResult =
  function () {
    return jspb.Message.getField(this, 2) != null;
  };

goog.object.extend(exports, proto.bet.beteran.c2se.api.betting);
