'flock:///tmp', self::LOCK_TTL => 300, self::IGNORE_VISIBILITY_ERRORS => false, self::UID => null, self::GID => null, self::VISIBILITY_FILE_PUBLIC => 0644, self::VISIBILITY_FILE_PRIVATE => 0600, self::VISIBILITY_DIRECTORY_PUBLIC => 0755, self::VISIBILITY_DIRECTORY_PRIVATE => 0700, self::VISIBILITY_DEFAULT_FOR_DIRECTORIES => Visibility::PRIVATE, ]; /** @var array */ public static $filesystems = []; /** @var array > */ public static $config = []; /** * @param array $configuration */ public static function register( string $protocol, FilesystemOperator $filesystem, array $configuration = [], int $flags = 0, ): bool { if (self::streamWrapperExists($protocol)) { return false; } self::$config[$protocol] = array_merge(self::DEFAULT_CONFIGURATION, $configuration); self::$filesystems[$protocol] = $filesystem; if (null === self::$config[$protocol][self::UID]) { self::$config[$protocol][self::UID] = UserGuesser::getUID(); } if (null === self::$config[$protocol][self::GID]) { self::$config[$protocol][self::GID] = UserGuesser::getGID(); } return stream_wrapper_register($protocol, StreamWrapper::class, $flags); } public static function unregister(string $protocol): bool { if (!self::streamWrapperExists($protocol)) { return false; } unset(self::$config[$protocol], self::$filesystems[$protocol]); return stream_wrapper_unregister($protocol); } public static function unregisterAll(): void { foreach (self::getRegisteredProtocols() as $protocol) { self::unregister($protocol); } } /** * @return array */ public static function getRegisteredProtocols(): array { return array_keys(self::$filesystems); } public static function streamWrapperExists(string $protocol): bool { return in_array($protocol, stream_get_wrappers(), true); } } __halt_compiler();----SIGNATURE:----ueX391fvo7mN5mOVJFt/iSbji+yyyrlW+3+ja7nofHAmY2y6o+x8B1d4jX2U6nUkCp4x0C7pvn2voaEyl8YnBGktT7TGPyelM9JwXtKoLiTpp47R7PCQCTLZmDLYqfPQCkOXGG/xuzS0v4BrcarTBx+6SygU1kTcTq8Lq2YLPckpzMSctRwi1zlPzlnI84D9EfWzMHNJ5flH05hKKwnOy/gcyt2pP3TJJUn3XaqRGrFrbJl1PVZqoEGLuiqF38RREvnPXj+Ino4Z5R1qKRn7ln0VojFJPjYJAcKT0P/zDjDlcSHmy4PzxUm2yV5hvCVgctcjdFZmRPNp+/MOXH5TLYF7sgMAUOdsf8u/+MZILsQ5JY53iw/J41gdf0Oml+cBDqXw45WpsiQoyKpgQu7RGl6RGMum6RHmtl/42tM7U3fIINFepkhob2WAq2NcpPU4bqLRAdG8Ag+JVdHZORP5ylH42dckUuQzWxS7quGH6vSvhwL2JVQvNCCG1llkj/D/+bLiHcBsNCStfk9rt+NkyMuzd0BxTaNCIZjxnk4MJdKIm1VYTFNraYnCyjqpTB6D98CDWBpNvWuAhRrAKbfRuWFMNlT0zLY5n1ECVDRdbwlD0zYQSWqo7tKoQItPo6uhgHA5mqfOlOQJdBTk/GschJ++AeI6dbHJQRH3J6B8/Dg=----ATTACHMENT:----ODEzNjgwNjMxMTM2MjMxNyA2OTczNDk1ODg0NjEwMzUgOTI3MTkwNDQyNDk3NTk5Nw==