// source: hiddify.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 =
    (typeof globalThis !== 'undefined' && globalThis) ||
    (typeof window !== 'undefined' && window) ||
    (typeof global !== 'undefined' && global) ||
    (typeof self !== 'undefined' && self) ||
    (function () { return this; }).call(null) ||
    Function('return this')();

var base_pb = require('./base_pb.js');
goog.object.extend(proto, base_pb);
goog.exportSymbol('proto.hiddifyrpc.ChangeHiddifySettingsRequest', null, global);
goog.exportSymbol('proto.hiddifyrpc.CoreInfoResponse', null, global);
goog.exportSymbol('proto.hiddifyrpc.CoreState', null, global);
goog.exportSymbol('proto.hiddifyrpc.GenerateConfigRequest', null, global);
goog.exportSymbol('proto.hiddifyrpc.GenerateConfigResponse', null, global);
goog.exportSymbol('proto.hiddifyrpc.GenerateWarpConfigRequest', null, global);
goog.exportSymbol('proto.hiddifyrpc.LogLevel', null, global);
goog.exportSymbol('proto.hiddifyrpc.LogMessage', null, global);
goog.exportSymbol('proto.hiddifyrpc.LogType', null, global);
goog.exportSymbol('proto.hiddifyrpc.MessageType', null, global);
goog.exportSymbol('proto.hiddifyrpc.OutboundGroup', null, global);
goog.exportSymbol('proto.hiddifyrpc.OutboundGroupItem', null, global);
goog.exportSymbol('proto.hiddifyrpc.OutboundGroupList', null, global);
goog.exportSymbol('proto.hiddifyrpc.ParseRequest', null, global);
goog.exportSymbol('proto.hiddifyrpc.ParseResponse', null, global);
goog.exportSymbol('proto.hiddifyrpc.Response', null, global);
goog.exportSymbol('proto.hiddifyrpc.SelectOutboundRequest', null, global);
goog.exportSymbol('proto.hiddifyrpc.SetSystemProxyEnabledRequest', null, global);
goog.exportSymbol('proto.hiddifyrpc.SetupRequest', null, global);
goog.exportSymbol('proto.hiddifyrpc.StartRequest', null, global);
goog.exportSymbol('proto.hiddifyrpc.StopRequest', null, global);
goog.exportSymbol('proto.hiddifyrpc.SystemInfo', null, global);
goog.exportSymbol('proto.hiddifyrpc.SystemProxyStatus', null, global);
goog.exportSymbol('proto.hiddifyrpc.TunnelResponse', null, global);
goog.exportSymbol('proto.hiddifyrpc.TunnelStartRequest', null, global);
goog.exportSymbol('proto.hiddifyrpc.UrlTestRequest', null, global);
goog.exportSymbol('proto.hiddifyrpc.WarpAccount', null, global);
goog.exportSymbol('proto.hiddifyrpc.WarpGenerationResponse', null, global);
goog.exportSymbol('proto.hiddifyrpc.WarpWireguardConfig', 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.hiddifyrpc.CoreInfoResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.hiddifyrpc.CoreInfoResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.hiddifyrpc.CoreInfoResponse.displayName = 'proto.hiddifyrpc.CoreInfoResponse';
}
/**
 * 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.hiddifyrpc.StartRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.hiddifyrpc.StartRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.hiddifyrpc.StartRequest.displayName = 'proto.hiddifyrpc.StartRequest';
}
/**
 * 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.hiddifyrpc.SetupRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.hiddifyrpc.SetupRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.hiddifyrpc.SetupRequest.displayName = 'proto.hiddifyrpc.SetupRequest';
}
/**
 * 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.hiddifyrpc.Response = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.hiddifyrpc.Response, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.hiddifyrpc.Response.displayName = 'proto.hiddifyrpc.Response';
}
/**
 * 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.hiddifyrpc.SystemInfo = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.hiddifyrpc.SystemInfo, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.hiddifyrpc.SystemInfo.displayName = 'proto.hiddifyrpc.SystemInfo';
}
/**
 * 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.hiddifyrpc.OutboundGroupItem = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.hiddifyrpc.OutboundGroupItem, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.hiddifyrpc.OutboundGroupItem.displayName = 'proto.hiddifyrpc.OutboundGroupItem';
}
/**
 * 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.hiddifyrpc.OutboundGroup = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.hiddifyrpc.OutboundGroup.repeatedFields_, null);
};
goog.inherits(proto.hiddifyrpc.OutboundGroup, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.hiddifyrpc.OutboundGroup.displayName = 'proto.hiddifyrpc.OutboundGroup';
}
/**
 * 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.hiddifyrpc.OutboundGroupList = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.hiddifyrpc.OutboundGroupList.repeatedFields_, null);
};
goog.inherits(proto.hiddifyrpc.OutboundGroupList, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.hiddifyrpc.OutboundGroupList.displayName = 'proto.hiddifyrpc.OutboundGroupList';
}
/**
 * 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.hiddifyrpc.WarpAccount = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.hiddifyrpc.WarpAccount, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.hiddifyrpc.WarpAccount.displayName = 'proto.hiddifyrpc.WarpAccount';
}
/**
 * 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.hiddifyrpc.WarpWireguardConfig = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.hiddifyrpc.WarpWireguardConfig, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.hiddifyrpc.WarpWireguardConfig.displayName = 'proto.hiddifyrpc.WarpWireguardConfig';
}
/**
 * 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.hiddifyrpc.WarpGenerationResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.hiddifyrpc.WarpGenerationResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.hiddifyrpc.WarpGenerationResponse.displayName = 'proto.hiddifyrpc.WarpGenerationResponse';
}
/**
 * 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.hiddifyrpc.SystemProxyStatus = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.hiddifyrpc.SystemProxyStatus, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.hiddifyrpc.SystemProxyStatus.displayName = 'proto.hiddifyrpc.SystemProxyStatus';
}
/**
 * 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.hiddifyrpc.ParseRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.hiddifyrpc.ParseRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.hiddifyrpc.ParseRequest.displayName = 'proto.hiddifyrpc.ParseRequest';
}
/**
 * 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.hiddifyrpc.ParseResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.hiddifyrpc.ParseResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.hiddifyrpc.ParseResponse.displayName = 'proto.hiddifyrpc.ParseResponse';
}
/**
 * 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.hiddifyrpc.ChangeHiddifySettingsRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.hiddifyrpc.ChangeHiddifySettingsRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.hiddifyrpc.ChangeHiddifySettingsRequest.displayName = 'proto.hiddifyrpc.ChangeHiddifySettingsRequest';
}
/**
 * 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.hiddifyrpc.GenerateConfigRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.hiddifyrpc.GenerateConfigRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.hiddifyrpc.GenerateConfigRequest.displayName = 'proto.hiddifyrpc.GenerateConfigRequest';
}
/**
 * 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.hiddifyrpc.GenerateConfigResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.hiddifyrpc.GenerateConfigResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.hiddifyrpc.GenerateConfigResponse.displayName = 'proto.hiddifyrpc.GenerateConfigResponse';
}
/**
 * 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.hiddifyrpc.SelectOutboundRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.hiddifyrpc.SelectOutboundRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.hiddifyrpc.SelectOutboundRequest.displayName = 'proto.hiddifyrpc.SelectOutboundRequest';
}
/**
 * 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.hiddifyrpc.UrlTestRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.hiddifyrpc.UrlTestRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.hiddifyrpc.UrlTestRequest.displayName = 'proto.hiddifyrpc.UrlTestRequest';
}
/**
 * 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.hiddifyrpc.GenerateWarpConfigRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.hiddifyrpc.GenerateWarpConfigRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.hiddifyrpc.GenerateWarpConfigRequest.displayName = 'proto.hiddifyrpc.GenerateWarpConfigRequest';
}
/**
 * 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.hiddifyrpc.SetSystemProxyEnabledRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.hiddifyrpc.SetSystemProxyEnabledRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.hiddifyrpc.SetSystemProxyEnabledRequest.displayName = 'proto.hiddifyrpc.SetSystemProxyEnabledRequest';
}
/**
 * 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.hiddifyrpc.LogMessage = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.hiddifyrpc.LogMessage, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.hiddifyrpc.LogMessage.displayName = 'proto.hiddifyrpc.LogMessage';
}
/**
 * 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.hiddifyrpc.StopRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.hiddifyrpc.StopRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.hiddifyrpc.StopRequest.displayName = 'proto.hiddifyrpc.StopRequest';
}
/**
 * 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.hiddifyrpc.TunnelStartRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.hiddifyrpc.TunnelStartRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.hiddifyrpc.TunnelStartRequest.displayName = 'proto.hiddifyrpc.TunnelStartRequest';
}
/**
 * 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.hiddifyrpc.TunnelResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.hiddifyrpc.TunnelResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.hiddifyrpc.TunnelResponse.displayName = 'proto.hiddifyrpc.TunnelResponse';
}



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.hiddifyrpc.CoreInfoResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.hiddifyrpc.CoreInfoResponse.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.hiddifyrpc.CoreInfoResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.CoreInfoResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
coreState: jspb.Message.getFieldWithDefault(msg, 1, 0),
messageType: jspb.Message.getFieldWithDefault(msg, 2, 0),
message: jspb.Message.getFieldWithDefault(msg, 3, "")
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.hiddifyrpc.CoreInfoResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.hiddifyrpc.CoreInfoResponse}
 */
