Card image cap

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Corporis perferendis rem accusantium ducimus animi nesciunt expedita omnis aut quas molestias!

Mauris viverra cursus ante laoreet eleifend. Donec vel fringilla ante. Aenean finibus velit id urna vehicula, nec maximus est sollicitudin. Praesent at tempus lectus, eleifend blandit felis. Fusce augue arcu, consequat a nisl aliquet, consectetur elementum turpis. Donec iaculis lobortis nisl, et viverra risus imperdiet eu. Etiam mollis posuere elit non sagittis. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc quis arcu a magna sodales venenatis. Integer non diam sit amet magna luctus mollis ac eu nisi. In accumsan tellus ut dapibus blandit.

Quisque sagittis non ex eget vestibulum. Sed nec ultrices dui. Cras et sagittis erat. Maecenas pulvinar, turpis in dictum tincidunt, dolor nibh lacinia lacus.

Praesent ac magna sed massa euismod congue vitae vitae risus. Nulla lorem augue, mollis non est et, eleifend elementum ante. Nunc id pharetra magna. Praesent vel orci ornare, blandit mi sed, aliquet nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.

Card image cap

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Corporis perferendis rem accusantium ducimus animi nesciunt expedita omnis aut quas molestias!

Mauris viverra cursus ante laoreet eleifend. Donec vel fringilla ante. Aenean finibus velit id urna vehicula, nec maximus est sollicitudin. Praesent at tempus lectus, eleifend blandit felis. Fusce augue arcu, consequat a nisl aliquet, consectetur elementum turpis. Donec iaculis lobortis nisl, et viverra risus imperdiet eu. Etiam mollis posuere elit non sagittis. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc quis arcu a magna sodales venenatis. Integer non diam sit amet magna luctus mollis ac eu nisi. In accumsan tellus ut dapibus blandit.

Quisque sagittis non ex eget vestibulum. Sed nec ultrices dui. Cras et sagittis erat. Maecenas pulvinar, turpis in dictum tincidunt, dolor nibh lacinia lacus.

Praesent ac magna sed massa euismod congue vitae vitae risus. Nulla lorem augue, mollis non est et, eleifend elementum ante. Nunc id pharetra magna. Praesent vel orci ornare, blandit mi sed, aliquet nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.

Card image cap

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Corporis perferendis rem accusantium ducimus animi nesciunt expedita omnis aut quas molestias!

Mauris viverra cursus ante laoreet eleifend. Donec vel fringilla ante. Aenean finibus velit id urna vehicula, nec maximus est sollicitudin. Praesent at tempus lectus, eleifend blandit felis. Fusce augue arcu, consequat a nisl aliquet, consectetur elementum turpis. Donec iaculis lobortis nisl, et viverra risus imperdiet eu. Etiam mollis posuere elit non sagittis. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc quis arcu a magna sodales venenatis. Integer non diam sit amet magna luctus mollis ac eu nisi. In accumsan tellus ut dapibus blandit.

Quisque sagittis non ex eget vestibulum. Sed nec ultrices dui. Cras et sagittis erat. Maecenas pulvinar, turpis in dictum tincidunt, dolor nibh lacinia lacus.

Praesent ac magna sed massa euismod congue vitae vitae risus. Nulla lorem augue, mollis non est et, eleifend elementum ante. Nunc id pharetra magna. Praesent vel orci ornare, blandit mi sed, aliquet nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.

Card image cap

All in the world know the beauty of the beautiful, and in doing this they have (the idea of) what ugliness is; they all know the skill of the skilful, and in doing this they have (the idea of) what the want of skill is.

So it is that existence and nonexistence give birth the one to (the idea of) the other; that difficulty and ease produce the one (the idea of) the other; that length and shortness fashion out the one the figure of the other; that (the ideas of) height and lowness arise from the contrast of the one with the other; that the musical notes and tones become harmonious through the relation of one with another; and that being before and behind give the idea of one following another.

Therefore the sage manages affairs without doing anything, and conveys his instructions without the use of speech.

All things spring up, and there is not one which declines to show itself; they grow, and there is no claim made for their ownership; they go through their processes, and there is no expectation (of a reward for the results). The work is accomplished, and there is no resting in it (as an achievement).

