public function saveFromHtml(string $input, string $html, array $options): self 	{ 		$dom = new DOMDocument;  		$status = $dom->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8'), LIBXML_BIGLINES 			| LIBXML_COMPACT 			| LIBXML_HTML_NOIMPLIED 			| LIBXML_HTML_NODEFDTD 			| LIBXML_NOBLANKS 			| LIBXML_NOXMLDECL 			| LIBXML_NSCLEAN 			| LIBXML_PARSEHUGE 			| LIBXML_NOERROR 			| LIBXML_NOWARNING);  		if (!$status) { 			return $this; 		}  		$images = $dom->getElementsByTagName('img');  		if ($images->count() === 0) { 			return $this; 		}  		foreach ($images as $key => $img) { 			$data = $img->getAttribute('src');  			if (filter_var($data, FILTER_VALIDATE_URL)) { 				continue; 			}  			[, $data] = explode('base64,', $data);  			$name = trim($img->getAttribute('data-filename')); 			$options['name'] = $name !== '' ? $this->generateFileName($name) : 'image-' . ($key + 1) . '.png';  			$media = $this->saveFromBase64($data, $options);  			$img->setAttribute('src', $media->getFullUrl()); 			$img->setAttribute('alt', $media->name); 			$img->setAttribute('loading', 'lazy'); 			$img->setAttribute('decoding', 'async'); 		}  		$html = $dom->saveHTML($dom->documentElement);  		if (!$html) { 			return $this; 		}  		$column = $options['column'] ?? $input;  		if ($this->model instanceof HasTranslations && property_exists($this->model, 'translatable') && in_array($column, $this->model->translatable)) { 			$locale = $options['locale'] ?? $this->model->getDefaultTranslationLocale();  			$data = [ 				$column => [ 					$locale => $html, 				], 			]; 		} else { 			$data = [$column => $html]; 		}  		$this->model->update($data);  		return $this; 	}