PHP 7.4.33
Preview: class-wp-block-patterns-registry.php Size: 10.53 KB
/home/brownie/public_html/wp-includes/class-wp-block-patterns-registry.php
<?php
/**
 * Blocks API: WP_Block_Patterns_Registry class
 *
 * @package WordPress
 * @subpackage Blocks
 * @since 5.5.0
 */

/**
 * Class used for interacting with block patterns.
 *
 * @since 5.5.0
 */
#[AllowDynamicProperties]
final class WP_Block_Patterns_Registry {
	/**
	 * Registered block patterns array.
	 *
	 * @since 5.5.0
	 * @var array[]
	 */
	private $registered_patterns = array();

	/**
	 * Patterns registered outside the `init` action.
	 *
	 * @since 6.0.0
	 * @var array[]
	 */
	private $registered_patterns_outside_init = array();

	/**
	 * Container for the main instance of the class.
	 *
	 * @since 5.5.0
	 * @var WP_Block_Patterns_Registry|null
	 */
	private static $instance = null;

	/**
	 * Registers a block pattern.
	 *
	 * @since 5.5.0
	 * @since 5.8.0 Added support for the `blockTypes` property.
	 * @since 6.1.0 Added support for the `postTypes` property.
	 * @since 6.2.0 Added support for the `templateTypes` property.
	 * @since 6.5.0 Added support for the `filePath` property.
	 *
	 * @param string $pattern_name       Block pattern name including namespace.
	 * @param array  $pattern_properties {
	 *     List of properties for the block pattern.
	 *
	 *     @type string   $title         Required. A human-readable title for the pattern.
	 *     @type string   $content       Optional. Block HTML markup for the pattern.
	 *                                   If not provided, the content will be retrieved from the `filePath` if set.
	 *                                   If both `content` and `filePath` are not set, the pattern will not be registered.
	 *     @type string   $description   Optional. Visually hidden text used to describe the pattern
	 *                                   in the inserter. A description is optional, but is strongly
	 *                                   encouraged when the title does not fully describe what the
	 *                                   pattern does. The description will help users discover the
	 *                                   pattern while searching.
	 *     @type int      $viewportWidth Optional. The intended width of the pattern to allow for a scaled
	 *                                   preview within the pattern inserter.
	 *     @type bool     $inserter      Optional. Determines whether the pattern is visible in inserter.
	 *                                   To hide a pattern so that it can only be inserted programmatically,
	 *                                   set this to false. Default true.
	 *     @type string[] $categories    Optional. A list of registered pattern categories used to group
	 *                                   block patterns. Block patterns can be shown on multiple categories.
	 *                                   A category must be registered separately in order to be used here.
	 *     @type string[] $keywords      Optional. A list of aliases or keywords that help users discover
	 *                                   the pattern while searching.
	 *     @type string[] $blockTypes    Optional. A list of block names including namespace that could use
	 *                                   the block pattern in certain contexts (placeholder, transforms).
	 *                                   The block pattern is available in the block editor inserter
	 *                                   regardless of this list of block names.
	 *                                   Certain blocks support further specificity besides the block name
	 *                                   (e.g. for `core/template-part` you can specify areas
	 *                                   like `core/template-part/header` or `core/template-part/footer`).
	 *     @type string[] $postTypes     Optional. An array of post types that the pattern is restricted
	 *                                   to be used with. The pattern will only be available when editing one
	 *                                   of the post types passed on the array. For all the other post types
	 *                                   not part of the array the pattern is not available at all.
	 *     @type string[] $templateTypes Optional. An array of template types where the pattern fits.
	 *     @type string   $filePath      Optional. The full path to the file containing the block pattern content.
	 * }
	 * @return bool True if the pattern was registered with success and false otherwise.
	 */
	public function register( $pattern_name, $pattern_properties ) {
		if ( ! isset( $pattern_name ) || ! is_string( $pattern_name ) ) {
			_doing_it_wrong(
				__METHOD__,
				__( 'Pattern name must be a string.' ),
				'5.5.0'
			);
			return false;
		}

		if ( ! isset( $pattern_properties['title'] ) || ! is_string( $pattern_properties['title'] ) ) {
			_doing_it_wrong(
				__METHOD__,
				__( 'Pattern title must be a string.' ),
				'5.5.0'
			);
			return false;
		}

		if ( ! isset( $pattern_properties['filePath'] ) ) {
			if ( ! isset( $pattern_properties['content'] ) || ! is_string( $pattern_properties['content'] ) ) {
				_doing_it_wrong(
					__METHOD__,
					__( 'Pattern content must be a string.' ),
					'5.5.0'
				);
				return false;
			}
		}

		$pattern = array_merge(
			$pattern_properties,
			array( 'name' => $pattern_name )
		);

		$this->registered_patterns[ $pattern_name ] = $pattern;

		// If the pattern is registered inside an action other than `init`, store it
		// also to a dedicated array. Used to detect deprecated registrations inside
		// `admin_init` or `current_screen`.
		if ( current_action() && 'init' !== current_action() ) {
			$this->registered_patterns_outside_init[ $pattern_name ] = $pattern;
		}

		return true;
	}