proto.hiddifyrpc.CoreInfoResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {!proto.hiddifyrpc.CoreState} */ (reader.readEnum());
      msg.setCoreState(value);
      break;
    case 2:
      var value = /** @type {!proto.hiddifyrpc.MessageType} */ (reader.readEnum());
      msg.setMessageType(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setMessage(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.hiddifyrpc.CoreInfoResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.CoreInfoResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getCoreState();
  if (f !== 0.0) {
    writer.writeEnum(
      1,
      f
    );
  }
  f = message.getMessageType();
  if (f !== 0.0) {
    writer.writeEnum(
      2,
      f
    );
  }
  f = message.getMessage();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
};


/**
 * optional CoreState core_state = 1;
 * @return {!proto.hiddifyrpc.CoreState}
 */
proto.hiddifyrpc.CoreInfoResponse.prototype.getCoreState = function() {
  return /** @type {!proto.hiddifyrpc.CoreState} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {!proto.hiddifyrpc.CoreState} value
 * @return {!proto.hiddifyrpc.CoreInfoResponse} returns this
 */
proto.hiddifyrpc.CoreInfoResponse.prototype.setCoreState = function(value) {
  return jspb.Message.setProto3EnumField(this, 1, value);
};


/**
 * optional MessageType message_type = 2;
 * @return {!proto.hiddifyrpc.MessageType}
 */
proto.hiddifyrpc.CoreInfoResponse.prototype.getMessageType = function() {
  return /** @type {!proto.hiddifyrpc.MessageType} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/**
 * @param {!proto.hiddifyrpc.MessageType} value
 * @return {!proto.hiddifyrpc.CoreInfoResponse} returns this
 */
proto.hiddifyrpc.CoreInfoResponse.prototype.setMessageType = function(value) {
  return jspb.Message.setProto3EnumField(this, 2, value);
};


/**
 * optional string message = 3;
 * @return {string}
 */
proto.hiddifyrpc.CoreInfoResponse.prototype.getMessage = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.CoreInfoResponse} returns this
 */
proto.hiddifyrpc.CoreInfoResponse.prototype.setMessage = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};





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.hiddifyrpc.StartRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.hiddifyrpc.StartRequest.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.hiddifyrpc.StartRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.StartRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
configPath: jspb.Message.getFieldWithDefault(msg, 1, ""),
configContent: jspb.Message.getFieldWithDefault(msg, 2, ""),
disableMemoryLimit: jspb.Message.getBooleanFieldWithDefault(msg, 3, false),
delayStart: jspb.Message.getBooleanFieldWithDefault(msg, 4, false),
enableOldCommandServer: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),
enableRawConfig: jspb.Message.getBooleanFieldWithDefault(msg, 6, false)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.hiddifyrpc.StartRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.hiddifyrpc.StartRequest}
 */
proto.hiddifyrpc.StartRequest.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.setConfigPath(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setConfigContent(value);
      break;
    case 3:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setDisableMemoryLimit(value);
      break;
    case 4:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setDelayStart(value);
      break;
    case 5:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setEnableOldCommandServer(value);
      break;
    case 6:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setEnableRawConfig(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.hiddifyrpc.StartRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.StartRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getConfigPath();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getConfigContent();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getDisableMemoryLimit();
  if (f) {
    writer.writeBool(
      3,
      f
    );
  }
  f = message.getDelayStart();
  if (f) {
    writer.writeBool(
      4,
      f
    );
  }
  f = message.getEnableOldCommandServer();
  if (f) {
    writer.writeBool(
      5,
      f
    );
  }
  f = message.getEnableRawConfig();
  if (f) {
    writer.writeBool(
      6,
      f
    );
  }
};


/**
 * optional string config_path = 1;
 * @return {string}
 */
proto.hiddifyrpc.StartRequest.prototype.getConfigPath = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.StartRequest} returns this
 */
proto.hiddifyrpc.StartRequest.prototype.setConfigPath = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string config_content = 2;
 * @return {string}
 */
proto.hiddifyrpc.StartRequest.prototype.getConfigContent = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.StartRequest} returns this
 */
proto.hiddifyrpc.StartRequest.prototype.setConfigContent = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional bool disable_memory_limit = 3;
 * @return {boolean}
 */
proto.hiddifyrpc.StartRequest.prototype.getDisableMemoryLimit = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
};


/**
 * @param {boolean} value
 * @return {!proto.hiddifyrpc.StartRequest} returns this
 */
proto.hiddifyrpc.StartRequest.prototype.setDisableMemoryLimit = function(value) {
  return jspb.Message.setProto3BooleanField(this, 3, value);
};


/**
 * optional bool delay_start = 4;
 * @return {boolean}
 */
proto.hiddifyrpc.StartRequest.prototype.getDelayStart = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));
};


/**
 * @param {boolean} value
 * @return {!proto.hiddifyrpc.StartRequest} returns this
 */
proto.hiddifyrpc.StartRequest.prototype.setDelayStart = function(value) {
  return jspb.Message.setProto3BooleanField(this, 4, value);
};


/**
 * optional bool enable_old_command_server = 5;
 * @return {boolean}
 */
proto.hiddifyrpc.StartRequest.prototype.getEnableOldCommandServer = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false));
};


/**
 * @param {boolean} value
 * @return {!proto.hiddifyrpc.StartRequest} returns this
 */
proto.hiddifyrpc.StartRequest.prototype.setEnableOldCommandServer = function(value) {
  return jspb.Message.setProto3BooleanField(this, 5, value);
};


/**
 * optional bool enable_raw_config = 6;
 * @return {boolean}
 */
proto.hiddifyrpc.StartRequest.prototype.getEnableRawConfig = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 6, false));
};


/**
 * @param {boolean} value
 * @return {!proto.hiddifyrpc.StartRequest} returns this
 */
proto.hiddifyrpc.StartRequest.prototype.setEnableRawConfig = function(value) {
  return jspb.Message.setProto3BooleanField(this, 6, value);
};





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.hiddifyrpc.SetupRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.hiddifyrpc.SetupRequest.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.hiddifyrpc.SetupRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.SetupRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
basePath: jspb.Message.getFieldWithDefault(msg, 1, ""),
workingPath: jspb.Message.getFieldWithDefault(msg, 2, ""),
tempPath: jspb.Message.getFieldWithDefault(msg, 3, "")
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.hiddifyrpc.SetupRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.hiddifyrpc.SetupRequest}
 */
