private function _readBSE()
	{
		// offset: 0; size: 2; recVer and recInstance

		// bit: 4-15; mask: 0xFFF0; recInstance
		$recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4;

		$length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
		$recordData = substr($this->_data, $this->_pos + 8, $length);

		// move stream pointer to next record
		$this->_pos += 8 + $length;

		// add BSE to BstoreContainer
		$BSE = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE();
		$this->_object->addBSE($BSE);

		$BSE->setBLIPType($recInstance);

		// offset: 0; size: 1; btWin32 (MSOBLIPTYPE)
		$btWin32 = ord($recordData[0]);

		// offset: 1; size: 1; btWin32 (MSOBLIPTYPE)
		$btMacOS = ord($recordData[1]);

		// offset: 2; size: 16; MD4 digest
		$rgbUid = substr($recordData, 2, 16);

		// offset: 18; size: 2; tag
		$tag = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 18);

		// offset: 20; size: 4; size of BLIP in bytes
		$size = PHPExcel_Reader_Excel5::_GetInt4d($recordData, 20);

		// offset: 24; size: 4; number of references to this BLIP
		$cRef = PHPExcel_Reader_Excel5::_GetInt4d($recordData, 24);

		// offset: 28; size: 4; MSOFO file offset
		$foDelay = PHPExcel_Reader_Excel5::_GetInt4d($recordData, 28);

		// offset: 32; size: 1; unused1
		$unused1 = ord($recordData{32});

		// offset: 33; size: 1; size of nameData in bytes (including null terminator)
		$cbName = ord($recordData{33});

		// offset: 34; size: 1; unused2
		$unused2 = ord($recordData{34});

		// offset: 35; size: 1; unused3
		$unused3 = ord($recordData{35});

		// offset: 36; size: $cbName; nameData
		$nameData = substr($recordData, 36, $cbName);

		// offset: 36 + $cbName, size: var; the BLIP data
		$blipData = substr($recordData, 36 + $cbName);

		// record is a container, read contents
		$reader = new PHPExcel_Reader_Excel5_Escher($BSE);
		$reader->load($blipData);
	}