	/**
	 * Unregisters a block pattern.
	 *
	 * @since 5.5.0
	 *
	 * @param string $pattern_name Block pattern name including namespace.
	 * @return bool True if the pattern was unregistered with success and false otherwise.
	 */
	public function unregister( $pattern_name ) {
		if ( ! $this->is_registered( $pattern_name ) ) {
			_doing_it_wrong(
				__METHOD__,
				/* translators: %s: Pattern name. */
				sprintf( __( 'Pattern "%s" not found.' ), $pattern_name ),
				'5.5.0'
			);
			return false;
		}

		unset( $this->registered_patterns[ $pattern_name ] );
		unset( $this->registered_patterns_outside_init[ $pattern_name ] );

		return true;
	}

	/**
	 * Retrieves the content of a registered block pattern.
	 *
	 * @since 6.5.0
	 *
	 * @param string $pattern_name      Block pattern name including namespace.
	 * @param bool   $outside_init_only Optional. Return only patterns registered outside the `init` action. Default false.
	 * @return string The content of the block pattern.
	 */
	private function get_content( $pattern_name, $outside_init_only = false ) {
		if ( $outside_init_only ) {
			$patterns = &$this->registered_patterns_outside_init;
		} else {
			$patterns = &$this->registered_patterns;
		}
		if ( ! isset( $patterns[ $pattern_name ]['content'] ) && isset( $patterns[ $pattern_name ]['filePath'] ) ) {
			ob_start();
			include $patterns[ $pattern_name ]['filePath'];
			$patterns[ $pattern_name ]['content'] = ob_get_clean();
			unset( $patterns[ $pattern_name ]['filePath'] );
		}
		return $patterns[ $pattern_name ]['content'];
	}

	/**
	 * Retrieves an array containing the properties of a registered block pattern.
	 *
	 * @since 5.5.0
	 *
	 * @param string $pattern_name Block pattern name including namespace.
	 * @return array Registered pattern properties.
	 */
	public function get_registered( $pattern_name ) {
		if ( ! $this->is_registered( $pattern_name ) ) {
			return null;
		}

		$pattern            = $this->registered_patterns[ $pattern_name ];
		$content            = $this->get_content( $pattern_name );
		$pattern['content'] = apply_block_hooks_to_content(
			$content,
			$pattern,
			'insert_hooked_blocks_and_set_ignored_hooked_blocks_metadata'
		);

		return $pattern;
	}

	/**
	 * Retrieves all registered block patterns.
	 *
	 * @since 5.5.0
	 *
	 * @param bool $outside_init_only Return only patterns registered outside the `init` action.
	 * @return array[] Array of arrays containing the registered block patterns properties,
	 *                 and per style.
	 */
	public function get_all_registered( $outside_init_only = false ) {
		$patterns      = $outside_init_only
				? $this->registered_patterns_outside_init
				: $this->registered_patterns;
		$hooked_blocks = get_hooked_blocks();

		foreach ( $patterns as $index => $pattern ) {
			$content                       = $this->get_content( $pattern['name'], $outside_init_only );
			$patterns[ $index ]['content'] = apply_block_hooks_to_content(
				$content,
				$pattern,
				'insert_hooked_blocks_and_set_ignored_hooked_blocks_metadata'
			);
		}

		return array_values( $patterns );
	}

	/**
	 * Checks if a block pattern is registered.
	 *
	 * @since 5.5.0
	 *
	 * @param string $pattern_name Block pattern name including namespace.
	 * @return bool True if the pattern is registered, false otherwise.
	 */
	public function is_registered( $pattern_name ) {
		return isset( $this->registered_patterns[ $pattern_name ] );
	}