proto.hiddifyrpc.SetupRequest.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.setBasePath(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setWorkingPath(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setTempPath(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.hiddifyrpc.SetupRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.SetupRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getBasePath();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getWorkingPath();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getTempPath();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
};


/**
 * optional string base_path = 1;
 * @return {string}
 */
proto.hiddifyrpc.SetupRequest.prototype.getBasePath = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.SetupRequest} returns this
 */
proto.hiddifyrpc.SetupRequest.prototype.setBasePath = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string working_path = 2;
 * @return {string}
 */
proto.hiddifyrpc.SetupRequest.prototype.getWorkingPath = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.SetupRequest} returns this
 */
proto.hiddifyrpc.SetupRequest.prototype.setWorkingPath = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string temp_path = 3;
 * @return {string}
 */
proto.hiddifyrpc.SetupRequest.prototype.getTempPath = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.SetupRequest} returns this
 */
proto.hiddifyrpc.SetupRequest.prototype.setTempPath = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};





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.hiddifyrpc.Response.prototype.toObject = function(opt_includeInstance) {
  return proto.hiddifyrpc.Response.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.hiddifyrpc.Response} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.Response.toObject = function(includeInstance, msg) {
  var f, obj = {
responseCode: jspb.Message.getFieldWithDefault(msg, 1, 0),
message: jspb.Message.getFieldWithDefault(msg, 2, "")
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.hiddifyrpc.Response} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.hiddifyrpc.Response}
 */
proto.hiddifyrpc.Response.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {!proto.hiddifyrpc.ResponseCode} */ (reader.readEnum());
      msg.setResponseCode(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setMessage(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.hiddifyrpc.Response} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.Response.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getResponseCode();
  if (f !== 0.0) {
    writer.writeEnum(
      1,
      f
    );
  }
  f = message.getMessage();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional ResponseCode response_code = 1;
 * @return {!proto.hiddifyrpc.ResponseCode}
 */
proto.hiddifyrpc.Response.prototype.getResponseCode = function() {
  return /** @type {!proto.hiddifyrpc.ResponseCode} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {!proto.hiddifyrpc.ResponseCode} value
 * @return {!proto.hiddifyrpc.Response} returns this
 */
proto.hiddifyrpc.Response.prototype.setResponseCode = function(value) {
  return jspb.Message.setProto3EnumField(this, 1, value);
};


/**
 * optional string message = 2;
 * @return {string}
 */
proto.hiddifyrpc.Response.prototype.getMessage = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.Response} returns this
 */
proto.hiddifyrpc.Response.prototype.setMessage = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};





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.hiddifyrpc.SystemInfo.prototype.toObject = function(opt_includeInstance) {
  return proto.hiddifyrpc.SystemInfo.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.hiddifyrpc.SystemInfo} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.SystemInfo.toObject = function(includeInstance, msg) {
  var f, obj = {
memory: jspb.Message.getFieldWithDefault(msg, 1, 0),
goroutines: jspb.Message.getFieldWithDefault(msg, 2, 0),
connectionsIn: jspb.Message.getFieldWithDefault(msg, 3, 0),
connectionsOut: jspb.Message.getFieldWithDefault(msg, 4, 0),
trafficAvailable: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),
uplink: jspb.Message.getFieldWithDefault(msg, 6, 0),
downlink: jspb.Message.getFieldWithDefault(msg, 7, 0),
uplinkTotal: jspb.Message.getFieldWithDefault(msg, 8, 0),
downlinkTotal: jspb.Message.getFieldWithDefault(msg, 9, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.hiddifyrpc.SystemInfo} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.hiddifyrpc.SystemInfo}
 */
proto.hiddifyrpc.SystemInfo.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setMemory(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setGoroutines(value);
      break;
    case 3:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setConnectionsIn(value);
      break;
    case 4:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setConnectionsOut(value);
      break;
    case 5:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setTrafficAvailable(value);
      break;
    case 6:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setUplink(value);
      break;
    case 7:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setDownlink(value);
      break;
    case 8:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setUplinkTotal(value);
      break;
    case 9:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setDownlinkTotal(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.hiddifyrpc.SystemInfo} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.SystemInfo.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getMemory();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getGoroutines();
  if (f !== 0) {
    writer.writeInt32(
      2,
      f
    );
  }
  f = message.getConnectionsIn();
  if (f !== 0) {
    writer.writeInt32(
      3,
      f
    );
  }
  f = message.getConnectionsOut();
  if (f !== 0) {
    writer.writeInt32(
      4,
      f
    );
  }
  f = message.getTrafficAvailable();
  if (f) {
    writer.writeBool(
      5,
      f
    );
  }
  f = message.getUplink();
  if (f !== 0) {
    writer.writeInt64(
      6,
      f
    );
  }
  f = message.getDownlink();
  if (f !== 0) {
    writer.writeInt64(
      7,
      f
    );
  }
  f = message.getUplinkTotal();
  if (f !== 0) {
    writer.writeInt64(
      8,
      f
    );
  }
  f = message.getDownlinkTotal();
  if (f !== 0) {
    writer.writeInt64(
      9,
      f
    );
  }
};


/**
 * optional int64 memory = 1;
 * @return {number}
 */
proto.hiddifyrpc.SystemInfo.prototype.getMemory = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.hiddifyrpc.SystemInfo} returns this
 */
proto.hiddifyrpc.SystemInfo.prototype.setMemory = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional int32 goroutines = 2;
 * @return {number}
 */
proto.hiddifyrpc.SystemInfo.prototype.getGoroutines = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/**
 * @param {number} value
 * @return {!proto.hiddifyrpc.SystemInfo} returns this
 */
proto.hiddifyrpc.SystemInfo.prototype.setGoroutines = function(value) {
  return jspb.Message.setProto3IntField(this, 2, value);
};


/**
 * optional int32 connections_in = 3;
 * @return {number}
 */
proto.hiddifyrpc.SystemInfo.prototype.getConnectionsIn = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/**
 * @param {number} value
 * @return {!proto.hiddifyrpc.SystemInfo} returns this
 */
proto.hiddifyrpc.SystemInfo.prototype.setConnectionsIn = function(value) {
  return jspb.Message.setProto3IntField(this, 3, value);
};


/**
 * optional int32 connections_out = 4;
 * @return {number}
 */
proto.hiddifyrpc.SystemInfo.prototype.getConnectionsOut = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/**
 * @param {number} value
 * @return {!proto.hiddifyrpc.SystemInfo} returns this
 */
proto.hiddifyrpc.SystemInfo.prototype.setConnectionsOut = function(value) {
  return jspb.Message.setProto3IntField(this, 4, value);
};


/**
 * optional bool traffic_available = 5;
 * @return {boolean}
 */
proto.hiddifyrpc.SystemInfo.prototype.getTrafficAvailable = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false));
};


/**
 * @param {boolean} value
 * @return {!proto.hiddifyrpc.SystemInfo} returns this
 */
proto.hiddifyrpc.SystemInfo.prototype.setTrafficAvailable = function(value) {
  return jspb.Message.setProto3BooleanField(this, 5, value);
};


/**
 * optional int64 uplink = 6;
 * @return {number}
 */
proto.hiddifyrpc.SystemInfo.prototype.getUplink = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
};


/**
 * @param {number} value
 * @return {!proto.hiddifyrpc.SystemInfo} returns this
 */
proto.hiddifyrpc.SystemInfo.prototype.setUplink = function(value) {
  return jspb.Message.setProto3IntField(this, 6, value);
};


/**
 * optional int64 downlink = 7;
 * @return {number}
 */
proto.hiddifyrpc.SystemInfo.prototype.getDownlink = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));
};


/**
 * @param {number} value
 * @return {!proto.hiddifyrpc.SystemInfo} returns this
 */
proto.hiddifyrpc.SystemInfo.prototype.setDownlink = function(value) {
  return jspb.Message.setProto3IntField(this, 7, value);
};


/**
 * optional int64 uplink_total = 8;
 * @return {number}
 */
proto.hiddifyrpc.SystemInfo.prototype.getUplinkTotal = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));
};


/**
 * @param {number} value
 * @return {!proto.hiddifyrpc.SystemInfo} returns this
 */
proto.hiddifyrpc.SystemInfo.prototype.setUplinkTotal = function(value) {
  return jspb.Message.setProto3IntField(this, 8, value);
};