The work is done, but how no one can see;
`This this that makes the power not cease to be.

  1. [0] => menu.48ac5d25ab7fb8065a03b2a19458089a
  2. [1] => menu.48ac5d25ab7fb8065a03b2a19458089a_expire
  3. [2] => menu.94598630b740ec08860f5f0e9483c030
  4. [3] => menu.94598630b740ec08860f5f0e9483c030_expire
  5. [4] => posts.cabb9788984d91066ba9bff0b9b9f516
  6. [5] => posts.cabb9788984d91066ba9bff0b9b9f516_expire
  7. [6] => posts.d94e88b79394c4004b5322416beadb1c
  8. [7] => posts.d94e88b79394c4004b5322416beadb1c_expire
  9. [8] => comments.8018536822ed5186de05c3b2418a06e2
  10. [9] => comments.8018536822ed5186de05c3b2418a06e2_expire
  11. [10] => content\categories.c5f09ba3257d23587936d87ea55124da
  12. [11] => content\categories.c5f09ba3257d23587936d87ea55124da_expire
  13. [12] => content\categories.21b383783637152eb488559a25b8eefa
  14. [13] => content\categories.21b383783637152eb488559a25b8eefa_expire
  15. [14] => content\archives.7dd3ad53d7acb600b6cc89c01126d6ea
  16. [15] => content\archives.7dd3ad53d7acb600b6cc89c01126d6ea_expire
  17. [16] => content\archives.7dd3ad53d7acb600b6cc89c01126d6ea
  18. [17] => content\archives.7dd3ad53d7acb600b6cc89c01126d6ea_expire
  19. )
  20. [27-May-2026 03:07:35 PRC] error:CACHE max retry reached for ecomdemo.micodetest.com/cat/tag-2
  21. [27-May-2026 03:07:35 PRC] error:CACHE max retry reached for ecomdemo.micodetest.com/cat/books
  22. 23587936d87ea55124da_expire
  23. [12] => content\categories.21b383783637152eb488559a25b8eefa
  24. [13] => content\categories.21b383783637152eb488559a25b8eefa_expire
  25. [14] => content\archives.7dd3ad53d7acb600b6cc89c01126d6ea
  26. [15] => content\archives.7dd3ad53d7acb600b6cc89c01126d6ea_expire
  27. [16] => content\archives.7dd3ad53d7acb600b6cc89c01126d6ea
  28. [17] => content\archives.7dd3ad53d7acb600b6cc89c01126d6ea_expire
  29. )
  30. [27-May-2026 03:07:33 PRC] error:CACHE max retry reached for ecomdemo.micodetest.com/vendor/1
  31. [27-May-2026 03:07:33 PRC] wait cache /cat/booksArray
  32. (
  33. [0] => menu.48ac5d25ab7fb8065a03b2a19458089a
  34. [1] => menu.48ac5d25ab7fb8065a03b2a19458089a_expire
  35. [2] => menu.94598630b740ec08860f5f0e9483c030
  36. [3] => menu.94598630b740ec08860f5f0e9483c030_expire
  37. [4] => posts.cabb9788984d91066ba9bff0b9b9f516
  38. [5] => posts.cabb9788984d91066ba9bff0b9b9f516_expire
  39. [6] => posts.d94e88b79394c4004b5322416beadb1c
  40. [7] => posts.d94e88b79394c4004b5322416beadb1c_expire
  41. [8] => comments.8018536822ed5186de05c3b2418a06e2
  42. [9] => comments.8018536822ed5186de05c3b2418a06e2_expire
  43. [10] => content\categories.c5f09ba3257d23587936d87ea55124da
  44. [11] => content\categories.c5f09ba3257d23587936d87ea55124da_expire
  45. [12] => content\categories.21b383783637152eb488559a25b8eefa
  46. [13] => content\categories.21b383783637152eb488559a25b8eefa_expire
  47. [14] => content\archives.7dd3ad53d7acb600b6cc89c01126d6ea
  48. [15] => content\archives.7dd3ad53d7acb600b6cc89c01126d6ea_expire
  49. [16] => content\archives.7dd3ad53d7acb600b6cc89c01126d6ea
  50. [17] => content\archives.7dd3ad53d7acb600b6cc89c01126d6ea_expire
  51. )
  52. [27-May-2026 03:07:34 PRC] wait cache /cat/tag-2Array
  53. (
  54. [0] => menu.48ac5d25ab7fb8065a03b2a19458089a
  55. [1] => menu.48ac5d25ab7fb8065a03b2a19458089a_expire
  56. [2] => menu.94598630b740ec08860f5f0e9483c030
  57. [3] => menu.94598630b740ec08860f5f0e9483c030_expire
  58. [4] => posts.a9a31738968a90f59f2584e5fa6bb57d
  59. [5] => posts.a9a31738968a90f59f2584e5fa6bb57d_expire
  60. [6] => posts.d94e88b79394c4004b5322416beadb1c
  61. [7] => posts.d94e88b79394c4004b5322416beadb1c_expire
  62. [8] => comments.327ab12b869d7ee5cf5e8a5d9c78cdbb
  63. [9] => comments.327ab12b869d7ee5cf5e8a5d9c78cdbb_expire
  64. [10] => content\categories.c5f09ba3257d23587936d87ea55124da
  65. [11] => content\categories.c5f09ba3257d23587936d87ea55124da_expire
  66. [12] => content\categories.21b383783637152eb488559a25b8eefa
  67. [13] => content\categories.21b383783637152eb488559a25b8eefa_expire
  68. [14] => content\archives.7dd3ad53d7acb600b6cc89c01126d6ea
  69. [15] => content\archives.7dd3ad53d7acb600b6cc89c01126d6ea_expire
  70. [16] => content\archives.7dd3ad53d7acb600b6cc89c01126d6ea
  71. [17] => content\archives.7dd3ad53d7acb600b6cc89c01126d6ea_expire
  72. )
  73. [27-May-2026 03:07:34 PRC] wait cache /cat/booksArray
  74. (
  75. [0] => menu.48ac5d25ab7fb8065a03b2a19458089a
  76. [1] => menu.48ac5d25ab7fb8065a03b2a19458089a_expire
  77. [2] => menu.94598630b740ec08860f5f0e9483c030
  78. [3] => menu.94598630b740ec08860f5f0e9483c030_expire
  79. [4] => posts.cabb9788984d91066ba9bff0b9b9f516
  80. [5] => posts.cabb9788984d91066ba9bff0b9b9f516_expire
  81. [6] => posts.d94e88b79394c4004b5322416beadb1c
  82. [7] => posts.d94e88b79394c4004b5322416beadb1c_expire
  83. [8] => comments.8018536822ed5186de05c3b2418a06e2
  84. [9] => comments.8018536822ed5186de05c3b2418a06e2_expire
  85. [10] => content\categories.c5f09ba3257d23587936d87ea55124da
  86. [11] => content\categories.c5f09ba3257d23587936d87ea55124da_expire
  87. [12] => content\categories.21b383783637152eb488559a25b8eefa
  88. [13] => content\categories.21b383783637152eb488559a25b8eefa_expire
  89. [14] => content\archives.7dd3ad53d7acb600b6cc89c01126d6ea
  90. [15] => content\archives.7dd3ad53d7acb600b6cc89c01126d6ea_expire
  91. [16] => content\archives.7dd3ad53d7acb600b6cc89c01126d6ea
  92. [17] => content\archives.7dd3ad53d7acb600b6cc89c01126d6ea_expire
  93. )
  94. [27-May-2026 03:07:35 PRC] error:CACHE max retry reached for ecomdemo.micodetest.com/cat/tag-2
  95. [27-May-2026 03:07:35 PRC] error:CACHE max retry reached for ecomdemo.micodetest.com/cat/books
    1. SELECT namespace, `key`, value FROM setting AS _ WHERE 1 = 1 AND _.site_id = :site_id AND _.namespace = :namespace AND _.`key` IN (:key)
      1. insert-scripts
        1. header
        2. footer
      2. 1
      3. SELECT namespace, `key`, value FROM setting AS _ WHERE 1 = 1 AND _.site_id = 1 AND _.namespace = 'insert-scripts' AND _.`key` IN ('header','footer')
    1. SELECT pd.*,post.*,ad.username,ad.display_name,ad.admin_id,ad.email, ad.avatar, ad.bio, ad.first_name, ad.last_name ,(SELECT COUNT(c.comment_id) FROM comment c WHERE post.post_id = c.post_id AND c.status = :comment_status ) AS comment_count ,(SELECT JSON_ARRAYAGG( JSON_OBJECT('taxonomy_item_id', taxonomies.taxonomy_item_id, 'name' , td.name, 'slug' , td.slug) ) FROM taxonomy_item AS taxonomies INNER JOIN taxonomy_to_site t2s ON (taxonomies.taxonomy_item_id = t2s.taxonomy_item_id AND t2s.site_id = site_id) INNER JOIN taxonomy_item_content td ON (taxonomies.taxonomy_item_id = td.taxonomy_item_id AND td.language_id = :language_id) INNER JOIN taxonomy t ON (taxonomies.taxonomy_id = t.taxonomy_id) LEFT JOIN post_to_taxonomy_item pt ON (taxonomies.taxonomy_item_id = pt.taxonomy_item_id) WHERE td.language_id = :language_id AND t2s.site_id = :site_id AND pt.post_id = post.post_id AND t.type = "categories" AND pt.post_id = post.post_id LIMIT :categories ) as categories ,(SELECT JSON_ARRAYAGG( JSON_OBJECT('taxonomy_item_id', taxonomies.taxonomy_item_id, 'name' , td.name, 'slug' , td.slug) ) FROM taxonomy_item AS taxonomies INNER JOIN taxonomy_to_site t2s ON (taxonomies.taxonomy_item_id = t2s.taxonomy_item_id AND t2s.site_id = site_id) INNER JOIN taxonomy_item_content td ON (taxonomies.taxonomy_item_id = td.taxonomy_item_id AND td.language_id = :language_id) INNER JOIN taxonomy t ON (taxonomies.taxonomy_id = t.taxonomy_id) LEFT JOIN post_to_taxonomy_item pt ON (taxonomies.taxonomy_item_id = pt.taxonomy_item_id) WHERE td.language_id = :language_id AND t2s.site_id = :site_id AND pt.post_id = post.post_id AND t.type = "tags" AND pt.post_id = post.post_id LIMIT :tags ) as tags FROM post LEFT JOIN post_content pd ON ( post.post_id = pd.post_id AND pd.l
      1. 1
      2. 1
      3. 1
      4. en_US
      5. en_US
      6. 1
      7. 1
      8. 1
        1. autocomplete
        2. post
        3. 4
        4. post_id
        5. desc
        6. publish
        7. 200
        8. 1
        9. 1
        10. 1
        11. large
        12. 3
        13. 5
        14. SELECT pd.*,post.*,ad.username,ad.display_name,ad.admin_id,ad.email, ad.avatar, ad.bio, ad.first_name, ad.last_name ,(SELECT COUNT(c.comment_id) FROM comment c WHERE post.post_id = c.post_id AND c.status = 1 ) AS comment_count ,(SELECT JSON_ARRAYAGG( JSON_OBJECT('taxonomy_item_id', taxonomies.taxonomy_item_id, 'name' , td.name, 'slug' , td.slug) ) FROM taxonomy_item AS taxonomies INNER JOIN taxonomy_to_site t2s ON (taxonomies.taxonomy_item_id = t2s.taxonomy_item_id AND t2s.site_id = site_id) INNER JOIN taxonomy_item_content td ON (taxonomies.taxonomy_item_id = td.taxonomy_item_id AND td.language_id = 1) INNER JOIN taxonomy t ON (taxonomies.taxonomy_id = t.taxonomy_id) LEFT JOIN post_to_taxonomy_item pt ON (taxonomies.taxonomy_item_id = pt.taxonomy_item_id) WHERE td.language_id = 1 AND t2s.site_id = 1 AND pt.post_id = post.post_id AND t.type = "categories" AND pt.post_id = post.post_id LIMIT 3 ) as categories ,(SELECT JSON_ARRAYAGG( JSON_OBJECT('taxonomy_item_id', taxonomies.taxonomy_item_id, 'name' , td.name, 'slug' , td.slug) ) FROM taxonomy_item AS taxonomies INNER JOIN taxonomy_to_site t2s ON (taxonomies.taxonomy_item_id = t2s.taxonomy_item_id AND t2s.site_id = site_id) INNER JOIN taxonomy_item_content td ON (taxonomies.taxonomy_item_id = td.taxonomy_item_id AND td.language_id = 1) INNER JOIN taxonomy t ON (taxonomies.taxonomy_id = t.taxonomy_id) LEFT JOIN post_to_taxonomy_item pt ON (taxonomies.taxonomy_item_id = pt.taxonomy_item_id) WHERE td.language_id = 1 AND t2s.site_id = 1 AND pt.post_id = post.post_id AND t.type = "tags" AND pt.post_id = post.post_id LIMIT 5 ) as tags FROM post LEFT JOIN post_content pd ON ( post.post_id = pd.post_id AND pd.language_id = 1 ) LEFT JOIN post_to_site ps ON (post.post_id = ps.post_id
      1. SELECT count(*) FROM ( SELECT post.post_id FROM post LEFT JOIN post_content pd ON ( post.post_id = pd.post_id AND pd.language_id = :language_id ) LEFT JOIN post_to_site ps ON (post.post_id = ps.post_id) LEFT JOIN admin ad ON (post.admin_id = ad.admin_id) WHERE 1 = 1 AND post.type = :type AND post.status = :status AND ps.site_id = :site_id ORDER BY post.post_id desc ) as count
        1. 1
        2. 1
        3. 1
        4. en_US
        5. en_US
        6. 1
        7. 1
        8. 1
          1. autocomplete
          2. post
          3. 4
          4. post_id
          5. desc
          6. publish
          7. 200
          8. 1
          9. 1
          10. 1
          11. large
          12. 3
          13. 5
          14. SELECT count(*) FROM ( SELECT post.post_id FROM post LEFT JOIN post_content pd ON ( post.post_id = pd.post_id AND pd.language_id = 1 ) LEFT JOIN post_to_site ps ON (post.post_id = ps.post_id) LEFT JOIN admin ad ON (post.admin_id = ad.admin_id) WHERE 1 = 1 AND post.type = 'post' AND post.status = 'publish' AND ps.site_id = 1 ORDER BY post.post_id desc ) as count
        1. SELECT namespace, `key`, value FROM setting AS _ WHERE 1 = 1 AND _.site_id = :site_id AND _.namespace = :namespace AND _.`key` IN (:key)
          1. dicebear
            1. url
            2. size
            3. style
            4. flip
          2. 1
          3. SELECT namespace, `key`, value FROM setting AS _ WHERE 1 = 1 AND _.site_id = 1 AND _.namespace = 'dicebear' AND _.`key` IN ('url','size','style','flip')
        1. SELECT namespace, `key`, value FROM setting AS _ WHERE 1 = 1 AND _.site_id = :site_id AND _.namespace = :namespace AND _.`key` IN (:key)
          1. gravatar
            1. size
            2. rating
            3. default
          2. 1
          3. SELECT namespace, `key`, value FROM setting AS _ WHERE 1 = 1 AND _.site_id = 1 AND _.namespace = 'gravatar' AND _.`key` IN ('size','rating','default')
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/cdn/plugin.php [line: 75 - 83] */
              function ($publicPath, $type, $image, $size){
              			$publicPath = $options['url'];
              			$publicPath = str_replace(
              				['%host%', '%type%', '%image%', '%size%'],
              				[$_SERVER['HTTP_HOST'], $type, $image, $size],
              				$publicPath);
              
              			return [$publicPath, $type, $image, $size];
              		});
              
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/theme-market/plugin.php [line: 107 - 113] */
              function ($image, $type, $size){
              			if ($type == 'product') {
              				$image = str_replace('/media/', '', $image);
              			}
              
              			return [$image, $type, $size];
              		});
              
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/debug/plugin.php [line: 124 - 129] */
              function ($sql, $params){
              			$debugSql = $db->debugSql($sql, $params);
              			$this->view->debug['data']['sql'][] = [$sql, $params + ['sql' => $debugSql]];
              
              			return [$sql, $params];
              		});
              
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/debug/plugin.php [line: 167 - 180] */
              function (){
              			$events = Event::getEvents();
              
              			array_walk_recursive($events, function (&$value, $key) {
              				if (is_object($value)) {
              					if ($value instanceof \Closure) {
              						$value = $this->closureDump($value);
              					}
              				}
              			});
              
              			$this->view->debug['data']['filters'] = $events;
              			$this->view->debug['data']['request'] = Routes::getUrlData();
              		});
              
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/theme-market/plugin.php [line: 90 - 99] */
              function ($template, $htmlFile, $tplFile, $vTpl, $view){
              			// add captcha js and field to page
              			//if ($url = Routes::getUrlData()) {
              			//if (in_array($url['module'], $routes)) {
              			$vTpl->loadTemplateFile(__DIR__ . '/app/template/common.tpl');
              			//}
              			//}
              
              			return [$template, $htmlFile, $tplFile, $vTpl, $view];
              		});
              
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/dicebear/plugin.php [line: 61 - 94] */
              function ($comments){
              			$options = \Vvveb\getSetting('dicebear', ['url', 'size', 'style', 'flip']);
              
              			$commentType = false;
              
              			foreach ($types as $type) {
              				if (isset($comments[$type])) {
              					$commentType = $type;
              
              					break;
              				}
              			}
              
              			if ($commentType) {
              				foreach ($comments[$commentType] as &$comment) {
              					if ((! isset($comment['avatar']) || ! $comment['avatar']) &&
              						(isset($comment['email']) || ! $comment['email'])) {
              						$comment['avatar'] = $this->getDiceBear(
              								$comment['email'],
              								$options['url'] ?? DICEBAR_URL,
              								$options['size'] ?? 60,
              								$options['style'] ?? 'fun-emoji',
              								$options['flip'] ?? 'false'
              							);
              					}
              
              					if (isset($options['size'])) {
              						$comment['size'] = $options['size'];
              					}
              				}
              			}
              
              			return [$comments];
              		};
              
            2. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/gravatar/plugin.php [line: 61 - 88] */
              function ($comments){
              			$options = \Vvveb\getSetting('gravatar', ['size', 'rating', 'default']);
              
              			$commentType = false;
              
              			foreach ($types as $type) {
              				if (isset($comments[$type])) {
              					$commentType = $type;
              
              					break;
              				}
              			}
              
              			if ($commentType) {
              				foreach ($comments[$commentType] as &$comment) {
              					if (! isset($comment['avatar']) || ! $comment['avatar']) {
              						$comment['avatar'] = $this->getGravatar(
              								$comment['email'],
              								$options['size'] ?? 60,
              								$options['default'] ?? 'mm',
              								$options['rating'] ?? 'g'
              							);
              					}
              				}
              			}
              
              			return [$comments];
              		};
              
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/dicebear/plugin.php [line: 61 - 94] */
              function ($comments){
              			$options = \Vvveb\getSetting('dicebear', ['url', 'size', 'style', 'flip']);
              
              			$commentType = false;
              
              			foreach ($types as $type) {
              				if (isset($comments[$type])) {
              					$commentType = $type;
              
              					break;
              				}
              			}
              
              			if ($commentType) {
              				foreach ($comments[$commentType] as &$comment) {
              					if ((! isset($comment['avatar']) || ! $comment['avatar']) &&
              						(isset($comment['email']) || ! $comment['email'])) {
              						$comment['avatar'] = $this->getDiceBear(
              								$comment['email'],
              								$options['url'] ?? DICEBAR_URL,
              								$options['size'] ?? 60,
              								$options['style'] ?? 'fun-emoji',
              								$options['flip'] ?? 'false'
              							);
              					}
              
              					if (isset($options['size'])) {
              						$comment['size'] = $options['size'];
              					}
              				}
              			}
              
              			return [$comments];
              		};
              
            2. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/gravatar/plugin.php [line: 61 - 88] */
              function ($comments){
              			$options = \Vvveb\getSetting('gravatar', ['size', 'rating', 'default']);
              
              			$commentType = false;
              
              			foreach ($types as $type) {
              				if (isset($comments[$type])) {
              					$commentType = $type;
              
              					break;
              				}
              			}
              
              			if ($commentType) {
              				foreach ($comments[$commentType] as &$comment) {
              					if (! isset($comment['avatar']) || ! $comment['avatar']) {
              						$comment['avatar'] = $this->getGravatar(
              								$comment['email'],
              								$options['size'] ?? 60,
              								$options['default'] ?? 'mm',
              								$options['rating'] ?? 'g'
              							);
              					}
              				}
              			}
              
              			return [$comments];
              		};
              
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/dicebear/plugin.php [line: 61 - 94] */
              function ($comments){
              			$options = \Vvveb\getSetting('dicebear', ['url', 'size', 'style', 'flip']);
              
              			$commentType = false;
              
              			foreach ($types as $type) {
              				if (isset($comments[$type])) {
              					$commentType = $type;
              
              					break;
              				}
              			}
              
              			if ($commentType) {
              				foreach ($comments[$commentType] as &$comment) {
              					if ((! isset($comment['avatar']) || ! $comment['avatar']) &&
              						(isset($comment['email']) || ! $comment['email'])) {
              						$comment['avatar'] = $this->getDiceBear(
              								$comment['email'],
              								$options['url'] ?? DICEBAR_URL,
              								$options['size'] ?? 60,
              								$options['style'] ?? 'fun-emoji',
              								$options['flip'] ?? 'false'
              							);
              					}
              
              					if (isset($options['size'])) {
              						$comment['size'] = $options['size'];
              					}
              				}
              			}
              
              			return [$comments];
              		};
              
            2. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/gravatar/plugin.php [line: 61 - 88] */
              function ($comments){
              			$options = \Vvveb\getSetting('gravatar', ['size', 'rating', 'default']);
              
              			$commentType = false;
              
              			foreach ($types as $type) {
              				if (isset($comments[$type])) {
              					$commentType = $type;
              
              					break;
              				}
              			}
              
              			if ($commentType) {
              				foreach ($comments[$commentType] as &$comment) {
              					if (! isset($comment['avatar']) || ! $comment['avatar']) {
              						$comment['avatar'] = $this->getGravatar(
              								$comment['email'],
              								$options['size'] ?? 60,
              								$options['default'] ?? 'mm',
              								$options['rating'] ?? 'g'
              							);
              					}
              				}
              			}
              
              			return [$comments];
              		};
              
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/shipping/plugin.php [line: 79 - 89] */
              function ($site){
              			$request = Request::getInstance();
              			$route = $request->get['route'] ?? '';
              			$module = $request->get['module'] ?? '';
              
              			if ($route == '/checkout' || $module == 'checkout/checkout/index') {
              				$this->init();
              			}
              
              			return [$site];
              		});
              
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/theme-market/plugin.php [line: 116 - 120] */
              function ($options){
              			$options['type'] = 'theme';
              
              			return [$options];
              		});
              
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/theme-market/plugin.php [line: 123 - 131] */
              function ($results){
              			if (isset($results['product'])) {
              				foreach ($results['product'] as &$product) {
              					$product['download_link'] = PUBLIC_PATH . 'market/themes/' . $product['slug'] . '.zip';
              				}
              			}
              
              			return [$results];
              		});
              
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/theme-market/plugin.php [line: 134 - 140] */
              function ($results){
              			if ($results) {
              				$results['download_link'] = PUBLIC_PATH . 'market/themes/' . $results['slug'] . '.zip';
              			}
              
              			return [$results];
              		});
              
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/toc-posts/plugin.php [line: 174 - 180] */
              function ($results = false){
              			if ($results && isset($results['content'])) {
              				$this->toc($results);
              			}
              
              			return [$results];
              		});
              
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/toc-posts/plugin.php [line: 182 - 188] */
              function ($results = false){
              			if ($results && isset($results[0])) {
              				$this->toc($results[0]);
              			}
              
              			return [$results];
              		});
              
      1. 1
      2. /blog/#page#
      3. content
      4. \/blog\/(?\d+)