CloudFront
tcp/80
Open service 108.138.34.112:80 · ibeer.co.kr
2026-01-25 11:39
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Sun, 25 Jan 2026 11:39:48 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://ibeer.co.kr/ X-Cache: Redirect from cloudfront Via: 1.1 da7d0e99d4b5322bc1c874b2af707374.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P2 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: ddHh8msGhHNYVxcRGoqiVXS_zO-N6I3nFfK7gr-DHs70B7rKOwcE9g== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 108.138.34.217:443 · ibeer.co.kr
2026-01-25 11:39
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 6927
Connection: close
Date: Sun, 25 Jan 2026 11:39:46 GMT
ETag: "zvcw0psj505ah"
x-nextjs-cache: HIT
x-nextjs-prerender: 1
x-nextjs-prerender: 1
x-nextjs-stale-time: 300
x-powered-by: Next.js
Cache-Control: s-maxage=31536000
Vary: Accept-Encoding
X-Cache: Hit from cloudfront
Via: 1.1 cdf03e675736c21829fede7b370fd99a.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P2
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: c486DqixUmwg2HmPcvTMdVGn13iidNKp2K-cSCgXHA-5q2-eCj50lQ==
Age: 1
Page title: Dispenser Admin
<!DOCTYPE html><!--RGiMQ2GM_L3UYdu3Rms5i--><html lang="ko"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/1988a35e3f7de7f8.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/3be0f7284fa47fd4.js"/><script src="/_next/static/chunks/236f7e5abd6f09ff.js" async=""></script><script src="/_next/static/chunks/b5e0e67cf8afadf8.js" async=""></script><script src="/_next/static/chunks/cc759f7c2413b7ff.js" async=""></script><script src="/_next/static/chunks/turbopack-177ad9e00d1716f3.js" async=""></script><script src="/_next/static/chunks/ff1a16fafef87110.js" async=""></script><script src="/_next/static/chunks/7340adf74ff47ec0.js" async=""></script><script src="/_next/static/chunks/68236c430dabe353.js" async=""></script><title>Dispenser Admin</title><meta name="description" content="ESP32 Dispenser Management System"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="bg-gray-100 min-h-screen"><div hidden=""><!--$--><!--/$--></div><div class="max-w-6xl mx-auto p-6"><header class="mb-8"><h1 class="text-3xl font-bold text-gray-800">Dispenser Admin</h1><p class="text-gray-600 mt-1">ESP32 디스펜서 관리 시스템</p></header><div class="grid grid-cols-1 md:grid-cols-3 gap-4 mb-8"><div class="bg-white rounded-lg shadow p-6"><div class="text-sm text-gray-500">전체 디스펜서</div><div class="text-3xl font-bold text-gray-800">0</div></div><div class="bg-white rounded-lg shadow p-6"><div class="text-sm text-gray-500">온라인</div><div class="text-3xl font-bold text-green-600">0</div></div><div class="bg-white rounded-lg shadow p-6"><div class="text-sm text-gray-500">오프라인</div><div class="text-3xl font-bold text-red-600">0</div></div></div><div class="bg-white rounded-lg shadow"><div class="px-6 py-4 border-b border-gray-200 flex justify-between items-center"><h2 class="text-lg font-semibold text-gray-800">디스펜서 목록</h2><button class="px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600 transition">새로고침</button></div><div class="p-8 text-center text-gray-500">로딩 중...</div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/3be0f7284fa47fd4.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"default\"]\n4:I[47257,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"ClientPageRoot\"]\n5:I[52683,[\"/_next/static/chunks/68236c430dabe353.js\"],\"default\"]\n8:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"OutletBoundary\"]\n9:\"$Sreact.suspense\"\nb:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"ViewportBoundary\"]\nd:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"MetadataBoundary\"]\nf:I[68027,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"default\"]\n:HL[\"/_next/static/chunks/1988a35e3f7de7f8.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"RGiMQ2GM_L3UYdu3Rms5i\",\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/1988a35e3f7de7f8.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"ko\",\"children\":[\"$\",\"body\",null,{\"className\":\"bg-gray-100 min-h-screen\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$
Open service 108.138.34.18:443 · ibeer.co.kr
2026-01-25 11:39
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 6927
Connection: close
Date: Sun, 25 Jan 2026 11:39:46 GMT
ETag: "zvcw0psj505ah"
x-nextjs-cache: HIT
x-nextjs-prerender: 1
x-nextjs-prerender: 1
x-nextjs-stale-time: 300
x-powered-by: Next.js
Cache-Control: s-maxage=31536000
Vary: Accept-Encoding
X-Cache: Hit from cloudfront
Via: 1.1 cdf03e675736c21829fede7b370fd99a.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P2
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: 7ls0loPnSkTsJyuYeHZ4FSq3FASnPD2jcFKIzmmaeemhlciIIyjnqg==
Age: 1
Page title: Dispenser Admin
<!DOCTYPE html><!--RGiMQ2GM_L3UYdu3Rms5i--><html lang="ko"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/1988a35e3f7de7f8.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/3be0f7284fa47fd4.js"/><script src="/_next/static/chunks/236f7e5abd6f09ff.js" async=""></script><script src="/_next/static/chunks/b5e0e67cf8afadf8.js" async=""></script><script src="/_next/static/chunks/cc759f7c2413b7ff.js" async=""></script><script src="/_next/static/chunks/turbopack-177ad9e00d1716f3.js" async=""></script><script src="/_next/static/chunks/ff1a16fafef87110.js" async=""></script><script src="/_next/static/chunks/7340adf74ff47ec0.js" async=""></script><script src="/_next/static/chunks/68236c430dabe353.js" async=""></script><title>Dispenser Admin</title><meta name="description" content="ESP32 Dispenser Management System"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="bg-gray-100 min-h-screen"><div hidden=""><!--$--><!--/$--></div><div class="max-w-6xl mx-auto p-6"><header class="mb-8"><h1 class="text-3xl font-bold text-gray-800">Dispenser Admin</h1><p class="text-gray-600 mt-1">ESP32 디스펜서 관리 시스템</p></header><div class="grid grid-cols-1 md:grid-cols-3 gap-4 mb-8"><div class="bg-white rounded-lg shadow p-6"><div class="text-sm text-gray-500">전체 디스펜서</div><div class="text-3xl font-bold text-gray-800">0</div></div><div class="bg-white rounded-lg shadow p-6"><div class="text-sm text-gray-500">온라인</div><div class="text-3xl font-bold text-green-600">0</div></div><div class="bg-white rounded-lg shadow p-6"><div class="text-sm text-gray-500">오프라인</div><div class="text-3xl font-bold text-red-600">0</div></div></div><div class="bg-white rounded-lg shadow"><div class="px-6 py-4 border-b border-gray-200 flex justify-between items-center"><h2 class="text-lg font-semibold text-gray-800">디스펜서 목록</h2><button class="px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600 transition">새로고침</button></div><div class="p-8 text-center text-gray-500">로딩 중...</div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/3be0f7284fa47fd4.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"default\"]\n4:I[47257,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"ClientPageRoot\"]\n5:I[52683,[\"/_next/static/chunks/68236c430dabe353.js\"],\"default\"]\n8:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"OutletBoundary\"]\n9:\"$Sreact.suspense\"\nb:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"ViewportBoundary\"]\nd:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"MetadataBoundary\"]\nf:I[68027,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"default\"]\n:HL[\"/_next/static/chunks/1988a35e3f7de7f8.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"RGiMQ2GM_L3UYdu3Rms5i\",\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/1988a35e3f7de7f8.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"ko\",\"children\":[\"$\",\"body\",null,{\"className\":\"bg-gray-100 min-h-screen\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$
Open service 108.138.34.18:80 · ibeer.co.kr
2026-01-25 11:39
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Sun, 25 Jan 2026 11:39:47 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://ibeer.co.kr/ X-Cache: Redirect from cloudfront Via: 1.1 66a008dd3c1b49635fc036a68872758c.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P2 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: G_hWbebMDUVf1GSGR8M3kUI1kOwkV8_4z6tRF4ioDECnW9-sXZO_CA== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 108.138.34.175:443 · ibeer.co.kr
2026-01-25 11:39
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 6927
Connection: close
Date: Sun, 25 Jan 2026 11:39:46 GMT
ETag: "zvcw0psj505ah"
x-nextjs-cache: HIT
x-nextjs-prerender: 1
x-nextjs-prerender: 1
x-nextjs-stale-time: 300
x-powered-by: Next.js
Cache-Control: s-maxage=31536000
Vary: Accept-Encoding
X-Cache: Hit from cloudfront
Via: 1.1 068dc56746723ff514ed3604e029e74e.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P2
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: ASt2YI0NpDdX8ijYG2reUuNyMa2CCSU8Qcs0YA42gaEqFCoiBK9OhQ==
Age: 1
Page title: Dispenser Admin
<!DOCTYPE html><!--RGiMQ2GM_L3UYdu3Rms5i--><html lang="ko"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/1988a35e3f7de7f8.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/3be0f7284fa47fd4.js"/><script src="/_next/static/chunks/236f7e5abd6f09ff.js" async=""></script><script src="/_next/static/chunks/b5e0e67cf8afadf8.js" async=""></script><script src="/_next/static/chunks/cc759f7c2413b7ff.js" async=""></script><script src="/_next/static/chunks/turbopack-177ad9e00d1716f3.js" async=""></script><script src="/_next/static/chunks/ff1a16fafef87110.js" async=""></script><script src="/_next/static/chunks/7340adf74ff47ec0.js" async=""></script><script src="/_next/static/chunks/68236c430dabe353.js" async=""></script><title>Dispenser Admin</title><meta name="description" content="ESP32 Dispenser Management System"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="bg-gray-100 min-h-screen"><div hidden=""><!--$--><!--/$--></div><div class="max-w-6xl mx-auto p-6"><header class="mb-8"><h1 class="text-3xl font-bold text-gray-800">Dispenser Admin</h1><p class="text-gray-600 mt-1">ESP32 디스펜서 관리 시스템</p></header><div class="grid grid-cols-1 md:grid-cols-3 gap-4 mb-8"><div class="bg-white rounded-lg shadow p-6"><div class="text-sm text-gray-500">전체 디스펜서</div><div class="text-3xl font-bold text-gray-800">0</div></div><div class="bg-white rounded-lg shadow p-6"><div class="text-sm text-gray-500">온라인</div><div class="text-3xl font-bold text-green-600">0</div></div><div class="bg-white rounded-lg shadow p-6"><div class="text-sm text-gray-500">오프라인</div><div class="text-3xl font-bold text-red-600">0</div></div></div><div class="bg-white rounded-lg shadow"><div class="px-6 py-4 border-b border-gray-200 flex justify-between items-center"><h2 class="text-lg font-semibold text-gray-800">디스펜서 목록</h2><button class="px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600 transition">새로고침</button></div><div class="p-8 text-center text-gray-500">로딩 중...</div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/3be0f7284fa47fd4.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"default\"]\n4:I[47257,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"ClientPageRoot\"]\n5:I[52683,[\"/_next/static/chunks/68236c430dabe353.js\"],\"default\"]\n8:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"OutletBoundary\"]\n9:\"$Sreact.suspense\"\nb:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"ViewportBoundary\"]\nd:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"MetadataBoundary\"]\nf:I[68027,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"default\"]\n:HL[\"/_next/static/chunks/1988a35e3f7de7f8.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"RGiMQ2GM_L3UYdu3Rms5i\",\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/1988a35e3f7de7f8.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"ko\",\"children\":[\"$\",\"body\",null,{\"className\":\"bg-gray-100 min-h-screen\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$
Open service 108.138.34.175:80 · ibeer.co.kr
2026-01-25 11:39
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Sun, 25 Jan 2026 11:39:47 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://ibeer.co.kr/ X-Cache: Redirect from cloudfront Via: 1.1 c7e33a86531bfe239a9c43428fc5c122.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P2 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: 6d3dTI-XF5nBQwCgGzbKzgmpkz7E92LRHpRNbCDAtrJP6OidYHevkA== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 108.138.34.217:80 · ibeer.co.kr
2026-01-25 11:39
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Sun, 25 Jan 2026 11:39:47 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://ibeer.co.kr/ X-Cache: Redirect from cloudfront Via: 1.1 67393fa6b3a865c1a8252acac0aa5cbc.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P2 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: glQrc2FWbQtHO-UxwfvxRiE5mCmH2DaEYtgPm3nlZE42fsPQeQaetg== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 108.138.34.112:443 · ibeer.co.kr
2026-01-25 11:39
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 6927
Connection: close
Date: Sun, 25 Jan 2026 11:39:46 GMT
ETag: "zvcw0psj505ah"
x-nextjs-cache: HIT
x-nextjs-prerender: 1
x-nextjs-prerender: 1
x-nextjs-stale-time: 300
x-powered-by: Next.js
Cache-Control: s-maxage=31536000
Vary: Accept-Encoding
X-Cache: Hit from cloudfront
Via: 1.1 ba1081cbdcd39cc4928b65493cb81558.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P2
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: d1zZtcJT91ZnmhloFLCR7sXo-5zZw4XxAK3sxH0Mp28tusWqiyjsOg==
Age: 1
Page title: Dispenser Admin
<!DOCTYPE html><!--RGiMQ2GM_L3UYdu3Rms5i--><html lang="ko"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/1988a35e3f7de7f8.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/3be0f7284fa47fd4.js"/><script src="/_next/static/chunks/236f7e5abd6f09ff.js" async=""></script><script src="/_next/static/chunks/b5e0e67cf8afadf8.js" async=""></script><script src="/_next/static/chunks/cc759f7c2413b7ff.js" async=""></script><script src="/_next/static/chunks/turbopack-177ad9e00d1716f3.js" async=""></script><script src="/_next/static/chunks/ff1a16fafef87110.js" async=""></script><script src="/_next/static/chunks/7340adf74ff47ec0.js" async=""></script><script src="/_next/static/chunks/68236c430dabe353.js" async=""></script><title>Dispenser Admin</title><meta name="description" content="ESP32 Dispenser Management System"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="bg-gray-100 min-h-screen"><div hidden=""><!--$--><!--/$--></div><div class="max-w-6xl mx-auto p-6"><header class="mb-8"><h1 class="text-3xl font-bold text-gray-800">Dispenser Admin</h1><p class="text-gray-600 mt-1">ESP32 디스펜서 관리 시스템</p></header><div class="grid grid-cols-1 md:grid-cols-3 gap-4 mb-8"><div class="bg-white rounded-lg shadow p-6"><div class="text-sm text-gray-500">전체 디스펜서</div><div class="text-3xl font-bold text-gray-800">0</div></div><div class="bg-white rounded-lg shadow p-6"><div class="text-sm text-gray-500">온라인</div><div class="text-3xl font-bold text-green-600">0</div></div><div class="bg-white rounded-lg shadow p-6"><div class="text-sm text-gray-500">오프라인</div><div class="text-3xl font-bold text-red-600">0</div></div></div><div class="bg-white rounded-lg shadow"><div class="px-6 py-4 border-b border-gray-200 flex justify-between items-center"><h2 class="text-lg font-semibold text-gray-800">디스펜서 목록</h2><button class="px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600 transition">새로고침</button></div><div class="p-8 text-center text-gray-500">로딩 중...</div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/3be0f7284fa47fd4.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"default\"]\n4:I[47257,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"ClientPageRoot\"]\n5:I[52683,[\"/_next/static/chunks/68236c430dabe353.js\"],\"default\"]\n8:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"OutletBoundary\"]\n9:\"$Sreact.suspense\"\nb:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"ViewportBoundary\"]\nd:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"MetadataBoundary\"]\nf:I[68027,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"default\"]\n:HL[\"/_next/static/chunks/1988a35e3f7de7f8.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"RGiMQ2GM_L3UYdu3Rms5i\",\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/1988a35e3f7de7f8.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"ko\",\"children\":[\"$\",\"body\",null,{\"className\":\"bg-gray-100 min-h-screen\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$