/**
 * optional int64 downlink_total = 9;
 * @return {number}
 */
proto.hiddifyrpc.SystemInfo.prototype.getDownlinkTotal = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));
};


/**
 * @param {number} value
 * @return {!proto.hiddifyrpc.SystemInfo} returns this
 */
proto.hiddifyrpc.SystemInfo.prototype.setDownlinkTotal = function(value) {
  return jspb.Message.setProto3IntField(this, 9, value);
};





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.hiddifyrpc.OutboundGroupItem.prototype.toObject = function(opt_includeInstance) {
  return proto.hiddifyrpc.OutboundGroupItem.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.hiddifyrpc.OutboundGroupItem} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.OutboundGroupItem.toObject = function(includeInstance, msg) {
  var f, obj = {
tag: jspb.Message.getFieldWithDefault(msg, 1, ""),
type: jspb.Message.getFieldWithDefault(msg, 2, ""),
urlTestTime: jspb.Message.getFieldWithDefault(msg, 3, 0),
urlTestDelay: jspb.Message.getFieldWithDefault(msg, 4, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.hiddifyrpc.OutboundGroupItem} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.hiddifyrpc.OutboundGroupItem}
 */
proto.hiddifyrpc.OutboundGroupItem.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.setTag(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setType(value);
      break;
    case 3:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setUrlTestTime(value);
      break;
    case 4:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setUrlTestDelay(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.hiddifyrpc.OutboundGroupItem} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.OutboundGroupItem.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getTag();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getType();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getUrlTestTime();
  if (f !== 0) {
    writer.writeInt64(
      3,
      f
    );
  }
  f = message.getUrlTestDelay();
  if (f !== 0) {
    writer.writeInt32(
      4,
      f
    );
  }
};


/**
 * optional string tag = 1;
 * @return {string}
 */
proto.hiddifyrpc.OutboundGroupItem.prototype.getTag = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.OutboundGroupItem} returns this
 */
proto.hiddifyrpc.OutboundGroupItem.prototype.setTag = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string type = 2;
 * @return {string}
 */
proto.hiddifyrpc.OutboundGroupItem.prototype.getType = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.OutboundGroupItem} returns this
 */
proto.hiddifyrpc.OutboundGroupItem.prototype.setType = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional int64 url_test_time = 3;
 * @return {number}
 */
proto.hiddifyrpc.OutboundGroupItem.prototype.getUrlTestTime = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/**
 * @param {number} value
 * @return {!proto.hiddifyrpc.OutboundGroupItem} returns this
 */
proto.hiddifyrpc.OutboundGroupItem.prototype.setUrlTestTime = function(value) {
  return jspb.Message.setProto3IntField(this, 3, value);
};


/**
 * optional int32 url_test_delay = 4;
 * @return {number}
 */
proto.hiddifyrpc.OutboundGroupItem.prototype.getUrlTestDelay = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/**
 * @param {number} value
 * @return {!proto.hiddifyrpc.OutboundGroupItem} returns this
 */
proto.hiddifyrpc.OutboundGroupItem.prototype.setUrlTestDelay = function(value) {
  return jspb.Message.setProto3IntField(this, 4, value);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.hiddifyrpc.OutboundGroup.repeatedFields_ = [4];



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.hiddifyrpc.OutboundGroup.prototype.toObject = function(opt_includeInstance) {
  return proto.hiddifyrpc.OutboundGroup.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.hiddifyrpc.OutboundGroup} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.OutboundGroup.toObject = function(includeInstance, msg) {
  var f, obj = {
tag: jspb.Message.getFieldWithDefault(msg, 1, ""),
type: jspb.Message.getFieldWithDefault(msg, 2, ""),
selected: jspb.Message.getFieldWithDefault(msg, 3, ""),
itemsList: jspb.Message.toObjectList(msg.getItemsList(),
    proto.hiddifyrpc.OutboundGroupItem.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.hiddifyrpc.OutboundGroup}
 */
proto.hiddifyrpc.OutboundGroup.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.hiddifyrpc.OutboundGroup;
  return proto.hiddifyrpc.OutboundGroup.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.hiddifyrpc.OutboundGroup} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.hiddifyrpc.OutboundGroup}
 */
proto.hiddifyrpc.OutboundGroup.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.setTag(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setType(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setSelected(value);
      break;
    case 4:
      var value = new proto.hiddifyrpc.OutboundGroupItem;
      reader.readMessage(value,proto.hiddifyrpc.OutboundGroupItem.deserializeBinaryFromReader);
      msg.addItems(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.hiddifyrpc.OutboundGroup} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.OutboundGroup.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getTag();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getType();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getSelected();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getItemsList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      4,
      f,
      proto.hiddifyrpc.OutboundGroupItem.serializeBinaryToWriter
    );
  }
};


/**
 * optional string tag = 1;
 * @return {string}
 */
proto.hiddifyrpc.OutboundGroup.prototype.getTag = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.OutboundGroup} returns this
 */
proto.hiddifyrpc.OutboundGroup.prototype.setTag = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string type = 2;
 * @return {string}
 */
proto.hiddifyrpc.OutboundGroup.prototype.getType = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.OutboundGroup} returns this
 */
proto.hiddifyrpc.OutboundGroup.prototype.setType = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string selected = 3;
 * @return {string}
 */
proto.hiddifyrpc.OutboundGroup.prototype.getSelected = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.OutboundGroup} returns this
 */
proto.hiddifyrpc.OutboundGroup.prototype.setSelected = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * repeated OutboundGroupItem items = 4;
 * @return {!Array<!proto.hiddifyrpc.OutboundGroupItem>}
 */
proto.hiddifyrpc.OutboundGroup.prototype.getItemsList = function() {
  return /** @type{!Array<!proto.hiddifyrpc.OutboundGroupItem>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.hiddifyrpc.OutboundGroupItem, 4));
};


/**
 * @param {!Array<!proto.hiddifyrpc.OutboundGroupItem>} value
 * @return {!proto.hiddifyrpc.OutboundGroup} returns this
*/
proto.hiddifyrpc.OutboundGroup.prototype.setItemsList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 4, value);
};


/**
 * @param {!proto.hiddifyrpc.OutboundGroupItem=} opt_value
 * @param {number=} opt_index
 * @return {!proto.hiddifyrpc.OutboundGroupItem}
 */
proto.hiddifyrpc.OutboundGroup.prototype.addItems = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.hiddifyrpc.OutboundGroupItem, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.hiddifyrpc.OutboundGroup} returns this
 */
proto.hiddifyrpc.OutboundGroup.prototype.clearItemsList = function() {
  return this.setItemsList([]);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.hiddifyrpc.OutboundGroupList.repeatedFields_ = [1];



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.hiddifyrpc.OutboundGroupList.prototype.toObject = function(opt_includeInstance) {
  return proto.hiddifyrpc.OutboundGroupList.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.hiddifyrpc.OutboundGroupList} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.OutboundGroupList.toObject = function(includeInstance, msg) {
  var f, obj = {
itemsList: jspb.Message.toObjectList(msg.getItemsList(),
    proto.hiddifyrpc.OutboundGroup.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.hiddifyrpc.OutboundGroupList}
 */
proto.hiddifyrpc.OutboundGroupList.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.hiddifyrpc.OutboundGroupList;
  return proto.hiddifyrpc.OutboundGroupList.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.hiddifyrpc.OutboundGroupList} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.hiddifyrpc.OutboundGroupList}
 */
proto.hiddifyrpc.OutboundGroupList.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.hiddifyrpc.OutboundGroup;
      reader.readMessage(value,proto.hiddifyrpc.OutboundGroup.deserializeBinaryFromReader);
      msg.addItems(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.hiddifyrpc.OutboundGroupList} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.OutboundGroupList.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getItemsList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      1,
      f,
      proto.hiddifyrpc.OutboundGroup.serializeBinaryToWriter
    );
  }
};


/**
 * repeated OutboundGroup items = 1;
 * @return {!Array<!proto.hiddifyrpc.OutboundGroup>}
 */
