using System.IO; using System.Text; namespace ScreenConnect; public class BinaryReader : System.IO.BinaryReader { public Encoding Encoding { get; } public BinaryReader(Stream stream) : this(stream, Constants.UTF8EncodingWithoutPreamble) { } public BinaryReader(Stream stream, Encoding encoding) : base(stream, encoding) { Encoding = encoding; } public new int Read7BitEncodedInt() { return base.Read7BitEncodedInt(); } public long Read7BitEncodedLong() { long num = 0L; int num2 = 0; byte b; do { b = ReadByte(); num |= (long)(b & 0x7F) << num2; num2 += 7; } while ((b & 0x80) != 0); return num; } public long Read7BitBigEndianEncodedLong() { long num = 0L; byte b; do { b = ReadByte(); num <<= 7; num += b & 0x7F; } while ((b & 0x80) != 0); return num; } }