/**
 * Autogenerated by Thrift Compiler (0.15.0)
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated
 */
package org.thrift.scs.client;


import javax.validation.constraints.NotNull;

@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.15.0)", date = "2021-10-23")
public class ScsService {

  public interface Iface {

    public java.lang.String calc(@NotNull java.lang.String op, double arg1, double arg2) throws org.apache.thrift.TException;

    public java.lang.String cookie(@NotNull java.lang.String name, java.lang.String val, java.lang.String site) throws org.apache.thrift.TException;

    public java.lang.String costfuns(int i, @NotNull java.lang.String s) throws org.apache.thrift.TException;

    public java.lang.String dateParse(@NotNull java.lang.String dayname, @NotNull java.lang.String monthname) throws org.apache.thrift.TException;

    public java.lang.String fileSuffix(@NotNull java.lang.String directory, @NotNull java.lang.String file) throws org.apache.thrift.TException;

    public java.lang.String notyPevar(int i, @NotNull java.lang.String s) throws org.apache.thrift.TException;

    public java.lang.String ordered4(@NotNull java.lang.String w, @NotNull java.lang.String x, @NotNull java.lang.String z, @NotNull java.lang.String y) throws org.apache.thrift.TException;

    public java.lang.String pat(@NotNull java.lang.String txt, @NotNull java.lang.String pat) throws org.apache.thrift.TException;

    public java.lang.String regex(@NotNull java.lang.String txt) throws org.apache.thrift.TException;

    public java.lang.String text2txt(@NotNull java.lang.String word1, @NotNull java.lang.String word2, @NotNull java.lang.String word3) throws org.apache.thrift.TException;

    public java.lang.String title(@NotNull java.lang.String sex, @NotNull java.lang.String title) throws org.apache.thrift.TException;

  }

  public interface AsyncIface {

    public void calc(java.lang.String op, double arg1, double arg2, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;

    public void cookie(java.lang.String name, java.lang.String val, java.lang.String site, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;

    public void costfuns(int i, java.lang.String s, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;

    public void dateParse(java.lang.String dayname, java.lang.String monthname, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;

    public void fileSuffix(java.lang.String directory, java.lang.String file, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;

    public void notyPevar(int i, java.lang.String s, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;

    public void ordered4(java.lang.String w, java.lang.String x, java.lang.String z, java.lang.String y, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;

    public void pat(java.lang.String txt, java.lang.String pat, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;

    public void regex(java.lang.String txt, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;

    public void text2txt(java.lang.String word1, java.lang.String word2, java.lang.String word3, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;

    public void title(java.lang.String sex, java.lang.String title, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;

  }

  public static class Client extends org.apache.thrift.TServiceClient implements Iface {
    public static class Factory implements org.apache.thrift.TServiceClientFactory<Client> {
      public Factory() {}
      public Client getClient(org.apache.thrift.protocol.TProtocol prot) {
        return new Client(prot);
      }
      public Client getClient(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
        return new Client(iprot, oprot);
      }
    }

    public Client(org.apache.thrift.protocol.TProtocol prot)
    {
      super(prot, prot);
    }

    public Client(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
      super(iprot, oprot);
    }

    public java.lang.String calc(java.lang.String op, double arg1, double arg2) throws org.apache.thrift.TException
    {
      send_calc(op, arg1, arg2);
      return recv_calc();
    }

    public void send_calc(java.lang.String op, double arg1, double arg2) throws org.apache.thrift.TException
    {
      calc_args args = new calc_args();
      args.setOp(op);
      args.setArg1(arg1);
      args.setArg2(arg2);
      sendBase("calc", args);
    }

    public java.lang.String recv_calc() throws org.apache.thrift.TException
    {
      calc_result result = new calc_result();
      receiveBase(result, "calc");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "calc failed: unknown result");
    }

    public java.lang.String cookie(java.lang.String name, java.lang.String val, java.lang.String site) throws org.apache.thrift.TException
    {
      send_cookie(name, val, site);
      return recv_cookie();
    }

    public void send_cookie(java.lang.String name, java.lang.String val, java.lang.String site) throws org.apache.thrift.TException
    {
      cookie_args args = new cookie_args();
      args.setName(name);
      args.setVal(val);
      args.setSite(site);
      sendBase("cookie", args);
    }

    public java.lang.String recv_cookie() throws org.apache.thrift.TException
    {
      cookie_result result = new cookie_result();
      receiveBase(result, "cookie");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "cookie failed: unknown result");
    }

    public java.lang.String costfuns(int i, java.lang.String s) throws org.apache.thrift.TException
    {
      send_costfuns(i, s);
      return recv_costfuns();
    }

    public void send_costfuns(int i, java.lang.String s) throws org.apache.thrift.TException
    {
      costfuns_args args = new costfuns_args();
      args.setI(i);
      args.setS(s);
      sendBase("costfuns", args);
    }

    public java.lang.String recv_costfuns() throws org.apache.thrift.TException
    {
      costfuns_result result = new costfuns_result();
      receiveBase(result, "costfuns");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "costfuns failed: unknown result");
    }

    public java.lang.String dateParse(java.lang.String dayname, java.lang.String monthname) throws org.apache.thrift.TException
    {
      send_dateParse(dayname, monthname);
      return recv_dateParse();
    }

    public void send_dateParse(java.lang.String dayname, java.lang.String monthname) throws org.apache.thrift.TException
    {
      dateParse_args args = new dateParse_args();
      args.setDayname(dayname);
      args.setMonthname(monthname);
      sendBase("dateParse", args);
    }

    public java.lang.String recv_dateParse() throws org.apache.thrift.TException
    {
      dateParse_result result = new dateParse_result();
      receiveBase(result, "dateParse");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "dateParse failed: unknown result");
    }

    public java.lang.String fileSuffix(java.lang.String directory, java.lang.String file) throws org.apache.thrift.TException
    {
      send_fileSuffix(directory, file);
      return recv_fileSuffix();
    }

    public void send_fileSuffix(java.lang.String directory, java.lang.String file) throws org.apache.thrift.TException
    {
      fileSuffix_args args = new fileSuffix_args();
      args.setDirectory(directory);
      args.setFile(file);
      sendBase("fileSuffix", args);
    }

    public java.lang.String recv_fileSuffix() throws org.apache.thrift.TException
    {
      fileSuffix_result result = new fileSuffix_result();
      receiveBase(result, "fileSuffix");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "fileSuffix failed: unknown result");
    }

    public java.lang.String notyPevar(int i, java.lang.String s) throws org.apache.thrift.TException
    {
      send_notyPevar(i, s);
      return recv_notyPevar();
    }

    public void send_notyPevar(int i, java.lang.String s) throws org.apache.thrift.TException
    {
      notyPevar_args args = new notyPevar_args();
      args.setI(i);
      args.setS(s);
      sendBase("notyPevar", args);
    }

    public java.lang.String recv_notyPevar() throws org.apache.thrift.TException
    {
      notyPevar_result result = new notyPevar_result();
      receiveBase(result, "notyPevar");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "notyPevar failed: unknown result");
    }

    public java.lang.String ordered4(java.lang.String w, java.lang.String x, java.lang.String z, java.lang.String y) throws org.apache.thrift.TException
    {
      send_ordered4(w, x, z, y);
      return recv_ordered4();
    }

    public void send_ordered4(java.lang.String w, java.lang.String x, java.lang.String z, java.lang.String y) throws org.apache.thrift.TException
    {
      ordered4_args args = new ordered4_args();
      args.setW(w);
      args.setX(x);
      args.setZ(z);
      args.setY(y);
      sendBase("ordered4", args);
    }

    public java.lang.String recv_ordered4() throws org.apache.thrift.TException
    {
      ordered4_result result = new ordered4_result();
      receiveBase(result, "ordered4");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "ordered4 failed: unknown result");
    }

    public java.lang.String pat(java.lang.String txt, java.lang.String pat) throws org.apache.thrift.TException
    {
      send_pat(txt, pat);
      return recv_pat();
    }

    public void send_pat(java.lang.String txt, java.lang.String pat) throws org.apache.thrift.TException
    {
      pat_args args = new pat_args();
      args.setTxt(txt);
      args.setPat(pat);
      sendBase("pat", args);
    }

    public java.lang.String recv_pat() throws org.apache.thrift.TException
    {
      pat_result result = new pat_result();
      receiveBase(result, "pat");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "pat failed: unknown result");
    }

    public java.lang.String regex(java.lang.String txt) throws org.apache.thrift.TException
    {
      send_regex(txt);
      return recv_regex();
    }

    public void send_regex(java.lang.String txt) throws org.apache.thrift.TException
    {
      regex_args args = new regex_args();
      args.setTxt(txt);
      sendBase("regex", args);
    }

    public java.lang.String recv_regex() throws org.apache.thrift.TException
    {
      regex_result result = new regex_result();
      receiveBase(result, "regex");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "regex failed: unknown result");
    }

    public java.lang.String text2txt(java.lang.String word1, java.lang.String word2, java.lang.String word3) throws org.apache.thrift.TException
    {
      send_text2txt(word1, word2, word3);
      return recv_text2txt();
    }

    public void send_text2txt(java.lang.String word1, java.lang.String word2, java.lang.String word3) throws org.apache.thrift.TException
    {
      text2txt_args args = new text2txt_args();
      args.setWord1(word1);
      args.setWord2(word2);
      args.setWord3(word3);
      sendBase("text2txt", args);
    }

    public java.lang.String recv_text2txt() throws org.apache.thrift.TException
    {
      text2txt_result result = new text2txt_result();
      receiveBase(result, "text2txt");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "text2txt failed: unknown result");
    }

    public java.lang.String title(java.lang.String sex, java.lang.String title) throws org.apache.thrift.TException
    {
      send_title(sex, title);
      return recv_title();
    }

    public void send_title(java.lang.String sex, java.lang.String title) throws org.apache.thrift.TException
    {
      title_args args = new title_args();
      args.setSex(sex);
      args.setTitle(title);
      sendBase("title", args);
    }

    public java.lang.String recv_title() throws org.apache.thrift.TException
    {
      title_result result = new title_result();
      receiveBase(result, "title");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "title failed: unknown result");
    }

  }
  public static class AsyncClient extends org.apache.thrift.async.TAsyncClient implements AsyncIface {
    public static class Factory implements org.apache.thrift.async.TAsyncClientFactory<AsyncClient> {
      private org.apache.thrift.async.TAsyncClientManager clientManager;
      private org.apache.thrift.protocol.TProtocolFactory protocolFactory;
      public Factory(org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.protocol.TProtocolFactory protocolFactory) {
        this.clientManager = clientManager;
        this.protocolFactory = protocolFactory;
      }
      public AsyncClient getAsyncClient(org.apache.thrift.transport.TNonblockingTransport transport) {
        return new AsyncClient(protocolFactory, clientManager, transport);
      }
    }

    public AsyncClient(org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.transport.TNonblockingTransport transport) {
      super(protocolFactory, clientManager, transport);
    }