proto.hiddifyrpc.OutboundGroupList.prototype.getItemsList = function() {
  return /** @type{!Array<!proto.hiddifyrpc.OutboundGroup>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.hiddifyrpc.OutboundGroup, 1));
};


/**
 * @param {!Array<!proto.hiddifyrpc.OutboundGroup>} value
 * @return {!proto.hiddifyrpc.OutboundGroupList} returns this
*/
proto.hiddifyrpc.OutboundGroupList.prototype.setItemsList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!proto.hiddifyrpc.OutboundGroup=} opt_value
 * @param {number=} opt_index
 * @return {!proto.hiddifyrpc.OutboundGroup}
 */
proto.hiddifyrpc.OutboundGroupList.prototype.addItems = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.hiddifyrpc.OutboundGroup, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.hiddifyrpc.OutboundGroupList} returns this
 */
proto.hiddifyrpc.OutboundGroupList.prototype.clearItemsList = function() {
  return this.setItemsList([]);
};





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.hiddifyrpc.WarpAccount.prototype.toObject = function(opt_includeInstance) {
  return proto.hiddifyrpc.WarpAccount.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.hiddifyrpc.WarpAccount} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.WarpAccount.toObject = function(includeInstance, msg) {
  var f, obj = {
accountId: jspb.Message.getFieldWithDefault(msg, 1, ""),
accessToken: jspb.Message.getFieldWithDefault(msg, 2, "")
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.hiddifyrpc.WarpAccount} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.hiddifyrpc.WarpAccount}
 */
proto.hiddifyrpc.WarpAccount.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.setAccountId(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setAccessToken(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.hiddifyrpc.WarpAccount} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.WarpAccount.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getAccountId();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getAccessToken();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional string account_id = 1;
 * @return {string}
 */
proto.hiddifyrpc.WarpAccount.prototype.getAccountId = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.WarpAccount} returns this
 */
proto.hiddifyrpc.WarpAccount.prototype.setAccountId = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string access_token = 2;
 * @return {string}
 */
proto.hiddifyrpc.WarpAccount.prototype.getAccessToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.WarpAccount} returns this
 */
proto.hiddifyrpc.WarpAccount.prototype.setAccessToken = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};





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.hiddifyrpc.WarpWireguardConfig.prototype.toObject = function(opt_includeInstance) {
  return proto.hiddifyrpc.WarpWireguardConfig.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.hiddifyrpc.WarpWireguardConfig} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.WarpWireguardConfig.toObject = function(includeInstance, msg) {
  var f, obj = {
privateKey: jspb.Message.getFieldWithDefault(msg, 1, ""),
localAddressIpv4: jspb.Message.getFieldWithDefault(msg, 2, ""),
localAddressIpv6: jspb.Message.getFieldWithDefault(msg, 3, ""),
peerPublicKey: jspb.Message.getFieldWithDefault(msg, 4, ""),
clientId: jspb.Message.getFieldWithDefault(msg, 5, "")
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.hiddifyrpc.WarpWireguardConfig} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.hiddifyrpc.WarpWireguardConfig}
 */
proto.hiddifyrpc.WarpWireguardConfig.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.setPrivateKey(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setLocalAddressIpv4(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setLocalAddressIpv6(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setPeerPublicKey(value);
      break;
    case 5:
      var value = /** @type {string} */ (reader.readString());
      msg.setClientId(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.hiddifyrpc.WarpWireguardConfig} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.WarpWireguardConfig.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getPrivateKey();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getLocalAddressIpv4();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getLocalAddressIpv6();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getPeerPublicKey();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
  f = message.getClientId();
  if (f.length > 0) {
    writer.writeString(
      5,
      f
    );
  }
};


/**
 * optional string private_key = 1;
 * @return {string}
 */
proto.hiddifyrpc.WarpWireguardConfig.prototype.getPrivateKey = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.WarpWireguardConfig} returns this
 */
proto.hiddifyrpc.WarpWireguardConfig.prototype.setPrivateKey = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string local_address_ipv4 = 2;
 * @return {string}
 */
proto.hiddifyrpc.WarpWireguardConfig.prototype.getLocalAddressIpv4 = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.WarpWireguardConfig} returns this
 */
proto.hiddifyrpc.WarpWireguardConfig.prototype.setLocalAddressIpv4 = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string local_address_ipv6 = 3;
 * @return {string}
 */
proto.hiddifyrpc.WarpWireguardConfig.prototype.getLocalAddressIpv6 = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.WarpWireguardConfig} returns this
 */
proto.hiddifyrpc.WarpWireguardConfig.prototype.setLocalAddressIpv6 = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * optional string peer_public_key = 4;
 * @return {string}
 */
proto.hiddifyrpc.WarpWireguardConfig.prototype.getPeerPublicKey = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.WarpWireguardConfig} returns this
 */
proto.hiddifyrpc.WarpWireguardConfig.prototype.setPeerPublicKey = function(value) {
  return jspb.Message.setProto3StringField(this, 4, value);
};


/**
 * optional string client_id = 5;
 * @return {string}
 */
proto.hiddifyrpc.WarpWireguardConfig.prototype.getClientId = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.WarpWireguardConfig} returns this
 */
proto.hiddifyrpc.WarpWireguardConfig.prototype.setClientId = function(value) {
  return jspb.Message.setProto3StringField(this, 5, value);
};





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.hiddifyrpc.WarpGenerationResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.hiddifyrpc.WarpGenerationResponse.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.hiddifyrpc.WarpGenerationResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.WarpGenerationResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
account: (f = msg.getAccount()) && proto.hiddifyrpc.WarpAccount.toObject(includeInstance, f),
log: jspb.Message.getFieldWithDefault(msg, 2, ""),
config: (f = msg.getConfig()) && proto.hiddifyrpc.WarpWireguardConfig.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.hiddifyrpc.WarpGenerationResponse}
 */
proto.hiddifyrpc.WarpGenerationResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.hiddifyrpc.WarpGenerationResponse;
  return proto.hiddifyrpc.WarpGenerationResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.hiddifyrpc.WarpGenerationResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.hiddifyrpc.WarpGenerationResponse}
 */
proto.hiddifyrpc.WarpGenerationResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.hiddifyrpc.WarpAccount;
      reader.readMessage(value,proto.hiddifyrpc.WarpAccount.deserializeBinaryFromReader);
      msg.setAccount(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setLog(value);
      break;
    case 3:
      var value = new proto.hiddifyrpc.WarpWireguardConfig;
      reader.readMessage(value,proto.hiddifyrpc.WarpWireguardConfig.deserializeBinaryFromReader);
      msg.setConfig(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.hiddifyrpc.WarpGenerationResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.WarpGenerationResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getAccount();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.hiddifyrpc.WarpAccount.serializeBinaryToWriter
    );
  }
  f = message.getLog();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getConfig();
  if (f != null) {
    writer.writeMessage(
      3,
      f,
      proto.hiddifyrpc.WarpWireguardConfig.serializeBinaryToWriter
    );
  }
};


/**
 * optional WarpAccount account = 1;
 * @return {?proto.hiddifyrpc.WarpAccount}
 */
proto.hiddifyrpc.WarpGenerationResponse.prototype.getAccount = function() {
  return /** @type{?proto.hiddifyrpc.WarpAccount} */ (
    jspb.Message.getWrapperField(this, proto.hiddifyrpc.WarpAccount, 1));
};


/**
 * @param {?proto.hiddifyrpc.WarpAccount|undefined} value
 * @return {!proto.hiddifyrpc.WarpGenerationResponse} returns this
*/
proto.hiddifyrpc.WarpGenerationResponse.prototype.setAccount = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.hiddifyrpc.WarpGenerationResponse} returns this
 */
