code: func (r *reader) readUBitVarFP() uint32 {
  	if r.readBoolean() {
  		return r.readBits(2)
  	}
  	if r.readBoolean() {
  		return r.readBits(4)
  	}
  	if r.readBoolean() {
  		return r.readBits(10)
  	}
  	if r.readBoolean() {
  		return r.readBits(17)
  	}
  	return r.readBits(31)
  }
docs: // readUBitVarFP reads a variable length uint32 encoded using fieldpath encoding