а с™%Vq€о™%VџџџџџџџџP<PШо™%VPџџџџ`що™%V`@џџџџ+€?о™%V џџџџџџџџ>ќр™%Vpcрп™%Vp €€ѕо™%V€џџџџџџџџIќр™%Vp cрп™%V €А€ѕо™%VАџџџџџџџџIќр™%VPа cрп™%Vа`р€ѕо™%VрџџџџџџџџIќр™%V0(cрп™%V@€ѕо™%VџџџџџџџџI€о™%Vџџџџ0!E€о™%Vџџџџџџџџ0!<що™%V0€џџџџ!+ќр™%Vр@8"cрп™%V@№P"€ѕо™%VPџџџџџџџџ"I€?о™%VРџџџџџџџџџџџџ$>H–AH–A€“OЕРOЕ0ТOЕ(OЕˆOЕ€ТOЕаТOЕPOЕ6OЕ УOЕpУOЕ8OЕ РOЕРУOЕФOЕјOЕ@5OЕ`ФOЕАФOЕ˜O‚AХOЕPХOЕ OЕPРOЕ` š%VHЁŠьыTУЊ8 ЄAk7 љ$šј‚A ЂЫ`зЌ˜йOЕџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџџџџџџџџџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџp§’RЕџџџџай”ЦwƒˆuŠA IWЕџџџџІ'‹"=зwƒиuŠAQRЕџџџџ=y7ЪЖ{~Р8§‰Aц.RЕџџџџCРœќ/™pђH†ŠA(ЯURЕџџџџїрbe‰Ъжp†ŠA€gURЕPЁ&ђMа@…ŠAаю-RЕџџџџtХ[yYвња‡ŠAр6’RЕџџџџ“*ЊDV™ а ‡ŠAрЁORЕџџџџ/Г]хGых€QRЕ0Љ_RЕџџџџ 6§йю)ш№ _RЕАgURЕџџџџdqтНШу†ЁІ_RЕ8ЮURЕџџџџт]‘fU9’PdURЕц.RЕџџџџQМЌЗЕђпЯxdŽAШх’A ‘Ѓ’6ˆвwƒ(jŽAц’Aџџџџ‰w gVЇъіHо’A@ц’AџџџџмZутžбкРiŽAxц’Aџџџџе№R№uYџап’AРц’Aџџџџ6 х|ТмРп’Aјц’AџџџџюrЛ„мwƒdŽA т’A ТEsКїї–H_ŽA8т’AџџџџњexьлаwƒРnˆA8т’AџџџџEтЧСwƒhiŽA8т’AџџџџC˜6йц€ E‹A`/“AџџџџBд ЖUVqђиnŽAИ/“AџџџџрœЅ@бwƒр/“A0“AџџџџљPЂ,qоТЈАр’Ap0“AџџџџСМы*PЬwƒX AШ0“AџџџџфŒЂUЉBйЅ A(‹AџџџџњexьлаwƒРnˆAаЉŠAТEsКїї–H_ŽA06QЕA‹ОRlЬ~ŒAџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџџџPАVWЕџџџџай”ЦwƒˆuŠA№zRЕџџџџІ'‹"=зwƒиuŠA Џ_WЕџџџџ=y7ЪЖ{~Р8§‰AиDPRЕџџџџCРœќ/™pђH†ŠAр*FRЕџџџџїрbe‰Ъжp†ŠAРHPRЕPЁ&ђMа@…ŠAИ›VWЕџџџџtХ[yYвња‡ŠA№№KQЕџџџџ“*ЊDV™ а ‡ŠA8NPRЕџџџџAM|€ћ{AЉLQЕџџџџ 6§йю)ш …ŠAА—SRЕџџџџ/Г]хGыхи„ŠAPк…RЕџџџџdqтНШу†Ёp…ŠA MQЕ§—а0 HтХ †ŠASRЕџџџџт]‘fU9’†ŠAрKPRЕџџџџQМЌЗЕђпЯјLPRЕџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџџџay( $values ); $expire = $this->ttl_to_seconds( $ttl ); $results = wp_cache_set_multiple( $values_array, self::CACHE_GROUP, $expire ); // Return true only if all operations succeeded. return ! in_array( false, $results, true ); } /** * Deletes multiple cache items in a single operation. * * @since 7.0.0 * * @param iterable $keys A list of string-based keys to be deleted. * @return bool True if the items were successfully removed. False if there was an error. */ public function deleteMultiple( $keys ): bool { $keys_array = $this->iterable_to_array( $keys ); $results = wp_cache_delete_multiple( $keys_array, self::CACHE_GROUP ); // Return true only if all operations succeeded. return ! in_array( false, $results, true ); } /** * Determines whether an item is present in the cache. * * @since 7.0.0 * * @param string $key The cache item key. * @return bool True if the item exists in the cache, false otherwise. */ public function has( $key ): bool { $found = false; wp_cache_get( $key, self::CACHE_GROUP, false, $found ); return (bool) $found; } /** * Converts a PSR-16 TTL value to seconds for WordPress cache functions. * * @since 7.0.0 * * @param null|int|DateInterval $ttl The TTL value. * @return int The TTL in seconds, or 0 for no expiration. */ private function ttl_to_seconds( $ttl ): int { if ( null === $ttl ) { return 0; } if ( $ttl instanceof DateInterval ) { $now = new DateTime(); $end = ( clone $now )->add( $ttl ); return $end->getTimestamp() - $now->getTimestamp(); } return max( 0, (int) $ttl ); } /** * Converts an iterable to an array. * * @since 7.0.0 * * @param iterable $items The iterable to convert. * @return array The array. */ private function iterable_to_array( $items ): array { if ( is_array( $items ) ) { return $items; } return iterator_to_array( $items ); } }