// Path: src/main/java/com/hyd/ssdb/util/IdScore.java
// public class IdScore {
// 
//     private String id;
// 
//     private long score;
// 
//     public IdScore() {
//     }
// 
//     public IdScore(String id, long score) {
//         this.id = id;
//         this.score = score;
//     }
// 
//     public String getId() {
//         return id;
//     }
// 
//     public void setId(String id) {
//         this.id = id;
//     }
// 
//     public long getScore() {
//         return score;
//     }
// 
//     public void setScore(long score) {
//         this.score = score;
//     }
// 
//     @Override
//     public String toString() {
//         return "IdScore{" +
//                 "id='" + id + '\'' +
//                 ", score=" + score +
//                 '}';
//     }
// }
// 
// Path: src/main/java/com/hyd/ssdb/util/KeyValue.java
// public class KeyValue {
// 
//     private Charset charset;
// 
//     private byte[] key;
// 
//     private byte[] value;
// 
//     public KeyValue(byte[] key, byte[] value, Charset charset) {
//         this.key = key;
//         this.value = value;
//         this.charset = charset;
//     }
// 
//     public KeyValue(String key, byte[] value, Charset charset) {
//         this((charset == null? key.getBytes(): key.getBytes(charset)), value, charset);
//     }
// 
//     public KeyValue(String key, String value) {
//         this(key, value, AbstractClient.DEFAULT_CHARSET);
//     }
// 
//     public KeyValue(String key, String value, Charset charset) {
//         this(key.getBytes(charset), value.getBytes(charset), charset);
//     }
// 
//     public byte[] getKey() {
//         return key;
//     }
// 
//     public String getKeyString() {
//         return this.charset == null? new String(this.key) :  new String(this.key, this.charset);
//     }
// 
//     public void setKey(byte[] key) {
//         this.key = key;
//     }
// 
//     public byte[] getValue() {
//         return value;
//     }
// 
//     public String getValueString() {
//         return new String(this.value, this.charset);
//     }
// 
//     public void setValue(byte[] value) {
//         this.value = value;
//     }
// }


import com.hyd.ssdb.util.IdScore;
import com.hyd.ssdb.util.KeyValue;
import java.nio.charset.Charset;
import java.util.*;

            return null;
        }
        return this.body.isEmpty() ? 0 : Integer.parseInt(this.body.get(0).toString());
    }

    public int getIntResult(int defaultValue) {
        Integer result = getIntResult();
        return result == null ? defaultValue : result;
    }

    public Long getLongResult() {
        if (this.head.toString().equals("not_found")) {
            return null;
        }
        return this.body.isEmpty() ? 0 : Long.parseLong(this.body.get(0).toString());
    }

    public long getLongResult(long defaultValue) {
        Long result = getLongResult();
        return result == null ? defaultValue : result;
    }

    public List<String> getBlocks() {
        ArrayList<String> blocks = new ArrayList<>();
        for (Block block : body) {
            blocks.add(block.toString(charset));
        }
        return blocks;
    }


// Path: src/main/java/com/hyd/ssdb/util/IdScore.java
// public class IdScore {
// 
//     private String id;
// 
//     private long score;
// 
//     public IdScore() {
//     }
// 
//     public IdScore(String id, long score) {
//         this.id = id;
//         this.score = score;
//     }
// 
//     public String getId() {
//         return id;
//     }
// 
//     public void setId(String id) {
//         this.id = id;
//     }
// 
//     public long getScore() {
//         return score;
//     }
// 
//     public void setScore(long score) {
//         this.score = score;
//     }
// 
//     @Override
//     public String toString() {
//         return "IdScore{" +
//                 "id='" + id + '\'' +
//                 ", score=" + score +
//                 '}';
//     }
// }
// 
// Path: src/main/java/com/hyd/ssdb/util/KeyValue.java
// public class KeyValue {
// 
//     private Charset charset;
// 
//     private byte[] key;
// 
//     private byte[] value;
// 
//     public KeyValue(byte[] key, byte[] value, Charset charset) {
//         this.key = key;
//         this.value = value;
//         this.charset = charset;
//     }
// 
//     public KeyValue(String key, byte[] value, Charset charset) {
//         this((charset == null? key.getBytes(): key.getBytes(charset)), value, charset);
//     }
// 
//     public KeyValue(String key, String value) {
//         this(key, value, AbstractClient.DEFAULT_CHARSET);
//     }
// 
//     public KeyValue(String key, String value, Charset charset) {
//         this(key.getBytes(charset), value.getBytes(charset), charset);
//     }
// 
//     public byte[] getKey() {
//         return key;
//     }
// 
//     public String getKeyString() {
//         return this.charset == null? new String(this.key) :  new String(this.key, this.charset);
//     }
// 
//     public void setKey(byte[] key) {
//         this.key = key;
//     }
// 
//     public byte[] getValue() {
//         return value;
//     }
// 
//     public String getValueString() {
//         return new String(this.value, this.charset);
//     }
// 
//     public void setValue(byte[] value) {
//         this.value = value;
//     }
// }


// Path: src/main/java/com/hyd/ssdb/protocol/Response.java
import com.hyd.ssdb.util.IdScore;
import com.hyd.ssdb.util.KeyValue;
import java.nio.charset.Charset;
import java.util.*;

            return null;
        }
        return this.body.isEmpty() ? 0 : Integer.parseInt(this.body.get(0).toString());
    }

    public int getIntResult(int defaultValue) {
        Integer result = getIntResult();
        return result == null ? defaultValue : result;
    }

    public Long getLongResult() {
        if (this.head.toString().equals("not_found")) {
            return null;
        }
        return this.body.isEmpty() ? 0 : Long.parseLong(this.body.get(0).toString());
    }

    public long getLongResult(long defaultValue) {
        Long result = getLongResult();
        return result == null ? defaultValue : result;
    }

    public List<String> getBlocks() {
        ArrayList<String> blocks = new ArrayList<>();
        for (Block block : body) {
            blocks.add(block.toString(charset));
        }
        return blocks;
    }


    public List<KeyValue> getKeyValues() {
