<?xml version="1.0" encoding="UTF-8"?>
<!--generator='jetpack-16.1-a.3'-->
<!--Jetpack_Sitemap_Buffer_Image_XMLWriter-->
<?xml-stylesheet type="text/xsl" href="//donaldsebleung.com/image-sitemap.xsl"?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
 <url>
  <loc>https://donaldsebleung.com/avatar/</loc>
  <lastmod>2026-07-23T16:05:07Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/avatar.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/avatar/</loc>
  <lastmod>2026-07-23T16:05:12Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/cropped-avatar.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/07/16/patching-a-directory-traversal-attack-vulnerability/</loc>
  <lastmod>2026-07-24T14:18:23Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/function-compute.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/07/16/patching-a-directory-traversal-attack-vulnerability/</loc>
  <lastmod>2026-07-24T14:18:25Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/function-assets.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/ecs-server/</loc>
  <lastmod>2026-07-24T14:23:04Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/ecs-server.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/function-compute-1/</loc>
  <lastmod>2026-07-24T14:25:47Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/function-compute-1.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/07/15/migrating-my-personal-website-to-an-event-driven-serverless-architecture/</loc>
  <lastmod>2026-07-24T14:26:29Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2023/07/function-compute.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/07/15/migrating-my-personal-website-to-an-event-driven-serverless-architecture/</loc>
  <lastmod>2026-07-24T14:27:24Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2023/07/web-hosting.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/07/20/securing-your-kubernetes-workloads-with-sigstore/</loc>
  <lastmod>2026-07-24T14:33:41Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/devops-pipeline.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/07/20/securing-your-kubernetes-workloads-with-sigstore/</loc>
  <lastmod>2026-07-24T14:33:41Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/infected-devops-pipeline.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/07/20/securing-your-kubernetes-workloads-with-sigstore/</loc>
  <lastmod>2026-07-24T14:33:43Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/devsecops-pipeline.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/07/29/enabling-local-project-collaboration-with-gitea/</loc>
  <lastmod>2026-07-24T14:39:40Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/gitea-14.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/07/29/enabling-local-project-collaboration-with-gitea/</loc>
  <lastmod>2026-07-24T14:39:40Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/gitea-05.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/07/29/enabling-local-project-collaboration-with-gitea/</loc>
  <lastmod>2026-07-24T14:39:40Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/gitea-12.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/07/29/enabling-local-project-collaboration-with-gitea/</loc>
  <lastmod>2026-07-24T14:39:40Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/gitea-10.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/07/29/enabling-local-project-collaboration-with-gitea/</loc>
  <lastmod>2026-07-24T14:39:40Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/gitea-08.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/07/29/enabling-local-project-collaboration-with-gitea/</loc>
  <lastmod>2026-07-24T14:39:40Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/gitea-07.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/07/29/enabling-local-project-collaboration-with-gitea/</loc>
  <lastmod>2026-07-24T14:39:40Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/gitea-06.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/07/29/enabling-local-project-collaboration-with-gitea/</loc>
  <lastmod>2026-07-24T14:39:40Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/gitea-09.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/07/29/enabling-local-project-collaboration-with-gitea/</loc>
  <lastmod>2026-07-24T14:39:40Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/gitea-13.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/07/29/enabling-local-project-collaboration-with-gitea/</loc>
  <lastmod>2026-07-24T14:39:40Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/gitea-11.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/07/29/enabling-local-project-collaboration-with-gitea/</loc>
  <lastmod>2026-07-24T14:39:40Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/gitea-02.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/07/29/enabling-local-project-collaboration-with-gitea/</loc>
  <lastmod>2026-07-24T14:39:40Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/gitea-03.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/07/29/enabling-local-project-collaboration-with-gitea/</loc>
  <lastmod>2026-07-24T14:39:40Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/gitea-04.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/07/29/enabling-local-project-collaboration-with-gitea/</loc>
  <lastmod>2026-07-24T14:39:42Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/gitea-01.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/07/29/enabling-local-project-collaboration-with-gitea/</loc>
  <lastmod>2026-07-24T14:39:42Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/gitea-00.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/02/implementing-continuous-delivery-pipelines-with-github-actions/</loc>
  <lastmod>2026-07-24T14:43:54Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/devops-pipeline-1.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/02/implementing-continuous-delivery-pipelines-with-github-actions/</loc>
  <lastmod>2026-07-24T14:43:55Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/github-actions-07.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/02/implementing-continuous-delivery-pipelines-with-github-actions/</loc>
  <lastmod>2026-07-24T14:43:55Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/github-actions-15.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/02/implementing-continuous-delivery-pipelines-with-github-actions/</loc>
  <lastmod>2026-07-24T14:43:55Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/github-actions-14.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/02/implementing-continuous-delivery-pipelines-with-github-actions/</loc>
  <lastmod>2026-07-24T14:43:55Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/github-actions-05.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/02/implementing-continuous-delivery-pipelines-with-github-actions/</loc>
  <lastmod>2026-07-24T14:43:55Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/github-actions-08.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/02/implementing-continuous-delivery-pipelines-with-github-actions/</loc>
  <lastmod>2026-07-24T14:43:55Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/github-actions-13.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/02/implementing-continuous-delivery-pipelines-with-github-actions/</loc>
  <lastmod>2026-07-24T14:43:55Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/github-actions-11.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/02/implementing-continuous-delivery-pipelines-with-github-actions/</loc>
  <lastmod>2026-07-24T14:43:55Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/github-actions-06.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/02/implementing-continuous-delivery-pipelines-with-github-actions/</loc>
  <lastmod>2026-07-24T14:43:55Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/github-actions-09.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/02/implementing-continuous-delivery-pipelines-with-github-actions/</loc>
  <lastmod>2026-07-24T14:43:56Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/github-actions-12.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/02/implementing-continuous-delivery-pipelines-with-github-actions/</loc>
  <lastmod>2026-07-24T14:43:56Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/github-actions-24.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/02/implementing-continuous-delivery-pipelines-with-github-actions/</loc>
  <lastmod>2026-07-24T14:43:56Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/github-actions-10.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/02/implementing-continuous-delivery-pipelines-with-github-actions/</loc>
  <lastmod>2026-07-24T14:43:56Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/github-actions-23.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/02/implementing-continuous-delivery-pipelines-with-github-actions/</loc>
  <lastmod>2026-07-24T14:43:56Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/github-actions-22.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/02/implementing-continuous-delivery-pipelines-with-github-actions/</loc>
  <lastmod>2026-07-24T14:43:56Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/github-actions-04.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/02/implementing-continuous-delivery-pipelines-with-github-actions/</loc>
  <lastmod>2026-07-24T14:43:56Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/github-actions-16.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/02/implementing-continuous-delivery-pipelines-with-github-actions/</loc>
  <lastmod>2026-07-24T14:43:56Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/github-actions-21.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/02/implementing-continuous-delivery-pipelines-with-github-actions/</loc>
  <lastmod>2026-07-24T14:43:56Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/github-actions-17.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/02/implementing-continuous-delivery-pipelines-with-github-actions/</loc>
  <lastmod>2026-07-24T14:43:56Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/github-actions-02.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/02/implementing-continuous-delivery-pipelines-with-github-actions/</loc>
  <lastmod>2026-07-24T14:43:56Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/github-actions-19.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/02/implementing-continuous-delivery-pipelines-with-github-actions/</loc>
  <lastmod>2026-07-24T14:43:56Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/github-actions-01.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/02/implementing-continuous-delivery-pipelines-with-github-actions/</loc>
  <lastmod>2026-07-24T14:43:56Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/github-actions-20.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/02/implementing-continuous-delivery-pipelines-with-github-actions/</loc>
  <lastmod>2026-07-24T14:43:56Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/github-actions-18.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/02/implementing-continuous-delivery-pipelines-with-github-actions/</loc>
  <lastmod>2026-07-24T14:43:56Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/github-actions-03.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/02/implementing-continuous-delivery-pipelines-with-github-actions/</loc>
  <lastmod>2026-07-24T14:43:56Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/jerry-app.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/19/scanning-and-remediating-vulnerabilities-with-grype/</loc>
  <lastmod>2026-07-24T14:47:53Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/devsecops-pipeline-1.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/19/scanning-and-remediating-vulnerabilities-with-grype/</loc>
  <lastmod>2026-07-24T14:47:54Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/grype-01.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/19/scanning-and-remediating-vulnerabilities-with-grype/</loc>
  <lastmod>2026-07-24T14:47:54Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/grype-02.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/19/scanning-and-remediating-vulnerabilities-with-grype/</loc>
  <lastmod>2026-07-24T14:47:54Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/grype-04.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/19/scanning-and-remediating-vulnerabilities-with-grype/</loc>
  <lastmod>2026-07-24T14:47:54Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/grype-03.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/08/25/evaluating-and-securing-your-kubernetes-infrastructure-with-kube-bench/</loc>
  <lastmod>2026-07-24T14:51:12Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/devsecops-pipeline-2.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/09/12/configuring-a-simple-router-with-openbsd/</loc>
  <lastmod>2026-07-24T14:55:30Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/openbsd-intro-01.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/09/12/configuring-a-simple-router-with-openbsd/</loc>
  <lastmod>2026-07-24T14:55:32Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/openbsd-intro-07.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/09/12/configuring-a-simple-router-with-openbsd/</loc>
  <lastmod>2026-07-24T14:55:33Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/openbsd-intro-06.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/09/12/configuring-a-simple-router-with-openbsd/</loc>
  <lastmod>2026-07-24T14:55:34Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/openbsd-intro-10.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/09/12/configuring-a-simple-router-with-openbsd/</loc>
  <lastmod>2026-07-24T14:55:34Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/openbsd-intro-05.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/09/12/configuring-a-simple-router-with-openbsd/</loc>
  <lastmod>2026-07-24T14:55:34Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/openbsd-intro-03.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/09/12/configuring-a-simple-router-with-openbsd/</loc>
  <lastmod>2026-07-24T14:55:34Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/openbsd-intro-09.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/09/12/configuring-a-simple-router-with-openbsd/</loc>
  <lastmod>2026-07-24T14:55:34Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/openbsd-intro-04.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/09/12/configuring-a-simple-router-with-openbsd/</loc>
  <lastmod>2026-07-24T14:55:34Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/openbsd-intro-02.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/09/12/configuring-a-simple-router-with-openbsd/</loc>
  <lastmod>2026-07-24T14:55:34Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/openbsd-intro-08.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/09/16/configuring-an-ipsec-vpn-connection-with-openiked/</loc>
  <lastmod>2026-07-24T14:57:43Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/openiked-intro-01.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/09/16/configuring-an-ipsec-vpn-connection-with-openiked/</loc>
  <lastmod>2026-07-24T14:57:43Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/openiked-intro-07.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/09/16/configuring-an-ipsec-vpn-connection-with-openiked/</loc>
  <lastmod>2026-07-24T14:57:43Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/openiked-intro-03.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/09/16/configuring-an-ipsec-vpn-connection-with-openiked/</loc>
  <lastmod>2026-07-24T14:57:43Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/openiked-intro-05.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/09/16/configuring-an-ipsec-vpn-connection-with-openiked/</loc>
  <lastmod>2026-07-24T14:57:43Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/openiked-intro-02.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/09/16/configuring-an-ipsec-vpn-connection-with-openiked/</loc>
  <lastmod>2026-07-24T14:57:44Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/openiked-intro-06.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/09/16/configuring-an-ipsec-vpn-connection-with-openiked/</loc>
  <lastmod>2026-07-24T14:57:44Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/openiked-intro-04.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2023/09/16/configuring-an-ipsec-vpn-connection-with-openiked/</loc>
  <lastmod>2026-07-24T14:57:44Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/openbsd-intro-02-1.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/01/14/exploring-openshift-with-crc/</loc>
  <lastmod>2026-07-24T15:06:28Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/01-okd-web-dev-dashboard.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/01/14/exploring-openshift-with-crc/</loc>
  <lastmod>2026-07-24T15:06:28Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/03-okd-web-admin-restricted-pods.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/01/14/exploring-openshift-with-crc/</loc>
  <lastmod>2026-07-24T15:06:29Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/00-okd-web-oauth.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/01/14/exploring-openshift-with-crc/</loc>
  <lastmod>2026-07-24T15:06:29Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/06-okd-web-admin-argocd.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/01/14/exploring-openshift-with-crc/</loc>
  <lastmod>2026-07-24T15:06:29Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/02-okd-web-admin-restricted-dashboard.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/01/14/exploring-openshift-with-crc/</loc>
  <lastmod>2026-07-24T15:06:29Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/04-okd-web-admin-dashboard.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/01/14/exploring-openshift-with-crc/</loc>
  <lastmod>2026-07-24T15:06:29Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/05-okd-web-admin-operators-operatorhub.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/01/14/exploring-openshift-with-crc/</loc>
  <lastmod>2026-07-24T15:06:29Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/13-okd-argocd-web-dashboard.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/01/14/exploring-openshift-with-crc/</loc>
  <lastmod>2026-07-24T15:06:29Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/10-okd-web-admin-argocd-install-success.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/01/14/exploring-openshift-with-crc/</loc>
  <lastmod>2026-07-24T15:06:29Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/07-okd-web-admin-community-operator.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/01/14/exploring-openshift-with-crc/</loc>
  <lastmod>2026-07-24T15:06:29Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/09-okd-web-admin-argocd-confirm-install.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/01/14/exploring-openshift-with-crc/</loc>
  <lastmod>2026-07-24T15:06:29Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/08-okd-web-admin-argocd-install.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/01/14/exploring-openshift-with-crc/</loc>
  <lastmod>2026-07-24T15:06:30Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/11-okd-web-admin-argocd-details.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/01/14/exploring-openshift-with-crc/</loc>
  <lastmod>2026-07-24T15:06:30Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/12-okd-argocd-web-login.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/13/running-workloads-at-the-edge-with-microk8s/</loc>
  <lastmod>2026-07-24T15:09:21Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/01-nginx-ingress-404-not-found.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/13/running-workloads-at-the-edge-with-microk8s/</loc>
  <lastmod>2026-07-24T15:09:21Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/00-microk8s-homelab-architecture.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/13/running-workloads-at-the-edge-with-microk8s/</loc>
  <lastmod>2026-07-24T15:09:21Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/03-nginx-ingress-lets-encrypt-certificate.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/13/running-workloads-at-the-edge-with-microk8s/</loc>
  <lastmod>2026-07-24T15:09:22Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/02-nginx-ingress-nginx-welcome-page.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/25/deploying-keycloak-on-fedora-workstation-with-podman/</loc>
  <lastmod>2026-07-24T15:13:21Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/00-keycloak-homepage.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/25/deploying-keycloak-on-fedora-workstation-with-podman/</loc>
  <lastmod>2026-07-24T15:13:21Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/01-keycloak-master-login-portal.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/25/deploying-keycloak-on-fedora-workstation-with-podman/</loc>
  <lastmod>2026-07-24T15:13:21Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/10-keycloak-example-com-set-johndoe-password.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/25/deploying-keycloak-on-fedora-workstation-with-podman/</loc>
  <lastmod>2026-07-24T15:13:21Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/18-gnome-software-flathub-source-enabled.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/25/deploying-keycloak-on-fedora-workstation-with-podman/</loc>
  <lastmod>2026-07-24T15:13:21Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/11-keycloak-example-com-confirm-johndoe-password.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/25/deploying-keycloak-on-fedora-workstation-with-podman/</loc>
  <lastmod>2026-07-24T15:13:21Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/05-keycloak-example-com-admin-console.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/25/deploying-keycloak-on-fedora-workstation-with-podman/</loc>
  <lastmod>2026-07-24T15:13:21Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/08-keycloak-example-com-create-johndoe-user.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/25/deploying-keycloak-on-fedora-workstation-with-podman/</loc>
  <lastmod>2026-07-24T15:13:21Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/03-keycloak-master-create-realm.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/25/deploying-keycloak-on-fedora-workstation-with-podman/</loc>
  <lastmod>2026-07-24T15:13:21Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/21-keycloak-spa-demo-sign-in.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/25/deploying-keycloak-on-fedora-workstation-with-podman/</loc>
  <lastmod>2026-07-24T15:13:21Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/17-keycloak-example-com-client-created.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/25/deploying-keycloak-on-fedora-workstation-with-podman/</loc>
  <lastmod>2026-07-24T15:13:21Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/20-keycloak-spa-demo-config.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/25/deploying-keycloak-on-fedora-workstation-with-podman/</loc>
  <lastmod>2026-07-24T15:13:21Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/24-keycloak-example-com-johndoe-reset-password.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/25/deploying-keycloak-on-fedora-workstation-with-podman/</loc>
  <lastmod>2026-07-24T15:13:21Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/19-gnome-software-authenticator-app.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/25/deploying-keycloak-on-fedora-workstation-with-podman/</loc>
  <lastmod>2026-07-24T15:13:21Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/02-keycloak-master-admin-console.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/25/deploying-keycloak-on-fedora-workstation-with-podman/</loc>
  <lastmod>2026-07-24T15:13:21Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/22-keycloak-example-com-login-portal.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/25/deploying-keycloak-on-fedora-workstation-with-podman/</loc>
  <lastmod>2026-07-24T15:13:22Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/23-keycloak-example-com-johndoe-mfa-setup.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/25/deploying-keycloak-on-fedora-workstation-with-podman/</loc>
  <lastmod>2026-07-24T15:13:22Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/09-keycloak-example-com-add-johndoe-password.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/25/deploying-keycloak-on-fedora-workstation-with-podman/</loc>
  <lastmod>2026-07-24T15:13:22Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/12-keycloak-example-com-johndoe-password-created.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/25/deploying-keycloak-on-fedora-workstation-with-podman/</loc>
  <lastmod>2026-07-24T15:13:22Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/15-keycloak-example-com-client-capability-config.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/25/deploying-keycloak-on-fedora-workstation-with-podman/</loc>
  <lastmod>2026-07-24T15:13:22Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/14-keycloak-example-com-add-keycloak-spa-client.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/25/deploying-keycloak-on-fedora-workstation-with-podman/</loc>
  <lastmod>2026-07-24T15:13:22Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/06-keycloak-example-com-auth-required-actions.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/25/deploying-keycloak-on-fedora-workstation-with-podman/</loc>
  <lastmod>2026-07-24T15:13:22Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/13-keycloak-example-com-add-client.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/25/deploying-keycloak-on-fedora-workstation-with-podman/</loc>
  <lastmod>2026-07-24T15:13:22Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/16-keycloak-example-com-save-keycloak-spa.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/25/deploying-keycloak-on-fedora-workstation-with-podman/</loc>
  <lastmod>2026-07-24T15:13:23Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/25-keycloak-spa-demo-sso-success.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/25/deploying-keycloak-on-fedora-workstation-with-podman/</loc>
  <lastmod>2026-07-24T15:13:23Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/04-keycloak-master-create-example-com-realm.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/02/25/deploying-keycloak-on-fedora-workstation-with-podman/</loc>
  <lastmod>2026-07-24T15:13:24Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/07-keycloak-example-com-add-user.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/06/09/protecting-stateful-workloads-on-kubernetes-with-kanister/</loc>
  <lastmod>2026-07-24T15:19:19Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/03-kanister-wordpress-wp-admin-login-page.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/06/09/protecting-stateful-workloads-on-kubernetes-with-kanister/</loc>
  <lastmod>2026-07-24T15:19:19Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/01-kanister-wordpress-wp-homepage-2.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/06/09/protecting-stateful-workloads-on-kubernetes-with-kanister/</loc>
  <lastmod>2026-07-24T15:19:19Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/02-kanister-wordpress-wp-hello-world.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/06/09/protecting-stateful-workloads-on-kubernetes-with-kanister/</loc>
  <lastmod>2026-07-24T15:19:19Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/05-kanister-wordpress-wp-admin-delete-hello-world-1.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/06/09/protecting-stateful-workloads-on-kubernetes-with-kanister/</loc>
  <lastmod>2026-07-24T15:19:19Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/06-kanister-wordpress-wp-admin-delete-hello-world-permanently.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/06/09/protecting-stateful-workloads-on-kubernetes-with-kanister/</loc>
  <lastmod>2026-07-24T15:19:20Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/07-kanister-wordpress-wp-admin-hello-world-deleted.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/06/09/protecting-stateful-workloads-on-kubernetes-with-kanister/</loc>
  <lastmod>2026-07-24T15:19:20Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/04-kanister-wordpress-wp-admin-dashboard.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/06/09/protecting-stateful-workloads-on-kubernetes-with-kanister/</loc>
  <lastmod>2026-07-24T15:19:20Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/00-kanister-wordpress-wp-homepage-1.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2024/12/28/enforcing-recommended-practices-on-kubernetes-with-validatingadmissionpolicy/</loc>
  <lastmod>2026-07-24T15:23:13Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/00-k8s-vap-access-control-overview.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2025/01/19/operating-kafka-at-scale-with-strimzi/</loc>
  <lastmod>2026-07-24T15:27:34Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/00-kafka-strimzi-zookeeper-vs-kraft.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2025/03/04/understanding-the-security-benefits-of-ebpf-based-vs-traditional-service-meshes/</loc>
  <lastmod>2026-07-24T15:31:22Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/01-ebpf-vs-traditional-service-meshes-istio-architecture.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2025/03/04/understanding-the-security-benefits-of-ebpf-based-vs-traditional-service-meshes/</loc>
  <lastmod>2026-07-24T15:31:22Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/00-ebpf-vs-traditional-service-meshes-mesh-evolution.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2025/03/04/understanding-the-security-benefits-of-ebpf-based-vs-traditional-service-meshes/</loc>
  <lastmod>2026-07-24T15:31:24Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/02-ebpf-vs-traditional-service-meshes-envoy-namespaces.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2025/04/12/uncovering-a-reverse-shell-attack-in-real-time/</loc>
  <lastmod>2026-07-24T15:33:23Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/01-reverse-shell-symantec-bad-ip-reputation.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2025/04/12/uncovering-a-reverse-shell-attack-in-real-time/</loc>
  <lastmod>2026-07-24T15:33:23Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/00-reverse-shell-tracee-json-event.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2025/04/20/implementing-pod-to-pod-encryption-with-istio-ambient-mesh/</loc>
  <lastmod>2026-07-24T15:36:29Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/00-istio-ambient-mtls-demo.gif</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2025/09/21/provisioning-ceph-storage-with-cephadm/</loc>
  <lastmod>2026-07-24T15:39:08Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/00-cephadm-ceph-architecture-overview.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2025/09/21/provisioning-ceph-storage-with-cephadm/</loc>
  <lastmod>2026-07-24T15:41:44Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2025/09/01-cephadm-demo.gif</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2025/09/23/configuring-rook-with-external-ceph-storage/</loc>
  <lastmod>2026-07-24T15:44:02Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/01-rook-external-ceph-ceph-rgw-overview.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2025/09/23/configuring-rook-with-external-ceph-storage/</loc>
  <lastmod>2026-07-24T15:44:14Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/00-rook-external-ceph-cephfs-architecture.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2025/09/23/configuring-rook-with-external-ceph-storage/</loc>
  <lastmod>2026-07-24T15:44:16Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/02-rook-external-ceph-ceph-ingress-rgw-ha.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2025/09/23/configuring-rook-with-external-ceph-storage/</loc>
  <lastmod>2026-07-24T15:46:16Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/03-rook-external-ceph-demo.gif</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/17/implementing-gitops-practices-with-argo-cd/</loc>
  <lastmod>2026-07-24T15:49:11Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/07-argocd-gitops-demo-new-app-destination.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/17/implementing-gitops-practices-with-argo-cd/</loc>
  <lastmod>2026-07-24T15:49:11Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/05-argocd-gitops-demo-new-app-general.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/17/implementing-gitops-practices-with-argo-cd/</loc>
  <lastmod>2026-07-24T15:49:11Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/10-argocd-gitops-demo-podinfo-confirm-sync.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/17/implementing-gitops-practices-with-argo-cd/</loc>
  <lastmod>2026-07-24T15:49:12Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/04-argocd-gitops-demo-new-app.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/17/implementing-gitops-practices-with-argo-cd/</loc>
  <lastmod>2026-07-24T15:49:12Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/00-argocd-gitops-demo-architecture-diagram.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/17/implementing-gitops-practices-with-argo-cd/</loc>
  <lastmod>2026-07-24T15:49:12Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/03-argocd-gitops-demo-argocd-server-applications-view.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/17/implementing-gitops-practices-with-argo-cd/</loc>
  <lastmod>2026-07-24T15:49:12Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/12-argocd-gitops-demo-podinfo-healthy.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/17/implementing-gitops-practices-with-argo-cd/</loc>
  <lastmod>2026-07-24T15:49:12Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/08-argocd-gitops-demo-new-app-kustomize.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/17/implementing-gitops-practices-with-argo-cd/</loc>
  <lastmod>2026-07-24T15:49:12Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/06-argocd-gitops-demo-new-app-source.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/17/implementing-gitops-practices-with-argo-cd/</loc>
  <lastmod>2026-07-24T15:49:13Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/11-argocd-gitops-demo-podinfo-progressing.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/17/implementing-gitops-practices-with-argo-cd/</loc>
  <lastmod>2026-07-24T15:49:13Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/09-argocd-gitops-demo-podinfo-sync.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/17/implementing-gitops-practices-with-argo-cd/</loc>
  <lastmod>2026-07-24T15:49:13Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/14-argocd-gitops-demo-podinfo-running.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/17/implementing-gitops-practices-with-argo-cd/</loc>
  <lastmod>2026-07-24T15:49:13Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/01-argocd-gitops-demo-argocd-server-ignore-certificate-warning.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/17/implementing-gitops-practices-with-argo-cd/</loc>
  <lastmod>2026-07-24T15:49:13Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/13-argocd-gitops-demo-podinfo-map.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/17/implementing-gitops-practices-with-argo-cd/</loc>
  <lastmod>2026-07-24T15:49:17Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/02-argocd-gitops-demo-argocd-server-login-screen.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/17/implementing-gitops-practices-with-argo-cd/</loc>
  <lastmod>2026-07-24T15:50:22Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/15-argocd-gitops-demo-cli-walkthrough.gif</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:39Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/14-matebook-pro-hish-version-info.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:40Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/25-matebook-pro-hish-shared-folder-import-file.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:43Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/12-matebook-pro-hishell-openeuler-not-installed.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:43Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/27-matebook-pro-hish-shared-folder-import-file-success.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:46Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/21-matebook-pro-hish-map-ports-custom-mapping.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:46Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/32-matebook-pro-hish-jit-acceleration.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:47Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/01-matebook-pro-laptop-casing.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:47Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/24-matebook-pro-hish-shared-folder.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:48Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/19-matebook-pro-hish-new-emulator-map-ports.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:48Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/16-matebook-pro-hish-emulators.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:48Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/31-matebook-pro-hish-docker-podinfo.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:49Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/23-matebook-pro-hish-new-emulator-cpu-memory.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:50Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/15-matebook-pro-hish-default-emulator.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:52Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/26-matebook-pro-hish-shared-folder-select-import-file.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:52Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/20-matebook-pro-hish-map-ports-default-mappings.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:52Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/17-matebook-pro-hish-emulator-images.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:52Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/22-matebook-pro-hish-new-emulator-created.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:52Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/18-matebook-pro-hish-new-emulator.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:52Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/02-matebook-pro-laptop-appearance.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:52Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/29-matebook-pro-hish-user-guide-docs.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:53Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/08-matebook-pro-codearts-new-python-project.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:53Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/05-matebook-pro-celia-response.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:53Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/07-matebook-pro-codearts-welcome-page.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:53Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/28-matebook-pro-shared-folder-access-imported-file.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:54Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/10-matebook-pro-codearts-program-execution.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:54Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/11-matebook-pro-hishell-system-information.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:54Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/30-matebook-pro-hish-user-guide-docs-docker.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:54Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/09-matebook-pro-codearts-breakpoint-debugging.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:54Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/06-matebook-pro-celia-settings-local-ai.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:54Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/04-matebook-pro-celia-deep-thinking.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:54Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/13-matebook-pro-hish-appgallery.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:57:55Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/03-matebook-pro-super-privacy-mode.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/01/18/exploring-the-developer-ecosystem-on-huawei-matebook-pro/</loc>
  <lastmod>2026-07-24T15:58:33Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/00-matebook-pro-hish-docker-run-podinfo.gif</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/02/14/running-deepseek-r1-on-a-commodity-laptop-with-vllm/</loc>
  <lastmod>2026-07-24T16:04:46Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/00-vllm-deepseek-r1-hwinfo.gif</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/02/14/running-deepseek-r1-on-a-commodity-laptop-with-vllm/</loc>
  <lastmod>2026-07-24T16:05:26Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/01-vllm-deepseek-r1-docker-build.gif</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/02/14/running-deepseek-r1-on-a-commodity-laptop-with-vllm/</loc>
  <lastmod>2026-07-24T16:05:58Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/02-vllm-deepseek-r1-serving.gif</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/02/14/running-deepseek-r1-on-a-commodity-laptop-with-vllm/</loc>
  <lastmod>2026-07-24T16:06:24Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/03-vllm-deepseek-r1-api-exploring.gif</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/02/14/running-deepseek-r1-on-a-commodity-laptop-with-vllm/</loc>
  <lastmod>2026-07-24T16:06:49Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/04-vllm-deepseek-r1-inference.gif</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/02/17/deploying-deepseek-r1-for-distributed-inferencing-with-ray/</loc>
  <lastmod>2026-07-24T16:11:37Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/00-vllm-ray-deepseek-r1-environment-nvidia.gif</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/02/17/deploying-deepseek-r1-for-distributed-inferencing-with-ray/</loc>
  <lastmod>2026-07-24T16:12:19Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/01-vllm-ray-deepseek-r1-environment-preloaded.gif</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/02/17/deploying-deepseek-r1-for-distributed-inferencing-with-ray/</loc>
  <lastmod>2026-07-24T16:12:58Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/02-vllm-ray-deepseek-r1-serving-vllm.gif</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/02/17/deploying-deepseek-r1-for-distributed-inferencing-with-ray/</loc>
  <lastmod>2026-07-24T16:13:22Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/03-vllm-ray-deepseek-r1-ray-start-head.gif</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/02/17/deploying-deepseek-r1-for-distributed-inferencing-with-ray/</loc>
  <lastmod>2026-07-24T16:13:49Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/04-vllm-ray-deepseek-r1-ray-start-worker.gif</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/02/17/deploying-deepseek-r1-for-distributed-inferencing-with-ray/</loc>
  <lastmod>2026-07-24T16:14:06Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/05-vllm-ray-deepseek-r1-ray-status.gif</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/02/17/deploying-deepseek-r1-for-distributed-inferencing-with-ray/</loc>
  <lastmod>2026-07-24T16:14:45Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/06-vllm-ray-deepseek-r1-ray-serving.gif</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/02/17/deploying-deepseek-r1-for-distributed-inferencing-with-ray/</loc>
  <lastmod>2026-07-24T16:15:09Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/07-vllm-ray-deepseek-r1-ray-verify.gif</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/03/02/exploring-the-ascend-ecosystem-with-orangepi-aipro-20t/</loc>
  <lastmod>2026-07-24T16:20:40Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/08-orangepi-aipro-20t-jupyterlab.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/03/02/exploring-the-ascend-ecosystem-with-orangepi-aipro-20t/</loc>
  <lastmod>2026-07-24T16:20:43Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/03-orangepi-aipro-20t-casing.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/03/02/exploring-the-ascend-ecosystem-with-orangepi-aipro-20t/</loc>
  <lastmod>2026-07-24T16:20:43Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/02-orangepi-aipro-20t-packaging.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/03/02/exploring-the-ascend-ecosystem-with-orangepi-aipro-20t/</loc>
  <lastmod>2026-07-24T16:20:43Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/09-orangepi-aipro-20t-jupyter-terminal.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/03/02/exploring-the-ascend-ecosystem-with-orangepi-aipro-20t/</loc>
  <lastmod>2026-07-24T16:20:44Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/10-orangepi-aipro-20t-jupyter-notebook.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/03/02/exploring-the-ascend-ecosystem-with-orangepi-aipro-20t/</loc>
  <lastmod>2026-07-24T16:20:44Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/01-orangepi-aipro-20t-development-kit.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/03/02/exploring-the-ascend-ecosystem-with-orangepi-aipro-20t/</loc>
  <lastmod>2026-07-24T16:20:44Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/06-orangepi-aipro-20t-boot-order-switch.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/03/02/exploring-the-ascend-ecosystem-with-orangepi-aipro-20t/</loc>
  <lastmod>2026-07-24T16:20:45Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/04-orangepi-aipro-20t-board.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/03/02/exploring-the-ascend-ecosystem-with-orangepi-aipro-20t/</loc>
  <lastmod>2026-07-24T16:20:45Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/07-orangepi-aipro-20t-xfce-desktop.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/03/02/exploring-the-ascend-ecosystem-with-orangepi-aipro-20t/</loc>
  <lastmod>2026-07-24T16:20:46Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/05-orangepi-aipro-20t-tf-card-reader.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/03/02/exploring-the-ascend-ecosystem-with-orangepi-aipro-20t/</loc>
  <lastmod>2026-07-24T16:21:12Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/00-orangepi-aipro-20t-environment.gif</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/04/04/predicting-california-house-prices-with-mindspore/</loc>
  <lastmod>2026-07-24T16:25:39Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/00-california-housing-mindspore-training-validation-loss.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/04/19/serving-machine-learning-models-for-inference-with-onnx-runtime/</loc>
  <lastmod>2026-07-24T16:29:13Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/00-cifar10-onnxruntime-images-and-labels.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/04/19/serving-machine-learning-models-for-inference-with-onnx-runtime/</loc>
  <lastmod>2026-07-24T16:29:13Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/01-cifar10-onnxruntime-predictions-vs-labels.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/04/20/accelerating-model-inference-on-nvidia-tesla-t4-with-onnx-runtime/</loc>
  <lastmod>2026-07-24T16:30:46Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/01-onnxruntime-gpu-predictions-vs-labels.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/04/20/accelerating-model-inference-on-nvidia-tesla-t4-with-onnx-runtime/</loc>
  <lastmod>2026-07-24T16:30:46Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/00-onnxruntime-gpu-images-and-labels.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/05/01/migrating-pytorch-deep-learning-workloads-to-the-ascend-ecosystem/</loc>
  <lastmod>2026-07-24T16:32:29Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/00-pytorch-ascend-images-labels.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/05/01/migrating-pytorch-deep-learning-workloads-to-the-ascend-ecosystem/</loc>
  <lastmod>2026-07-24T16:32:29Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/02-pytorch-ascend-images-labels-predictions.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/05/01/migrating-pytorch-deep-learning-workloads-to-the-ascend-ecosystem/</loc>
  <lastmod>2026-07-24T16:32:29Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/01-pytorch-ascend-training-validation-loss.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/05/09/upgrading-to-mindspore-2-9-0-cann-9-0-0-on-the-orangepi-aipro-20t/</loc>
  <lastmod>2026-07-24T16:34:09Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/00-upgrade-cann-mindspore-cann-900-installer-files.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/05/23/fine-tuning-resnet-18-on-cifar-100-with-mindcv-and-mindspore/</loc>
  <lastmod>2026-07-24T16:35:58Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/00-resnet18-transfer-learning-cifar100-samples.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/05/23/fine-tuning-resnet-18-on-cifar-100-with-mindcv-and-mindspore/</loc>
  <lastmod>2026-07-24T16:35:58Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/01-resnet18-transfer-learning-training-vs-validation-loss.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/06/08/tracking-mindspore-experiments-with-mlflow/</loc>
  <lastmod>2026-07-24T16:39:16Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/07-mlflow-mindspore-experiment-multiple-runs.jpg</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/06/08/tracking-mindspore-experiments-with-mlflow/</loc>
  <lastmod>2026-07-24T16:39:17Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/03-mlflow-mindspore-experiment-select-run.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/06/08/tracking-mindspore-experiments-with-mlflow/</loc>
  <lastmod>2026-07-24T16:39:17Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/04-mlflow-mindspore-run-metrics-hyperparameters.jpg</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/06/08/tracking-mindspore-experiments-with-mlflow/</loc>
  <lastmod>2026-07-24T16:39:17Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/02-mlflow-mindspore-select-experiment.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/06/08/tracking-mindspore-experiments-with-mlflow/</loc>
  <lastmod>2026-07-24T16:39:17Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/05-mlflow-mindspore-run-metrics-graphs.jpg</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/06/08/tracking-mindspore-experiments-with-mlflow/</loc>
  <lastmod>2026-07-24T16:39:17Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/01-mlflow-mindspore-new-experiment.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/06/08/tracking-mindspore-experiments-with-mlflow/</loc>
  <lastmod>2026-07-24T16:39:17Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/10-mlflow-mindspore-run-02-onnx-model.jpg</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/06/08/tracking-mindspore-experiments-with-mlflow/</loc>
  <lastmod>2026-07-24T16:39:17Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/00-mlflow-mindspore-mlflow-homepage.jpg</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/06/08/tracking-mindspore-experiments-with-mlflow/</loc>
  <lastmod>2026-07-24T16:39:17Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/08-mlflow-mindspore-run-02-metrics-hyperparameters.jpg</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/06/08/tracking-mindspore-experiments-with-mlflow/</loc>
  <lastmod>2026-07-24T16:39:17Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/09-mlflow-mindspore-run-02-metrics-graphs.jpg</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/06/08/tracking-mindspore-experiments-with-mlflow/</loc>
  <lastmod>2026-07-24T16:39:18Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/06-mlflow-mindspore-run-onnx-model.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/06/19/bootstrapping-a-self-service-ai-platform-with-gitops/</loc>
  <lastmod>2026-07-24T16:42:23Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/01-kubeflow-gitops-login-page.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/06/19/bootstrapping-a-self-service-ai-platform-with-gitops/</loc>
  <lastmod>2026-07-24T16:42:24Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/00-kubeflow-gitops-landing-page.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/06/19/bootstrapping-a-self-service-ai-platform-with-gitops/</loc>
  <lastmod>2026-07-24T16:42:24Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/05-kubeflow-gitops-notebook-pytorch-cuda.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/06/19/bootstrapping-a-self-service-ai-platform-with-gitops/</loc>
  <lastmod>2026-07-24T16:42:31Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/04-kubeflow-gitops-dashboard-fixed.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/06/19/bootstrapping-a-self-service-ai-platform-with-gitops/</loc>
  <lastmod>2026-07-24T16:43:09Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/06-kubeflow-gitops-demo-fixed.gif</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/06/28/building-my-ai-homelab-part-1/</loc>
  <lastmod>2026-07-24T16:45:34Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/02-ai-homelab-pt1-jupyterhub-login-page.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/06/28/building-my-ai-homelab-part-1/</loc>
  <lastmod>2026-07-24T16:45:35Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/03-ai-homelab-pt1-jupyterhub-notebook-torch-cpu.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/06/28/building-my-ai-homelab-part-1/</loc>
  <lastmod>2026-07-24T16:45:36Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/00-ai-homelab-pt1-argocd-login-page.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/06/28/building-my-ai-homelab-part-1/</loc>
  <lastmod>2026-07-24T16:45:36Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/04-ai-homelab-pt1-nucbox-k11.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/06/28/building-my-ai-homelab-part-1/</loc>
  <lastmod>2026-07-24T16:45:36Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/01-ai-homelab-pt1-argocd-dashboard.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/07/18/uncovering-a-curious-case-of-distribution-shift/</loc>
  <lastmod>2026-07-24T16:47:39Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/03-distribution-shift-kjv-full-validation-loss.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/07/18/uncovering-a-curious-case-of-distribution-shift/</loc>
  <lastmod>2026-07-24T16:47:39Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/00-distribution-shift-kjv-ot-training-loss.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/07/18/uncovering-a-curious-case-of-distribution-shift/</loc>
  <lastmod>2026-07-24T16:47:39Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/01-distribution-shift-kjv-nt-validation-loss.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/07/18/uncovering-a-curious-case-of-distribution-shift/</loc>
  <lastmod>2026-07-24T16:47:39Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/02-distribution-shift-kjv-full-training-loss.png</image:loc>
  </image:image>
 </url>
 <url>
  <loc>https://donaldsebleung.com/2026/07/25/migrating-to-wordpress-com-from-alibaba-cloud/</loc>
  <lastmod>2026-07-25T04:43:05Z</lastmod>
  <image:image>
   <image:loc>https://donaldsebleung.com/wp-content/uploads/2026/07/Screenshot-From-2026-07-25-12-03-45.png</image:loc>
  </image:image>
 </url>
</urlset>