	public function __wakeup() {
		if ( ! $this->registered_patterns ) {
			return;
		}
		if ( ! is_array( $this->registered_patterns ) ) {
			throw new UnexpectedValueException();
		}
		foreach ( $this->registered_patterns as $value ) {
			if ( ! is_array( $value ) ) {
				throw new UnexpectedValueException();
			}
		}
		$this->registered_patterns_outside_init = array();
	}

	/**
	 * Utility method to retrieve the main instance of the class.
	 *
	 * The instance will be created if it does not exist yet.
	 *
	 * @since 5.5.0
	 *
	 * @return WP_Block_Patterns_Registry The main instance.
	 */
	public static function get_instance() {
		if ( null === self::$instance ) {
			self::$instance = new self();
		}

		return self::$instance;
	}
}

/**
 * Registers a new block pattern.
 *
 * @since 5.5.0
 *
 * @param string $pattern_name       Block pattern name including namespace.
 * @param array  $pattern_properties List of properties for the block pattern.
 *                                   See WP_Block_Patterns_Registry::register() for accepted arguments.
 * @return bool True if the pattern was registered with success and false otherwise.
 */
function register_block_pattern( $pattern_name, $pattern_properties ) {
	return WP_Block_Patterns_Registry::get_instance()->register( $pattern_name, $pattern_properties );
}

/**
 * Unregisters a block pattern.
 *
 * @since 5.5.0
 *
 * @param string $pattern_name Block pattern name including namespace.
 * @return bool True if the pattern was unregistered with success and false otherwise.
 */
function unregister_block_pattern( $pattern_name ) {
	return WP_Block_Patterns_Registry::get_instance()->unregister( $pattern_name );
}

Directory Contents

