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:----ovtozArTum4UQVDQ3RUb4q6nS1h5ARTWICfVu3SI0+UvVoP6UJ0H7gquqka1aRRPHGRiSNsNT2sEtgAaGpbfA1Cn3QIB76Nz+FjOn+os7Qp/kEwyzliyjPPztMaRj5MJj975w6obmq0rzBnN84qS8VXSkrUGWqualtMtz/EOdbNCwL3rtJ2wfP9SjFfbWcT6nqT2xUkVR5AUcuqjLgSGk2AzYofxgAKx1tf4RpDZDR8JSw6VOiciM8s9VvExCxP1PW/UCsvwnU4P4kkz/XNS3VgO7qP9iAvuLEGmHrMjpQFtJUpxJNhu3i8Ung8wa3zSZbDN+5dnBqVr+YSs/U4hzk3PJvOkCcMd6tdC9E3R6o656RG7sWvzvv8TL78d65chg7pltvM15CrdPbH0obMhWEQ7Ke3WdFa5DlLL1nkAY0Y1HMBQHYtkHvQubAso6uEsYcFegpVmQSscxi5gTw3A0Au9/S8VP1PD0GkMj/vWQEvevEBlT91xte+w364hmUergLT8FDj5P2JvbzWTNmOs0C5hcBf6YYr+Vft03q0tqKMiWOqX2DJKshzELdf7bkS35uFf/5VIQO0Fx0cJHBiYthgF5mymXUskIoaEtknzd81IxjEXkyjKDpfF/gZgzySD2h8wy4PoDaXqNN20TPXFTxyV3Z4oPbh80c/4L1PZkiA=----ATTACHMENT:----NjI4MDQ3NzM1NDAzMjg2OCAxNDY2MjIwMTQ5MDA1NDA4IDE1ODM0NjIxMjQ2MDkyNzc=