proto.hiddifyrpc.WarpGenerationResponse.prototype.clearAccount = function() {
  return this.setAccount(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.hiddifyrpc.WarpGenerationResponse.prototype.hasAccount = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional string log = 2;
 * @return {string}
 */
proto.hiddifyrpc.WarpGenerationResponse.prototype.getLog = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.WarpGenerationResponse} returns this
 */
proto.hiddifyrpc.WarpGenerationResponse.prototype.setLog = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional WarpWireguardConfig config = 3;
 * @return {?proto.hiddifyrpc.WarpWireguardConfig}
 */
proto.hiddifyrpc.WarpGenerationResponse.prototype.getConfig = function() {
  return /** @type{?proto.hiddifyrpc.WarpWireguardConfig} */ (
    jspb.Message.getWrapperField(this, proto.hiddifyrpc.WarpWireguardConfig, 3));
};


/**
 * @param {?proto.hiddifyrpc.WarpWireguardConfig|undefined} value
 * @return {!proto.hiddifyrpc.WarpGenerationResponse} returns this
*/
proto.hiddifyrpc.WarpGenerationResponse.prototype.setConfig = function(value) {
  return jspb.Message.setWrapperField(this, 3, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.hiddifyrpc.WarpGenerationResponse} returns this
 */
proto.hiddifyrpc.WarpGenerationResponse.prototype.clearConfig = function() {
  return this.setConfig(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.hiddifyrpc.WarpGenerationResponse.prototype.hasConfig = 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.hiddifyrpc.SystemProxyStatus.prototype.toObject = function(opt_includeInstance) {
  return proto.hiddifyrpc.SystemProxyStatus.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.hiddifyrpc.SystemProxyStatus} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.SystemProxyStatus.toObject = function(includeInstance, msg) {
  var f, obj = {
available: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),
enabled: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.hiddifyrpc.SystemProxyStatus} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.hiddifyrpc.SystemProxyStatus}
 */
proto.hiddifyrpc.SystemProxyStatus.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setAvailable(value);
      break;
    case 2:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setEnabled(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.hiddifyrpc.SystemProxyStatus} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.SystemProxyStatus.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getAvailable();
  if (f) {
    writer.writeBool(
      1,
      f
    );
  }
  f = message.getEnabled();
  if (f) {
    writer.writeBool(
      2,
      f
    );
  }
};


/**
 * optional bool available = 1;
 * @return {boolean}
 */
proto.hiddifyrpc.SystemProxyStatus.prototype.getAvailable = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
};


/**
 * @param {boolean} value
 * @return {!proto.hiddifyrpc.SystemProxyStatus} returns this
 */
proto.hiddifyrpc.SystemProxyStatus.prototype.setAvailable = function(value) {
  return jspb.Message.setProto3BooleanField(this, 1, value);
};


/**
 * optional bool enabled = 2;
 * @return {boolean}
 */
proto.hiddifyrpc.SystemProxyStatus.prototype.getEnabled = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
};


/**
 * @param {boolean} value
 * @return {!proto.hiddifyrpc.SystemProxyStatus} returns this
 */
proto.hiddifyrpc.SystemProxyStatus.prototype.setEnabled = function(value) {
  return jspb.Message.setProto3BooleanField(this, 2, value);
};





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.hiddifyrpc.ParseRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.hiddifyrpc.ParseRequest.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.hiddifyrpc.ParseRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.ParseRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
content: jspb.Message.getFieldWithDefault(msg, 1, ""),
configPath: jspb.Message.getFieldWithDefault(msg, 2, ""),
tempPath: jspb.Message.getFieldWithDefault(msg, 3, ""),
debug: jspb.Message.getBooleanFieldWithDefault(msg, 4, false)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.hiddifyrpc.ParseRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.hiddifyrpc.ParseRequest}
 */
proto.hiddifyrpc.ParseRequest.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.setContent(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setConfigPath(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setTempPath(value);
      break;
    case 4:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setDebug(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.hiddifyrpc.ParseRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.ParseRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getContent();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getConfigPath();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getTempPath();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getDebug();
  if (f) {
    writer.writeBool(
      4,
      f
    );
  }
};


/**
 * optional string content = 1;
 * @return {string}
 */
proto.hiddifyrpc.ParseRequest.prototype.getContent = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.ParseRequest} returns this
 */
proto.hiddifyrpc.ParseRequest.prototype.setContent = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string config_path = 2;
 * @return {string}
 */
proto.hiddifyrpc.ParseRequest.prototype.getConfigPath = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.ParseRequest} returns this
 */
proto.hiddifyrpc.ParseRequest.prototype.setConfigPath = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string temp_path = 3;
 * @return {string}
 */
proto.hiddifyrpc.ParseRequest.prototype.getTempPath = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.ParseRequest} returns this
 */
proto.hiddifyrpc.ParseRequest.prototype.setTempPath = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * optional bool debug = 4;
 * @return {boolean}
 */
proto.hiddifyrpc.ParseRequest.prototype.getDebug = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));
};


/**
 * @param {boolean} value
 * @return {!proto.hiddifyrpc.ParseRequest} returns this
 */
proto.hiddifyrpc.ParseRequest.prototype.setDebug = function(value) {
  return jspb.Message.setProto3BooleanField(this, 4, value);
};





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.hiddifyrpc.ParseResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.hiddifyrpc.ParseResponse.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.hiddifyrpc.ParseResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.ParseResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
responseCode: jspb.Message.getFieldWithDefault(msg, 1, 0),
content: jspb.Message.getFieldWithDefault(msg, 2, ""),
message: jspb.Message.getFieldWithDefault(msg, 3, "")
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.hiddifyrpc.ParseResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.hiddifyrpc.ParseResponse}
 */
proto.hiddifyrpc.ParseResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {!proto.hiddifyrpc.ResponseCode} */ (reader.readEnum());
      msg.setResponseCode(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setContent(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setMessage(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.hiddifyrpc.ParseResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.ParseResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getResponseCode();
  if (f !== 0.0) {
    writer.writeEnum(
      1,
      f
    );
  }
  f = message.getContent();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getMessage();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
};


/**
 * optional ResponseCode response_code = 1;
 * @return {!proto.hiddifyrpc.ResponseCode}
 */
proto.hiddifyrpc.ParseResponse.prototype.getResponseCode = function() {
  return /** @type {!proto.hiddifyrpc.ResponseCode} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {!proto.hiddifyrpc.ResponseCode} value
 * @return {!proto.hiddifyrpc.ParseResponse} returns this
 */
proto.hiddifyrpc.ParseResponse.prototype.setResponseCode = function(value) {
  return jspb.Message.setProto3EnumField(this, 1, value);
};


/**
 * optional string content = 2;
 * @return {string}
 */
proto.hiddifyrpc.ParseResponse.prototype.getContent = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.ParseResponse} returns this
 */
proto.hiddifyrpc.ParseResponse.prototype.setContent = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string message = 3;
 * @return {string}
 */
proto.hiddifyrpc.ParseResponse.prototype.getMessage = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.ParseResponse} returns this
 */
proto.hiddifyrpc.ParseResponse.prototype.setMessage = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};





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.hiddifyrpc.ChangeHiddifySettingsRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.hiddifyrpc.ChangeHiddifySettingsRequest.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.hiddifyrpc.ChangeHiddifySettingsRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.ChangeHiddifySettingsRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
hiddifySettingsJson: jspb.Message.getFieldWithDefault(msg, 1, "")
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.hiddifyrpc.ChangeHiddifySettingsRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.hiddifyrpc.ChangeHiddifySettingsRequest}
 */
proto.hiddifyrpc.ChangeHiddifySettingsRequest.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.setHiddifySettingsJson(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.hiddifyrpc.ChangeHiddifySettingsRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.ChangeHiddifySettingsRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getHiddifySettingsJson();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string hiddify_settings_json = 1;
 * @return {string}
 */
proto.hiddifyrpc.ChangeHiddifySettingsRequest.prototype.getHiddifySettingsJson = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.ChangeHiddifySettingsRequest} returns this
 */
proto.hiddifyrpc.ChangeHiddifySettingsRequest.prototype.setHiddifySettingsJson = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};





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.hiddifyrpc.GenerateConfigRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.hiddifyrpc.GenerateConfigRequest.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.hiddifyrpc.GenerateConfigRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.GenerateConfigRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
path: jspb.Message.getFieldWithDefault(msg, 1, ""),
tempPath: jspb.Message.getFieldWithDefault(msg, 2, ""),
debug: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.hiddifyrpc.GenerateConfigRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.hiddifyrpc.GenerateConfigRequest}
 */
