public long readLong(){int b0 = _in.readUByte();int b1 = _in.readUByte();int b2 = _in.readUByte();int b3 = _in.readUByte();int b4 = _in.readUByte();int b5 = _in.readUByte();int b6 = _in.readUByte();int b7 = _in.readUByte();return (((long)b7 << 56) +((long)b6 << 48) +((long)b5 << 40) +((long)b4 << 32) +((long)b3 << 24) +(b2 << 16) +(b1 <<  8) +(b0 <<  0));}

public long ReadLong(){int b0 = _in.ReadUByte();int b1 = _in.ReadUByte();int b2 = _in.ReadUByte();int b3 = _in.ReadUByte();int b4 = _in.ReadUByte();int b5 = _in.ReadUByte();int b6 = _in.ReadUByte();int b7 = _in.ReadUByte();return (((long)b7 << 56) +((long)b6 << 48) +((long)b5 << 40) +((long)b4 << 32) +((long)b3 << 24) +(b2 << 16) +(b1 << 8) +(b0 << 0));}
