public slot ReadSlot()
 {
     short temp_b = ReadShort();
     if (temp_b <= -1)
     {
         return new slot(temp_b);
     }
     else if(slot.IsGziped(temp_b))
     {
         byte[] buffer = ReadBytes(temp_b);
         slot temp_slot = new slot(temp_b);
         ZlibStream decompress = new ZlibStream(reader, CompressionMode.Decompress);
         decompress.Read(temp_slot.GZipData,0 ,buffer.Length);
         return temp_slot;
     }
     return new slot(temp_b);
 }
 public void AddSlot(slot cv_slot)
 {
     AddShort(cv_slot.s_short);
     if(slot.IsGziped(cv_slot.s_short))
     {
         ZlibStream Compress = new ZlibStream(stream, CompressionMode.Compress);
         Compress.Write(cv_slot.GZipData, 0, cv_slot.GZipData.Length);
     }
 }