cloudflare
tcp/443 tcp/80 tcp/8443
Open service 2606:4700:20::681a:146:443 · es.plutuspbl.io
2026-01-25 14:23
HTTP/1.1 404 Not Found
Date: Sun, 25 Jan 2026 14:23:17 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 107
Connection: close
Cache-Control: public, max-age=0, must-revalidate
Server: cloudflare
strict-transport-security: max-age=63072000
x-vercel-error: DEPLOYMENT_NOT_FOUND
x-vercel-id: fra1::bv4fq-1769350997742-d27afea4463e
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=KsGxhrLhccV49LOt9lFBaDvpzD2AoAd%2FGG%2BvstofcC%2Fsz%2Bd3RRtEBQVwAcPikRFykcPDp9rOQsMJCEJEPzgeh2%2FyLe9XzBPQprOZQWXy9YPa3S1DnWTRiIv3"}]}
CF-RAY: 9c386d776f66d21b-FRA
The deployment could not be found on Vercel.
DEPLOYMENT_NOT_FOUND
fra1::bv4fq-1769350997742-d27afea4463e
Open service 2606:4700:20::681a:146:8443 · es.plutuspbl.io
2026-01-25 14:23
Open service 2606:4700:20::681a:146:80 · es.plutuspbl.io
2026-01-25 14:23
HTTP/1.1 308 Permanent Redirect
Date: Sun, 25 Jan 2026 14:23:17 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://es.plutuspbl.io/
Refresh: 0;url=https://es.plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=xvyQ0BppjQHQNN85clhpcJbeAiHXPoXFJFWSVCdbL0CYXBvB%2Bkpiwle9RIvwKpHhJFqtJleI1B7rsj11fFnVvxhYBo8u5zML8ArbCanx6CnFpjQjqFtwQKGP"}]}
CF-RAY: 9c386d770e809755-FRA
Redirecting...
Open service 104.26.0.70:443 · es.plutuspbl.io
2026-01-25 14:23
HTTP/1.1 404 Not Found
Date: Sun, 25 Jan 2026 14:23:17 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 107
Connection: close
Cache-Control: public, max-age=0, must-revalidate
Server: cloudflare
strict-transport-security: max-age=63072000
x-vercel-error: DEPLOYMENT_NOT_FOUND
x-vercel-id: lhr1::rmsqk-1769350997581-23a508a946fe
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Sk84eVJnaLOAa0beEwu5Vg2fl1R6Vsna8TblpbArjgjiuOSaprIKifVqviVKhnSiAZNP8ILXtZssn52sm%2FB9liGy2QqXNxkShLjOoRu5"}]}
CF-RAY: 9c386d76caa9776d-LHR
The deployment could not be found on Vercel.
DEPLOYMENT_NOT_FOUND
lhr1::rmsqk-1769350997581-23a508a946fe
Open service 104.26.1.70:80 · es.plutuspbl.io
2026-01-25 14:23
HTTP/1.1 308 Permanent Redirect
Date: Sun, 25 Jan 2026 14:23:17 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://es.plutuspbl.io/
Refresh: 0;url=https://es.plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=ja7U5y%2BH%2BIMcLpr506EP3SjsGxo%2B5sc6c0dbYxP9wcztZGy%2FroQd3BqIyySwdbUNpTgn5e5GbxuWBwHfQE2eYX9p4yzEp3%2Faq%2FihOL3n"}]}
CF-RAY: 9c386d773eaeb8be-AMS
Redirecting...
Open service 104.26.1.70:8443 · es.plutuspbl.io
2026-01-25 14:23
Open service 2606:4700:20::ac43:44d6:8443 · es.plutuspbl.io
2026-01-25 14:23
Open service 172.67.68.214:8443 · es.plutuspbl.io
2026-01-25 14:23
Open service 104.26.1.70:443 · es.plutuspbl.io
2026-01-25 14:23
HTTP/1.1 404 Not Found
Date: Sun, 25 Jan 2026 14:23:17 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 107
Connection: close
Cache-Control: public, max-age=0, must-revalidate
Server: cloudflare
strict-transport-security: max-age=63072000
x-vercel-error: DEPLOYMENT_NOT_FOUND
x-vercel-id: fra1::rcsjh-1769350997512-ec09adc31ee8
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=AqvTllRyCLK9YIlvNdoFKndz4DG2pYUfIP5lc37%2FUSdH8ZqHHi8gNBQiQkzQ5BoVOO7B%2BRM4MU4PGoc8Thw5Ieo6FNb%2BCx%2BrVAFpvo1D"}]}
CF-RAY: 9c386d763b1bb8ed-AMS
The deployment could not be found on Vercel.
DEPLOYMENT_NOT_FOUND
fra1::rcsjh-1769350997512-ec09adc31ee8
Open service 172.67.68.214:443 · es.plutuspbl.io
2026-01-25 14:23
HTTP/1.1 404 Not Found
Date: Sun, 25 Jan 2026 14:23:17 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 107
Connection: close
Cache-Control: public, max-age=0, must-revalidate
Server: cloudflare
strict-transport-security: max-age=63072000
x-vercel-error: DEPLOYMENT_NOT_FOUND
x-vercel-id: fra1::mg489-1769350997515-b747fcb15292
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=tkTptci%2B%2FfVt7FulyfRFrCruPtX3LsAbOdRsWzVOSPg6RjPw0jiDxq38%2FrYXpzl9BuQYwyPQdgDVFcNSDt4JKuIDuEZeWtXKw%2BIzaTaG"}]}
CF-RAY: 9c386d763a590b75-AMS
The deployment could not be found on Vercel.
DEPLOYMENT_NOT_FOUND
fra1::mg489-1769350997515-b747fcb15292
Open service 2606:4700:20::681a:46:80 · es.plutuspbl.io
2026-01-25 14:23
HTTP/1.1 308 Permanent Redirect
Date: Sun, 25 Jan 2026 14:23:17 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://es.plutuspbl.io/
Refresh: 0;url=https://es.plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=s58Dlyf58t4cekVbSJeyYI0IXapsrEgkdRyA%2F2wvxSU0k5wuEENc6gSoLRTqVE3q64yUB34Qrs4TM28X%2BZ9TRKMaCUkpdL8KtP7Z78yWFNHRnT2X%2FQMbT9DF"}]}
CF-RAY: 9c386d760fe6b8f6-AMS
Redirecting...
Open service 2606:4700:20::ac43:44d6:80 · es.plutuspbl.io
2026-01-25 14:23
HTTP/1.1 308 Permanent Redirect
Date: Sun, 25 Jan 2026 14:23:17 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://es.plutuspbl.io/
Refresh: 0;url=https://es.plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=W7SjIrTg1y9cc1W7pNiqpRQyxKoGxwSxb3nyqP8O%2BqZfkFNTK%2Bxx8q2e3t%2Bia%2BKck6zHvNFAfdYBGPHkTSKx3o%2FjCWqLMpluyC62NfNHqGGUWbojUZhRPU8j"}]}
CF-RAY: 9c386d7609e815c9-LHR
Redirecting...
Open service 104.26.0.70:8443 · es.plutuspbl.io
2026-01-25 14:23
Open service 2606:4700:20::ac43:44d6:443 · es.plutuspbl.io
2026-01-25 14:23
HTTP/1.1 404 Not Found
Date: Sun, 25 Jan 2026 14:23:17 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 107
Connection: close
Cache-Control: public, max-age=0, must-revalidate
Server: cloudflare
strict-transport-security: max-age=63072000
x-vercel-error: DEPLOYMENT_NOT_FOUND
x-vercel-id: lhr1::p4j47-1769350997519-76d27a498e18
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=h%2B3koARj9AGhAzy6Mg%2BDvh8O5aeypr6g%2BItLzNoWnIqUN1OHCu%2BOxTyXztePounUgbBR3CaSRWIczWswcYazATgSpiT2q16jBc%2BHtmmI5qgQl1mJ%2BUSZNM7t"}]}
CF-RAY: 9c386d7658eb1239-LHR
The deployment could not be found on Vercel.
DEPLOYMENT_NOT_FOUND
lhr1::p4j47-1769350997519-76d27a498e18
Open service 2606:4700:20::681a:46:443 · es.plutuspbl.io
2026-01-25 14:23
HTTP/1.1 404 Not Found
Date: Sun, 25 Jan 2026 14:23:17 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 107
Connection: close
Cache-Control: public, max-age=0, must-revalidate
Server: cloudflare
strict-transport-security: max-age=63072000
x-vercel-error: DEPLOYMENT_NOT_FOUND
x-vercel-id: lhr1::448lf-1769350997519-cebb0ebf76fa
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Wei%2Fr2W6IYulzr4X1xnI9PvufNh9nNEC8lWIGufSGyC0eUt6e88HW7jNzHzYH4lQ%2BJ2SIlFZXncVcHbETrgt6VZ3Az1FytxqGWeS29MlHplIRZRxkKoecehN"}]}
CF-RAY: 9c386d765e33438f-LHR
The deployment could not be found on Vercel.
DEPLOYMENT_NOT_FOUND
lhr1::448lf-1769350997519-cebb0ebf76fa
Open service 2606:4700:20::681a:46:8443 · es.plutuspbl.io
2026-01-25 14:23
Open service 104.26.0.70:80 · es.plutuspbl.io
2026-01-25 14:23
HTTP/1.1 308 Permanent Redirect
Date: Sun, 25 Jan 2026 14:23:17 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://es.plutuspbl.io/
Refresh: 0;url=https://es.plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=owRRNJOoiyYlcsRsDMiYOj7L2rKg3ctLgC7uu7mlRNqnCQULhyxgfx5f1q9emtP2rL3Nm6ulkPgnr9YGuMjKDrRtoyOsAiDWeooz9XGp"}]}
CF-RAY: 9c386d760dd3bee2-LHR
Redirecting...
Open service 172.67.68.214:80 · es.plutuspbl.io
2026-01-25 14:23
HTTP/1.1 308 Permanent Redirect
Date: Sun, 25 Jan 2026 14:23:17 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://es.plutuspbl.io/
Refresh: 0;url=https://es.plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=aNcOYPiZMOMcjw75P5KnrZLqJQsQwH94QFN%2F0FwWnP43wBGDGLMsZETcxzbpRe2aDJgtm2oURar%2Faa4Z3fY4bE4yfQN4qT8oOpQjo%2Fa0"}]}
CF-RAY: 9c386d75ecc9e85e-FRA
Redirecting...
Open service 2606:4700:20::681a:146:8443 · fr.plutuspbl.io
2026-01-23 02:16
Open service 2606:4700:20::ac43:44d6:8443 · fr.plutuspbl.io
2026-01-23 02:16
Open service 104.26.1.70:443 · fr.plutuspbl.io
2026-01-23 02:16
HTTP/1.1 200 OK
Date: Fri, 23 Jan 2026 02:16:40 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 1
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=sz0GYs5a7aKmqsAA7HV2XuzF4SJbIfBxVUubrpK0D54YpSsb9dkCSSzUqfTQdt09ZE4nNEjSN%2B4EO1W9giMtIlhvwxFv%2BrYxvB8VULQf"}]}
vary: accept-encoding
last-modified: Fri, 23 Jan 2026 02:16:38 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-matched-path: /
x-vercel-cache: HIT
x-vercel-id: yul1::g6mkj-1769134599997-571f3e033143
cf-cache-status: DYNAMIC
CF-RAY: 9c23ca51bee497b9-YYZ
Open service 2606:4700:20::681a:46:443 · fr.plutuspbl.io
2026-01-23 02:16
HTTP/1.1 200 OK
Date: Fri, 23 Jan 2026 02:16:39 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 4856626
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=n%2BIbF1WndlSw9uyQntxcbSYvc4NLBI3zAe5i3uVG9494fwbWCm7vrYUR3Fw5Xlf96%2F1pihz81Jlo%2BN9gO3%2BdIdzkAAFCGE8a3MWWG6txPgGP3JBYukWpNIIR"}]}
vary: accept-encoding
last-modified: Thu, 27 Nov 2025 21:12:53 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-matched-path: /
x-vercel-cache: HIT
x-vercel-id: fra1::28cgw-1769134599849-d67d4e6040d2
cf-cache-status: DYNAMIC
CF-RAY: 9c23ca50ef30d25a-FRA
Open service 2606:4700:20::681a:46:8443 · fr.plutuspbl.io
2026-01-23 02:16
Open service 2606:4700:20::681a:146:443 · fr.plutuspbl.io
2026-01-23 02:16
HTTP/1.1 200 OK
Date: Fri, 23 Jan 2026 02:16:39 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 4856626
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=ENXCw2THpEvvzWct%2F4sw5DZww%2F3l%2FcPCuzORi0Qo9SJaNAY6v7%2BpmdGU8F%2B9X25gTpJK7oGnxN4ytCJsDrvY2AC0UePiODb%2FokezzL38OvmG%2FACXypGun31V"}]}
vary: accept-encoding
last-modified: Thu, 27 Nov 2025 21:12:53 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-matched-path: /
x-vercel-cache: HIT
x-vercel-id: fra1::vph5l-1769134599796-94b11e7fb439
cf-cache-status: DYNAMIC
CF-RAY: 9c23ca50abc6d390-FRA
Open service 2606:4700:20::681a:46:80 · fr.plutuspbl.io
2026-01-23 02:16
HTTP/1.1 308 Permanent Redirect
Date: Fri, 23 Jan 2026 02:16:39 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://fr.plutuspbl.io/
Refresh: 0;url=https://fr.plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=d5U3FkM4Isv9s32zJLxC3xsVTBVYz6YbV82HqM6xrmDkj81MTrfjPkh4thUZCgOrC1ZGejVZiWjaf6Ylzc7zSfQLCcYqRIxT5zD3fuCoP02hUb7CQZlPEtBP"}]}
CF-RAY: 9c23ca50addb39c5-YYZ
Redirecting...
Open service 104.26.0.70:8443 · fr.plutuspbl.io
2026-01-23 02:16
Open service 2606:4700:20::ac43:44d6:80 · fr.plutuspbl.io
2026-01-23 02:16
HTTP/1.1 308 Permanent Redirect
Date: Fri, 23 Jan 2026 02:16:39 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://fr.plutuspbl.io/
Refresh: 0;url=https://fr.plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=2E3js3d8r15x657lFESn0fTS%2BWO4RDjQDE1czWpCJdH5XuB1A8iV3OGPORPPLzKOJ12SsTxvTPHIO8cF7cO3ruQeOhj3OZoslWghWu4iWgLurS%2BHuV60MPtx"}]}
CF-RAY: 9c23ca504c062608-FRA
Redirecting...
Open service 104.26.0.70:80 · fr.plutuspbl.io
2026-01-23 02:16
HTTP/1.1 308 Permanent Redirect
Date: Fri, 23 Jan 2026 02:16:39 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://fr.plutuspbl.io/
Refresh: 0;url=https://fr.plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=3KlnzUQtNTcnDwgJMa8jivFFycEsv06acNshuI1lGfzQRrZTqU1xyPBdN73xlOwSXYE26azQIjGCci8nrwyM4mQeEb48U8qpxpaoyQDs"}]}
CF-RAY: 9c23ca503d701717-AMS
Redirecting...
Open service 104.26.1.70:80 · fr.plutuspbl.io
2026-01-23 02:16
HTTP/1.1 308 Permanent Redirect
Date: Fri, 23 Jan 2026 02:16:39 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://fr.plutuspbl.io/
Refresh: 0;url=https://fr.plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=fZfHteNActTcNWIfGvb8F42n9KpMFx3JQTz2vkYhosI1yIuFw%2FGrefQ4vWn2QWKL%2Byi8HgfAXTX9%2FDskPtafOivdfa6irMpDBAhuHA%3D%3D"}]}
CF-RAY: 9c23ca502af5fb8f-AMS
Redirecting...
Open service 104.26.1.70:8443 · fr.plutuspbl.io
2026-01-23 02:16
Open service 104.26.0.70:443 · fr.plutuspbl.io
2026-01-23 02:16
HTTP/1.1 200 OK
Date: Fri, 23 Jan 2026 02:16:39 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 4856626
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=0V2GazOtjJErXZMGAJK9%2FgSGLBueNe4Qad6E3TtllUTIpeSxZCX1S1nThkUqoltrp1hOV9bRu1DPMUXbUdB52SlsuiRTDfC81mB14kp9"}]}
vary: accept-encoding
last-modified: Thu, 27 Nov 2025 21:12:53 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-matched-path: /
x-vercel-cache: HIT
x-vercel-id: fra1::5fmds-1769134599700-b9d7792e5481
cf-cache-status: DYNAMIC
CF-RAY: 9c23ca500b170ad6-FRA
Open service 172.67.68.214:80 · fr.plutuspbl.io
2026-01-23 02:16
HTTP/1.1 308 Permanent Redirect
Date: Fri, 23 Jan 2026 02:16:39 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://fr.plutuspbl.io/
Refresh: 0;url=https://fr.plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=f1s73a2uma%2BDMfoi157u9Fkk2bgrFT5SnGnAg0bpDxtkfK8A287m8yRB12JpqUp6jkF6hkLKigdk4Hj4P6HXmyN%2FUwSOxLHeMkZDow2X"}]}
CF-RAY: 9c23ca4fefff8dee-FRA
Redirecting...
Open service 2606:4700:20::ac43:44d6:443 · fr.plutuspbl.io
2026-01-23 02:16
HTTP/1.1 200 OK
Date: Fri, 23 Jan 2026 02:16:39 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 1
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=jAUV8r5Mp%2FSfjmcGlUqL4cpmSB2j5EBoHcm7px3zcYcNn0KXEJGopyS6vq4CYhh%2B1m0Uk7Scw2okWqBvG%2FG5uHxXZiwuXnwuFg0Cu%2BiJWG0G4lDYHBf3WFDy"}]}
vary: accept-encoding
last-modified: Fri, 23 Jan 2026 02:16:38 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-matched-path: /
x-vercel-cache: HIT
x-vercel-id: lhr1::hcchg-1769134599891-f5538dcf9330
cf-cache-status: DYNAMIC
CF-RAY: 9c23ca514adccc14-LHR
Open service 172.67.68.214:8443 · fr.plutuspbl.io
2026-01-23 02:16
Open service 172.67.68.214:443 · fr.plutuspbl.io
2026-01-23 02:16
HTTP/1.1 200 OK
Date: Fri, 23 Jan 2026 02:16:39 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 4856626
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=tKwGM1C%2BaAOBLADjEoymq2zxJwPE3wsVGy76SzhzlK7JtEt%2FhpkyH%2B3R4Q2QNC9XglkPQ9u%2FCDnRxqx2DagAVnZjrlj4jCVSvSvfM4%2FB"}]}
vary: accept-encoding
last-modified: Thu, 27 Nov 2025 21:12:53 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-matched-path: /
x-vercel-cache: HIT
x-vercel-id: fra1::c7sgb-1769134599666-54e72f8dcd4c
cf-cache-status: DYNAMIC
CF-RAY: 9c23ca4fc832db0a-FRA
Open service 2606:4700:20::681a:146:80 · fr.plutuspbl.io
2026-01-23 02:16
HTTP/1.1 308 Permanent Redirect
Date: Fri, 23 Jan 2026 02:16:39 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://fr.plutuspbl.io/
Refresh: 0;url=https://fr.plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=EgKx55PB3gRs4i0aEE8WqsPH48wx%2BUIzw1SNDd%2FjaeJ5p3Ei1IKtnh6GfMIBDVz0kxsF9KIjO2nMwWK4Y1q%2FJCM2XJV%2BBuoIDEXXKcIr%2B8JiGDMk4vou08uk"}]}
CF-RAY: 9c23ca4f98da71c7-FRA
Redirecting...
Open service 104.26.1.70:80 · id.plutuspbl.io
2026-01-22 09:18
HTTP/1.1 308 Permanent Redirect
Date: Thu, 22 Jan 2026 09:18:14 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://id.plutuspbl.io/
Refresh: 0;url=https://id.plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=2z%2Fi%2FZWNFT0CH1Lqk3zoxlyjW1DULqmzXGcU43fT2u9urPl7Li%2FjnQvWiq5luiAU5vgZsIq4smDPxkylsAoS4OhrFZf1GZINHvLJaZCD"}]}
CF-RAY: 9c1df6799b857c8d-EWR
Redirecting...
Open service 2606:4700:20::681a:146:80 · id.plutuspbl.io
2026-01-22 09:18
HTTP/1.1 308 Permanent Redirect
Date: Thu, 22 Jan 2026 09:18:13 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://id.plutuspbl.io/
Refresh: 0;url=https://id.plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=03ZyRbgiLKMKbDxwqEecfzzu%2Fa4YBwnPfpWGoKIHT5xJ4Gh4cUaPjzlXUV0hpimaUzPHQummPMGzzvYHCGPc%2FtptYVixUNmPrAhIMe711f5ry3V5wVFb5hBA"}]}
CF-RAY: 9c1df6794a1ccdfd-SIN
Redirecting...
Open service 2606:4700:20::681a:46:443 · id.plutuspbl.io
2026-01-22 09:18
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 09:18:13 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 4905104
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=dyw7jJjppNvwPTcvUhhJyGhK0eVbKDiLeG%2BAoVe2TUJ1%2Fl0uky0blupoqErslfa1lLTsuO9RvwTSr8Uy91xqJVyZHrqN2b45EPC9qNkHobQa93K%2FDmefk01t"}]}
vary: accept-encoding
last-modified: Wed, 26 Nov 2025 14:46:29 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-matched-path: /
x-vercel-cache: HIT
x-vercel-id: iad1::5zgtm-1769073493961-dc68bff82348
cf-cache-status: DYNAMIC
CF-RAY: 9c1df6790ee01b58-EWR
Open service 2606:4700:20::ac43:44d6:443 · id.plutuspbl.io
2026-01-22 09:18
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 09:18:13 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 4467127
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=QD%2BKYAV7jQk3DedvMDYPr5LHFKjKz527L8ibnNvlWWe50m3m38LpANL%2F1RXsSlHFxVPlv1id0yg8zoco0CPcvUa6PEDZ2CikASCqZz94y5x6Pvir%2BC%2Bz9swI"}]}
vary: accept-encoding
last-modified: Mon, 01 Dec 2025 16:26:05 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-matched-path: /
x-vercel-cache: HIT
x-vercel-id: fra1::s74bj-1769073493892-606b566519ef
cf-cache-status: DYNAMIC
CF-RAY: 9c1df6789cea2608-FRA
Open service 104.26.0.70:8443 · id.plutuspbl.io
2026-01-22 09:18
Open service 104.26.0.70:443 · id.plutuspbl.io
2026-01-22 09:18
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 09:18:14 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 1
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=vVsdW7T25D6xeZR0VoI5m044jQuPwckmTRSWpUzGYic3qc9pr8MUvjPlgiy3tFKGYanEZrgxapN9euhlsQ0zt7pjIXitPSvEicTnkg%3D%3D"}]}
vary: accept-encoding
last-modified: Thu, 22 Jan 2026 09:18:13 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-matched-path: /
x-vercel-cache: HIT
x-vercel-id: sfo1::mrmnx-1769073494174-ac7080837b7c
cf-cache-status: DYNAMIC
CF-RAY: 9c1df67a7fd667c1-SJC
Open service 172.67.68.214:8443 · id.plutuspbl.io
2026-01-22 09:18
Open service 104.26.1.70:443 · id.plutuspbl.io
2026-01-22 09:18
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 09:18:13 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 20428
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=K8w8IRSH9QvvU01eUO2uWILjiwNFnYGolCERZECQEivk%2FafTBqTq3jsetU517mkiupdAD%2BdkYsCtCM5koxTr0qE5jj9xTyVkdMUzsriG"}]}
vary: accept-encoding
last-modified: Thu, 22 Jan 2026 03:37:45 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-matched-path: /
x-vercel-cache: HIT
x-vercel-id: sin1::hb6lj-1769073493880-f91bdcf76318
cf-cache-status: DYNAMIC
CF-RAY: 9c1df6789bbb35b2-SIN
Open service 172.67.68.214:80 · id.plutuspbl.io
2026-01-22 09:18
HTTP/1.1 308 Permanent Redirect
Date: Thu, 22 Jan 2026 09:18:13 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://id.plutuspbl.io/
Refresh: 0;url=https://id.plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=v3qmKP7ohZmHL3RtHSSfqe5HIFyiwY8I0DWpU37imHZBCXCXqISHGI%2F3JhAJpCd0thEpb6cbQBiS5hCi0OoPOlJ8la%2BC9ss2P8mupoYl"}]}
CF-RAY: 9c1df6781d70c402-EWR
Redirecting...
Open service 2606:4700:20::ac43:44d6:8443 · id.plutuspbl.io
2026-01-22 09:18
Open service 2606:4700:20::ac43:44d6:80 · id.plutuspbl.io
2026-01-22 09:18
HTTP/1.1 308 Permanent Redirect
Date: Thu, 22 Jan 2026 09:18:13 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://id.plutuspbl.io/
Refresh: 0;url=https://id.plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=WMznPlBTUJLwEoznuzGPLTL6gRfkJWauq36zrpMR1BsRiL7gqvzNjiEL02ybCtqAjcYLAUgS39SWTi0pMdrOGkM39axL%2FgshNiR9%2FSONJp4ruaNawuTGpAW5"}]}
CF-RAY: 9c1df677ecba87b3-SIN
Redirecting...
Open service 104.26.1.70:8443 · id.plutuspbl.io
2026-01-22 09:18
Open service 2606:4700:20::681a:146:443 · id.plutuspbl.io
2026-01-22 09:18
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 09:18:14 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 1
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=xcwTaH23sipCghs3pnQFhIsu8sVy3SY47uMOByuQVqupz%2Fx8jkLNf8WeiGIibmyZjf5ym7BDwemEpi2EkXpbDBOgyEw7cK23hB4ofUmpbqCpnlSxv7HgccRZ"}]}
vary: accept-encoding
last-modified: Thu, 22 Jan 2026 09:18:13 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-matched-path: /
x-vercel-cache: HIT
x-vercel-id: sfo1::79mgl-1769073494176-e5cec093d30d
cf-cache-status: DYNAMIC
CF-RAY: 9c1df67a7db8eb22-SJC
Open service 2606:4700:20::681a:46:8443 · id.plutuspbl.io
2026-01-22 09:18
Open service 104.26.0.70:80 · id.plutuspbl.io
2026-01-22 09:18
HTTP/1.1 308 Permanent Redirect
Date: Thu, 22 Jan 2026 09:18:13 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://id.plutuspbl.io/
Refresh: 0;url=https://id.plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=wNMnXB%2FuqdM%2Bb%2BWWYoEmQbkXQHNfhzwTLUi91ldvugohTH8UN3dDXu7ISq027zZkCvk4eOK8R36%2B3d3uSGB5C74%2FoJgmWR9a%2F18XSlM2"}]}
CF-RAY: 9c1df677ba056d99-AMS
Redirecting...
Open service 2606:4700:20::681a:46:80 · id.plutuspbl.io
2026-01-22 09:18
HTTP/1.1 308 Permanent Redirect
Date: Thu, 22 Jan 2026 09:18:13 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://id.plutuspbl.io/
Refresh: 0;url=https://id.plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=uw5UGv35fBlpIcXsIaZELYXhEihYPGptEmbARCfQToeypJjV2lJoA21oRUetseYfKM%2F5%2BwaOJ8vRLVNu4PqsIHqnkp60HDixqTofqRqXT9ECT4MEKRszdCg2"}]}
CF-RAY: 9c1df6779d3bea2a-AMS
Redirecting...
Open service 2606:4700:20::681a:146:8443 · id.plutuspbl.io
2026-01-22 09:18
Open service 172.67.68.214:443 · id.plutuspbl.io
2026-01-22 09:18
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 09:18:13 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 4905103
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=5i%2FgPvjWaCVHyfeE%2F4m2qc3tq62pJc0bAvjn%2BKIM%2BV3gKAvaTUwGKf0WIykPcF4b4F5k%2B8vMm66o9Pikrq0nWevg6Av2uKaGoGNeXHqG"}]}
vary: accept-encoding
last-modified: Wed, 26 Nov 2025 14:46:29 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-matched-path: /
x-vercel-cache: HIT
x-vercel-id: iad1::g9c2m-1769073493846-0ad78b3ca344
cf-cache-status: DYNAMIC
CF-RAY: 9c1df6784a377c7e-EWR
Open service 104.26.1.70:8443 · plutuspbl.io
2026-01-11 14:47
HTTP/1.1 522 <none> Date: Sun, 11 Jan 2026 14:48:09 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9bc53624deabf8c6-SIN error code: 522
Open service 2606:4700:20::681a:146:8443 · plutuspbl.io
2026-01-11 14:47
HTTP/1.1 522 <none> Date: Sun, 11 Jan 2026 14:48:08 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9bc53624c8e643bb-EWR error code: 522
Open service 172.67.68.214:80 · plutuspbl.io
2026-01-11 14:47
HTTP/1.1 308 Permanent Redirect
Date: Sun, 11 Jan 2026 14:47:48 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://plutuspbl.io/
Refresh: 0;url=https://plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=5U1hBLKSuCJOLWIlJ9PwMMSxf15PjG0dX%2BlZPAuKCy%2FecXzY%2Btjx9HOs4D4D0R0EGP4JPJWdlxuGesDnKe%2BNXOmN7Y8BvYbjy8hb"}]}
CF-RAY: 9bc5361e9b05abca-YYZ
Redirecting...
Open service 2606:4700:20::681a:146:80 · plutuspbl.io
2026-01-11 14:47
HTTP/1.1 308 Permanent Redirect
Date: Sun, 11 Jan 2026 14:47:48 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://plutuspbl.io/
Refresh: 0;url=https://plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=RAOlMRncnaKAK6Ogby3vn3j9WzoML7O6ZvxF8lFF37fH0IHp9wsjarKhWXo3LxRMG5MMWQ9LVzRa1ptKLdM6m%2Fy2rFbN1T7fD1qI2fuOqnPWjSo8texF"}]}
CF-RAY: 9bc5361e793d9f15-FRA
Redirecting...
Open service 104.26.0.70:8443 · plutuspbl.io
2026-01-11 14:47
HTTP/1.1 522 <none> Date: Sun, 11 Jan 2026 14:48:08 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9bc536244a418087-BLR error code: 522
Open service 172.67.68.214:443 · plutuspbl.io
2026-01-11 14:47
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 14:47:48 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 494
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline; filename="en"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=8QGj5b7rvMbzPpRWIolymUVn%2BLlKmlcHA%2FdAUzrurIMD8ZsCSM0o1hzURNZPo5pnqrrFM25JXrDYKGrN0m3lZ01VFbj9aNgAzuuj"}]}
vary: accept-encoding
last-modified: Sun, 11 Jan 2026 14:39:33 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-matched-path: /en
x-vercel-cache: HIT
x-vercel-id: fra1::6mvl8-1768142868290-419c7ef3e40b
cf-cache-status: DYNAMIC
CF-RAY: 9bc5361e79fbd0c1-AMS
Page title: PPBL 2025
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>PPBL 2025</title><meta name="description" content="Plutus Project-Based Learning 2025, from Gimbalabs & Friends"/><link rel="icon" href="/favicon.ico"/><meta name="next-head-count" content="5"/><link rel="preload" href="/_next/static/media/3dfcee4f467ba725-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/css/d54d64c226562e1b.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d54d64c226562e1b.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-3861b9cc9186fa18.js" defer=""></script><script src="/_next/static/chunks/framework-63d16ff2f5e08230.js" defer=""></script><script src="/_next/static/chunks/main-0edbe83ed22158f9.js" defer=""></script><script src="/_next/static/chunks/pages/_app-4e5e61dffcdd7e12.js" defer=""></script><script src="/_next/static/chunks/pages/index-25d748cc1ee1d70e.js" defer=""></script><script src="/_next/static/IlVoipfrvTXRUnYaqALyv/_buildManifest.js" defer=""></script><script src="/_next/static/IlVoipfrvTXRUnYaqALyv/_ssgManifest.js" defer=""></script></head><body><div id="__next"><main class="flex w-full flex-col __className_62da2f"><div class="flex w-full justify-center py-3"><nav aria-label="Main" data-orientation="horizontal" dir="ltr" class="relative z-10 flex max-w-max flex-1 items-center justify-center"><div style="position:relative"><ul data-orientation="horizontal" class="group flex flex-1 list-none items-center justify-center space-x-1" dir="ltr"><li><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50" href="/" data-radix-collection-item="">Home</a></li><li><button id="radix-:Rm:-trigger-radix-:R16m:" data-state="closed" aria-expanded="false" aria-controls="radix-:Rm:-content-radix-:R16m:" class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50 group" data-radix-collection-item="">Get Started with Plutus PBL 2024<!-- --> <svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="relative top-[1px] ml-1 h-3 w-3 transition duration-300 group-data-[state=open]:rotate-180" aria-hidden="true"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button></li><li class="text-yellow-500"><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50" href="/live-examples" data-radix-collection-item="">Live Examples</a></li><li><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events
Open service 2606:4700:20::681a:146:443 · plutuspbl.io
2026-01-11 14:47
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 14:47:48 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 4929269
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline; filename="en"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Ie4tpmM2iCCgygh121RL80YEDOcwPaKHTjHqwdFwhqkIwusSLgPa6yc20DeYGB4d56UAnmQh%2B6D7jNTBCVH%2B5oN36CDeeYHUMP2yrBgbEHcaGo4HggDX"}]}
vary: accept-encoding
last-modified: Sat, 15 Nov 2025 13:33:18 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-matched-path: /en
x-vercel-cache: HIT
x-vercel-id: sfo1::wltqt-1768142868245-87a5eb6edcbf
cf-cache-status: DYNAMIC
CF-RAY: 9bc5361e6b68ccf8-SJC
Page title: PPBL 2025
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>PPBL 2025</title><meta name="description" content="Plutus Project-Based Learning 2025, from Gimbalabs & Friends"/><link rel="icon" href="/favicon.ico"/><meta name="next-head-count" content="5"/><link rel="preload" href="/_next/static/media/3dfcee4f467ba725-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/css/d54d64c226562e1b.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d54d64c226562e1b.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-3861b9cc9186fa18.js" defer=""></script><script src="/_next/static/chunks/framework-63d16ff2f5e08230.js" defer=""></script><script src="/_next/static/chunks/main-0edbe83ed22158f9.js" defer=""></script><script src="/_next/static/chunks/pages/_app-4e5e61dffcdd7e12.js" defer=""></script><script src="/_next/static/chunks/pages/index-25d748cc1ee1d70e.js" defer=""></script><script src="/_next/static/IlVoipfrvTXRUnYaqALyv/_buildManifest.js" defer=""></script><script src="/_next/static/IlVoipfrvTXRUnYaqALyv/_ssgManifest.js" defer=""></script></head><body><div id="__next"><main class="flex w-full flex-col __className_62da2f"><div class="flex w-full justify-center py-3"><nav aria-label="Main" data-orientation="horizontal" dir="ltr" class="relative z-10 flex max-w-max flex-1 items-center justify-center"><div style="position:relative"><ul data-orientation="horizontal" class="group flex flex-1 list-none items-center justify-center space-x-1" dir="ltr"><li><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50" href="/" data-radix-collection-item="">Home</a></li><li><button id="radix-:Rm:-trigger-radix-:R16m:" data-state="closed" aria-expanded="false" aria-controls="radix-:Rm:-content-radix-:R16m:" class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50 group" data-radix-collection-item="">Get Started with Plutus PBL 2024<!-- --> <svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="relative top-[1px] ml-1 h-3 w-3 transition duration-300 group-data-[state=open]:rotate-180" aria-hidden="true"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button></li><li class="text-yellow-500"><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50" href="/live-examples" data-radix-collection-item="">Live Examples</a></li><li><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events
Open service 104.26.1.70:80 · plutuspbl.io
2026-01-11 14:47
HTTP/1.1 308 Permanent Redirect
Date: Sun, 11 Jan 2026 14:47:48 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://plutuspbl.io/
Refresh: 0;url=https://plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=1PNr8O1oVl0C6anAimC8Du9E4Z4%2BHsgFCdioT7%2FIMIbmWAYz6nZ0r%2FP%2BEYUd68dDD1zH%2BLDwwTSuQeHNE7Yff9k6Brcj6FA%2BQDK5"}]}
CF-RAY: 9bc5361e4c0b3d71-EWR
Redirecting...
Open service 104.26.0.70:443 · plutuspbl.io
2026-01-11 14:47
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 14:47:48 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 4032988
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline; filename="en"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=H9Tfnk3cNTv4VRGZ9P%2BhcSk%2FNAQeYlV0PyB0LBcbfZN46FVrHlq1b%2BeWROkrbPgWX16x%2FyyrLiZ6LnGtJF7kc5scLaPB3JvbmBkr"}]}
vary: accept-encoding
last-modified: Tue, 25 Nov 2025 22:31:19 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-matched-path: /en
x-vercel-cache: HIT
x-vercel-id: lhr1::mfq2n-1768142868435-6ca354317e25
cf-cache-status: DYNAMIC
CF-RAY: 9bc5361f897c7741-LHR
Page title: PPBL 2025
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>PPBL 2025</title><meta name="description" content="Plutus Project-Based Learning 2025, from Gimbalabs & Friends"/><link rel="icon" href="/favicon.ico"/><meta name="next-head-count" content="5"/><link rel="preload" href="/_next/static/media/3dfcee4f467ba725-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/css/d54d64c226562e1b.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d54d64c226562e1b.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-3861b9cc9186fa18.js" defer=""></script><script src="/_next/static/chunks/framework-63d16ff2f5e08230.js" defer=""></script><script src="/_next/static/chunks/main-0edbe83ed22158f9.js" defer=""></script><script src="/_next/static/chunks/pages/_app-4e5e61dffcdd7e12.js" defer=""></script><script src="/_next/static/chunks/pages/index-25d748cc1ee1d70e.js" defer=""></script><script src="/_next/static/IlVoipfrvTXRUnYaqALyv/_buildManifest.js" defer=""></script><script src="/_next/static/IlVoipfrvTXRUnYaqALyv/_ssgManifest.js" defer=""></script></head><body><div id="__next"><main class="flex w-full flex-col __className_62da2f"><div class="flex w-full justify-center py-3"><nav aria-label="Main" data-orientation="horizontal" dir="ltr" class="relative z-10 flex max-w-max flex-1 items-center justify-center"><div style="position:relative"><ul data-orientation="horizontal" class="group flex flex-1 list-none items-center justify-center space-x-1" dir="ltr"><li><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50" href="/" data-radix-collection-item="">Home</a></li><li><button id="radix-:Rm:-trigger-radix-:R16m:" data-state="closed" aria-expanded="false" aria-controls="radix-:Rm:-content-radix-:R16m:" class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50 group" data-radix-collection-item="">Get Started with Plutus PBL 2024<!-- --> <svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="relative top-[1px] ml-1 h-3 w-3 transition duration-300 group-data-[state=open]:rotate-180" aria-hidden="true"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button></li><li class="text-yellow-500"><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50" href="/live-examples" data-radix-collection-item="">Live Examples</a></li><li><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events
Open service 104.26.1.70:443 · plutuspbl.io
2026-01-11 14:47
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 14:47:48 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 4929269
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline; filename="en"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=hI7Sff7oeo%2Fq%2F%2FPTALM0Fm8D8E%2FMr6gEDGuJJgF8G%2BIh86uK%2FzMsXE1GSUXcxwie3n7Y7KSrrgt4FzdVY18vj0LovF6Rb0KD37pH"}]}
vary: accept-encoding
last-modified: Sat, 15 Nov 2025 13:33:18 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-matched-path: /en
x-vercel-cache: HIT
x-vercel-id: sfo1::kfg2g-1768142868363-5fdddd9a57e0
cf-cache-status: DYNAMIC
CF-RAY: 9bc5361ecb32df5d-SJC
Page title: PPBL 2025
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>PPBL 2025</title><meta name="description" content="Plutus Project-Based Learning 2025, from Gimbalabs & Friends"/><link rel="icon" href="/favicon.ico"/><meta name="next-head-count" content="5"/><link rel="preload" href="/_next/static/media/3dfcee4f467ba725-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/css/d54d64c226562e1b.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d54d64c226562e1b.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-3861b9cc9186fa18.js" defer=""></script><script src="/_next/static/chunks/framework-63d16ff2f5e08230.js" defer=""></script><script src="/_next/static/chunks/main-0edbe83ed22158f9.js" defer=""></script><script src="/_next/static/chunks/pages/_app-4e5e61dffcdd7e12.js" defer=""></script><script src="/_next/static/chunks/pages/index-25d748cc1ee1d70e.js" defer=""></script><script src="/_next/static/IlVoipfrvTXRUnYaqALyv/_buildManifest.js" defer=""></script><script src="/_next/static/IlVoipfrvTXRUnYaqALyv/_ssgManifest.js" defer=""></script></head><body><div id="__next"><main class="flex w-full flex-col __className_62da2f"><div class="flex w-full justify-center py-3"><nav aria-label="Main" data-orientation="horizontal" dir="ltr" class="relative z-10 flex max-w-max flex-1 items-center justify-center"><div style="position:relative"><ul data-orientation="horizontal" class="group flex flex-1 list-none items-center justify-center space-x-1" dir="ltr"><li><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50" href="/" data-radix-collection-item="">Home</a></li><li><button id="radix-:Rm:-trigger-radix-:R16m:" data-state="closed" aria-expanded="false" aria-controls="radix-:Rm:-content-radix-:R16m:" class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50 group" data-radix-collection-item="">Get Started with Plutus PBL 2024<!-- --> <svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="relative top-[1px] ml-1 h-3 w-3 transition duration-300 group-data-[state=open]:rotate-180" aria-hidden="true"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button></li><li class="text-yellow-500"><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50" href="/live-examples" data-radix-collection-item="">Live Examples</a></li><li><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events
Open service 104.26.0.70:80 · plutuspbl.io
2026-01-11 14:47
HTTP/1.1 308 Permanent Redirect
Date: Sun, 11 Jan 2026 14:47:48 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://plutuspbl.io/
Refresh: 0;url=https://plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=6uJobjkRa6mHqg7e16cIjBQ7NA3gNYXvFJkuyzMH7h9G7NSNN5nMBs8%2BCyH3P%2BXV6QLFxl1KchnCpXxpPF2j9bEYGuvGflnSAvot"}]}
CF-RAY: 9bc5361dffeb24ee-YYZ
Redirecting...
Open service 2606:4700:20::ac43:44d6:443 · plutuspbl.io
2026-01-11 14:47
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 14:47:48 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 494
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline; filename="en"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=EllPGZAmnhU62AAj7TdDhM%2F%2F5%2BVf%2F%2B81AJ%2Bvq3GIw1mJ2XTbzpD0czH5wwkmAXdveQIzGHPkjicya12egBAnS36sXGpA9DhGKoreyh99Y8v%2B1f5O5jtZ"}]}
vary: accept-encoding
last-modified: Sun, 11 Jan 2026 14:39:33 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-matched-path: /en
x-vercel-cache: HIT
x-vercel-id: fra1::mpxvd-1768142868153-188e51212e81
cf-cache-status: DYNAMIC
CF-RAY: 9bc5361dda42989c-FRA
Page title: PPBL 2025
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>PPBL 2025</title><meta name="description" content="Plutus Project-Based Learning 2025, from Gimbalabs & Friends"/><link rel="icon" href="/favicon.ico"/><meta name="next-head-count" content="5"/><link rel="preload" href="/_next/static/media/3dfcee4f467ba725-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/css/d54d64c226562e1b.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d54d64c226562e1b.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-3861b9cc9186fa18.js" defer=""></script><script src="/_next/static/chunks/framework-63d16ff2f5e08230.js" defer=""></script><script src="/_next/static/chunks/main-0edbe83ed22158f9.js" defer=""></script><script src="/_next/static/chunks/pages/_app-4e5e61dffcdd7e12.js" defer=""></script><script src="/_next/static/chunks/pages/index-25d748cc1ee1d70e.js" defer=""></script><script src="/_next/static/IlVoipfrvTXRUnYaqALyv/_buildManifest.js" defer=""></script><script src="/_next/static/IlVoipfrvTXRUnYaqALyv/_ssgManifest.js" defer=""></script></head><body><div id="__next"><main class="flex w-full flex-col __className_62da2f"><div class="flex w-full justify-center py-3"><nav aria-label="Main" data-orientation="horizontal" dir="ltr" class="relative z-10 flex max-w-max flex-1 items-center justify-center"><div style="position:relative"><ul data-orientation="horizontal" class="group flex flex-1 list-none items-center justify-center space-x-1" dir="ltr"><li><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50" href="/" data-radix-collection-item="">Home</a></li><li><button id="radix-:Rm:-trigger-radix-:R16m:" data-state="closed" aria-expanded="false" aria-controls="radix-:Rm:-content-radix-:R16m:" class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50 group" data-radix-collection-item="">Get Started with Plutus PBL 2024<!-- --> <svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="relative top-[1px] ml-1 h-3 w-3 transition duration-300 group-data-[state=open]:rotate-180" aria-hidden="true"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button></li><li class="text-yellow-500"><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50" href="/live-examples" data-radix-collection-item="">Live Examples</a></li><li><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events
Open service 2606:4700:20::681a:46:80 · plutuspbl.io
2026-01-11 14:47
HTTP/1.1 308 Permanent Redirect
Date: Sun, 11 Jan 2026 14:47:48 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://plutuspbl.io/
Refresh: 0;url=https://plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=%2FV521OzOr5YhcEw9hbUsJXzeuuqAVt4Zhxnls44YsdWDXydc6pK4nSnmDl609yHipmmbFkB%2BPyuVe4PQrSC1ns3L10hGDFP8h1L%2Bry20jmCWr7nT0NdO"}]}
CF-RAY: 9bc5361dbaa471bd-LHR
Redirecting...
Open service 2606:4700:20::681a:46:8443 · plutuspbl.io
2026-01-11 14:47
HTTP/1.1 522 <none> Date: Sun, 11 Jan 2026 14:48:08 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9bc53623e833a043-FRA error code: 522
Open service 2606:4700:20::ac43:44d6:8443 · plutuspbl.io
2026-01-11 14:47
HTTP/1.1 522 <none> Date: Sun, 11 Jan 2026 14:48:08 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9bc5362378bcdb07-FRA error code: 522
Open service 172.67.68.214:8443 · plutuspbl.io
2026-01-11 14:47
HTTP/1.1 522 <none> Date: Sun, 11 Jan 2026 14:48:08 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9bc53623692737d7-FRA error code: 522
Open service 2606:4700:20::681a:46:443 · plutuspbl.io
2026-01-11 14:47
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 14:47:48 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 494
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline; filename="en"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=a2usqfGBSf5QHtCTFoXYbfpyxFyARwNcVEFTsgndoBW6WVZVKLu9L9aByE88GOlbfEk%2BXyFVHYhW8twQnPYNKBY0Kn9LwSm0nRnPlUgIOUWn88B1Y276"}]}
vary: accept-encoding
last-modified: Sun, 11 Jan 2026 14:39:33 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-matched-path: /en
x-vercel-cache: HIT
x-vercel-id: fra1::vhnw2-1768142868074-b453a4f9c214
cf-cache-status: DYNAMIC
CF-RAY: 9bc5361d49f95d9c-FRA
Page title: PPBL 2025
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>PPBL 2025</title><meta name="description" content="Plutus Project-Based Learning 2025, from Gimbalabs & Friends"/><link rel="icon" href="/favicon.ico"/><meta name="next-head-count" content="5"/><link rel="preload" href="/_next/static/media/3dfcee4f467ba725-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/css/d54d64c226562e1b.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d54d64c226562e1b.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-3861b9cc9186fa18.js" defer=""></script><script src="/_next/static/chunks/framework-63d16ff2f5e08230.js" defer=""></script><script src="/_next/static/chunks/main-0edbe83ed22158f9.js" defer=""></script><script src="/_next/static/chunks/pages/_app-4e5e61dffcdd7e12.js" defer=""></script><script src="/_next/static/chunks/pages/index-25d748cc1ee1d70e.js" defer=""></script><script src="/_next/static/IlVoipfrvTXRUnYaqALyv/_buildManifest.js" defer=""></script><script src="/_next/static/IlVoipfrvTXRUnYaqALyv/_ssgManifest.js" defer=""></script></head><body><div id="__next"><main class="flex w-full flex-col __className_62da2f"><div class="flex w-full justify-center py-3"><nav aria-label="Main" data-orientation="horizontal" dir="ltr" class="relative z-10 flex max-w-max flex-1 items-center justify-center"><div style="position:relative"><ul data-orientation="horizontal" class="group flex flex-1 list-none items-center justify-center space-x-1" dir="ltr"><li><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50" href="/" data-radix-collection-item="">Home</a></li><li><button id="radix-:Rm:-trigger-radix-:R16m:" data-state="closed" aria-expanded="false" aria-controls="radix-:Rm:-content-radix-:R16m:" class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50 group" data-radix-collection-item="">Get Started with Plutus PBL 2024<!-- --> <svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="relative top-[1px] ml-1 h-3 w-3 transition duration-300 group-data-[state=open]:rotate-180" aria-hidden="true"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button></li><li class="text-yellow-500"><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50" href="/live-examples" data-radix-collection-item="">Live Examples</a></li><li><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events
Open service 2606:4700:20::ac43:44d6:80 · plutuspbl.io
2026-01-11 14:47
HTTP/1.1 308 Permanent Redirect
Date: Sun, 11 Jan 2026 14:47:48 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://plutuspbl.io/
Refresh: 0;url=https://plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=oCE8uYkQy43AP6hcPgbUhRii4bm7HBsS9VeDz%2BL3jt5O%2FWDOZqamd85030MtElhvMopaIfuFGxYLBV5nQk9cwi2j3OYuWOOJxEOGzeVkQUfp%2BbfqPQ%3D%3D"}]}
CF-RAY: 9bc5361d1f8e9b34-FRA
Redirecting...
Open service 172.67.68.214:443 · docs.plutuspbl.io
2026-01-09 01:10
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 01:10:59 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 2
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=RonifjVb3RyHCGHlnxoJDfdjWLXdoYzl9IRTsL1WuJr9GaPzHOxEvSuWPisvilQusn31iYKQNExCXOkPEGqB2%2BRVv3heYlANukvx4XtQvuk%3D"}]}
vary: accept-encoding
last-modified: Fri, 09 Jan 2026 01:10:57 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-vercel-cache: HIT
x-vercel-id: sfo1::wv5j2-1767921059237-dd9edf0a9244
cf-cache-status: DYNAMIC
CF-RAY: 9bb00edc1a322271-SJC
Open service 104.26.1.70:80 · docs.plutuspbl.io
2026-01-09 01:10
HTTP/1.1 308 Permanent Redirect
Date: Fri, 09 Jan 2026 01:10:58 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://docs.plutuspbl.io/
Refresh: 0;url=https://docs.plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=%2FNlEf4CxwjvqYF%2BBFD2oTHocyXrSdRMjopXaks0dwgV7GH9xKmVcLCyUzbcqiey39tgfJcvGIRoLofpF4DfVimPcfHRQwSL1R6yaUhzmTSw%3D"}]}
CF-RAY: 9bb00ed999f0db0f-FRA
Redirecting...
Open service 104.26.0.70:443 · docs.plutuspbl.io
2026-01-09 01:10
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 01:10:58 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 3749562
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=y50n7bfq2kgaDV6YRHT7wK4NIbr8K8BqB6AydJd%2BbUcijTG2mzs9UwgKRnrI3sL7aKUtK2HzD3Y9WQQ%2FypeTEKD0YNIgmDWgXW%2FAm1Cu"}]}
vary: accept-encoding
last-modified: Wed, 26 Nov 2025 15:38:16 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-vercel-cache: HIT
x-vercel-id: iad1::47xq8-1767921058958-59a291f93616
cf-cache-status: DYNAMIC
CF-RAY: 9bb00ed9edcf1d1a-EWR
Open service 2606:4700:20::681a:46:80 · docs.plutuspbl.io
2026-01-09 01:10
HTTP/1.1 308 Permanent Redirect
Date: Fri, 09 Jan 2026 01:10:58 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://docs.plutuspbl.io/
Refresh: 0;url=https://docs.plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=SEFFCSWSclpmnv8cMlCF2h7%2FgM6ano0NiTTMEWQB5cSRSoleEKbB0pvL%2Bscj4yOJrog%2FJ58GNqSRmO875YTUcBnJHdDzxtHgl9nQh0JAkAOR%2Bz1%2Fn1D45zEd6MM%3D"}]}
CF-RAY: 9bb00ed949331ce4-FRA
Redirecting...
Open service 2606:4700:20::681a:146:80 · docs.plutuspbl.io
2026-01-09 01:10
HTTP/1.1 308 Permanent Redirect
Date: Fri, 09 Jan 2026 01:10:58 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://docs.plutuspbl.io/
Refresh: 0;url=https://docs.plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Z5KOeym45MRSyQeCsmBnzBCo66MbWcbjzFKaLIO%2FKmZrfFVOoRaG7FMkVMnotkHgyyQIxFmNNQq2XD%2FeBlbXJW0WihxHbjT7dMi%2FQzRqIW9Ff9eE0CLX2ljKSyM%3D"}]}
CF-RAY: 9bb00ed94f67ce31-SIN
Redirecting...
Open service 2606:4700:20::681a:146:443 · docs.plutuspbl.io
2026-01-09 01:10
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 01:10:58 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 196408
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=1SFSCODuxUZP6TokYLCLq4tyLcgILesrOln8XAa08hroSWrUDcLDWFbRxqg4OvsPfqpN21Kx0gW%2FL0BIueDa0ZEbugRCljuLclKjP6St4ofAb3yswcHX4qvQnXY%3D"}]}
vary: accept-encoding
last-modified: Tue, 06 Jan 2026 18:37:30 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-vercel-cache: HIT
x-vercel-id: fra1::5zg6z-1767921058899-dd43e44fd663
cf-cache-status: DYNAMIC
CF-RAY: 9bb00ed9fe055ada-FRA
Open service 172.67.68.214:8443 · docs.plutuspbl.io
2026-01-09 01:10
Open service 2606:4700:20::681a:46:8443 · docs.plutuspbl.io
2026-01-09 01:10
Open service 2606:4700:20::ac43:44d6:80 · docs.plutuspbl.io
2026-01-09 01:10
HTTP/1.1 308 Permanent Redirect
Date: Fri, 09 Jan 2026 01:10:58 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://docs.plutuspbl.io/
Refresh: 0;url=https://docs.plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=a%2BpUwP7eywgxMAd4rW2WIy0X%2BUPuDVI%2F8q%2F4WOKLRCxjZDQod3XXQ7s77UEa0KW1H9Vj%2FkrZfRaujKI28dJuPqKJwaaWw5PfPZKK3Js%2BZsNG%2F1A4Ibdfvxm5FE4%3D"}]}
CF-RAY: 9bb00ed91b86bdbc-EWR
Redirecting...
Open service 104.26.1.70:8443 · docs.plutuspbl.io
2026-01-09 01:10
Open service 104.26.0.70:80 · docs.plutuspbl.io
2026-01-09 01:10
HTTP/1.1 308 Permanent Redirect
Date: Fri, 09 Jan 2026 01:10:58 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://docs.plutuspbl.io/
Refresh: 0;url=https://docs.plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=EHi22htwlqiPhl4PYYPMsiy9ZFYeqjr0Q2UniPY6IPDPxAQDqs24UDLt4VA4ay3p%2By9uPCthL5TaGBowbOErntarqJ8xF4pjpeoOLiERt7k%3D"}]}
CF-RAY: 9bb00ed8fb7b6e28-EWR
Redirecting...
Open service 2606:4700:20::ac43:44d6:443 · docs.plutuspbl.io
2026-01-09 01:10
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 01:10:59 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 196408
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=UTRncSURrF4CaQZc8MMVR2SXWwAM%2Fd9GbVZCKvEoRlW6OFLVg046h4%2FN5Sdi%2BYiJnIOSrwHMG8j8zpBDt0loKQ%2FJRrZX01UgdWIawqFbFagKOEWJNp4%2FDM4WvCY%3D"}]}
vary: accept-encoding
last-modified: Tue, 06 Jan 2026 18:37:30 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-vercel-cache: HIT
x-vercel-id: fra1::cwm9g-1767921058878-1f08a50429ec
cf-cache-status: DYNAMIC
CF-RAY: 9bb00ed9ca13904f-FRA
Open service 172.67.68.214:80 · docs.plutuspbl.io
2026-01-09 01:10
HTTP/1.1 308 Permanent Redirect
Date: Fri, 09 Jan 2026 01:10:58 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://docs.plutuspbl.io/
Refresh: 0;url=https://docs.plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Te6cpPDrhg6F%2BiPeTlfcK1X7tNWbRyTT34MINjvxZ%2Fg4MQQBe%2FGhAR4OWKKrzotievBqP5wraa18vg0n9iXpcZZBTemw6g4bcj%2FFZhNfDQE%3D"}]}
CF-RAY: 9bb00ed9fdf7d06b-LHR
Redirecting...
Open service 2606:4700:20::681a:46:443 · docs.plutuspbl.io
2026-01-09 01:10
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 01:10:58 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 196408
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=iIQLlUukCF3tGmZE2JTaC2xS6gdfU3rxzi%2Bh6UbUfDpXOQ4ZcNU7%2Bn8P%2FRdGuZFonnHXlzrO6%2BgaKfJRT8iqpB593tPAQJMxGnqCmi5EMwIroOCdtjt5dTIIBiU%3D"}]}
vary: accept-encoding
last-modified: Tue, 06 Jan 2026 18:37:30 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-vercel-cache: HIT
x-vercel-id: fra1::h9n57-1767921058900-37cef7b59d1e
cf-cache-status: DYNAMIC
CF-RAY: 9bb00eda0a8365c7-FRA
Open service 104.26.1.70:443 · docs.plutuspbl.io
2026-01-09 01:10
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 01:10:58 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 196408
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=2UIseM5QEC0ZWtvxtTHt%2BPDBHL1nfrJe38xdefJQNaeAvP1HhphW9dHjqJa27%2BFrpABUrFEZbgWHozsr7utbjMZrPpyG80aIhnxKk8kRqS4%3D"}]}
vary: accept-encoding
last-modified: Tue, 06 Jan 2026 18:37:30 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-vercel-cache: HIT
x-vercel-id: fra1::v8w65-1767921058973-390fffb13786
cf-cache-status: DYNAMIC
CF-RAY: 9bb00eda887a3727-FRA
Open service 2606:4700:20::681a:146:8443 · docs.plutuspbl.io
2026-01-09 01:10
Open service 104.26.0.70:8443 · docs.plutuspbl.io
2026-01-09 01:10
Open service 2606:4700:20::ac43:44d6:8443 · docs.plutuspbl.io
2026-01-09 01:10
Open service 2606:4700:20::681a:146:8443 · plutuspbl.io
2026-01-07 08:26
HTTP/1.1 522 <none> Date: Wed, 07 Jan 2026 08:27:15 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9ba212b30fbce418-SJC error code: 522
Open service 104.26.1.70:80 · plutuspbl.io
2026-01-07 08:26
HTTP/1.1 308 Permanent Redirect
Date: Wed, 07 Jan 2026 08:26:54 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://plutuspbl.io/
Refresh: 0;url=https://plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=fkZ5WMy3AU51Zn57O2ssutl0EwpYE8bJZ%2B%2B2fNkvmDfMvssbTnsAGjtC%2BV1V%2BqpIHCNz7s7jW40NsSSwzlGhTQWQMblYKArQzym2"}]}
CF-RAY: 9ba212ac2f37dc64-FRA
Redirecting...
Open service 104.26.0.70:8443 · plutuspbl.io
2026-01-07 08:26
HTTP/1.1 522 <none> Date: Wed, 07 Jan 2026 08:27:15 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9ba212b2498118e3-FRA error code: 522
Open service 2606:4700:20::681a:46:8443 · plutuspbl.io
2026-01-07 08:26
HTTP/1.1 522 <none> Date: Wed, 07 Jan 2026 08:27:15 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9ba212b24e931d1c-SIN error code: 522
Open service 2606:4700:20::ac43:44d6:80 · plutuspbl.io
2026-01-07 08:26
HTTP/1.1 308 Permanent Redirect
Date: Wed, 07 Jan 2026 08:26:54 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://plutuspbl.io/
Refresh: 0;url=https://plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=VNxlWWT0VFyH020jgNoN5W8Rhda7TiFJterI%2B2AayZLnBZCobDcqDfBlPOBdr4ISqawTdrKypaLUoojj52qrOhI45e5RHsNKQgkng9ebXKmRX3RjS%2B62"}]}
CF-RAY: 9ba212ac0b55f415-FRA
Redirecting...
Open service 104.26.0.70:80 · plutuspbl.io
2026-01-07 08:26
HTTP/1.1 308 Permanent Redirect
Date: Wed, 07 Jan 2026 08:26:54 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://plutuspbl.io/
Refresh: 0;url=https://plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=%2F3Y7ARkkpIIu0sOp5HZOH8uWeoSnPFjp6C180SRsEuZFhC6y8%2BrHNvKIp7Vy%2BhZoLTV20OcaqeOaTAzBxYxtjGGxjcHgC4XBhTGv"}]}
CF-RAY: 9ba212ac1d25d2d6-FRA
Redirecting...
Open service 2606:4700:20::681a:146:443 · plutuspbl.io
2026-01-07 08:26
HTTP/1.1 200 OK
Date: Wed, 07 Jan 2026 08:26:54 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 3664534
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline; filename="en"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=FELMLEJG0YfaFz7LMTeh6F98PIUxiJ67%2B6bBjqoQwJ1LAmkEqyCvihhUtBzVMYhHL0c37QUcpxsL2k6p58CSBhiNjkBQeRdYhRlLVs2nlvYekAybCz1x"}]}
vary: accept-encoding
last-modified: Tue, 25 Nov 2025 22:31:19 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-matched-path: /en
x-vercel-cache: HIT
x-vercel-id: lhr1::lxjv2-1767774414803-77d7ee6c7925
cf-cache-status: DYNAMIC
CF-RAY: 9ba212ac79319466-LHR
Page title: PPBL 2025
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>PPBL 2025</title><meta name="description" content="Plutus Project-Based Learning 2025, from Gimbalabs & Friends"/><link rel="icon" href="/favicon.ico"/><meta name="next-head-count" content="5"/><link rel="preload" href="/_next/static/media/3dfcee4f467ba725-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/css/d54d64c226562e1b.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d54d64c226562e1b.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-3861b9cc9186fa18.js" defer=""></script><script src="/_next/static/chunks/framework-63d16ff2f5e08230.js" defer=""></script><script src="/_next/static/chunks/main-0edbe83ed22158f9.js" defer=""></script><script src="/_next/static/chunks/pages/_app-4e5e61dffcdd7e12.js" defer=""></script><script src="/_next/static/chunks/pages/index-25d748cc1ee1d70e.js" defer=""></script><script src="/_next/static/IlVoipfrvTXRUnYaqALyv/_buildManifest.js" defer=""></script><script src="/_next/static/IlVoipfrvTXRUnYaqALyv/_ssgManifest.js" defer=""></script></head><body><div id="__next"><main class="flex w-full flex-col __className_62da2f"><div class="flex w-full justify-center py-3"><nav aria-label="Main" data-orientation="horizontal" dir="ltr" class="relative z-10 flex max-w-max flex-1 items-center justify-center"><div style="position:relative"><ul data-orientation="horizontal" class="group flex flex-1 list-none items-center justify-center space-x-1" dir="ltr"><li><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50" href="/" data-radix-collection-item="">Home</a></li><li><button id="radix-:Rm:-trigger-radix-:R16m:" data-state="closed" aria-expanded="false" aria-controls="radix-:Rm:-content-radix-:R16m:" class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50 group" data-radix-collection-item="">Get Started with Plutus PBL 2024<!-- --> <svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="relative top-[1px] ml-1 h-3 w-3 transition duration-300 group-data-[state=open]:rotate-180" aria-hidden="true"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button></li><li class="text-yellow-500"><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50" href="/live-examples" data-radix-collection-item="">Live Examples</a></li><li><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events
Open service 2606:4700:20::681a:146:80 · plutuspbl.io
2026-01-07 08:26
HTTP/1.1 308 Permanent Redirect
Date: Wed, 07 Jan 2026 08:26:54 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://plutuspbl.io/
Refresh: 0;url=https://plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=z3kGHeIklgb%2BEPlHL5s3r5k89FvovmxOYmtdWz27mpK05N1Yp6%2FTZfiYp0sBFIx3HBvdrhLqbId4xGtvQDJDfgIucehqdQut8DVBw5pGjNr7KFK1fpTm"}]}
CF-RAY: 9ba212ab9e63e537-FRA
Redirecting...
Open service 2606:4700:20::ac43:44d6:8443 · plutuspbl.io
2026-01-07 08:26
HTTP/1.1 522 <none> Date: Wed, 07 Jan 2026 08:27:15 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9ba212b1aaa135e2-FRA error code: 522
Open service 104.26.1.70:8443 · plutuspbl.io
2026-01-07 08:26
HTTP/1.1 522 <none> Date: Wed, 07 Jan 2026 08:27:14 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9ba212b1a89c958f-LHR error code: 522
Open service 172.67.68.214:80 · plutuspbl.io
2026-01-07 08:26
HTTP/1.1 308 Permanent Redirect
Date: Wed, 07 Jan 2026 08:26:54 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://plutuspbl.io/
Refresh: 0;url=https://plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Z7VmSA4LUF%2FVMIg9s11SRWMR%2FBDA4i6%2BrcZwcIv5TMB6ORAMrt%2BY3kGfk7U5rI9SnQZDB2xOmvOAobbOx2nkfHN87FUWBmn2fkJM"}]}
CF-RAY: 9ba212ab887563ab-LHR
Redirecting...
Open service 2606:4700:20::ac43:44d6:443 · plutuspbl.io
2026-01-07 08:26
HTTP/1.1 200 OK
Date: Wed, 07 Jan 2026 08:26:54 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 3664534
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline; filename="en"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=qniOIMA1GTcS4C4F06E0QPTbomcraFR6qkcHKj6imY26kgp52aJ%2BLe0VjqjoXDt%2B2RTic2aZFhkWToNkrmij9qa26KqP%2BJec0WjnEzSBgkzTsL0ThaBK"}]}
vary: accept-encoding
last-modified: Tue, 25 Nov 2025 22:31:19 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-matched-path: /en
x-vercel-cache: HIT
x-vercel-id: lhr1::8h8rh-1767774414795-5eac69a95b85
cf-cache-status: DYNAMIC
CF-RAY: 9ba212ac5b62940a-LHR
Page title: PPBL 2025
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>PPBL 2025</title><meta name="description" content="Plutus Project-Based Learning 2025, from Gimbalabs & Friends"/><link rel="icon" href="/favicon.ico"/><meta name="next-head-count" content="5"/><link rel="preload" href="/_next/static/media/3dfcee4f467ba725-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/css/d54d64c226562e1b.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d54d64c226562e1b.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-3861b9cc9186fa18.js" defer=""></script><script src="/_next/static/chunks/framework-63d16ff2f5e08230.js" defer=""></script><script src="/_next/static/chunks/main-0edbe83ed22158f9.js" defer=""></script><script src="/_next/static/chunks/pages/_app-4e5e61dffcdd7e12.js" defer=""></script><script src="/_next/static/chunks/pages/index-25d748cc1ee1d70e.js" defer=""></script><script src="/_next/static/IlVoipfrvTXRUnYaqALyv/_buildManifest.js" defer=""></script><script src="/_next/static/IlVoipfrvTXRUnYaqALyv/_ssgManifest.js" defer=""></script></head><body><div id="__next"><main class="flex w-full flex-col __className_62da2f"><div class="flex w-full justify-center py-3"><nav aria-label="Main" data-orientation="horizontal" dir="ltr" class="relative z-10 flex max-w-max flex-1 items-center justify-center"><div style="position:relative"><ul data-orientation="horizontal" class="group flex flex-1 list-none items-center justify-center space-x-1" dir="ltr"><li><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50" href="/" data-radix-collection-item="">Home</a></li><li><button id="radix-:Rm:-trigger-radix-:R16m:" data-state="closed" aria-expanded="false" aria-controls="radix-:Rm:-content-radix-:R16m:" class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50 group" data-radix-collection-item="">Get Started with Plutus PBL 2024<!-- --> <svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="relative top-[1px] ml-1 h-3 w-3 transition duration-300 group-data-[state=open]:rotate-180" aria-hidden="true"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button></li><li class="text-yellow-500"><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50" href="/live-examples" data-radix-collection-item="">Live Examples</a></li><li><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events
Open service 172.67.68.214:8443 · plutuspbl.io
2026-01-07 08:26
HTTP/1.1 522 <none> Date: Wed, 07 Jan 2026 08:27:15 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9ba212b1bc99b7c6-LHR error code: 522
Open service 2606:4700:20::681a:46:443 · plutuspbl.io
2026-01-07 08:26
HTTP/1.1 200 OK
Date: Wed, 07 Jan 2026 08:26:54 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 3631202
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline; filename="en"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=r6Hj%2FEFb%2BVRUVl6%2FLja9PAvHtw96qzAqAB5QnJayirfIqfl3j%2Fjh4EnU%2BOKV0iFwvRW0ElApXXzgUpNbrkYVPQsQtrMfplb5c9hDaeUBWFIqQm63b88A"}]}
vary: accept-encoding
last-modified: Wed, 26 Nov 2025 07:46:52 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-matched-path: /en
x-vercel-cache: HIT
x-vercel-id: fra1::j9bzd-1767774414837-f4aa67bc31a7
cf-cache-status: DYNAMIC
CF-RAY: 9ba212acb936383d-FRA
Page title: PPBL 2025
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>PPBL 2025</title><meta name="description" content="Plutus Project-Based Learning 2025, from Gimbalabs & Friends"/><link rel="icon" href="/favicon.ico"/><meta name="next-head-count" content="5"/><link rel="preload" href="/_next/static/media/3dfcee4f467ba725-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/css/d54d64c226562e1b.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d54d64c226562e1b.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-3861b9cc9186fa18.js" defer=""></script><script src="/_next/static/chunks/framework-63d16ff2f5e08230.js" defer=""></script><script src="/_next/static/chunks/main-0edbe83ed22158f9.js" defer=""></script><script src="/_next/static/chunks/pages/_app-4e5e61dffcdd7e12.js" defer=""></script><script src="/_next/static/chunks/pages/index-25d748cc1ee1d70e.js" defer=""></script><script src="/_next/static/IlVoipfrvTXRUnYaqALyv/_buildManifest.js" defer=""></script><script src="/_next/static/IlVoipfrvTXRUnYaqALyv/_ssgManifest.js" defer=""></script></head><body><div id="__next"><main class="flex w-full flex-col __className_62da2f"><div class="flex w-full justify-center py-3"><nav aria-label="Main" data-orientation="horizontal" dir="ltr" class="relative z-10 flex max-w-max flex-1 items-center justify-center"><div style="position:relative"><ul data-orientation="horizontal" class="group flex flex-1 list-none items-center justify-center space-x-1" dir="ltr"><li><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50" href="/" data-radix-collection-item="">Home</a></li><li><button id="radix-:Rm:-trigger-radix-:R16m:" data-state="closed" aria-expanded="false" aria-controls="radix-:Rm:-content-radix-:R16m:" class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50 group" data-radix-collection-item="">Get Started with Plutus PBL 2024<!-- --> <svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="relative top-[1px] ml-1 h-3 w-3 transition duration-300 group-data-[state=open]:rotate-180" aria-hidden="true"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button></li><li class="text-yellow-500"><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50" href="/live-examples" data-radix-collection-item="">Live Examples</a></li><li><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events
Open service 2606:4700:20::681a:46:80 · plutuspbl.io
2026-01-07 08:26
HTTP/1.1 308 Permanent Redirect
Date: Wed, 07 Jan 2026 08:26:54 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://plutuspbl.io/
Refresh: 0;url=https://plutuspbl.io/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=ANhSt48af80tD0LuNI07NuZABSxsLmgtS35jcw1dXkKGs6z6GmxOZSiK6ifpoqjWF%2BMTz%2FINad9icmJ7MD2NM8AH6A8%2BPyI6rUeQ0d1kXx4Wf5RDoaOr"}]}
CF-RAY: 9ba212ab2e311d9a-FRA
Redirecting...
Open service 104.26.0.70:443 · plutuspbl.io
2026-01-07 08:26
HTTP/1.1 200 OK
Date: Wed, 07 Jan 2026 08:26:54 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 3631202
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline; filename="en"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=4bZrti9INiHlrZLbs1kLQF1urcQ1mm%2F6xu6t8RKk%2FCRj83gzj%2FGmgP4nwnbxBxL1DQu%2FmYS8dulsOr8ExQ6t8oZBwhbMaMwV1EcW"}]}
vary: accept-encoding
last-modified: Wed, 26 Nov 2025 07:46:52 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-matched-path: /en
x-vercel-cache: HIT
x-vercel-id: fra1::84688-1767774414760-c102a03d6a0f
cf-cache-status: DYNAMIC
CF-RAY: 9ba212ac18a63616-FRA
Page title: PPBL 2025
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>PPBL 2025</title><meta name="description" content="Plutus Project-Based Learning 2025, from Gimbalabs & Friends"/><link rel="icon" href="/favicon.ico"/><meta name="next-head-count" content="5"/><link rel="preload" href="/_next/static/media/3dfcee4f467ba725-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/css/d54d64c226562e1b.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d54d64c226562e1b.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-3861b9cc9186fa18.js" defer=""></script><script src="/_next/static/chunks/framework-63d16ff2f5e08230.js" defer=""></script><script src="/_next/static/chunks/main-0edbe83ed22158f9.js" defer=""></script><script src="/_next/static/chunks/pages/_app-4e5e61dffcdd7e12.js" defer=""></script><script src="/_next/static/chunks/pages/index-25d748cc1ee1d70e.js" defer=""></script><script src="/_next/static/IlVoipfrvTXRUnYaqALyv/_buildManifest.js" defer=""></script><script src="/_next/static/IlVoipfrvTXRUnYaqALyv/_ssgManifest.js" defer=""></script></head><body><div id="__next"><main class="flex w-full flex-col __className_62da2f"><div class="flex w-full justify-center py-3"><nav aria-label="Main" data-orientation="horizontal" dir="ltr" class="relative z-10 flex max-w-max flex-1 items-center justify-center"><div style="position:relative"><ul data-orientation="horizontal" class="group flex flex-1 list-none items-center justify-center space-x-1" dir="ltr"><li><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50" href="/" data-radix-collection-item="">Home</a></li><li><button id="radix-:Rm:-trigger-radix-:R16m:" data-state="closed" aria-expanded="false" aria-controls="radix-:Rm:-content-radix-:R16m:" class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50 group" data-radix-collection-item="">Get Started with Plutus PBL 2024<!-- --> <svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="relative top-[1px] ml-1 h-3 w-3 transition duration-300 group-data-[state=open]:rotate-180" aria-hidden="true"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button></li><li class="text-yellow-500"><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50" href="/live-examples" data-radix-collection-item="">Live Examples</a></li><li><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events
Open service 172.67.68.214:443 · plutuspbl.io
2026-01-07 08:26
HTTP/1.1 200 OK
Date: Wed, 07 Jan 2026 08:26:54 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 3631202
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline; filename="en"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=zGVLPvJLcLgezNlQb79D4Yr3vfjnz4OeOCKKg9oU%2F4wLrUY9bOI0EmWaXnuczAberJCjMzfs8l4CHjWTcNbaMg03oOmhkIsHwWNZ"}]}
vary: accept-encoding
last-modified: Wed, 26 Nov 2025 07:46:52 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-matched-path: /en
x-vercel-cache: HIT
x-vercel-id: fra1::6tnhz-1767774414771-5ee86f83137e
cf-cache-status: DYNAMIC
CF-RAY: 9ba212ac2cc4377c-FRA
Page title: PPBL 2025
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>PPBL 2025</title><meta name="description" content="Plutus Project-Based Learning 2025, from Gimbalabs & Friends"/><link rel="icon" href="/favicon.ico"/><meta name="next-head-count" content="5"/><link rel="preload" href="/_next/static/media/3dfcee4f467ba725-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/css/d54d64c226562e1b.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d54d64c226562e1b.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-3861b9cc9186fa18.js" defer=""></script><script src="/_next/static/chunks/framework-63d16ff2f5e08230.js" defer=""></script><script src="/_next/static/chunks/main-0edbe83ed22158f9.js" defer=""></script><script src="/_next/static/chunks/pages/_app-4e5e61dffcdd7e12.js" defer=""></script><script src="/_next/static/chunks/pages/index-25d748cc1ee1d70e.js" defer=""></script><script src="/_next/static/IlVoipfrvTXRUnYaqALyv/_buildManifest.js" defer=""></script><script src="/_next/static/IlVoipfrvTXRUnYaqALyv/_ssgManifest.js" defer=""></script></head><body><div id="__next"><main class="flex w-full flex-col __className_62da2f"><div class="flex w-full justify-center py-3"><nav aria-label="Main" data-orientation="horizontal" dir="ltr" class="relative z-10 flex max-w-max flex-1 items-center justify-center"><div style="position:relative"><ul data-orientation="horizontal" class="group flex flex-1 list-none items-center justify-center space-x-1" dir="ltr"><li><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50" href="/" data-radix-collection-item="">Home</a></li><li><button id="radix-:Rm:-trigger-radix-:R16m:" data-state="closed" aria-expanded="false" aria-controls="radix-:Rm:-content-radix-:R16m:" class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50 group" data-radix-collection-item="">Get Started with Plutus PBL 2024<!-- --> <svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="relative top-[1px] ml-1 h-3 w-3 transition duration-300 group-data-[state=open]:rotate-180" aria-hidden="true"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button></li><li class="text-yellow-500"><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50" href="/live-examples" data-radix-collection-item="">Live Examples</a></li><li><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events
Open service 104.26.1.70:443 · plutuspbl.io
2026-01-07 08:26
HTTP/1.1 200 OK
Date: Wed, 07 Jan 2026 08:26:54 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
access-control-allow-origin: *
Age: 3631202
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline; filename="en"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Q7fuz7mwffo038C1Cf4UTMzgYVKoYxW7JcTQBrMHEh6Fnfzc2RBfiaDgety7bASaMQ3QjfMGDBE8VpfZlC4BwgkNMDOkQ1A63h8C"}]}
vary: accept-encoding
last-modified: Wed, 26 Nov 2025 07:46:52 GMT
Server: cloudflare
strict-transport-security: max-age=63072000
x-matched-path: /en
x-vercel-cache: HIT
x-vercel-id: fra1::vqj2b-1767774414766-8108f1977792
cf-cache-status: DYNAMIC
CF-RAY: 9ba212ac3f6a65a5-FRA
Page title: PPBL 2025
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>PPBL 2025</title><meta name="description" content="Plutus Project-Based Learning 2025, from Gimbalabs & Friends"/><link rel="icon" href="/favicon.ico"/><meta name="next-head-count" content="5"/><link rel="preload" href="/_next/static/media/3dfcee4f467ba725-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/css/d54d64c226562e1b.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d54d64c226562e1b.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-3861b9cc9186fa18.js" defer=""></script><script src="/_next/static/chunks/framework-63d16ff2f5e08230.js" defer=""></script><script src="/_next/static/chunks/main-0edbe83ed22158f9.js" defer=""></script><script src="/_next/static/chunks/pages/_app-4e5e61dffcdd7e12.js" defer=""></script><script src="/_next/static/chunks/pages/index-25d748cc1ee1d70e.js" defer=""></script><script src="/_next/static/IlVoipfrvTXRUnYaqALyv/_buildManifest.js" defer=""></script><script src="/_next/static/IlVoipfrvTXRUnYaqALyv/_ssgManifest.js" defer=""></script></head><body><div id="__next"><main class="flex w-full flex-col __className_62da2f"><div class="flex w-full justify-center py-3"><nav aria-label="Main" data-orientation="horizontal" dir="ltr" class="relative z-10 flex max-w-max flex-1 items-center justify-center"><div style="position:relative"><ul data-orientation="horizontal" class="group flex flex-1 list-none items-center justify-center space-x-1" dir="ltr"><li><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50" href="/" data-radix-collection-item="">Home</a></li><li><button id="radix-:Rm:-trigger-radix-:R16m:" data-state="closed" aria-expanded="false" aria-controls="radix-:Rm:-content-radix-:R16m:" class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50 group" data-radix-collection-item="">Get Started with Plutus PBL 2024<!-- --> <svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="relative top-[1px] ml-1 h-3 w-3 transition duration-300 group-data-[state=open]:rotate-180" aria-hidden="true"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button></li><li class="text-yellow-500"><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50" href="/live-examples" data-radix-collection-item="">Live Examples</a></li><li><a class="group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events