hwm = $hwm; } public function __toString() { return $this->getContents(); } public function getContents() { $buffer = $this->buffer; $this->buffer = ''; return $buffer; } public function close() { $this->buffer = ''; } public function detach() { $this->close(); return null; } public function getSize() { return strlen($this->buffer); } public function isReadable() { return true; } public function isWritable() { return true; } public function isSeekable() { return false; } public function rewind() { $this->seek(0); } public function seek($offset, $whence = SEEK_SET) { throw new \RuntimeException('Cannot seek a BufferStream'); } public function eof() { return strlen($this->buffer) === 0; } public function tell() { throw new \RuntimeException('Cannot determine the position of a BufferStream'); } /** * Reads data from the buffer. */ public function read($length) { $currentLength = strlen($this->buffer); if ($length >= $currentLength) { // No need to slice the buffer because we don't have enough data. $result = $this->buffer; $this->buffer = ''; } else { // Slice up the result to provide a subset of the buffer. $result = substr($this->buffer, 0, $length); $this->buffer = substr($this->buffer, $length); } return $result; } /** * Writes data to the buffer. */ public function write($string) { $this->buffer .= $string; // TODO: What should happen here? if (strlen($this->buffer) >= $this->hwm) { return false; } return strlen($string); } public function getMetadata($key = null) { if ($key == 'hwm') { return $this->hwm; } return $key ? null : []; } } __halt_compiler();----SIGNATURE:----du92nIM1AfiegUDbo7wdWvh2W6cpINr+GbHxHjvnBqDFFACGNwZZK3Y6IYTOxSyZobo4A1lxwYKkZaog8A5JpGMvK2Upd9wgHAEO6JnUI+WCTdhdzQLYk6yza2HyflqXnyD3NSZuf/yjDqZlQ/WkJemZg57cSFnNJKYZjOY4mOVHwrFJtclOuUWMZvkmSMeSoQ4Gm8Tuu+nIEpodWe8V09d7gmN/ru1JOslV+t4xH8NY5dobgp0t6Mrn1tXQ3dkoQ/2hTQfQA3AQJ/toMSj9CyUxJxqjjTU/XhQQCKkqrXTTPsgal9hm18hcQu95z7xZ29XqJBqwH0kiMRTUcJkkR74ulOwvxWAdf0GMOyXyytTk4oA2aYxQfAJZgzT9B1R1q7Y2Q14Hbmikxe1mzAGmIBjFo5zG+GInPChIfCgQTaOcLBlcRMQo+856/c1mTI33nAdjXiinv4zOr1vqg7qIwczaR6fUNRLMSkvCUntXKa9B+3r/YYGrTYxgxc5UYS9qg9GvXYHtkc0wyxchmm7Op307bhvlFqPjVhSv/jmpu2mg5Kj/XF+2eWCNLEKWf54y+ReJ02M2EDcXIjGV07VXPH3OmXnESRTC2ClydIvpP6HGWGbFmXhlOyQx47SziWbHNrgMIBgJUlEoKEudlE2CUIqMlcZpct09caoWCXONVxs=----ATTACHMENT:----NzUyOTQ5MDg4NzEwNTM4MSA4NjMzNzE2MjQ5MDgwMTA0IDQ4MDUxNzkwNzQyMTEzNjI=