    public void calc(java.lang.String op, double arg1, double arg2, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      calc_call method_call = new calc_call(op, arg1, arg2, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class calc_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.String> {
      private java.lang.String op;
      private double arg1;
      private double arg2;
      public calc_call(java.lang.String op, double arg1, double arg2, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.op = op;
        this.arg1 = arg1;
        this.arg2 = arg2;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("calc", org.apache.thrift.protocol.TMessageType.CALL, 0));
        calc_args args = new calc_args();
        args.setOp(op);
        args.setArg1(arg1);
        args.setArg2(arg2);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public java.lang.String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_calc();
      }
    }

    public void cookie(java.lang.String name, java.lang.String val, java.lang.String site, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      cookie_call method_call = new cookie_call(name, val, site, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class cookie_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.String> {
      private java.lang.String name;
      private java.lang.String val;
      private java.lang.String site;
      public cookie_call(java.lang.String name, java.lang.String val, java.lang.String site, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.name = name;
        this.val = val;
        this.site = site;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("cookie", org.apache.thrift.protocol.TMessageType.CALL, 0));
        cookie_args args = new cookie_args();
        args.setName(name);
        args.setVal(val);
        args.setSite(site);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public java.lang.String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_cookie();
      }
    }

    public void costfuns(int i, java.lang.String s, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      costfuns_call method_call = new costfuns_call(i, s, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class costfuns_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.String> {
      private int i;
      private java.lang.String s;
      public costfuns_call(int i, java.lang.String s, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.i = i;
        this.s = s;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("costfuns", org.apache.thrift.protocol.TMessageType.CALL, 0));
        costfuns_args args = new costfuns_args();
        args.setI(i);
        args.setS(s);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public java.lang.String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_costfuns();
      }
    }

    public void dateParse(java.lang.String dayname, java.lang.String monthname, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      dateParse_call method_call = new dateParse_call(dayname, monthname, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class dateParse_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.String> {
      private java.lang.String dayname;
      private java.lang.String monthname;
      public dateParse_call(java.lang.String dayname, java.lang.String monthname, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.dayname = dayname;
        this.monthname = monthname;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("dateParse", org.apache.thrift.protocol.TMessageType.CALL, 0));
        dateParse_args args = new dateParse_args();
        args.setDayname(dayname);
        args.setMonthname(monthname);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public java.lang.String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_dateParse();
      }
    }

    public void fileSuffix(java.lang.String directory, java.lang.String file, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      fileSuffix_call method_call = new fileSuffix_call(directory, file, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class fileSuffix_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.String> {
      private java.lang.String directory;
      private java.lang.String file;
      public fileSuffix_call(java.lang.String directory, java.lang.String file, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.directory = directory;
        this.file = file;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("fileSuffix", org.apache.thrift.protocol.TMessageType.CALL, 0));
        fileSuffix_args args = new fileSuffix_args();
        args.setDirectory(directory);
        args.setFile(file);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public java.lang.String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_fileSuffix();
      }
    }

    public void notyPevar(int i, java.lang.String s, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      notyPevar_call method_call = new notyPevar_call(i, s, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class notyPevar_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.String> {
      private int i;
      private java.lang.String s;
      public notyPevar_call(int i, java.lang.String s, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.i = i;
        this.s = s;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("notyPevar", org.apache.thrift.protocol.TMessageType.CALL, 0));
        notyPevar_args args = new notyPevar_args();
        args.setI(i);
        args.setS(s);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public java.lang.String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_notyPevar();
      }
    }

    public void ordered4(java.lang.String w, java.lang.String x, java.lang.String z, java.lang.String y, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      ordered4_call method_call = new ordered4_call(w, x, z, y, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class ordered4_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.String> {
      private java.lang.String w;
      private java.lang.String x;
      private java.lang.String z;
      private java.lang.String y;
      public ordered4_call(java.lang.String w, java.lang.String x, java.lang.String z, java.lang.String y, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.w = w;
        this.x = x;
        this.z = z;
        this.y = y;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("ordered4", org.apache.thrift.protocol.TMessageType.CALL, 0));
        ordered4_args args = new ordered4_args();
        args.setW(w);
        args.setX(x);
        args.setZ(z);
        args.setY(y);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public java.lang.String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_ordered4();
      }
    }

    public void pat(java.lang.String txt, java.lang.String pat, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      pat_call method_call = new pat_call(txt, pat, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class pat_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.String> {
      private java.lang.String txt;
      private java.lang.String pat;
      public pat_call(java.lang.String txt, java.lang.String pat, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.txt = txt;
        this.pat = pat;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("pat", org.apache.thrift.protocol.TMessageType.CALL, 0));
        pat_args args = new pat_args();
        args.setTxt(txt);
        args.setPat(pat);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public java.lang.String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_pat();
      }
    }

    public void regex(java.lang.String txt, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      regex_call method_call = new regex_call(txt, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class regex_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.String> {
      private java.lang.String txt;
      public regex_call(java.lang.String txt, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.txt = txt;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("regex", org.apache.thrift.protocol.TMessageType.CALL, 0));
        regex_args args = new regex_args();
        args.setTxt(txt);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public java.lang.String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_regex();
      }
    }

    public void text2txt(java.lang.String word1, java.lang.String word2, java.lang.String word3, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      text2txt_call method_call = new text2txt_call(word1, word2, word3, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class text2txt_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.String> {
      private java.lang.String word1;
      private java.lang.String word2;
      private java.lang.String word3;
      public text2txt_call(java.lang.String word1, java.lang.String word2, java.lang.String word3, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.word1 = word1;
        this.word2 = word2;
        this.word3 = word3;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("text2txt", org.apache.thrift.protocol.TMessageType.CALL, 0));
        text2txt_args args = new text2txt_args();
        args.setWord1(word1);
        args.setWord2(word2);
        args.setWord3(word3);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public java.lang.String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_text2txt();
      }
    }

    public void title(java.lang.String sex, java.lang.String title, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      title_call method_call = new title_call(sex, title, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class title_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.String> {
      private java.lang.String sex;
      private java.lang.String title;
      public title_call(java.lang.String sex, java.lang.String title, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.sex = sex;
        this.title = title;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("title", org.apache.thrift.protocol.TMessageType.CALL, 0));
        title_args args = new title_args();
        args.setSex(sex);
        args.setTitle(title);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public java.lang.String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_title();
      }
    }

  }

  public static class Processor<I extends Iface> extends org.apache.thrift.TBaseProcessor<I> implements org.apache.thrift.TProcessor {
    private static final org.slf4j.Logger _LOGGER = org.slf4j.LoggerFactory.getLogger(Processor.class.getName());
    public Processor(I iface) {
      super(iface, getProcessMap(new java.util.HashMap<java.lang.String, org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>>()));
    }

    protected Processor(I iface, java.util.Map<java.lang.String, org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>> processMap) {
      super(iface, getProcessMap(processMap));
    }

    private static <I extends Iface> java.util.Map<java.lang.String,  org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>> getProcessMap(java.util.Map<java.lang.String, org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
      processMap.put("calc", new calc());
      processMap.put("cookie", new cookie());
      processMap.put("costfuns", new costfuns());
      processMap.put("dateParse", new dateParse());
      processMap.put("fileSuffix", new fileSuffix());
      processMap.put("notyPevar", new notyPevar());
      processMap.put("ordered4", new ordered4());
      processMap.put("pat", new pat());
      processMap.put("regex", new regex());
      processMap.put("text2txt", new text2txt());
      processMap.put("title", new title());
      return processMap;
    }

    public static class calc<I extends Iface> extends org.apache.thrift.ProcessFunction<I, calc_args> {
      public calc() {
        super("calc");
      }

      public calc_args getEmptyArgsInstance() {
        return new calc_args();
      }

      protected boolean isOneway() {
        return false;
      }

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      public calc_result getResult(I iface, calc_args args) throws org.apache.thrift.TException {
        calc_result result = new calc_result();
        result.success = iface.calc(args.op, args.arg1, args.arg2);
        return result;
      }
    }

    public static class cookie<I extends Iface> extends org.apache.thrift.ProcessFunction<I, cookie_args> {
      public cookie() {
        super("cookie");
      }

      public cookie_args getEmptyArgsInstance() {
        return new cookie_args();
      }

      protected boolean isOneway() {
        return false;
      }

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      public cookie_result getResult(I iface, cookie_args args) throws org.apache.thrift.TException {
        cookie_result result = new cookie_result();
        result.success = iface.cookie(args.name, args.val, args.site);
        return result;
      }
    }

    public static class costfuns<I extends Iface> extends org.apache.thrift.ProcessFunction<I, costfuns_args> {
      public costfuns() {
        super("costfuns");
      }

      public costfuns_args getEmptyArgsInstance() {
        return new costfuns_args();
      }

      protected boolean isOneway() {
        return false;
      }

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      public costfuns_result getResult(I iface, costfuns_args args) throws org.apache.thrift.TException {
        costfuns_result result = new costfuns_result();
        result.success = iface.costfuns(args.i, args.s);
        return result;
      }
    }

    public static class dateParse<I extends Iface> extends org.apache.thrift.ProcessFunction<I, dateParse_args> {
      public dateParse() {
        super("dateParse");
      }

      public dateParse_args getEmptyArgsInstance() {
        return new dateParse_args();
      }

      protected boolean isOneway() {
        return false;
      }

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      public dateParse_result getResult(I iface, dateParse_args args) throws org.apache.thrift.TException {
        dateParse_result result = new dateParse_result();
        result.success = iface.dateParse(args.dayname, args.monthname);
        return result;
      }
    }

    public static class fileSuffix<I extends Iface> extends org.apache.thrift.ProcessFunction<I, fileSuffix_args> {
      public fileSuffix() {
        super("fileSuffix");
      }

      public fileSuffix_args getEmptyArgsInstance() {
        return new fileSuffix_args();
      }

      protected boolean isOneway() {
        return false;
      }

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      public fileSuffix_result getResult(I iface, fileSuffix_args args) throws org.apache.thrift.TException {
        fileSuffix_result result = new fileSuffix_result();
        result.success = iface.fileSuffix(args.directory, args.file);
        return result;
      }
    }

    public static class notyPevar<I extends Iface> extends org.apache.thrift.ProcessFunction<I, notyPevar_args> {
      public notyPevar() {
        super("notyPevar");
      }

      public notyPevar_args getEmptyArgsInstance() {
        return new notyPevar_args();
      }

      protected boolean isOneway() {
        return false;
      }

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      public notyPevar_result getResult(I iface, notyPevar_args args) throws org.apache.thrift.TException {
        notyPevar_result result = new notyPevar_result();
        result.success = iface.notyPevar(args.i, args.s);
        return result;
      }
    }

    public static class ordered4<I extends Iface> extends org.apache.thrift.ProcessFunction<I, ordered4_args> {
      public ordered4() {
        super("ordered4");
      }

      public ordered4_args getEmptyArgsInstance() {
        return new ordered4_args();
      }

      protected boolean isOneway() {
        return false;
      }

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      public ordered4_result getResult(I iface, ordered4_args args) throws org.apache.thrift.TException {
        ordered4_result result = new ordered4_result();
        result.success = iface.ordered4(args.w, args.x, args.z, args.y);
        return result;
      }
    }

    public static class pat<I extends Iface> extends org.apache.thrift.ProcessFunction<I, pat_args> {
      public pat() {
        super("pat");
      }

      public pat_args getEmptyArgsInstance() {
        return new pat_args();
      }

      protected boolean isOneway() {
        return false;
      }

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      public pat_result getResult(I iface, pat_args args) throws org.apache.thrift.TException {
        pat_result result = new pat_result();
        result.success = iface.pat(args.txt, args.pat);
        return result;
      }
    }

    public static class regex<I extends Iface> extends org.apache.thrift.ProcessFunction<I, regex_args> {
      public regex() {
        super("regex");
      }

      public regex_args getEmptyArgsInstance() {
        return new regex_args();
      }

      protected boolean isOneway() {
        return false;
      }

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      public regex_result getResult(I iface, regex_args args) throws org.apache.thrift.TException {
        regex_result result = new regex_result();
        result.success = iface.regex(args.txt);
        return result;
      }
    }

    public static class text2txt<I extends Iface> extends org.apache.thrift.ProcessFunction<I, text2txt_args> {
      public text2txt() {
        super("text2txt");
      }

      public text2txt_args getEmptyArgsInstance() {
        return new text2txt_args();
      }

      protected boolean isOneway() {
        return false;
      }

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      public text2txt_result getResult(I iface, text2txt_args args) throws org.apache.thrift.TException {
        text2txt_result result = new text2txt_result();
        result.success = iface.text2txt(args.word1, args.word2, args.word3);
        return result;
      }
    }

    public static class title<I extends Iface> extends org.apache.thrift.ProcessFunction<I, title_args> {
      public title() {
        super("title");
      }

      public title_args getEmptyArgsInstance() {
        return new title_args();
      }

      protected boolean isOneway() {
        return false;
      }

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      public title_result getResult(I iface, title_args args) throws org.apache.thrift.TException {
        title_result result = new title_result();
        result.success = iface.title(args.sex, args.title);
        return result;
      }
    }

  }

  public static class AsyncProcessor<I extends AsyncIface> extends org.apache.thrift.TBaseAsyncProcessor<I> {
    private static final org.slf4j.Logger _LOGGER = org.slf4j.LoggerFactory.getLogger(AsyncProcessor.class.getName());
    public AsyncProcessor(I iface) {
      super(iface, getProcessMap(new java.util.HashMap<java.lang.String, org.apache.thrift.AsyncProcessFunction<I, ? extends org.apache.thrift.TBase, ?>>()));
    }

    protected AsyncProcessor(I iface, java.util.Map<java.lang.String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
      super(iface, getProcessMap(processMap));
    }

    private static <I extends AsyncIface> java.util.Map<java.lang.String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase,?>> getProcessMap(java.util.Map<java.lang.String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
      processMap.put("calc", new calc());
      processMap.put("cookie", new cookie());
      processMap.put("costfuns", new costfuns());
      processMap.put("dateParse", new dateParse());
      processMap.put("fileSuffix", new fileSuffix());
      processMap.put("notyPevar", new notyPevar());
      processMap.put("ordered4", new ordered4());
      processMap.put("pat", new pat());
      processMap.put("regex", new regex());
      processMap.put("text2txt", new text2txt());
      processMap.put("title", new title());
      return processMap;
    }

    public static class calc<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, calc_args, java.lang.String> {
      public calc() {
        super("calc");
      }

      public calc_args getEmptyArgsInstance() {
        return new calc_args();
      }

      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
          public void onComplete(java.lang.String o) {
            calc_result result = new calc_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TSerializable msg;
            calc_result result = new calc_result();
            if (e instanceof org.apache.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, calc_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
        iface.calc(args.op, args.arg1, args.arg2,resultHandler);
      }
    }

    public static class cookie<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, cookie_args, java.lang.String> {
      public cookie() {
        super("cookie");
      }

      public cookie_args getEmptyArgsInstance() {
        return new cookie_args();
      }

      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
          public void onComplete(java.lang.String o) {
            cookie_result result = new cookie_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TSerializable msg;
            cookie_result result = new cookie_result();
            if (e instanceof org.apache.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, cookie_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
        iface.cookie(args.name, args.val, args.site,resultHandler);
      }
    }

    public static class costfuns<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, costfuns_args, java.lang.String> {
      public costfuns() {
        super("costfuns");
      }

      public costfuns_args getEmptyArgsInstance() {
        return new costfuns_args();
      }

      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
          public void onComplete(java.lang.String o) {
            costfuns_result result = new costfuns_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TSerializable msg;
            costfuns_result result = new costfuns_result();
            if (e instanceof org.apache.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, costfuns_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
        iface.costfuns(args.i, args.s,resultHandler);
      }
    }

    public static class dateParse<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, dateParse_args, java.lang.String> {
      public dateParse() {
        super("dateParse");
      }

      public dateParse_args getEmptyArgsInstance() {
        return new dateParse_args();
      }

      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
          public void onComplete(java.lang.String o) {
            dateParse_result result = new dateParse_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TSerializable msg;
            dateParse_result result = new dateParse_result();
            if (e instanceof org.apache.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, dateParse_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
        iface.dateParse(args.dayname, args.monthname,resultHandler);
      }
    }

    public static class fileSuffix<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, fileSuffix_args, java.lang.String> {
      public fileSuffix() {
        super("fileSuffix");
      }

      public fileSuffix_args getEmptyArgsInstance() {
        return new fileSuffix_args();
      }

      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
          public void onComplete(java.lang.String o) {
            fileSuffix_result result = new fileSuffix_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TSerializable msg;
            fileSuffix_result result = new fileSuffix_result();
            if (e instanceof org.apache.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, fileSuffix_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
        iface.fileSuffix(args.directory, args.file,resultHandler);
      }
    }

    public static class notyPevar<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, notyPevar_args, java.lang.String> {
      public notyPevar() {
        super("notyPevar");
      }

      public notyPevar_args getEmptyArgsInstance() {
        return new notyPevar_args();
      }

      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
          public void onComplete(java.lang.String o) {
            notyPevar_result result = new notyPevar_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TSerializable msg;
            notyPevar_result result = new notyPevar_result();
            if (e instanceof org.apache.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, notyPevar_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
        iface.notyPevar(args.i, args.s,resultHandler);
      }
    }

    public static class ordered4<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, ordered4_args, java.lang.String> {
      public ordered4() {
        super("ordered4");
      }

      public ordered4_args getEmptyArgsInstance() {
        return new ordered4_args();
      }

      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
          public void onComplete(java.lang.String o) {
            ordered4_result result = new ordered4_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TSerializable msg;
            ordered4_result result = new ordered4_result();
            if (e instanceof org.apache.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, ordered4_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
        iface.ordered4(args.w, args.x, args.z, args.y,resultHandler);
      }
    }

    public static class pat<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, pat_args, java.lang.String> {
      public pat() {
        super("pat");
      }

      public pat_args getEmptyArgsInstance() {
        return new pat_args();
      }

      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
          public void onComplete(java.lang.String o) {
            pat_result result = new pat_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TSerializable msg;
            pat_result result = new pat_result();
            if (e instanceof org.apache.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, pat_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
        iface.pat(args.txt, args.pat,resultHandler);
      }
    }

    public static class regex<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, regex_args, java.lang.String> {
      public regex() {
        super("regex");
      }

      public regex_args getEmptyArgsInstance() {
        return new regex_args();
      }

      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
          public void onComplete(java.lang.String o) {
            regex_result result = new regex_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TSerializable msg;
            regex_result result = new regex_result();
            if (e instanceof org.apache.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, regex_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
        iface.regex(args.txt,resultHandler);
      }
    }

    public static class text2txt<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, text2txt_args, java.lang.String> {
      public text2txt() {
        super("text2txt");
      }

      public text2txt_args getEmptyArgsInstance() {
        return new text2txt_args();
      }

      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
          public void onComplete(java.lang.String o) {
            text2txt_result result = new text2txt_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TSerializable msg;
            text2txt_result result = new text2txt_result();
            if (e instanceof org.apache.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, text2txt_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
        iface.text2txt(args.word1, args.word2, args.word3,resultHandler);
      }
    }

    public static class title<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, title_args, java.lang.String> {
      public title() {
        super("title");
      }

      public title_args getEmptyArgsInstance() {
        return new title_args();
      }

      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
          public void onComplete(java.lang.String o) {
            title_result result = new title_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TSerializable msg;
            title_result result = new title_result();
            if (e instanceof org.apache.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, title_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
        iface.title(args.sex, args.title,resultHandler);
      }
    }

  }

  public static class calc_args implements org.apache.thrift.TBase<calc_args, calc_args._Fields>, java.io.Serializable, Cloneable, Comparable<calc_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("calc_args");

    private static final org.apache.thrift.protocol.TField OP_FIELD_DESC = new org.apache.thrift.protocol.TField("op", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField ARG1_FIELD_DESC = new org.apache.thrift.protocol.TField("arg1", org.apache.thrift.protocol.TType.DOUBLE, (short)2);
    private static final org.apache.thrift.protocol.TField ARG2_FIELD_DESC = new org.apache.thrift.protocol.TField("arg2", org.apache.thrift.protocol.TType.DOUBLE, (short)3);

    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new calc_argsStandardSchemeFactory();
    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new calc_argsTupleSchemeFactory();

    public @org.apache.thrift.annotation.Nullable java.lang.String op; // required
    public double arg1; // required
    public double arg2; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      OP((short)1, "op"),
      ARG1((short)2, "arg1"),
      ARG2((short)3, "arg2");

      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();

      static {
        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // OP
            return OP;
          case 2: // ARG1
            return ARG1;
          case 3: // ARG2
            return ARG2;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ARG1_ISSET_ID = 0;
    private static final int __ARG2_ISSET_ID = 1;
    private byte __isset_bitfield = 0;
    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.OP, new org.apache.thrift.meta_data.FieldMetaData("op", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.ARG1, new org.apache.thrift.meta_data.FieldMetaData("arg1", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
      tmpMap.put(_Fields.ARG2, new org.apache.thrift.meta_data.FieldMetaData("arg2", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(calc_args.class, metaDataMap);
    }

    public calc_args() {
    }

    public calc_args(
      java.lang.String op,
      double arg1,
      double arg2)
    {
      this();
      this.op = op;
      this.arg1 = arg1;
      setArg1IsSet(true);
      this.arg2 = arg2;
      setArg2IsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public calc_args(calc_args other) {
      __isset_bitfield = other.__isset_bitfield;
      if (other.isSetOp()) {
        this.op = other.op;
      }
      this.arg1 = other.arg1;
      this.arg2 = other.arg2;
    }

    public calc_args deepCopy() {
      return new calc_args(this);
    }

    @Override
    public void clear() {
      this.op = null;
      setArg1IsSet(false);
      this.arg1 = 0.0;
      setArg2IsSet(false);
      this.arg2 = 0.0;
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getOp() {
      return this.op;
    }

    public calc_args setOp(@org.apache.thrift.annotation.Nullable java.lang.String op) {
      this.op = op;
      return this;
    }

    public void unsetOp() {
      this.op = null;
    }

    /** Returns true if field op is set (has been assigned a value) and false otherwise */
    public boolean isSetOp() {
      return this.op != null;
    }

    public void setOpIsSet(boolean value) {
      if (!value) {
        this.op = null;
      }
    }

    public double getArg1() {
      return this.arg1;
    }

    public calc_args setArg1(double arg1) {
      this.arg1 = arg1;
      setArg1IsSet(true);
      return this;
    }

    public void unsetArg1() {
      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __ARG1_ISSET_ID);
    }

    /** Returns true if field arg1 is set (has been assigned a value) and false otherwise */
    public boolean isSetArg1() {
      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __ARG1_ISSET_ID);
    }

    public void setArg1IsSet(boolean value) {
      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __ARG1_ISSET_ID, value);
    }

    public double getArg2() {
      return this.arg2;
    }

    public calc_args setArg2(double arg2) {
      this.arg2 = arg2;
      setArg2IsSet(true);
      return this;
    }

    public void unsetArg2() {
      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __ARG2_ISSET_ID);
    }

    /** Returns true if field arg2 is set (has been assigned a value) and false otherwise */
    public boolean isSetArg2() {
      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __ARG2_ISSET_ID);
    }

    public void setArg2IsSet(boolean value) {
      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __ARG2_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case OP:
        if (value == null) {
          unsetOp();
        } else {
          setOp((java.lang.String)value);
        }
        break;

      case ARG1:
        if (value == null) {
          unsetArg1();
        } else {
          setArg1((java.lang.Double)value);
        }
        break;

      case ARG2:
        if (value == null) {
          unsetArg2();
        } else {
          setArg2((java.lang.Double)value);
        }
        break;

      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case OP:
        return getOp();

      case ARG1:
        return getArg1();

      case ARG2:
        return getArg2();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case OP:
        return isSetOp();
      case ARG1:
        return isSetArg1();
      case ARG2:
        return isSetArg2();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof calc_args)
        return this.equals((calc_args)that);
      return false;
    }

    public boolean equals(calc_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_op = true && this.isSetOp();
      boolean that_present_op = true && that.isSetOp();
      if (this_present_op || that_present_op) {
        if (!(this_present_op && that_present_op))
          return false;
        if (!this.op.equals(that.op))
          return false;
      }

      boolean this_present_arg1 = true;
      boolean that_present_arg1 = true;
      if (this_present_arg1 || that_present_arg1) {
        if (!(this_present_arg1 && that_present_arg1))
          return false;
        if (this.arg1 != that.arg1)
          return false;
      }

      boolean this_present_arg2 = true;
      boolean that_present_arg2 = true;
      if (this_present_arg2 || that_present_arg2) {
        if (!(this_present_arg2 && that_present_arg2))
          return false;
        if (this.arg2 != that.arg2)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((isSetOp()) ? 131071 : 524287);
      if (isSetOp())
        hashCode = hashCode * 8191 + op.hashCode();

      hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(arg1);

      hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(arg2);

      return hashCode;
    }

    @Override
    public int compareTo(calc_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetOp(), other.isSetOp());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOp()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.op, other.op);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetArg1(), other.isSetArg1());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetArg1()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.arg1, other.arg1);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetArg2(), other.isSetArg2());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetArg2()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.arg2, other.arg2);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.thrift.annotation.Nullable
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("calc_args(");
      boolean first = true;

      sb.append("op:");
      if (this.op == null) {
        sb.append("null");
      } else {
        sb.append(this.op);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("arg1:");
      sb.append(this.arg1);
      first = false;
      if (!first) sb.append(", ");
      sb.append("arg2:");
      sb.append(this.arg2);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bitfield = 0;
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class calc_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public calc_argsStandardScheme getScheme() {
        return new calc_argsStandardScheme();
      }
    }

    private static class calc_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<calc_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, calc_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // OP
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.op = iprot.readString();
                struct.setOpIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // ARG1
              if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
                struct.arg1 = iprot.readDouble();
                struct.setArg1IsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // ARG2
              if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
                struct.arg2 = iprot.readDouble();
                struct.setArg2IsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, calc_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.op != null) {
          oprot.writeFieldBegin(OP_FIELD_DESC);
          oprot.writeString(struct.op);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldBegin(ARG1_FIELD_DESC);
        oprot.writeDouble(struct.arg1);
        oprot.writeFieldEnd();
        oprot.writeFieldBegin(ARG2_FIELD_DESC);
        oprot.writeDouble(struct.arg2);
        oprot.writeFieldEnd();
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class calc_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public calc_argsTupleScheme getScheme() {
        return new calc_argsTupleScheme();
      }
    }

    private static class calc_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<calc_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, calc_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetOp()) {
          optionals.set(0);
        }
        if (struct.isSetArg1()) {
          optionals.set(1);
        }
        if (struct.isSetArg2()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.isSetOp()) {
          oprot.writeString(struct.op);
        }
        if (struct.isSetArg1()) {
          oprot.writeDouble(struct.arg1);
        }
        if (struct.isSetArg2()) {
          oprot.writeDouble(struct.arg2);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, calc_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.op = iprot.readString();
          struct.setOpIsSet(true);
        }
        if (incoming.get(1)) {
          struct.arg1 = iprot.readDouble();
          struct.setArg1IsSet(true);
        }
        if (incoming.get(2)) {
          struct.arg2 = iprot.readDouble();
          struct.setArg2IsSet(true);
        }
      }
    }

    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  public static class calc_result implements org.apache.thrift.TBase<calc_result, calc_result._Fields>, java.io.Serializable, Cloneable, Comparable<calc_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("calc_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new calc_resultStandardSchemeFactory();
    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new calc_resultTupleSchemeFactory();

    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();

      static {
        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(calc_result.class, metaDataMap);
    }

    public calc_result() {
    }

    public calc_result(
      java.lang.String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public calc_result(calc_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public calc_result deepCopy() {
      return new calc_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getSuccess() {
      return this.success;
    }

    public calc_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof calc_result)
        return this.equals((calc_result)that);
      return false;
    }

    public boolean equals(calc_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
      if (isSetSuccess())
        hashCode = hashCode * 8191 + success.hashCode();

      return hashCode;
    }

    @Override
    public int compareTo(calc_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.thrift.annotation.Nullable
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("calc_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class calc_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public calc_resultStandardScheme getScheme() {
        return new calc_resultStandardScheme();
      }
    }

    private static class calc_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<calc_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, calc_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, calc_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeString(struct.success);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class calc_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public calc_resultTupleScheme getScheme() {
        return new calc_resultTupleScheme();
      }
    }

    private static class calc_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<calc_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, calc_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          oprot.writeString(struct.success);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, calc_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.setSuccessIsSet(true);
        }
      }
    }

    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  public static class cookie_args implements org.apache.thrift.TBase<cookie_args, cookie_args._Fields>, java.io.Serializable, Cloneable, Comparable<cookie_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("cookie_args");

    private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField VAL_FIELD_DESC = new org.apache.thrift.protocol.TField("val", org.apache.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.thrift.protocol.TField SITE_FIELD_DESC = new org.apache.thrift.protocol.TField("site", org.apache.thrift.protocol.TType.STRING, (short)3);

    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new cookie_argsStandardSchemeFactory();
    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new cookie_argsTupleSchemeFactory();

    public @org.apache.thrift.annotation.Nullable java.lang.String name; // required
    public @org.apache.thrift.annotation.Nullable java.lang.String val; // required
    public @org.apache.thrift.annotation.Nullable java.lang.String site; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      NAME((short)1, "name"),
      VAL((short)2, "val"),
      SITE((short)3, "site");

      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();

      static {
        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // NAME
            return NAME;
          case 2: // VAL
            return VAL;
          case 3: // SITE
            return SITE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.VAL, new org.apache.thrift.meta_data.FieldMetaData("val", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.SITE, new org.apache.thrift.meta_data.FieldMetaData("site", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(cookie_args.class, metaDataMap);
    }

    public cookie_args() {
    }

    public cookie_args(
      java.lang.String name,
      java.lang.String val,
      java.lang.String site)
    {
      this();
      this.name = name;
      this.val = val;
      this.site = site;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public cookie_args(cookie_args other) {
      if (other.isSetName()) {
        this.name = other.name;
      }
      if (other.isSetVal()) {
        this.val = other.val;
      }
      if (other.isSetSite()) {
        this.site = other.site;
      }
    }

    public cookie_args deepCopy() {
      return new cookie_args(this);
    }

    @Override
    public void clear() {
      this.name = null;
      this.val = null;
      this.site = null;
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getName() {
      return this.name;
    }

    public cookie_args setName(@org.apache.thrift.annotation.Nullable java.lang.String name) {
      this.name = name;
      return this;
    }

    public void unsetName() {
      this.name = null;
    }

    /** Returns true if field name is set (has been assigned a value) and false otherwise */
    public boolean isSetName() {
      return this.name != null;
    }

    public void setNameIsSet(boolean value) {
      if (!value) {
        this.name = null;
      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getVal() {
      return this.val;
    }

    public cookie_args setVal(@org.apache.thrift.annotation.Nullable java.lang.String val) {
      this.val = val;
      return this;
    }

    public void unsetVal() {
      this.val = null;
    }

    /** Returns true if field val is set (has been assigned a value) and false otherwise */
    public boolean isSetVal() {
      return this.val != null;
    }

    public void setValIsSet(boolean value) {
      if (!value) {
        this.val = null;
      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getSite() {
      return this.site;
    }

    public cookie_args setSite(@org.apache.thrift.annotation.Nullable java.lang.String site) {
      this.site = site;
      return this;
    }

    public void unsetSite() {
      this.site = null;
    }

    /** Returns true if field site is set (has been assigned a value) and false otherwise */
    public boolean isSetSite() {
      return this.site != null;
    }

    public void setSiteIsSet(boolean value) {
      if (!value) {
        this.site = null;
      }
    }

    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case NAME:
        if (value == null) {
          unsetName();
        } else {
          setName((java.lang.String)value);
        }
        break;

      case VAL:
        if (value == null) {
          unsetVal();
        } else {
          setVal((java.lang.String)value);
        }
        break;

      case SITE:
        if (value == null) {
          unsetSite();
        } else {
          setSite((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case NAME:
        return getName();

      case VAL:
        return getVal();

      case SITE:
        return getSite();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case NAME:
        return isSetName();
      case VAL:
        return isSetVal();
      case SITE:
        return isSetSite();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof cookie_args)
        return this.equals((cookie_args)that);
      return false;
    }

    public boolean equals(cookie_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_name = true && this.isSetName();
      boolean that_present_name = true && that.isSetName();
      if (this_present_name || that_present_name) {
        if (!(this_present_name && that_present_name))
          return false;
        if (!this.name.equals(that.name))
          return false;
      }

      boolean this_present_val = true && this.isSetVal();
      boolean that_present_val = true && that.isSetVal();
      if (this_present_val || that_present_val) {
        if (!(this_present_val && that_present_val))
          return false;
        if (!this.val.equals(that.val))
          return false;
      }

      boolean this_present_site = true && this.isSetSite();
      boolean that_present_site = true && that.isSetSite();
      if (this_present_site || that_present_site) {
        if (!(this_present_site && that_present_site))
          return false;
        if (!this.site.equals(that.site))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((isSetName()) ? 131071 : 524287);
      if (isSetName())
        hashCode = hashCode * 8191 + name.hashCode();

      hashCode = hashCode * 8191 + ((isSetVal()) ? 131071 : 524287);
      if (isSetVal())
        hashCode = hashCode * 8191 + val.hashCode();

      hashCode = hashCode * 8191 + ((isSetSite()) ? 131071 : 524287);
      if (isSetSite())
        hashCode = hashCode * 8191 + site.hashCode();

      return hashCode;
    }

    @Override
    public int compareTo(cookie_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetName(), other.isSetName());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetName()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetVal(), other.isSetVal());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetVal()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.val, other.val);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetSite(), other.isSetSite());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSite()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.site, other.site);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.thrift.annotation.Nullable
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("cookie_args(");
      boolean first = true;

      sb.append("name:");
      if (this.name == null) {
        sb.append("null");
      } else {
        sb.append(this.name);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("val:");
      if (this.val == null) {
        sb.append("null");
      } else {
        sb.append(this.val);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("site:");
      if (this.site == null) {
        sb.append("null");
      } else {
        sb.append(this.site);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class cookie_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public cookie_argsStandardScheme getScheme() {
        return new cookie_argsStandardScheme();
      }
    }

    private static class cookie_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<cookie_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, cookie_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // NAME
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.name = iprot.readString();
                struct.setNameIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // VAL
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.val = iprot.readString();
                struct.setValIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // SITE
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.site = iprot.readString();
                struct.setSiteIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, cookie_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.name != null) {
          oprot.writeFieldBegin(NAME_FIELD_DESC);
          oprot.writeString(struct.name);
          oprot.writeFieldEnd();
        }
        if (struct.val != null) {
          oprot.writeFieldBegin(VAL_FIELD_DESC);
          oprot.writeString(struct.val);
          oprot.writeFieldEnd();
        }
        if (struct.site != null) {
          oprot.writeFieldBegin(SITE_FIELD_DESC);
          oprot.writeString(struct.site);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class cookie_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public cookie_argsTupleScheme getScheme() {
        return new cookie_argsTupleScheme();
      }
    }

    private static class cookie_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<cookie_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, cookie_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetName()) {
          optionals.set(0);
        }
        if (struct.isSetVal()) {
          optionals.set(1);
        }
        if (struct.isSetSite()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.isSetName()) {
          oprot.writeString(struct.name);
        }
        if (struct.isSetVal()) {
          oprot.writeString(struct.val);
        }
        if (struct.isSetSite()) {
          oprot.writeString(struct.site);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, cookie_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.name = iprot.readString();
          struct.setNameIsSet(true);
        }
        if (incoming.get(1)) {
          struct.val = iprot.readString();
          struct.setValIsSet(true);
        }
        if (incoming.get(2)) {
          struct.site = iprot.readString();
          struct.setSiteIsSet(true);
        }
      }
    }

    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  public static class cookie_result implements org.apache.thrift.TBase<cookie_result, cookie_result._Fields>, java.io.Serializable, Cloneable, Comparable<cookie_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("cookie_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new cookie_resultStandardSchemeFactory();
    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new cookie_resultTupleSchemeFactory();

    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();

      static {
        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(cookie_result.class, metaDataMap);
    }

    public cookie_result() {
    }

    public cookie_result(
      java.lang.String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public cookie_result(cookie_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public cookie_result deepCopy() {
      return new cookie_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getSuccess() {
      return this.success;
    }

    public cookie_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof cookie_result)
        return this.equals((cookie_result)that);
      return false;
    }

    public boolean equals(cookie_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
      if (isSetSuccess())
        hashCode = hashCode * 8191 + success.hashCode();

      return hashCode;
    }

    @Override
    public int compareTo(cookie_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.thrift.annotation.Nullable
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("cookie_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class cookie_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public cookie_resultStandardScheme getScheme() {
        return new cookie_resultStandardScheme();
      }
    }

    private static class cookie_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<cookie_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, cookie_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, cookie_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeString(struct.success);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class cookie_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public cookie_resultTupleScheme getScheme() {
        return new cookie_resultTupleScheme();
      }
    }

    private static class cookie_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<cookie_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, cookie_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          oprot.writeString(struct.success);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, cookie_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.setSuccessIsSet(true);
        }
      }
    }

    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  public static class costfuns_args implements org.apache.thrift.TBase<costfuns_args, costfuns_args._Fields>, java.io.Serializable, Cloneable, Comparable<costfuns_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("costfuns_args");

    private static final org.apache.thrift.protocol.TField I_FIELD_DESC = new org.apache.thrift.protocol.TField("i", org.apache.thrift.protocol.TType.I32, (short)1);
    private static final org.apache.thrift.protocol.TField S_FIELD_DESC = new org.apache.thrift.protocol.TField("s", org.apache.thrift.protocol.TType.STRING, (short)2);

    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new costfuns_argsStandardSchemeFactory();
    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new costfuns_argsTupleSchemeFactory();

    public int i; // required
    public @org.apache.thrift.annotation.Nullable java.lang.String s; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      I((short)1, "i"),
      S((short)2, "s");

      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();

      static {
        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // I
            return I;
          case 2: // S
            return S;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __I_ISSET_ID = 0;
    private byte __isset_bitfield = 0;
    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.I, new org.apache.thrift.meta_data.FieldMetaData("i", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
      tmpMap.put(_Fields.S, new org.apache.thrift.meta_data.FieldMetaData("s", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(costfuns_args.class, metaDataMap);
    }

    public costfuns_args() {
    }

    public costfuns_args(
      int i,
      java.lang.String s)
    {
      this();
      this.i = i;
      setIIsSet(true);
      this.s = s;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public costfuns_args(costfuns_args other) {
      __isset_bitfield = other.__isset_bitfield;
      this.i = other.i;
      if (other.isSetS()) {
        this.s = other.s;
      }
    }

    public costfuns_args deepCopy() {
      return new costfuns_args(this);
    }

    @Override
    public void clear() {
      setIIsSet(false);
      this.i = 0;
      this.s = null;
    }

    public int getI() {
      return this.i;
    }

    public costfuns_args setI(int i) {
      this.i = i;
      setIIsSet(true);
      return this;
    }

    public void unsetI() {
      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __I_ISSET_ID);
    }

    /** Returns true if field i is set (has been assigned a value) and false otherwise */
    public boolean isSetI() {
      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __I_ISSET_ID);
    }

    public void setIIsSet(boolean value) {
      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __I_ISSET_ID, value);
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getS() {
      return this.s;
    }

    public costfuns_args setS(@org.apache.thrift.annotation.Nullable java.lang.String s) {
      this.s = s;
      return this;
    }

    public void unsetS() {
      this.s = null;
    }

    /** Returns true if field s is set (has been assigned a value) and false otherwise */
    public boolean isSetS() {
      return this.s != null;
    }

    public void setSIsSet(boolean value) {
      if (!value) {
        this.s = null;
      }
    }

    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case I:
        if (value == null) {
          unsetI();
        } else {
          setI((java.lang.Integer)value);
        }
        break;

      case S:
        if (value == null) {
          unsetS();
        } else {
          setS((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case I:
        return getI();

      case S:
        return getS();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case I:
        return isSetI();
      case S:
        return isSetS();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof costfuns_args)
        return this.equals((costfuns_args)that);
      return false;
    }

    public boolean equals(costfuns_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_i = true;
      boolean that_present_i = true;
      if (this_present_i || that_present_i) {
        if (!(this_present_i && that_present_i))
          return false;
        if (this.i != that.i)
          return false;
      }

      boolean this_present_s = true && this.isSetS();
      boolean that_present_s = true && that.isSetS();
      if (this_present_s || that_present_s) {
        if (!(this_present_s && that_present_s))
          return false;
        if (!this.s.equals(that.s))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + i;

      hashCode = hashCode * 8191 + ((isSetS()) ? 131071 : 524287);
      if (isSetS())
        hashCode = hashCode * 8191 + s.hashCode();

      return hashCode;
    }

    @Override
    public int compareTo(costfuns_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetI(), other.isSetI());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetI()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.i, other.i);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetS(), other.isSetS());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetS()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.s, other.s);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.thrift.annotation.Nullable
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("costfuns_args(");
      boolean first = true;

      sb.append("i:");
      sb.append(this.i);
      first = false;
      if (!first) sb.append(", ");
      sb.append("s:");
      if (this.s == null) {
        sb.append("null");
      } else {
        sb.append(this.s);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bitfield = 0;
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class costfuns_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public costfuns_argsStandardScheme getScheme() {
        return new costfuns_argsStandardScheme();
      }
    }

    private static class costfuns_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<costfuns_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, costfuns_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // I
              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
                struct.i = iprot.readI32();
                struct.setIIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // S
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.s = iprot.readString();
                struct.setSIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, costfuns_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldBegin(I_FIELD_DESC);
        oprot.writeI32(struct.i);
        oprot.writeFieldEnd();
        if (struct.s != null) {
          oprot.writeFieldBegin(S_FIELD_DESC);
          oprot.writeString(struct.s);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class costfuns_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public costfuns_argsTupleScheme getScheme() {
        return new costfuns_argsTupleScheme();
      }
    }

    private static class costfuns_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<costfuns_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, costfuns_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetI()) {
          optionals.set(0);
        }
        if (struct.isSetS()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetI()) {
          oprot.writeI32(struct.i);
        }
        if (struct.isSetS()) {
          oprot.writeString(struct.s);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, costfuns_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.i = iprot.readI32();
          struct.setIIsSet(true);
        }
        if (incoming.get(1)) {
          struct.s = iprot.readString();
          struct.setSIsSet(true);
        }
      }
    }

    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  public static class costfuns_result implements org.apache.thrift.TBase<costfuns_result, costfuns_result._Fields>, java.io.Serializable, Cloneable, Comparable<costfuns_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("costfuns_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new costfuns_resultStandardSchemeFactory();
    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new costfuns_resultTupleSchemeFactory();

    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();

      static {
        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(costfuns_result.class, metaDataMap);
    }

    public costfuns_result() {
    }

    public costfuns_result(
      java.lang.String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public costfuns_result(costfuns_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public costfuns_result deepCopy() {
      return new costfuns_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getSuccess() {
      return this.success;
    }

    public costfuns_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof costfuns_result)
        return this.equals((costfuns_result)that);
      return false;
    }

    public boolean equals(costfuns_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
      if (isSetSuccess())
        hashCode = hashCode * 8191 + success.hashCode();

      return hashCode;
    }

    @Override
    public int compareTo(costfuns_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.thrift.annotation.Nullable
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("costfuns_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class costfuns_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public costfuns_resultStandardScheme getScheme() {
        return new costfuns_resultStandardScheme();
      }
    }

    private static class costfuns_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<costfuns_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, costfuns_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, costfuns_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeString(struct.success);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class costfuns_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public costfuns_resultTupleScheme getScheme() {
        return new costfuns_resultTupleScheme();
      }
    }

    private static class costfuns_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<costfuns_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, costfuns_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          oprot.writeString(struct.success);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, costfuns_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.setSuccessIsSet(true);
        }
      }
    }

    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  public static class dateParse_args implements org.apache.thrift.TBase<dateParse_args, dateParse_args._Fields>, java.io.Serializable, Cloneable, Comparable<dateParse_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("dateParse_args");

    private static final org.apache.thrift.protocol.TField DAYNAME_FIELD_DESC = new org.apache.thrift.protocol.TField("dayname", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField MONTHNAME_FIELD_DESC = new org.apache.thrift.protocol.TField("monthname", org.apache.thrift.protocol.TType.STRING, (short)2);

    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new dateParse_argsStandardSchemeFactory();
    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new dateParse_argsTupleSchemeFactory();

    public @org.apache.thrift.annotation.Nullable java.lang.String dayname; // required
    public @org.apache.thrift.annotation.Nullable java.lang.String monthname; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      DAYNAME((short)1, "dayname"),
      MONTHNAME((short)2, "monthname");

      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();

      static {
        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // DAYNAME
            return DAYNAME;
          case 2: // MONTHNAME
            return MONTHNAME;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.DAYNAME, new org.apache.thrift.meta_data.FieldMetaData("dayname", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.MONTHNAME, new org.apache.thrift.meta_data.FieldMetaData("monthname", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(dateParse_args.class, metaDataMap);
    }

    public dateParse_args() {
    }

    public dateParse_args(
      java.lang.String dayname,
      java.lang.String monthname)
    {
      this();
      this.dayname = dayname;
      this.monthname = monthname;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public dateParse_args(dateParse_args other) {
      if (other.isSetDayname()) {
        this.dayname = other.dayname;
      }
      if (other.isSetMonthname()) {
        this.monthname = other.monthname;
      }
    }

    public dateParse_args deepCopy() {
      return new dateParse_args(this);
    }

    @Override
    public void clear() {
      this.dayname = null;
      this.monthname = null;
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getDayname() {
      return this.dayname;
    }

    public dateParse_args setDayname(@org.apache.thrift.annotation.Nullable java.lang.String dayname) {
      this.dayname = dayname;
      return this;
    }

    public void unsetDayname() {
      this.dayname = null;
    }

    /** Returns true if field dayname is set (has been assigned a value) and false otherwise */
    public boolean isSetDayname() {
      return this.dayname != null;
    }

    public void setDaynameIsSet(boolean value) {
      if (!value) {
        this.dayname = null;
      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getMonthname() {
      return this.monthname;
    }

    public dateParse_args setMonthname(@org.apache.thrift.annotation.Nullable java.lang.String monthname) {
      this.monthname = monthname;
      return this;
    }

    public void unsetMonthname() {
      this.monthname = null;
    }

    /** Returns true if field monthname is set (has been assigned a value) and false otherwise */
    public boolean isSetMonthname() {
      return this.monthname != null;
    }

    public void setMonthnameIsSet(boolean value) {
      if (!value) {
        this.monthname = null;
      }
    }

    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case DAYNAME:
        if (value == null) {
          unsetDayname();
        } else {
          setDayname((java.lang.String)value);
        }
        break;

      case MONTHNAME:
        if (value == null) {
          unsetMonthname();
        } else {
          setMonthname((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case DAYNAME:
        return getDayname();

      case MONTHNAME:
        return getMonthname();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case DAYNAME:
        return isSetDayname();
      case MONTHNAME:
        return isSetMonthname();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof dateParse_args)
        return this.equals((dateParse_args)that);
      return false;
    }

    public boolean equals(dateParse_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_dayname = true && this.isSetDayname();
      boolean that_present_dayname = true && that.isSetDayname();
      if (this_present_dayname || that_present_dayname) {
        if (!(this_present_dayname && that_present_dayname))
          return false;
        if (!this.dayname.equals(that.dayname))
          return false;
      }

      boolean this_present_monthname = true && this.isSetMonthname();
      boolean that_present_monthname = true && that.isSetMonthname();
      if (this_present_monthname || that_present_monthname) {
        if (!(this_present_monthname && that_present_monthname))
          return false;
        if (!this.monthname.equals(that.monthname))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((isSetDayname()) ? 131071 : 524287);
      if (isSetDayname())
        hashCode = hashCode * 8191 + dayname.hashCode();

      hashCode = hashCode * 8191 + ((isSetMonthname()) ? 131071 : 524287);
      if (isSetMonthname())
        hashCode = hashCode * 8191 + monthname.hashCode();

      return hashCode;
    }

    @Override
    public int compareTo(dateParse_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetDayname(), other.isSetDayname());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDayname()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dayname, other.dayname);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetMonthname(), other.isSetMonthname());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetMonthname()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.monthname, other.monthname);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.thrift.annotation.Nullable
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("dateParse_args(");
      boolean first = true;

      sb.append("dayname:");
      if (this.dayname == null) {
        sb.append("null");
      } else {
        sb.append(this.dayname);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("monthname:");
      if (this.monthname == null) {
        sb.append("null");
      } else {
        sb.append(this.monthname);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class dateParse_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public dateParse_argsStandardScheme getScheme() {
        return new dateParse_argsStandardScheme();
      }
    }

    private static class dateParse_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<dateParse_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, dateParse_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // DAYNAME
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.dayname = iprot.readString();
                struct.setDaynameIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // MONTHNAME
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.monthname = iprot.readString();
                struct.setMonthnameIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, dateParse_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.dayname != null) {
          oprot.writeFieldBegin(DAYNAME_FIELD_DESC);
          oprot.writeString(struct.dayname);
          oprot.writeFieldEnd();
        }
        if (struct.monthname != null) {
          oprot.writeFieldBegin(MONTHNAME_FIELD_DESC);
          oprot.writeString(struct.monthname);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class dateParse_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public dateParse_argsTupleScheme getScheme() {
        return new dateParse_argsTupleScheme();
      }
    }

    private static class dateParse_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<dateParse_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, dateParse_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetDayname()) {
          optionals.set(0);
        }
        if (struct.isSetMonthname()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetDayname()) {
          oprot.writeString(struct.dayname);
        }
        if (struct.isSetMonthname()) {
          oprot.writeString(struct.monthname);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, dateParse_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.dayname = iprot.readString();
          struct.setDaynameIsSet(true);
        }
        if (incoming.get(1)) {
          struct.monthname = iprot.readString();
          struct.setMonthnameIsSet(true);
        }
      }
    }

    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  public static class dateParse_result implements org.apache.thrift.TBase<dateParse_result, dateParse_result._Fields>, java.io.Serializable, Cloneable, Comparable<dateParse_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("dateParse_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new dateParse_resultStandardSchemeFactory();
    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new dateParse_resultTupleSchemeFactory();

    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();

      static {
        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(dateParse_result.class, metaDataMap);
    }

    public dateParse_result() {
    }

    public dateParse_result(
      java.lang.String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public dateParse_result(dateParse_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public dateParse_result deepCopy() {
      return new dateParse_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getSuccess() {
      return this.success;
    }

    public dateParse_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof dateParse_result)
        return this.equals((dateParse_result)that);
      return false;
    }

    public boolean equals(dateParse_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
      if (isSetSuccess())
        hashCode = hashCode * 8191 + success.hashCode();

      return hashCode;
    }

    @Override
    public int compareTo(dateParse_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.thrift.annotation.Nullable
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("dateParse_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class dateParse_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public dateParse_resultStandardScheme getScheme() {
        return new dateParse_resultStandardScheme();
      }
    }

    private static class dateParse_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<dateParse_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, dateParse_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, dateParse_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeString(struct.success);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class dateParse_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public dateParse_resultTupleScheme getScheme() {
        return new dateParse_resultTupleScheme();
      }
    }

    private static class dateParse_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<dateParse_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, dateParse_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          oprot.writeString(struct.success);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, dateParse_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.setSuccessIsSet(true);
        }
      }
    }

    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  public static class fileSuffix_args implements org.apache.thrift.TBase<fileSuffix_args, fileSuffix_args._Fields>, java.io.Serializable, Cloneable, Comparable<fileSuffix_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("fileSuffix_args");

    private static final org.apache.thrift.protocol.TField DIRECTORY_FIELD_DESC = new org.apache.thrift.protocol.TField("directory", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField FILE_FIELD_DESC = new org.apache.thrift.protocol.TField("file", org.apache.thrift.protocol.TType.STRING, (short)2);

    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new fileSuffix_argsStandardSchemeFactory();
    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new fileSuffix_argsTupleSchemeFactory();

    public @org.apache.thrift.annotation.Nullable java.lang.String directory; // required
    public @org.apache.thrift.annotation.Nullable java.lang.String file; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      DIRECTORY((short)1, "directory"),
      FILE((short)2, "file");

      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();

      static {
        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // DIRECTORY
            return DIRECTORY;
          case 2: // FILE
            return FILE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.DIRECTORY, new org.apache.thrift.meta_data.FieldMetaData("directory", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.FILE, new org.apache.thrift.meta_data.FieldMetaData("file", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(fileSuffix_args.class, metaDataMap);
    }

    public fileSuffix_args() {
    }

    public fileSuffix_args(
      java.lang.String directory,
      java.lang.String file)
    {
      this();
      this.directory = directory;
      this.file = file;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public fileSuffix_args(fileSuffix_args other) {
      if (other.isSetDirectory()) {
        this.directory = other.directory;
      }
      if (other.isSetFile()) {
        this.file = other.file;
      }
    }

    public fileSuffix_args deepCopy() {
      return new fileSuffix_args(this);
    }

    @Override
    public void clear() {
      this.directory = null;
      this.file = null;
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getDirectory() {
      return this.directory;
    }

    public fileSuffix_args setDirectory(@org.apache.thrift.annotation.Nullable java.lang.String directory) {
      this.directory = directory;
      return this;
    }

    public void unsetDirectory() {
      this.directory = null;
    }

    /** Returns true if field directory is set (has been assigned a value) and false otherwise */
    public boolean isSetDirectory() {
      return this.directory != null;
    }

    public void setDirectoryIsSet(boolean value) {
      if (!value) {
        this.directory = null;
      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getFile() {
      return this.file;
    }

    public fileSuffix_args setFile(@org.apache.thrift.annotation.Nullable java.lang.String file) {
      this.file = file;
      return this;
    }

    public void unsetFile() {
      this.file = null;
    }

    /** Returns true if field file is set (has been assigned a value) and false otherwise */
    public boolean isSetFile() {
      return this.file != null;
    }

    public void setFileIsSet(boolean value) {
      if (!value) {
        this.file = null;
      }
    }

    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case DIRECTORY:
        if (value == null) {
          unsetDirectory();
        } else {
          setDirectory((java.lang.String)value);
        }
        break;

      case FILE:
        if (value == null) {
          unsetFile();
        } else {
          setFile((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case DIRECTORY:
        return getDirectory();

      case FILE:
        return getFile();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case DIRECTORY:
        return isSetDirectory();
      case FILE:
        return isSetFile();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof fileSuffix_args)
        return this.equals((fileSuffix_args)that);
      return false;
    }

    public boolean equals(fileSuffix_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_directory = true && this.isSetDirectory();
      boolean that_present_directory = true && that.isSetDirectory();
      if (this_present_directory || that_present_directory) {
        if (!(this_present_directory && that_present_directory))
          return false;
        if (!this.directory.equals(that.directory))
          return false;
      }

      boolean this_present_file = true && this.isSetFile();
      boolean that_present_file = true && that.isSetFile();
      if (this_present_file || that_present_file) {
        if (!(this_present_file && that_present_file))
          return false;
        if (!this.file.equals(that.file))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((isSetDirectory()) ? 131071 : 524287);
      if (isSetDirectory())
        hashCode = hashCode * 8191 + directory.hashCode();

      hashCode = hashCode * 8191 + ((isSetFile()) ? 131071 : 524287);
      if (isSetFile())
        hashCode = hashCode * 8191 + file.hashCode();

      return hashCode;
    }

    @Override
    public int compareTo(fileSuffix_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetDirectory(), other.isSetDirectory());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDirectory()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.directory, other.directory);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetFile(), other.isSetFile());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFile()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.file, other.file);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.thrift.annotation.Nullable
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("fileSuffix_args(");
      boolean first = true;

      sb.append("directory:");
      if (this.directory == null) {
        sb.append("null");
      } else {
        sb.append(this.directory);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("file:");
      if (this.file == null) {
        sb.append("null");
      } else {
        sb.append(this.file);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class fileSuffix_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public fileSuffix_argsStandardScheme getScheme() {
        return new fileSuffix_argsStandardScheme();
      }
    }

    private static class fileSuffix_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<fileSuffix_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, fileSuffix_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // DIRECTORY
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.directory = iprot.readString();
                struct.setDirectoryIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // FILE
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.file = iprot.readString();
                struct.setFileIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, fileSuffix_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.directory != null) {
          oprot.writeFieldBegin(DIRECTORY_FIELD_DESC);
          oprot.writeString(struct.directory);
          oprot.writeFieldEnd();
        }
        if (struct.file != null) {
          oprot.writeFieldBegin(FILE_FIELD_DESC);
          oprot.writeString(struct.file);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class fileSuffix_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public fileSuffix_argsTupleScheme getScheme() {
        return new fileSuffix_argsTupleScheme();
      }
    }

    private static class fileSuffix_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<fileSuffix_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, fileSuffix_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetDirectory()) {
          optionals.set(0);
        }
        if (struct.isSetFile()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetDirectory()) {
          oprot.writeString(struct.directory);
        }
        if (struct.isSetFile()) {
          oprot.writeString(struct.file);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, fileSuffix_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.directory = iprot.readString();
          struct.setDirectoryIsSet(true);
        }
        if (incoming.get(1)) {
          struct.file = iprot.readString();
          struct.setFileIsSet(true);
        }
      }
    }

    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  public static class fileSuffix_result implements org.apache.thrift.TBase<fileSuffix_result, fileSuffix_result._Fields>, java.io.Serializable, Cloneable, Comparable<fileSuffix_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("fileSuffix_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new fileSuffix_resultStandardSchemeFactory();
    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new fileSuffix_resultTupleSchemeFactory();

    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();

      static {
        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(fileSuffix_result.class, metaDataMap);
    }

    public fileSuffix_result() {
    }

    public fileSuffix_result(
      java.lang.String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public fileSuffix_result(fileSuffix_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public fileSuffix_result deepCopy() {
      return new fileSuffix_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getSuccess() {
      return this.success;
    }

    public fileSuffix_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof fileSuffix_result)
        return this.equals((fileSuffix_result)that);
      return false;
    }

    public boolean equals(fileSuffix_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
      if (isSetSuccess())
        hashCode = hashCode * 8191 + success.hashCode();

      return hashCode;
    }

    @Override
    public int compareTo(fileSuffix_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.thrift.annotation.Nullable
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("fileSuffix_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class fileSuffix_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public fileSuffix_resultStandardScheme getScheme() {
        return new fileSuffix_resultStandardScheme();
      }
    }

    private static class fileSuffix_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<fileSuffix_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, fileSuffix_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, fileSuffix_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeString(struct.success);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class fileSuffix_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public fileSuffix_resultTupleScheme getScheme() {
        return new fileSuffix_resultTupleScheme();
      }
    }

    private static class fileSuffix_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<fileSuffix_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, fileSuffix_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          oprot.writeString(struct.success);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, fileSuffix_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.setSuccessIsSet(true);
        }
      }
    }

    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  public static class notyPevar_args implements org.apache.thrift.TBase<notyPevar_args, notyPevar_args._Fields>, java.io.Serializable, Cloneable, Comparable<notyPevar_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("notyPevar_args");

    private static final org.apache.thrift.protocol.TField I_FIELD_DESC = new org.apache.thrift.protocol.TField("i", org.apache.thrift.protocol.TType.I32, (short)1);
    private static final org.apache.thrift.protocol.TField S_FIELD_DESC = new org.apache.thrift.protocol.TField("s", org.apache.thrift.protocol.TType.STRING, (short)2);

    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new notyPevar_argsStandardSchemeFactory();
    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new notyPevar_argsTupleSchemeFactory();

    public int i; // required
    public @org.apache.thrift.annotation.Nullable java.lang.String s; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      I((short)1, "i"),
      S((short)2, "s");

      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();

      static {
        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // I
            return I;
          case 2: // S
            return S;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __I_ISSET_ID = 0;
    private byte __isset_bitfield = 0;
    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.I, new org.apache.thrift.meta_data.FieldMetaData("i", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
      tmpMap.put(_Fields.S, new org.apache.thrift.meta_data.FieldMetaData("s", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(notyPevar_args.class, metaDataMap);
    }

    public notyPevar_args() {
    }

    public notyPevar_args(
      int i,
      java.lang.String s)
    {
      this();
      this.i = i;
      setIIsSet(true);
      this.s = s;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public notyPevar_args(notyPevar_args other) {
      __isset_bitfield = other.__isset_bitfield;
      this.i = other.i;
      if (other.isSetS()) {
        this.s = other.s;
      }
    }

    public notyPevar_args deepCopy() {
      return new notyPevar_args(this);
    }

    @Override
    public void clear() {
      setIIsSet(false);
      this.i = 0;
      this.s = null;
    }

    public int getI() {
      return this.i;
    }

    public notyPevar_args setI(int i) {
      this.i = i;
      setIIsSet(true);
      return this;
    }

    public void unsetI() {
      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __I_ISSET_ID);
    }

    /** Returns true if field i is set (has been assigned a value) and false otherwise */
    public boolean isSetI() {
      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __I_ISSET_ID);
    }

    public void setIIsSet(boolean value) {
      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __I_ISSET_ID, value);
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getS() {
      return this.s;
    }

    public notyPevar_args setS(@org.apache.thrift.annotation.Nullable java.lang.String s) {
      this.s = s;
      return this;
    }

    public void unsetS() {
      this.s = null;
    }

    /** Returns true if field s is set (has been assigned a value) and false otherwise */
    public boolean isSetS() {
      return this.s != null;
    }

    public void setSIsSet(boolean value) {
      if (!value) {
        this.s = null;
      }
    }

    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case I:
        if (value == null) {
          unsetI();
        } else {
          setI((java.lang.Integer)value);
        }
        break;

      case S:
        if (value == null) {
          unsetS();
        } else {
          setS((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case I:
        return getI();

      case S:
        return getS();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case I:
        return isSetI();
      case S:
        return isSetS();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof notyPevar_args)
        return this.equals((notyPevar_args)that);
      return false;
    }

    public boolean equals(notyPevar_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_i = true;
      boolean that_present_i = true;
      if (this_present_i || that_present_i) {
        if (!(this_present_i && that_present_i))
          return false;
        if (this.i != that.i)
          return false;
      }

      boolean this_present_s = true && this.isSetS();
      boolean that_present_s = true && that.isSetS();
      if (this_present_s || that_present_s) {
        if (!(this_present_s && that_present_s))
          return false;
        if (!this.s.equals(that.s))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + i;

      hashCode = hashCode * 8191 + ((isSetS()) ? 131071 : 524287);
      if (isSetS())
        hashCode = hashCode * 8191 + s.hashCode();

      return hashCode;
    }

    @Override
    public int compareTo(notyPevar_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetI(), other.isSetI());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetI()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.i, other.i);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetS(), other.isSetS());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetS()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.s, other.s);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.thrift.annotation.Nullable
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("notyPevar_args(");
      boolean first = true;

      sb.append("i:");
      sb.append(this.i);
      first = false;
      if (!first) sb.append(", ");
      sb.append("s:");
      if (this.s == null) {
        sb.append("null");
      } else {
        sb.append(this.s);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bitfield = 0;
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class notyPevar_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public notyPevar_argsStandardScheme getScheme() {
        return new notyPevar_argsStandardScheme();
      }
    }

    private static class notyPevar_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<notyPevar_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, notyPevar_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // I
              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
                struct.i = iprot.readI32();
                struct.setIIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // S
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.s = iprot.readString();
                struct.setSIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, notyPevar_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldBegin(I_FIELD_DESC);
        oprot.writeI32(struct.i);
        oprot.writeFieldEnd();
        if (struct.s != null) {
          oprot.writeFieldBegin(S_FIELD_DESC);
          oprot.writeString(struct.s);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class notyPevar_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public notyPevar_argsTupleScheme getScheme() {
        return new notyPevar_argsTupleScheme();
      }
    }

    private static class notyPevar_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<notyPevar_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, notyPevar_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetI()) {
          optionals.set(0);
        }
        if (struct.isSetS()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetI()) {
          oprot.writeI32(struct.i);
        }
        if (struct.isSetS()) {
          oprot.writeString(struct.s);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, notyPevar_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.i = iprot.readI32();
          struct.setIIsSet(true);
        }
        if (incoming.get(1)) {
          struct.s = iprot.readString();
          struct.setSIsSet(true);
        }
      }
    }

    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  public static class notyPevar_result implements org.apache.thrift.TBase<notyPevar_result, notyPevar_result._Fields>, java.io.Serializable, Cloneable, Comparable<notyPevar_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("notyPevar_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new notyPevar_resultStandardSchemeFactory();
    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new notyPevar_resultTupleSchemeFactory();

    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();

      static {
        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(notyPevar_result.class, metaDataMap);
    }

    public notyPevar_result() {
    }

    public notyPevar_result(
      java.lang.String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public notyPevar_result(notyPevar_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public notyPevar_result deepCopy() {
      return new notyPevar_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getSuccess() {
      return this.success;
    }

    public notyPevar_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof notyPevar_result)
        return this.equals((notyPevar_result)that);
      return false;
    }

    public boolean equals(notyPevar_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
      if (isSetSuccess())
        hashCode = hashCode * 8191 + success.hashCode();

      return hashCode;
    }

    @Override
    public int compareTo(notyPevar_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.thrift.annotation.Nullable
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("notyPevar_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class notyPevar_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public notyPevar_resultStandardScheme getScheme() {
        return new notyPevar_resultStandardScheme();
      }
    }

    private static class notyPevar_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<notyPevar_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, notyPevar_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, notyPevar_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeString(struct.success);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class notyPevar_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public notyPevar_resultTupleScheme getScheme() {
        return new notyPevar_resultTupleScheme();
      }
    }

    private static class notyPevar_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<notyPevar_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, notyPevar_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          oprot.writeString(struct.success);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, notyPevar_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.setSuccessIsSet(true);
        }
      }
    }

    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  public static class ordered4_args implements org.apache.thrift.TBase<ordered4_args, ordered4_args._Fields>, java.io.Serializable, Cloneable, Comparable<ordered4_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ordered4_args");

    private static final org.apache.thrift.protocol.TField W_FIELD_DESC = new org.apache.thrift.protocol.TField("w", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField X_FIELD_DESC = new org.apache.thrift.protocol.TField("x", org.apache.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.thrift.protocol.TField Z_FIELD_DESC = new org.apache.thrift.protocol.TField("z", org.apache.thrift.protocol.TType.STRING, (short)3);
    private static final org.apache.thrift.protocol.TField Y_FIELD_DESC = new org.apache.thrift.protocol.TField("y", org.apache.thrift.protocol.TType.STRING, (short)4);

    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ordered4_argsStandardSchemeFactory();
    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ordered4_argsTupleSchemeFactory();

    public @org.apache.thrift.annotation.Nullable java.lang.String w; // required
    public @org.apache.thrift.annotation.Nullable java.lang.String x; // required
    public @org.apache.thrift.annotation.Nullable java.lang.String z; // required
    public @org.apache.thrift.annotation.Nullable java.lang.String y; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      W((short)1, "w"),
      X((short)2, "x"),
      Z((short)3, "z"),
      Y((short)4, "y");

      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();

      static {
        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // W
            return W;
          case 2: // X
            return X;
          case 3: // Z
            return Z;
          case 4: // Y
            return Y;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.W, new org.apache.thrift.meta_data.FieldMetaData("w", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.X, new org.apache.thrift.meta_data.FieldMetaData("x", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.Z, new org.apache.thrift.meta_data.FieldMetaData("z", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.Y, new org.apache.thrift.meta_data.FieldMetaData("y", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ordered4_args.class, metaDataMap);
    }

    public ordered4_args() {
    }

    public ordered4_args(
      java.lang.String w,
      java.lang.String x,
      java.lang.String z,
      java.lang.String y)
    {
      this();
      this.w = w;
      this.x = x;
      this.z = z;
      this.y = y;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public ordered4_args(ordered4_args other) {
      if (other.isSetW()) {
        this.w = other.w;
      }
      if (other.isSetX()) {
        this.x = other.x;
      }
      if (other.isSetZ()) {
        this.z = other.z;
      }
      if (other.isSetY()) {
        this.y = other.y;
      }
    }

    public ordered4_args deepCopy() {
      return new ordered4_args(this);
    }

    @Override
    public void clear() {
      this.w = null;
      this.x = null;
      this.z = null;
      this.y = null;
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getW() {
      return this.w;
    }

    public ordered4_args setW(@org.apache.thrift.annotation.Nullable java.lang.String w) {
      this.w = w;
      return this;
    }

    public void unsetW() {
      this.w = null;
    }

    /** Returns true if field w is set (has been assigned a value) and false otherwise */
    public boolean isSetW() {
      return this.w != null;
    }

    public void setWIsSet(boolean value) {
      if (!value) {
        this.w = null;
      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getX() {
      return this.x;
    }

    public ordered4_args setX(@org.apache.thrift.annotation.Nullable java.lang.String x) {
      this.x = x;
      return this;
    }

    public void unsetX() {
      this.x = null;
    }

    /** Returns true if field x is set (has been assigned a value) and false otherwise */
    public boolean isSetX() {
      return this.x != null;
    }

    public void setXIsSet(boolean value) {
      if (!value) {
        this.x = null;
      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getZ() {
      return this.z;
    }

    public ordered4_args setZ(@org.apache.thrift.annotation.Nullable java.lang.String z) {
      this.z = z;
      return this;
    }

    public void unsetZ() {
      this.z = null;
    }

    /** Returns true if field z is set (has been assigned a value) and false otherwise */
    public boolean isSetZ() {
      return this.z != null;
    }

    public void setZIsSet(boolean value) {
      if (!value) {
        this.z = null;
      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getY() {
      return this.y;
    }

    public ordered4_args setY(@org.apache.thrift.annotation.Nullable java.lang.String y) {
      this.y = y;
      return this;
    }

    public void unsetY() {
      this.y = null;
    }

    /** Returns true if field y is set (has been assigned a value) and false otherwise */
    public boolean isSetY() {
      return this.y != null;
    }

    public void setYIsSet(boolean value) {
      if (!value) {
        this.y = null;
      }
    }

    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case W:
        if (value == null) {
          unsetW();
        } else {
          setW((java.lang.String)value);
        }
        break;

      case X:
        if (value == null) {
          unsetX();
        } else {
          setX((java.lang.String)value);
        }
        break;

      case Z:
        if (value == null) {
          unsetZ();
        } else {
          setZ((java.lang.String)value);
        }
        break;

      case Y:
        if (value == null) {
          unsetY();
        } else {
          setY((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case W:
        return getW();

      case X:
        return getX();

      case Z:
        return getZ();

      case Y:
        return getY();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case W:
        return isSetW();
      case X:
        return isSetX();
      case Z:
        return isSetZ();
      case Y:
        return isSetY();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof ordered4_args)
        return this.equals((ordered4_args)that);
      return false;
    }

    public boolean equals(ordered4_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_w = true && this.isSetW();
      boolean that_present_w = true && that.isSetW();
      if (this_present_w || that_present_w) {
        if (!(this_present_w && that_present_w))
          return false;
        if (!this.w.equals(that.w))
          return false;
      }

      boolean this_present_x = true && this.isSetX();
      boolean that_present_x = true && that.isSetX();
      if (this_present_x || that_present_x) {
        if (!(this_present_x && that_present_x))
          return false;
        if (!this.x.equals(that.x))
          return false;
      }

      boolean this_present_z = true && this.isSetZ();
      boolean that_present_z = true && that.isSetZ();
      if (this_present_z || that_present_z) {
        if (!(this_present_z && that_present_z))
          return false;
        if (!this.z.equals(that.z))
          return false;
      }

      boolean this_present_y = true && this.isSetY();
      boolean that_present_y = true && that.isSetY();
      if (this_present_y || that_present_y) {
        if (!(this_present_y && that_present_y))
          return false;
        if (!this.y.equals(that.y))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((isSetW()) ? 131071 : 524287);
      if (isSetW())
        hashCode = hashCode * 8191 + w.hashCode();

      hashCode = hashCode * 8191 + ((isSetX()) ? 131071 : 524287);
      if (isSetX())
        hashCode = hashCode * 8191 + x.hashCode();

      hashCode = hashCode * 8191 + ((isSetZ()) ? 131071 : 524287);
      if (isSetZ())
        hashCode = hashCode * 8191 + z.hashCode();

      hashCode = hashCode * 8191 + ((isSetY()) ? 131071 : 524287);
      if (isSetY())
        hashCode = hashCode * 8191 + y.hashCode();

      return hashCode;
    }

    @Override
    public int compareTo(ordered4_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetW(), other.isSetW());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetW()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.w, other.w);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetX(), other.isSetX());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetX()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.x, other.x);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetZ(), other.isSetZ());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetZ()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.z, other.z);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetY(), other.isSetY());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetY()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.y, other.y);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.thrift.annotation.Nullable
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("ordered4_args(");
      boolean first = true;

      sb.append("w:");
      if (this.w == null) {
        sb.append("null");
      } else {
        sb.append(this.w);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("x:");
      if (this.x == null) {
        sb.append("null");
      } else {
        sb.append(this.x);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("z:");
      if (this.z == null) {
        sb.append("null");
      } else {
        sb.append(this.z);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("y:");
      if (this.y == null) {
        sb.append("null");
      } else {
        sb.append(this.y);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class ordered4_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public ordered4_argsStandardScheme getScheme() {
        return new ordered4_argsStandardScheme();
      }
    }

    private static class ordered4_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<ordered4_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, ordered4_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // W
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.w = iprot.readString();
                struct.setWIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // X
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.x = iprot.readString();
                struct.setXIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // Z
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.z = iprot.readString();
                struct.setZIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 4: // Y
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.y = iprot.readString();
                struct.setYIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, ordered4_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.w != null) {
          oprot.writeFieldBegin(W_FIELD_DESC);
          oprot.writeString(struct.w);
          oprot.writeFieldEnd();
        }
        if (struct.x != null) {
          oprot.writeFieldBegin(X_FIELD_DESC);
          oprot.writeString(struct.x);
          oprot.writeFieldEnd();
        }
        if (struct.z != null) {
          oprot.writeFieldBegin(Z_FIELD_DESC);
          oprot.writeString(struct.z);
          oprot.writeFieldEnd();
        }
        if (struct.y != null) {
          oprot.writeFieldBegin(Y_FIELD_DESC);
          oprot.writeString(struct.y);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class ordered4_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public ordered4_argsTupleScheme getScheme() {
        return new ordered4_argsTupleScheme();
      }
    }

    private static class ordered4_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<ordered4_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, ordered4_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetW()) {
          optionals.set(0);
        }
        if (struct.isSetX()) {
          optionals.set(1);
        }
        if (struct.isSetZ()) {
          optionals.set(2);
        }
        if (struct.isSetY()) {
          optionals.set(3);
        }
        oprot.writeBitSet(optionals, 4);
        if (struct.isSetW()) {
          oprot.writeString(struct.w);
        }
        if (struct.isSetX()) {
          oprot.writeString(struct.x);
        }
        if (struct.isSetZ()) {
          oprot.writeString(struct.z);
        }
        if (struct.isSetY()) {
          oprot.writeString(struct.y);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, ordered4_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(4);
        if (incoming.get(0)) {
          struct.w = iprot.readString();
          struct.setWIsSet(true);
        }
        if (incoming.get(1)) {
          struct.x = iprot.readString();
          struct.setXIsSet(true);
        }
        if (incoming.get(2)) {
          struct.z = iprot.readString();
          struct.setZIsSet(true);
        }
        if (incoming.get(3)) {
          struct.y = iprot.readString();
          struct.setYIsSet(true);
        }
      }
    }

    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  public static class ordered4_result implements org.apache.thrift.TBase<ordered4_result, ordered4_result._Fields>, java.io.Serializable, Cloneable, Comparable<ordered4_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ordered4_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ordered4_resultStandardSchemeFactory();
    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ordered4_resultTupleSchemeFactory();

    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();

      static {
        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ordered4_result.class, metaDataMap);
    }

    public ordered4_result() {
    }

    public ordered4_result(
      java.lang.String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public ordered4_result(ordered4_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public ordered4_result deepCopy() {
      return new ordered4_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getSuccess() {
      return this.success;
    }

    public ordered4_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof ordered4_result)
        return this.equals((ordered4_result)that);
      return false;
    }

    public boolean equals(ordered4_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
      if (isSetSuccess())
        hashCode = hashCode * 8191 + success.hashCode();

      return hashCode;
    }

    @Override
    public int compareTo(ordered4_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.thrift.annotation.Nullable
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("ordered4_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class ordered4_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public ordered4_resultStandardScheme getScheme() {
        return new ordered4_resultStandardScheme();
      }
    }

    private static class ordered4_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<ordered4_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, ordered4_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, ordered4_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeString(struct.success);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class ordered4_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public ordered4_resultTupleScheme getScheme() {
        return new ordered4_resultTupleScheme();
      }
    }

    private static class ordered4_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<ordered4_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, ordered4_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          oprot.writeString(struct.success);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, ordered4_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.setSuccessIsSet(true);
        }
      }
    }

    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  public static class pat_args implements org.apache.thrift.TBase<pat_args, pat_args._Fields>, java.io.Serializable, Cloneable, Comparable<pat_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("pat_args");

    private static final org.apache.thrift.protocol.TField TXT_FIELD_DESC = new org.apache.thrift.protocol.TField("txt", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField PAT_FIELD_DESC = new org.apache.thrift.protocol.TField("pat", org.apache.thrift.protocol.TType.STRING, (short)2);

    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new pat_argsStandardSchemeFactory();
    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new pat_argsTupleSchemeFactory();

    public @org.apache.thrift.annotation.Nullable java.lang.String txt; // required
    public @org.apache.thrift.annotation.Nullable java.lang.String pat; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      TXT((short)1, "txt"),
      PAT((short)2, "pat");

      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();

      static {
        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TXT
            return TXT;
          case 2: // PAT
            return PAT;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TXT, new org.apache.thrift.meta_data.FieldMetaData("txt", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.PAT, new org.apache.thrift.meta_data.FieldMetaData("pat", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(pat_args.class, metaDataMap);
    }

    public pat_args() {
    }

    public pat_args(
      java.lang.String txt,
      java.lang.String pat)
    {
      this();
      this.txt = txt;
      this.pat = pat;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public pat_args(pat_args other) {
      if (other.isSetTxt()) {
        this.txt = other.txt;
      }
      if (other.isSetPat()) {
        this.pat = other.pat;
      }
    }

    public pat_args deepCopy() {
      return new pat_args(this);
    }

    @Override
    public void clear() {
      this.txt = null;
      this.pat = null;
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getTxt() {
      return this.txt;
    }

    public pat_args setTxt(@org.apache.thrift.annotation.Nullable java.lang.String txt) {
      this.txt = txt;
      return this;
    }

    public void unsetTxt() {
      this.txt = null;
    }

    /** Returns true if field txt is set (has been assigned a value) and false otherwise */
    public boolean isSetTxt() {
      return this.txt != null;
    }

    public void setTxtIsSet(boolean value) {
      if (!value) {
        this.txt = null;
      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getPat() {
      return this.pat;
    }

    public pat_args setPat(@org.apache.thrift.annotation.Nullable java.lang.String pat) {
      this.pat = pat;
      return this;
    }

    public void unsetPat() {
      this.pat = null;
    }

    /** Returns true if field pat is set (has been assigned a value) and false otherwise */
    public boolean isSetPat() {
      return this.pat != null;
    }

    public void setPatIsSet(boolean value) {
      if (!value) {
        this.pat = null;
      }
    }

    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case TXT:
        if (value == null) {
          unsetTxt();
        } else {
          setTxt((java.lang.String)value);
        }
        break;

      case PAT:
        if (value == null) {
          unsetPat();
        } else {
          setPat((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case TXT:
        return getTxt();

      case PAT:
        return getPat();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case TXT:
        return isSetTxt();
      case PAT:
        return isSetPat();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof pat_args)
        return this.equals((pat_args)that);
      return false;
    }

    public boolean equals(pat_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_txt = true && this.isSetTxt();
      boolean that_present_txt = true && that.isSetTxt();
      if (this_present_txt || that_present_txt) {
        if (!(this_present_txt && that_present_txt))
          return false;
        if (!this.txt.equals(that.txt))
          return false;
      }

      boolean this_present_pat = true && this.isSetPat();
      boolean that_present_pat = true && that.isSetPat();
      if (this_present_pat || that_present_pat) {
        if (!(this_present_pat && that_present_pat))
          return false;
        if (!this.pat.equals(that.pat))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((isSetTxt()) ? 131071 : 524287);
      if (isSetTxt())
        hashCode = hashCode * 8191 + txt.hashCode();

      hashCode = hashCode * 8191 + ((isSetPat()) ? 131071 : 524287);
      if (isSetPat())
        hashCode = hashCode * 8191 + pat.hashCode();

      return hashCode;
    }

    @Override
    public int compareTo(pat_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetTxt(), other.isSetTxt());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTxt()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.txt, other.txt);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetPat(), other.isSetPat());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetPat()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pat, other.pat);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.thrift.annotation.Nullable
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("pat_args(");
      boolean first = true;

      sb.append("txt:");
      if (this.txt == null) {
        sb.append("null");
      } else {
        sb.append(this.txt);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("pat:");
      if (this.pat == null) {
        sb.append("null");
      } else {
        sb.append(this.pat);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class pat_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public pat_argsStandardScheme getScheme() {
        return new pat_argsStandardScheme();
      }
    }

    private static class pat_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<pat_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, pat_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // TXT
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.txt = iprot.readString();
                struct.setTxtIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // PAT
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.pat = iprot.readString();
                struct.setPatIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, pat_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.txt != null) {
          oprot.writeFieldBegin(TXT_FIELD_DESC);
          oprot.writeString(struct.txt);
          oprot.writeFieldEnd();
        }
        if (struct.pat != null) {
          oprot.writeFieldBegin(PAT_FIELD_DESC);
          oprot.writeString(struct.pat);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class pat_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public pat_argsTupleScheme getScheme() {
        return new pat_argsTupleScheme();
      }
    }

    private static class pat_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<pat_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, pat_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetTxt()) {
          optionals.set(0);
        }
        if (struct.isSetPat()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetTxt()) {
          oprot.writeString(struct.txt);
        }
        if (struct.isSetPat()) {
          oprot.writeString(struct.pat);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, pat_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.txt = iprot.readString();
          struct.setTxtIsSet(true);
        }
        if (incoming.get(1)) {
          struct.pat = iprot.readString();
          struct.setPatIsSet(true);
        }
      }
    }

    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  public static class pat_result implements org.apache.thrift.TBase<pat_result, pat_result._Fields>, java.io.Serializable, Cloneable, Comparable<pat_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("pat_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new pat_resultStandardSchemeFactory();
    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new pat_resultTupleSchemeFactory();

    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();

      static {
        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(pat_result.class, metaDataMap);
    }

    public pat_result() {
    }

    public pat_result(
      java.lang.String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public pat_result(pat_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public pat_result deepCopy() {
      return new pat_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getSuccess() {
      return this.success;
    }

    public pat_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof pat_result)
        return this.equals((pat_result)that);
      return false;
    }

    public boolean equals(pat_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
      if (isSetSuccess())
        hashCode = hashCode * 8191 + success.hashCode();

      return hashCode;
    }

    @Override
    public int compareTo(pat_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.thrift.annotation.Nullable
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("pat_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class pat_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public pat_resultStandardScheme getScheme() {
        return new pat_resultStandardScheme();
      }
    }

    private static class pat_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<pat_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, pat_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, pat_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeString(struct.success);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class pat_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public pat_resultTupleScheme getScheme() {
        return new pat_resultTupleScheme();
      }
    }

    private static class pat_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<pat_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, pat_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          oprot.writeString(struct.success);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, pat_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.setSuccessIsSet(true);
        }
      }
    }

    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  public static class regex_args implements org.apache.thrift.TBase<regex_args, regex_args._Fields>, java.io.Serializable, Cloneable, Comparable<regex_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("regex_args");

    private static final org.apache.thrift.protocol.TField TXT_FIELD_DESC = new org.apache.thrift.protocol.TField("txt", org.apache.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new regex_argsStandardSchemeFactory();
    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new regex_argsTupleSchemeFactory();

    public @org.apache.thrift.annotation.Nullable java.lang.String txt; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      TXT((short)1, "txt");

      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();

      static {
        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TXT
            return TXT;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TXT, new org.apache.thrift.meta_data.FieldMetaData("txt", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(regex_args.class, metaDataMap);
    }

    public regex_args() {
    }

    public regex_args(
      java.lang.String txt)
    {
      this();
      this.txt = txt;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public regex_args(regex_args other) {
      if (other.isSetTxt()) {
        this.txt = other.txt;
      }
    }

    public regex_args deepCopy() {
      return new regex_args(this);
    }

    @Override
    public void clear() {
      this.txt = null;
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getTxt() {
      return this.txt;
    }

    public regex_args setTxt(@org.apache.thrift.annotation.Nullable java.lang.String txt) {
      this.txt = txt;
      return this;
    }

    public void unsetTxt() {
      this.txt = null;
    }

    /** Returns true if field txt is set (has been assigned a value) and false otherwise */
    public boolean isSetTxt() {
      return this.txt != null;
    }

    public void setTxtIsSet(boolean value) {
      if (!value) {
        this.txt = null;
      }
    }

    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case TXT:
        if (value == null) {
          unsetTxt();
        } else {
          setTxt((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case TXT:
        return getTxt();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case TXT:
        return isSetTxt();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof regex_args)
        return this.equals((regex_args)that);
      return false;
    }

    public boolean equals(regex_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_txt = true && this.isSetTxt();
      boolean that_present_txt = true && that.isSetTxt();
      if (this_present_txt || that_present_txt) {
        if (!(this_present_txt && that_present_txt))
          return false;
        if (!this.txt.equals(that.txt))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((isSetTxt()) ? 131071 : 524287);
      if (isSetTxt())
        hashCode = hashCode * 8191 + txt.hashCode();

      return hashCode;
    }

    @Override
    public int compareTo(regex_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetTxt(), other.isSetTxt());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTxt()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.txt, other.txt);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.thrift.annotation.Nullable
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("regex_args(");
      boolean first = true;

      sb.append("txt:");
      if (this.txt == null) {
        sb.append("null");
      } else {
        sb.append(this.txt);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class regex_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public regex_argsStandardScheme getScheme() {
        return new regex_argsStandardScheme();
      }
    }

    private static class regex_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<regex_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, regex_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // TXT
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.txt = iprot.readString();
                struct.setTxtIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, regex_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.txt != null) {
          oprot.writeFieldBegin(TXT_FIELD_DESC);
          oprot.writeString(struct.txt);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class regex_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public regex_argsTupleScheme getScheme() {
        return new regex_argsTupleScheme();
      }
    }

    private static class regex_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<regex_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, regex_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetTxt()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetTxt()) {
          oprot.writeString(struct.txt);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, regex_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.txt = iprot.readString();
          struct.setTxtIsSet(true);
        }
      }
    }

    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  public static class regex_result implements org.apache.thrift.TBase<regex_result, regex_result._Fields>, java.io.Serializable, Cloneable, Comparable<regex_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("regex_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new regex_resultStandardSchemeFactory();
    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new regex_resultTupleSchemeFactory();

    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();

      static {
        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(regex_result.class, metaDataMap);
    }

    public regex_result() {
    }

    public regex_result(
      java.lang.String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public regex_result(regex_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public regex_result deepCopy() {
      return new regex_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getSuccess() {
      return this.success;
    }

    public regex_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof regex_result)
        return this.equals((regex_result)that);
      return false;
    }

    public boolean equals(regex_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
      if (isSetSuccess())
        hashCode = hashCode * 8191 + success.hashCode();

      return hashCode;
    }

    @Override
    public int compareTo(regex_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.thrift.annotation.Nullable
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("regex_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class regex_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public regex_resultStandardScheme getScheme() {
        return new regex_resultStandardScheme();
      }
    }

    private static class regex_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<regex_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, regex_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, regex_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeString(struct.success);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class regex_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public regex_resultTupleScheme getScheme() {
        return new regex_resultTupleScheme();
      }
    }

    private static class regex_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<regex_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, regex_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          oprot.writeString(struct.success);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, regex_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.setSuccessIsSet(true);
        }
      }
    }

    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  public static class text2txt_args implements org.apache.thrift.TBase<text2txt_args, text2txt_args._Fields>, java.io.Serializable, Cloneable, Comparable<text2txt_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("text2txt_args");

    private static final org.apache.thrift.protocol.TField WORD1_FIELD_DESC = new org.apache.thrift.protocol.TField("word1", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField WORD2_FIELD_DESC = new org.apache.thrift.protocol.TField("word2", org.apache.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.thrift.protocol.TField WORD3_FIELD_DESC = new org.apache.thrift.protocol.TField("word3", org.apache.thrift.protocol.TType.STRING, (short)3);

    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new text2txt_argsStandardSchemeFactory();
    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new text2txt_argsTupleSchemeFactory();

    public @org.apache.thrift.annotation.Nullable java.lang.String word1; // required
    public @org.apache.thrift.annotation.Nullable java.lang.String word2; // required
    public @org.apache.thrift.annotation.Nullable java.lang.String word3; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      WORD1((short)1, "word1"),
      WORD2((short)2, "word2"),
      WORD3((short)3, "word3");

      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();

      static {
        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // WORD1
            return WORD1;
          case 2: // WORD2
            return WORD2;
          case 3: // WORD3
            return WORD3;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.WORD1, new org.apache.thrift.meta_data.FieldMetaData("word1", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.WORD2, new org.apache.thrift.meta_data.FieldMetaData("word2", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.WORD3, new org.apache.thrift.meta_data.FieldMetaData("word3", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(text2txt_args.class, metaDataMap);
    }

    public text2txt_args() {
    }

    public text2txt_args(
      java.lang.String word1,
      java.lang.String word2,
      java.lang.String word3)
    {
      this();
      this.word1 = word1;
      this.word2 = word2;
      this.word3 = word3;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public text2txt_args(text2txt_args other) {
      if (other.isSetWord1()) {
        this.word1 = other.word1;
      }
      if (other.isSetWord2()) {
        this.word2 = other.word2;
      }
      if (other.isSetWord3()) {
        this.word3 = other.word3;
      }
    }

    public text2txt_args deepCopy() {
      return new text2txt_args(this);
    }

    @Override
    public void clear() {
      this.word1 = null;
      this.word2 = null;
      this.word3 = null;
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getWord1() {
      return this.word1;
    }

    public text2txt_args setWord1(@org.apache.thrift.annotation.Nullable java.lang.String word1) {
      this.word1 = word1;
      return this;
    }

    public void unsetWord1() {
      this.word1 = null;
    }

    /** Returns true if field word1 is set (has been assigned a value) and false otherwise */
    public boolean isSetWord1() {
      return this.word1 != null;
    }

    public void setWord1IsSet(boolean value) {
      if (!value) {
        this.word1 = null;
      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getWord2() {
      return this.word2;
    }

    public text2txt_args setWord2(@org.apache.thrift.annotation.Nullable java.lang.String word2) {
      this.word2 = word2;
      return this;
    }

    public void unsetWord2() {
      this.word2 = null;
    }

    /** Returns true if field word2 is set (has been assigned a value) and false otherwise */
    public boolean isSetWord2() {
      return this.word2 != null;
    }

    public void setWord2IsSet(boolean value) {
      if (!value) {
        this.word2 = null;
      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getWord3() {
      return this.word3;
    }

    public text2txt_args setWord3(@org.apache.thrift.annotation.Nullable java.lang.String word3) {
      this.word3 = word3;
      return this;
    }

    public void unsetWord3() {
      this.word3 = null;
    }

    /** Returns true if field word3 is set (has been assigned a value) and false otherwise */
    public boolean isSetWord3() {
      return this.word3 != null;
    }

    public void setWord3IsSet(boolean value) {
      if (!value) {
        this.word3 = null;
      }
    }

    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case WORD1:
        if (value == null) {
          unsetWord1();
        } else {
          setWord1((java.lang.String)value);
        }
        break;

      case WORD2:
        if (value == null) {
          unsetWord2();
        } else {
          setWord2((java.lang.String)value);
        }
        break;

      case WORD3:
        if (value == null) {
          unsetWord3();
        } else {
          setWord3((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case WORD1:
        return getWord1();

      case WORD2:
        return getWord2();

      case WORD3:
        return getWord3();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case WORD1:
        return isSetWord1();
      case WORD2:
        return isSetWord2();
      case WORD3:
        return isSetWord3();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof text2txt_args)
        return this.equals((text2txt_args)that);
      return false;
    }

    public boolean equals(text2txt_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_word1 = true && this.isSetWord1();
      boolean that_present_word1 = true && that.isSetWord1();
      if (this_present_word1 || that_present_word1) {
        if (!(this_present_word1 && that_present_word1))
          return false;
        if (!this.word1.equals(that.word1))
          return false;
      }

      boolean this_present_word2 = true && this.isSetWord2();
      boolean that_present_word2 = true && that.isSetWord2();
      if (this_present_word2 || that_present_word2) {
        if (!(this_present_word2 && that_present_word2))
          return false;
        if (!this.word2.equals(that.word2))
          return false;
      }

      boolean this_present_word3 = true && this.isSetWord3();
      boolean that_present_word3 = true && that.isSetWord3();
      if (this_present_word3 || that_present_word3) {
        if (!(this_present_word3 && that_present_word3))
          return false;
        if (!this.word3.equals(that.word3))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((isSetWord1()) ? 131071 : 524287);
      if (isSetWord1())
        hashCode = hashCode * 8191 + word1.hashCode();

      hashCode = hashCode * 8191 + ((isSetWord2()) ? 131071 : 524287);
      if (isSetWord2())
        hashCode = hashCode * 8191 + word2.hashCode();

      hashCode = hashCode * 8191 + ((isSetWord3()) ? 131071 : 524287);
      if (isSetWord3())
        hashCode = hashCode * 8191 + word3.hashCode();

      return hashCode;
    }

    @Override
    public int compareTo(text2txt_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetWord1(), other.isSetWord1());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetWord1()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.word1, other.word1);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetWord2(), other.isSetWord2());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetWord2()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.word2, other.word2);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetWord3(), other.isSetWord3());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetWord3()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.word3, other.word3);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.thrift.annotation.Nullable
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("text2txt_args(");
      boolean first = true;

      sb.append("word1:");
      if (this.word1 == null) {
        sb.append("null");
      } else {
        sb.append(this.word1);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("word2:");
      if (this.word2 == null) {
        sb.append("null");
      } else {
        sb.append(this.word2);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("word3:");
      if (this.word3 == null) {
        sb.append("null");
      } else {
        sb.append(this.word3);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class text2txt_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public text2txt_argsStandardScheme getScheme() {
        return new text2txt_argsStandardScheme();
      }
    }

    private static class text2txt_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<text2txt_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, text2txt_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // WORD1
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.word1 = iprot.readString();
                struct.setWord1IsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // WORD2
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.word2 = iprot.readString();
                struct.setWord2IsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // WORD3
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.word3 = iprot.readString();
                struct.setWord3IsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, text2txt_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.word1 != null) {
          oprot.writeFieldBegin(WORD1_FIELD_DESC);
          oprot.writeString(struct.word1);
          oprot.writeFieldEnd();
        }
        if (struct.word2 != null) {
          oprot.writeFieldBegin(WORD2_FIELD_DESC);
          oprot.writeString(struct.word2);
          oprot.writeFieldEnd();
        }
        if (struct.word3 != null) {
          oprot.writeFieldBegin(WORD3_FIELD_DESC);
          oprot.writeString(struct.word3);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class text2txt_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public text2txt_argsTupleScheme getScheme() {
        return new text2txt_argsTupleScheme();
      }
    }

    private static class text2txt_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<text2txt_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, text2txt_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetWord1()) {
          optionals.set(0);
        }
        if (struct.isSetWord2()) {
          optionals.set(1);
        }
        if (struct.isSetWord3()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.isSetWord1()) {
          oprot.writeString(struct.word1);
        }
        if (struct.isSetWord2()) {
          oprot.writeString(struct.word2);
        }
        if (struct.isSetWord3()) {
          oprot.writeString(struct.word3);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, text2txt_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.word1 = iprot.readString();
          struct.setWord1IsSet(true);
        }
        if (incoming.get(1)) {
          struct.word2 = iprot.readString();
          struct.setWord2IsSet(true);
        }
        if (incoming.get(2)) {
          struct.word3 = iprot.readString();
          struct.setWord3IsSet(true);
        }
      }
    }

    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  public static class text2txt_result implements org.apache.thrift.TBase<text2txt_result, text2txt_result._Fields>, java.io.Serializable, Cloneable, Comparable<text2txt_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("text2txt_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new text2txt_resultStandardSchemeFactory();
    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new text2txt_resultTupleSchemeFactory();

    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();

      static {
        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(text2txt_result.class, metaDataMap);
    }

    public text2txt_result() {
    }

    public text2txt_result(
      java.lang.String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public text2txt_result(text2txt_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public text2txt_result deepCopy() {
      return new text2txt_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getSuccess() {
      return this.success;
    }

    public text2txt_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof text2txt_result)
        return this.equals((text2txt_result)that);
      return false;
    }

    public boolean equals(text2txt_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
      if (isSetSuccess())
        hashCode = hashCode * 8191 + success.hashCode();

      return hashCode;
    }

    @Override
    public int compareTo(text2txt_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.thrift.annotation.Nullable
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("text2txt_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class text2txt_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public text2txt_resultStandardScheme getScheme() {
        return new text2txt_resultStandardScheme();
      }
    }

    private static class text2txt_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<text2txt_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, text2txt_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, text2txt_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeString(struct.success);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class text2txt_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public text2txt_resultTupleScheme getScheme() {
        return new text2txt_resultTupleScheme();
      }
    }

    private static class text2txt_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<text2txt_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, text2txt_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          oprot.writeString(struct.success);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, text2txt_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.setSuccessIsSet(true);
        }
      }
    }

    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  public static class title_args implements org.apache.thrift.TBase<title_args, title_args._Fields>, java.io.Serializable, Cloneable, Comparable<title_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("title_args");

    private static final org.apache.thrift.protocol.TField SEX_FIELD_DESC = new org.apache.thrift.protocol.TField("sex", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField TITLE_FIELD_DESC = new org.apache.thrift.protocol.TField("title", org.apache.thrift.protocol.TType.STRING, (short)2);

    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new title_argsStandardSchemeFactory();
    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new title_argsTupleSchemeFactory();

    public @org.apache.thrift.annotation.Nullable java.lang.String sex; // required
    public @org.apache.thrift.annotation.Nullable java.lang.String title; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SEX((short)1, "sex"),
      TITLE((short)2, "title");

      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();

      static {
        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SEX
            return SEX;
          case 2: // TITLE
            return TITLE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SEX, new org.apache.thrift.meta_data.FieldMetaData("sex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.TITLE, new org.apache.thrift.meta_data.FieldMetaData("title", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(title_args.class, metaDataMap);
    }

    public title_args() {
    }

    public title_args(
      java.lang.String sex,
      java.lang.String title)
    {
      this();
      this.sex = sex;
      this.title = title;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public title_args(title_args other) {
      if (other.isSetSex()) {
        this.sex = other.sex;
      }
      if (other.isSetTitle()) {
        this.title = other.title;
      }
    }

    public title_args deepCopy() {
      return new title_args(this);
    }

    @Override
    public void clear() {
      this.sex = null;
      this.title = null;
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getSex() {
      return this.sex;
    }

    public title_args setSex(@org.apache.thrift.annotation.Nullable java.lang.String sex) {
      this.sex = sex;
      return this;
    }

    public void unsetSex() {
      this.sex = null;
    }

    /** Returns true if field sex is set (has been assigned a value) and false otherwise */
    public boolean isSetSex() {
      return this.sex != null;
    }

    public void setSexIsSet(boolean value) {
      if (!value) {
        this.sex = null;
      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getTitle() {
      return this.title;
    }

    public title_args setTitle(@org.apache.thrift.annotation.Nullable java.lang.String title) {
      this.title = title;
      return this;
    }

    public void unsetTitle() {
      this.title = null;
    }

    /** Returns true if field title is set (has been assigned a value) and false otherwise */
    public boolean isSetTitle() {
      return this.title != null;
    }

    public void setTitleIsSet(boolean value) {
      if (!value) {
        this.title = null;
      }
    }

    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SEX:
        if (value == null) {
          unsetSex();
        } else {
          setSex((java.lang.String)value);
        }
        break;

      case TITLE:
        if (value == null) {
          unsetTitle();
        } else {
          setTitle((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SEX:
        return getSex();

      case TITLE:
        return getTitle();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case SEX:
        return isSetSex();
      case TITLE:
        return isSetTitle();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof title_args)
        return this.equals((title_args)that);
      return false;
    }

    public boolean equals(title_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_sex = true && this.isSetSex();
      boolean that_present_sex = true && that.isSetSex();
      if (this_present_sex || that_present_sex) {
        if (!(this_present_sex && that_present_sex))
          return false;
        if (!this.sex.equals(that.sex))
          return false;
      }

      boolean this_present_title = true && this.isSetTitle();
      boolean that_present_title = true && that.isSetTitle();
      if (this_present_title || that_present_title) {
        if (!(this_present_title && that_present_title))
          return false;
        if (!this.title.equals(that.title))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((isSetSex()) ? 131071 : 524287);
      if (isSetSex())
        hashCode = hashCode * 8191 + sex.hashCode();

      hashCode = hashCode * 8191 + ((isSetTitle()) ? 131071 : 524287);
      if (isSetTitle())
        hashCode = hashCode * 8191 + title.hashCode();

      return hashCode;
    }

    @Override
    public int compareTo(title_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetSex(), other.isSetSex());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSex()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sex, other.sex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetTitle(), other.isSetTitle());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTitle()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.title, other.title);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.thrift.annotation.Nullable
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("title_args(");
      boolean first = true;

      sb.append("sex:");
      if (this.sex == null) {
        sb.append("null");
      } else {
        sb.append(this.sex);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("title:");
      if (this.title == null) {
        sb.append("null");
      } else {
        sb.append(this.title);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class title_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public title_argsStandardScheme getScheme() {
        return new title_argsStandardScheme();
      }
    }

    private static class title_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<title_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, title_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // SEX
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.sex = iprot.readString();
                struct.setSexIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // TITLE
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.title = iprot.readString();
                struct.setTitleIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, title_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.sex != null) {
          oprot.writeFieldBegin(SEX_FIELD_DESC);
          oprot.writeString(struct.sex);
          oprot.writeFieldEnd();
        }
        if (struct.title != null) {
          oprot.writeFieldBegin(TITLE_FIELD_DESC);
          oprot.writeString(struct.title);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class title_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public title_argsTupleScheme getScheme() {
        return new title_argsTupleScheme();
      }
    }

    private static class title_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<title_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, title_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetSex()) {
          optionals.set(0);
        }
        if (struct.isSetTitle()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetSex()) {
          oprot.writeString(struct.sex);
        }
        if (struct.isSetTitle()) {
          oprot.writeString(struct.title);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, title_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.sex = iprot.readString();
          struct.setSexIsSet(true);
        }
        if (incoming.get(1)) {
          struct.title = iprot.readString();
          struct.setTitleIsSet(true);
        }
      }
    }

    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  public static class title_result implements org.apache.thrift.TBase<title_result, title_result._Fields>, java.io.Serializable, Cloneable, Comparable<title_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("title_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new title_resultStandardSchemeFactory();
    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new title_resultTupleSchemeFactory();

    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();

      static {
        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(title_result.class, metaDataMap);
    }

    public title_result() {
    }

    public title_result(
      java.lang.String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public title_result(title_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public title_result deepCopy() {
      return new title_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.String getSuccess() {
      return this.success;
    }

    public title_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.thrift.annotation.Nullable
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof title_result)
        return this.equals((title_result)that);
      return false;
    }

    public boolean equals(title_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
      if (isSetSuccess())
        hashCode = hashCode * 8191 + success.hashCode();

      return hashCode;
    }

    @Override
    public int compareTo(title_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.thrift.annotation.Nullable
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("title_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class title_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public title_resultStandardScheme getScheme() {
        return new title_resultStandardScheme();
      }
    }

    private static class title_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<title_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, title_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, title_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeString(struct.success);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class title_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
      public title_resultTupleScheme getScheme() {
        return new title_resultTupleScheme();
      }
    }

    private static class title_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<title_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, title_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          oprot.writeString(struct.success);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, title_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.setSuccessIsSet(true);
        }
      }
    }

    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

}
