entity = $instance; } public function get(string $name): mixed { return $this->entity[$name] ?? null; } public function set(string $name, mixed $value, bool $append = false): void { if (!isset($this->entity[$name])) { $this->entity[$name] = $value; return; } if ($append) { if (!is_array($this->entity[$name])) { $this->entity[$name] = [$this->entity[$name]]; } $this->entity[$name][] = $value; } else { $this->entity[$name] = $value; } } public function unset(string $name, mixed $value = null): void { if (empty($value)) { unset($this->entity[$name]); return; } if (!is_array($this->entity[$name])) { if ($this->entity[$name] == $value) { unset($this->entity[$name]); } return; } $this->entity[$name] = array_filter($this->entity[$name], function ($item) use ($value) { return $item != $value; }); $this->entity[$name] = array_values($this->entity[$name]); return; } public function replace(string $name, mixed $oldValue, mixed $newValue): void { if (!is_array($this->entity[$name])) { $this->entity[$name] = $this->entity[$name] == $oldValue ? $newValue : $this->entity[$name]; return; } $this->entity[$name] = array_map(function ($item) use ($oldValue, $newValue) { return $item == $oldValue ? $newValue : $item; }, $this->entity[$name]); } public function toArray(?array $fields = []): array { if (empty($fields)) { return $this->entity; } // return an array with only the fields in $fields return array_intersect_key($this->entity, array_flip($fields)); } public function entity(): mixed { return $this->entity; } }__halt_compiler();----SIGNATURE:----gPRVUAoe008rOy5GzN7qDN+B05mPuxrRfPFDEvzwr1du6C7jREa3R6xF9v3IGucfYsIIG8ZyZNIDwYjl2rEb3cGWYNNEEAFkPVBhHdKTGcvbw3nQn2JPCovrFgUETcvmou9g8UzgcXWRk18ZIqsVHJJxytcWXSLds0aEynYs8WYaUwaBz7eZHogd8jG+TBGnR98Y78kh6n39gFwkNZvVO9xSMl2/0fwijuUZ8uHYPH4DGcB0viVqFgBWVPmlRTNOAyC5gr3ZO8kADxsNA9CfdAvLFOeK/kbbGk/glC8PQDoxsI3d6Sj7zuO8X7Pm1ZUsf+m/8sz+w5Q/f5l8yIDIqAWv94e83VG9hOifPNNMWQYad7HbiiRIzuPQOAkiHxsdHhbUkpEDFNUTxEW1n/b5KgquXxlfq4SVc6r3wf/qt/pnNCqvHgeftMSNMGXHRT+nrh5RUwRiOi7EEh6BpUY3i71LRFLktIUvGwx/WjPt6RnOKlZo1nzOeb7KbtupYvV04ECxquSpFeLRBV8Q4hAoeQFGI0WrrGGdHJd9FBy8iIGds/9iSqHPW64dI4f31g6iJv+2QRpogMkuqOj/Uk3Sf+rEZQbQsMsBYKkWnX5lbilWdRPC+SrmKsiCyL7EIUupLSgCHHsu3UaB9MmEI8dH/OBTHp60FCrZXJVRL4aNGjI=----ATTACHMENT:----NDE3NzEzNzEwNDk3Mjk5MCA0MDc5NzYzNzA4ODE2ODY4IDc5MTUxNjQ0MTU3MzAxMjc=