proto.hiddifyrpc.GenerateConfigRequest.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.setPath(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setTempPath(value);
      break;
    case 3:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setDebug(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.hiddifyrpc.GenerateConfigRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.GenerateConfigRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getPath();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getTempPath();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getDebug();
  if (f) {
    writer.writeBool(
      3,
      f
    );
  }
};


/**
 * optional string path = 1;
 * @return {string}
 */
proto.hiddifyrpc.GenerateConfigRequest.prototype.getPath = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.GenerateConfigRequest} returns this
 */
proto.hiddifyrpc.GenerateConfigRequest.prototype.setPath = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string temp_path = 2;
 * @return {string}
 */
proto.hiddifyrpc.GenerateConfigRequest.prototype.getTempPath = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.GenerateConfigRequest} returns this
 */
proto.hiddifyrpc.GenerateConfigRequest.prototype.setTempPath = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional bool debug = 3;
 * @return {boolean}
 */
proto.hiddifyrpc.GenerateConfigRequest.prototype.getDebug = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
};


/**
 * @param {boolean} value
 * @return {!proto.hiddifyrpc.GenerateConfigRequest} returns this
 */
proto.hiddifyrpc.GenerateConfigRequest.prototype.setDebug = function(value) {
  return jspb.Message.setProto3BooleanField(this, 3, value);
};





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.hiddifyrpc.GenerateConfigResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.hiddifyrpc.GenerateConfigResponse.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.hiddifyrpc.GenerateConfigResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.GenerateConfigResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
configContent: jspb.Message.getFieldWithDefault(msg, 1, "")
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.hiddifyrpc.GenerateConfigResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.hiddifyrpc.GenerateConfigResponse}
 */
proto.hiddifyrpc.GenerateConfigResponse.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.setConfigContent(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.hiddifyrpc.GenerateConfigResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.GenerateConfigResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getConfigContent();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string config_content = 1;
 * @return {string}
 */
proto.hiddifyrpc.GenerateConfigResponse.prototype.getConfigContent = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.GenerateConfigResponse} returns this
 */
proto.hiddifyrpc.GenerateConfigResponse.prototype.setConfigContent = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};





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.hiddifyrpc.SelectOutboundRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.hiddifyrpc.SelectOutboundRequest.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.hiddifyrpc.SelectOutboundRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.SelectOutboundRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
groupTag: jspb.Message.getFieldWithDefault(msg, 1, ""),
outboundTag: jspb.Message.getFieldWithDefault(msg, 2, "")
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.hiddifyrpc.SelectOutboundRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.hiddifyrpc.SelectOutboundRequest}
 */
proto.hiddifyrpc.SelectOutboundRequest.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.setGroupTag(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setOutboundTag(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.hiddifyrpc.SelectOutboundRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.SelectOutboundRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getGroupTag();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getOutboundTag();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional string group_tag = 1;
 * @return {string}
 */
proto.hiddifyrpc.SelectOutboundRequest.prototype.getGroupTag = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.SelectOutboundRequest} returns this
 */
proto.hiddifyrpc.SelectOutboundRequest.prototype.setGroupTag = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string outbound_tag = 2;
 * @return {string}
 */
proto.hiddifyrpc.SelectOutboundRequest.prototype.getOutboundTag = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.SelectOutboundRequest} returns this
 */
proto.hiddifyrpc.SelectOutboundRequest.prototype.setOutboundTag = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};





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.hiddifyrpc.UrlTestRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.hiddifyrpc.UrlTestRequest.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.hiddifyrpc.UrlTestRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.UrlTestRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
groupTag: jspb.Message.getFieldWithDefault(msg, 1, "")
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.hiddifyrpc.UrlTestRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.hiddifyrpc.UrlTestRequest}
 */
proto.hiddifyrpc.UrlTestRequest.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.setGroupTag(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.hiddifyrpc.UrlTestRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.UrlTestRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getGroupTag();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string group_tag = 1;
 * @return {string}
 */
proto.hiddifyrpc.UrlTestRequest.prototype.getGroupTag = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.UrlTestRequest} returns this
 */
proto.hiddifyrpc.UrlTestRequest.prototype.setGroupTag = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};





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.hiddifyrpc.GenerateWarpConfigRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.hiddifyrpc.GenerateWarpConfigRequest.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.hiddifyrpc.GenerateWarpConfigRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.GenerateWarpConfigRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
licenseKey: jspb.Message.getFieldWithDefault(msg, 1, ""),
accountId: jspb.Message.getFieldWithDefault(msg, 2, ""),
accessToken: jspb.Message.getFieldWithDefault(msg, 3, "")
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.hiddifyrpc.GenerateWarpConfigRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.hiddifyrpc.GenerateWarpConfigRequest}
 */
proto.hiddifyrpc.GenerateWarpConfigRequest.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.setLicenseKey(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setAccountId(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setAccessToken(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.hiddifyrpc.GenerateWarpConfigRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.GenerateWarpConfigRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getLicenseKey();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getAccountId();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getAccessToken();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
};


/**
 * optional string license_key = 1;
 * @return {string}
 */
proto.hiddifyrpc.GenerateWarpConfigRequest.prototype.getLicenseKey = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.GenerateWarpConfigRequest} returns this
 */
proto.hiddifyrpc.GenerateWarpConfigRequest.prototype.setLicenseKey = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string account_id = 2;
 * @return {string}
 */
proto.hiddifyrpc.GenerateWarpConfigRequest.prototype.getAccountId = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.GenerateWarpConfigRequest} returns this
 */
proto.hiddifyrpc.GenerateWarpConfigRequest.prototype.setAccountId = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string access_token = 3;
 * @return {string}
 */
proto.hiddifyrpc.GenerateWarpConfigRequest.prototype.getAccessToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.GenerateWarpConfigRequest} returns this
 */
proto.hiddifyrpc.GenerateWarpConfigRequest.prototype.setAccessToken = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};





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.hiddifyrpc.SetSystemProxyEnabledRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.hiddifyrpc.SetSystemProxyEnabledRequest.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.hiddifyrpc.SetSystemProxyEnabledRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.SetSystemProxyEnabledRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
isEnabled: jspb.Message.getBooleanFieldWithDefault(msg, 1, false)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.hiddifyrpc.SetSystemProxyEnabledRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.hiddifyrpc.SetSystemProxyEnabledRequest}
 */
proto.hiddifyrpc.SetSystemProxyEnabledRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setIsEnabled(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.hiddifyrpc.SetSystemProxyEnabledRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.SetSystemProxyEnabledRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getIsEnabled();
  if (f) {
    writer.writeBool(
      1,
      f
    );
  }
};


/**
 * optional bool is_enabled = 1;
 * @return {boolean}
 */
proto.hiddifyrpc.SetSystemProxyEnabledRequest.prototype.getIsEnabled = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
};


/**
 * @param {boolean} value
 * @return {!proto.hiddifyrpc.SetSystemProxyEnabledRequest} returns this
 */
proto.hiddifyrpc.SetSystemProxyEnabledRequest.prototype.setIsEnabled = function(value) {
  return jspb.Message.setProto3BooleanField(this, 1, value);
};





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.hiddifyrpc.LogMessage.prototype.toObject = function(opt_includeInstance) {
  return proto.hiddifyrpc.LogMessage.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.hiddifyrpc.LogMessage} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.LogMessage.toObject = function(includeInstance, msg) {
  var f, obj = {
level: jspb.Message.getFieldWithDefault(msg, 1, 0),
type: jspb.Message.getFieldWithDefault(msg, 2, 0),
message: jspb.Message.getFieldWithDefault(msg, 3, "")
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.hiddifyrpc.LogMessage} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.hiddifyrpc.LogMessage}
 */