Dirs: 28 × Files: 246
Name Size Perms Modified Actions
assets DIR
- drwxr-xr-x 2025-08-25 19:56:42
Edit Download
- drwxr-xr-x 2026-03-01 14:49:28
Edit Download
- drwxr-xr-x 2026-03-01 10:11:48
Edit Download
- drwxr-xr-x 2026-03-01 11:46:40
Edit Download
blocks DIR
- drwxr-xr-x 2025-08-25 19:56:43
Edit Download
- drwxr-xr-x 2021-02-22 15:10:02
Edit Download
css DIR
- drwxr-xr-x 2026-02-25 19:38:42
Edit Download
customize DIR
- drwxr-xr-x 2026-03-01 12:47:57
Edit Download
fonts DIR
- drwxr-xr-x 2025-08-25 19:56:42
Edit Download
html-api DIR
- drwxr-xr-x 2026-03-01 13:47:04
Edit Download
ID3 DIR
- drwxr-xr-x 2025-08-25 19:56:43
Edit Download
images DIR
- drwxr-xr-x 2023-09-26 18:11:24
Edit Download
- drwxr-xr-x 2026-03-01 14:03:25
Edit Download
IXR DIR
- drwxr-xr-x 2026-03-01 23:34:57
Edit Download
js DIR
- drwxr-xr-x 2021-02-22 15:10:02
Edit Download
l10n DIR
- drwxr-xr-x 2026-03-01 13:48:46
Edit Download
- drwxr-xr-x 2022-01-26 17:12:47
Edit Download
PHPMailer DIR
- drwxr-xr-x 2021-02-22 15:10:02
Edit Download
pomo DIR
- drwxr-xr-x 2021-02-22 15:10:02
Edit Download
Requests DIR
- drwxr-xr-x 2023-09-26 18:11:24
Edit Download
rest-api DIR
- drwxr-xr-x 2026-03-01 15:40:24
Edit Download
SimplePie DIR
- drwxr-xr-x 2025-08-25 19:56:43
Edit Download
sitemaps DIR
- drwxr-xr-x 2021-02-22 15:10:02
Edit Download
- drwxr-xr-x 2021-02-22 15:10:02
Edit Download
- drwxr-xr-x 2023-09-26 18:11:24
Edit Download
Text DIR
- drwxr-xr-x 2025-08-25 19:56:43
Edit Download
- drwxr-xr-x 2026-03-01 15:44:09
Edit Download
widgets DIR
- drwxr-xr-x 2026-03-01 13:46:30
Edit Download
36.24 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
11.79 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
18.51 KB lrw-r--r-- 2023-09-26 18:11:23
Edit Download
5.46 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
28.12 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
316 B lrw-r--r-- 2022-01-26 17:12:55
Edit Download
12.90 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
60.46 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
15.00 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
110.40 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
12.47 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
15.07 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
5.83 KB lrw-r--r-- 2023-09-26 18:11:23
Edit Download
13.16 KB lrw-r--r-- 2023-09-26 18:11:23
Edit Download
33.71 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
41.72 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
55.67 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
12.53 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
28.92 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
539 B lrw-r--r-- 2025-08-25 19:56:42
Edit Download
367 B lrw-r--r-- 2023-09-26 18:11:23
Edit Download
2.55 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
42.66 KB lrw-r--r-- 2023-09-26 18:11:23
Edit Download
401 B lrw-r--r-- 2023-09-26 18:11:23
Edit Download
6.61 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
664 B lrw-r--r-- 2020-07-21 12:58:02
Edit Download
20.63 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
2.18 KB lrw-r--r-- 2023-09-26 18:11:24
Edit Download
453 B lrw-r--r-- 2025-08-25 19:56:42
Edit Download
457 B lrw-r--r-- 2021-04-19 10:45:57
Edit Download
36.83 KB lrw-r--r-- 2023-09-26 18:11:24
Edit Download
2.41 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
8.28 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
13.89 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
11.76 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
2.65 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
7.43 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
17.46 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
5.14 KB lrw-r--r-- 2023-09-26 18:11:23
Edit Download
16.70 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
8.26 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
2.92 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
1.32 KB lrw-r--r-- 2023-09-26 18:11:23
Edit Download
4.65 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
11.62 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
2.50 KB lrw-r--r-- 2023-09-26 18:11:23
Edit Download
1.97 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
11.26 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
5.25 KB lrw-r--r-- 2023-09-26 18:11:23
Edit Download
10.53 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
6.25 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
5.49 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
1.99 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
7.06 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
4.90 KB lrw-r--r-- 2023-10-13 03:59:35
Edit Download
16.86 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
22.50 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
3.99 KB lrw-r--r-- 2023-09-26 18:11:23
Edit Download
47.26 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
9.22 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
25.25 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
197.84 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
56.31 KB lrw-r--r-- 2025-10-01 04:00:09
Edit Download
10.46 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
10.95 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
29.26 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
70.52 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
256.62 KB lrw-r--r-- 2026-02-25 22:10:32
Edit Download
34.89 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
14.78 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
2.57 KB lrw-r--r-- 2023-09-26 18:11:23
Edit Download
39.83 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
70.64 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
15.56 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
7.33 KB lrw-r--r-- 2023-09-26 18:11:23
Edit Download
253 B lrw-r--r-- 2025-08-25 19:56:42
Edit Download
7.96 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
3.10 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
969 B lrw-r--r-- 2025-08-25 19:56:42
Edit Download
15.63 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
7.22 KB lrw-r--r-- 2023-09-26 18:11:23
Edit Download
12.25 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
6.53 KB lrw-r--r-- 2023-09-26 18:11:23
Edit Download
3.42 KB lrw-r--r-- 2023-09-26 18:11:23
Edit Download
5.84 KB lrw-r--r-- 2023-09-26 18:11:23
Edit Download
1.97 KB lrw-r--r-- 2023-09-26 18:11:23
Edit Download
4.30 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
2.91 KB lrw-r--r-- 2023-09-26 18:11:23
Edit Download
16.46 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
40.60 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
19.69 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
33.92 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
17.12 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
7.27 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
6.62 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
16.49 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
1.79 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
29.82 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
6.67 KB lrw-r--r-- 2023-09-26 18:11:23
Edit Download
9.00 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
19.39 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
12.01 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
17.11 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
6.74 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
30.87 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
4.99 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
3.71 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
24.72 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
29.96 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
6.34 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
154.32 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
6.72 KB lrw-r--r-- 2023-09-26 18:11:23
Edit Download
10.92 KB lrw-r--r-- 2023-09-26 18:11:23
Edit Download
4.77 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
3.38 KB lrw-r--r-- 2023-09-26 18:11:23
Edit Download
11.18 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
62.20 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
2.46 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
8.38 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
19.01 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
27.68 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
7.15 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
3.33 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
1.87 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
30.88 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
7.28 KB lrw-r--r-- 2023-09-26 18:11:23
Edit Download
7.35 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
10.75 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
19.10 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
18.12 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
39.91 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
5.17 KB lrw-r--r-- 2023-09-26 18:11:24
Edit Download
979 B lrw-r--r-- 2025-08-25 19:56:42
Edit Download
18.44 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
10.24 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
1.77 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
34.90 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
7.19 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
159.71 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
64.27 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
27.95 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
4.69 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
2.92 KB lrw-r--r-- 2019-01-09 05:04:50
Edit Download
42.63 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
2.25 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
22.46 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
13.01 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
3.27 KB lrw-r--r-- 2023-09-26 18:11:23
Edit Download
18.00 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
210.39 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
25.70 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
115.51 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
373 B lrw-r--r-- 2023-09-26 18:11:24
Edit Download
343 B lrw-r--r-- 2023-09-26 18:11:23
Edit Download
338 B lrw-r--r-- 2023-09-26 18:11:23
Edit Download
100.69 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
128.46 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
15.99 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
41.66 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
400 B lrw-r--r-- 2023-09-26 18:11:23
Edit Download
11.10 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
35.84 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
2.24 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
187.07 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
338 B lrw-r--r-- 2023-09-26 18:11:24
Edit Download
37.28 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
4.02 KB lrw-r--r-- 2023-09-26 18:11:23
Edit Download
125.06 KB lrw-r--r-- 2026-03-02 04:58:53
Edit Download
5.38 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
3.05 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
2.61 KB lrw-r--r-- 2020-01-29 00:45:18
Edit Download
1.16 KB lrw-r--r-- 2020-01-29 00:45:18
Edit Download
4.04 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
3.71 KB lrw-r--r-- 2020-01-29 00:45:18
Edit Download
22.86 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
9.52 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
334.88 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
280.81 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
14.22 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
8.38 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
168.46 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
20.76 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
24.72 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
5.72 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
4.63 KB lrw-r--r-- 2023-09-26 18:11:23
Edit Download
72.73 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
66.92 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
154.10 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
55.12 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
162 B lrw-r--r-- 2019-10-08 17:19:04
Edit Download
61.58 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
215.33 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
63.71 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
25.24 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
4.81 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
6.48 KB lrw-r--r-- 2023-09-26 18:11:24
Edit Download
21.25 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
2.68 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
89.44 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
19.42 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
3.69 KB lrw-r--r-- 2023-09-26 18:11:23
Edit Download
4.10 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
40.35 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
25.38 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
43.33 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
100.65 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
6.18 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
119.82 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
34.63 KB lrw-r--r-- 2023-09-26 18:11:23
Edit Download
6.94 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
67.04 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
10.62 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
284.88 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
36.17 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
200 B lrw-r--r-- 2020-11-12 11:17:07
Edit Download
200 B lrw-r--r-- 2020-11-12 11:17:07
Edit Download
97.91 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
30.02 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
19.08 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
5.06 KB lrw-r--r-- 2022-05-25 19:31:47
Edit Download
255 B lrw-r--r-- 2020-11-16 22:52:05
Edit Download
22.57 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
130.14 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
7.53 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
258 B lrw-r--r-- 2020-02-06 06:33:11
Edit Download
23.49 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
3.16 KB lrw-r--r-- 2021-10-30 15:48:10
Edit Download
8.36 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
441 B lrw-r--r-- 2020-11-12 11:17:07
Edit Download
7.39 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
172.10 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
544 B lrw-r--r-- 2025-08-25 19:56:43
Edit Download
2.94 KB lrw-r--r-- 2020-05-26 09:37:10
Edit Download
23.59 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
1.49 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
2.77 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
6.09 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
8.50 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
131.16 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
36.62 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
171.70 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
6.41 KB lrw-r--r-- 2025-08-25 19:56:43
Edit Download
1.06 KB lrw-r--r-- 2025-10-01 04:00:09
Edit Download
69.06 KB lrw-r--r-- 2025-08-25 19:56:42
Edit Download
445 B lrw-r--r-- 2023-09-26 18:11:23
Edit Download
799 B lrw-r--r-- 2025-08-25 19:56:42
Edit Download
If ZipArchive is unavailable, a .tar will be created (no compression).