proto.hiddifyrpc.LogMessage.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {!proto.hiddifyrpc.LogLevel} */ (reader.readEnum());
      msg.setLevel(value);
      break;
    case 2:
      var value = /** @type {!proto.hiddifyrpc.LogType} */ (reader.readEnum());
      msg.setType(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setMessage(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.hiddifyrpc.LogMessage} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.LogMessage.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getLevel();
  if (f !== 0.0) {
    writer.writeEnum(
      1,
      f
    );
  }
  f = message.getType();
  if (f !== 0.0) {
    writer.writeEnum(
      2,
      f
    );
  }
  f = message.getMessage();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
};


/**
 * optional LogLevel level = 1;
 * @return {!proto.hiddifyrpc.LogLevel}
 */
proto.hiddifyrpc.LogMessage.prototype.getLevel = function() {
  return /** @type {!proto.hiddifyrpc.LogLevel} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {!proto.hiddifyrpc.LogLevel} value
 * @return {!proto.hiddifyrpc.LogMessage} returns this
 */
proto.hiddifyrpc.LogMessage.prototype.setLevel = function(value) {
  return jspb.Message.setProto3EnumField(this, 1, value);
};


/**
 * optional LogType type = 2;
 * @return {!proto.hiddifyrpc.LogType}
 */
proto.hiddifyrpc.LogMessage.prototype.getType = function() {
  return /** @type {!proto.hiddifyrpc.LogType} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/**
 * @param {!proto.hiddifyrpc.LogType} value
 * @return {!proto.hiddifyrpc.LogMessage} returns this
 */
proto.hiddifyrpc.LogMessage.prototype.setType = function(value) {
  return jspb.Message.setProto3EnumField(this, 2, value);
};


/**
 * optional string message = 3;
 * @return {string}
 */
proto.hiddifyrpc.LogMessage.prototype.getMessage = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.LogMessage} returns this
 */
proto.hiddifyrpc.LogMessage.prototype.setMessage = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};





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.hiddifyrpc.StopRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.hiddifyrpc.StopRequest.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.hiddifyrpc.StopRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.StopRequest.toObject = function(includeInstance, msg) {
  var f, obj = {

  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.hiddifyrpc.StopRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.hiddifyrpc.StopRequest}
 */
proto.hiddifyrpc.StopRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.hiddifyrpc.StopRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.StopRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
};





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.hiddifyrpc.TunnelStartRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.hiddifyrpc.TunnelStartRequest.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.hiddifyrpc.TunnelStartRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.TunnelStartRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
ipv6: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),
serverPort: jspb.Message.getFieldWithDefault(msg, 2, 0),
strictRoute: jspb.Message.getBooleanFieldWithDefault(msg, 3, false),
endpointIndependentNat: jspb.Message.getBooleanFieldWithDefault(msg, 4, false),
stack: jspb.Message.getFieldWithDefault(msg, 5, "")
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.hiddifyrpc.TunnelStartRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.hiddifyrpc.TunnelStartRequest}
 */
proto.hiddifyrpc.TunnelStartRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setIpv6(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setServerPort(value);
      break;
    case 3:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setStrictRoute(value);
      break;
    case 4:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setEndpointIndependentNat(value);
      break;
    case 5:
      var value = /** @type {string} */ (reader.readString());
      msg.setStack(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.hiddifyrpc.TunnelStartRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.TunnelStartRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getIpv6();
  if (f) {
    writer.writeBool(
      1,
      f
    );
  }
  f = message.getServerPort();
  if (f !== 0) {
    writer.writeInt32(
      2,
      f
    );
  }
  f = message.getStrictRoute();
  if (f) {
    writer.writeBool(
      3,
      f
    );
  }
  f = message.getEndpointIndependentNat();
  if (f) {
    writer.writeBool(
      4,
      f
    );
  }
  f = message.getStack();
  if (f.length > 0) {
    writer.writeString(
      5,
      f
    );
  }
};


/**
 * optional bool ipv6 = 1;
 * @return {boolean}
 */
proto.hiddifyrpc.TunnelStartRequest.prototype.getIpv6 = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
};


/**
 * @param {boolean} value
 * @return {!proto.hiddifyrpc.TunnelStartRequest} returns this
 */
proto.hiddifyrpc.TunnelStartRequest.prototype.setIpv6 = function(value) {
  return jspb.Message.setProto3BooleanField(this, 1, value);
};


/**
 * optional int32 server_port = 2;
 * @return {number}
 */
proto.hiddifyrpc.TunnelStartRequest.prototype.getServerPort = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/**
 * @param {number} value
 * @return {!proto.hiddifyrpc.TunnelStartRequest} returns this
 */
proto.hiddifyrpc.TunnelStartRequest.prototype.setServerPort = function(value) {
  return jspb.Message.setProto3IntField(this, 2, value);
};


/**
 * optional bool strict_route = 3;
 * @return {boolean}
 */
proto.hiddifyrpc.TunnelStartRequest.prototype.getStrictRoute = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
};


/**
 * @param {boolean} value
 * @return {!proto.hiddifyrpc.TunnelStartRequest} returns this
 */
proto.hiddifyrpc.TunnelStartRequest.prototype.setStrictRoute = function(value) {
  return jspb.Message.setProto3BooleanField(this, 3, value);
};


/**
 * optional bool endpoint_independent_nat = 4;
 * @return {boolean}
 */
proto.hiddifyrpc.TunnelStartRequest.prototype.getEndpointIndependentNat = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));
};


/**
 * @param {boolean} value
 * @return {!proto.hiddifyrpc.TunnelStartRequest} returns this
 */
proto.hiddifyrpc.TunnelStartRequest.prototype.setEndpointIndependentNat = function(value) {
  return jspb.Message.setProto3BooleanField(this, 4, value);
};


/**
 * optional string stack = 5;
 * @return {string}
 */
proto.hiddifyrpc.TunnelStartRequest.prototype.getStack = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.TunnelStartRequest} returns this
 */
proto.hiddifyrpc.TunnelStartRequest.prototype.setStack = function(value) {
  return jspb.Message.setProto3StringField(this, 5, value);
};





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.hiddifyrpc.TunnelResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.hiddifyrpc.TunnelResponse.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.hiddifyrpc.TunnelResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.TunnelResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
message: jspb.Message.getFieldWithDefault(msg, 1, "")
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.hiddifyrpc.TunnelResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.hiddifyrpc.TunnelResponse}
 */
proto.hiddifyrpc.TunnelResponse.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.setMessage(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.hiddifyrpc.TunnelResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.hiddifyrpc.TunnelResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getMessage();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string message = 1;
 * @return {string}
 */
proto.hiddifyrpc.TunnelResponse.prototype.getMessage = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.hiddifyrpc.TunnelResponse} returns this
 */
proto.hiddifyrpc.TunnelResponse.prototype.setMessage = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * @enum {number}
 */
proto.hiddifyrpc.CoreState = {
  STOPPED: 0,
  STARTING: 1,
  STARTED: 2,
  STOPPING: 3
};

/**
 * @enum {number}
 */
proto.hiddifyrpc.MessageType = {
  EMPTY: 0,
  EMPTY_CONFIGURATION: 1,
  START_COMMAND_SERVER: 2,
  CREATE_SERVICE: 3,
  START_SERVICE: 4,
  UNEXPECTED_ERROR: 5,
  ALREADY_STARTED: 6,
  ALREADY_STOPPED: 7,
  INSTANCE_NOT_FOUND: 8,
  INSTANCE_NOT_STOPPED: 9,
  INSTANCE_NOT_STARTED: 10,
  ERROR_BUILDING_CONFIG: 11,
  ERROR_PARSING_CONFIG: 12,
  ERROR_READING_CONFIG: 13
};

/**
 * @enum {number}
 */
proto.hiddifyrpc.LogLevel = {
  DEBUG: 0,
  INFO: 1,
  WARNING: 2,
  ERROR: 3,
  FATAL: 4
};

/**
 * @enum {number}
 */
proto.hiddifyrpc.LogType = {
  CORE: 0,
  SERVICE: 1,
  CONFIG: 2
};

goog.object.extend(exports, proto.hiddifyrpc);
