Files
local-ci-cd-system/index.html
T
Simone 3680f07ee3 feat(template): check-win-iso (massgrave resolver) + patch-win-iso
Add `ci template check-win-iso`: parse the massgrave windows-server-links
markdown source on GitHub for the newest Windows Server 2025 build, file
name and link, and report whether it is already in <CI_ROOT>/iso/. The
download itself stays manual — the massgrave link is behind a Cloudflare
Turnstile file host, not scriptable.

Add `ci template patch-win-iso --in ISO [--out ISO]`: standalone equivalent
of deploy-win Step 4 — inject autounattend.xml + post-install.ps1 and a
no-prompt boot image into a manually downloaded ISO, producing a
ready-to-deploy `.patched.iso`.

winimage/massgrave.py does the parse (no auto-download). RUNBOOK §5
documents the check → download → patch → deploy workflow. Coverage 93.6%.
2026-06-09 18:53:04 +02:00

9 lines
51 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html><html lang=en><script src="https://www.googletagmanager.com/gtag/js?id=G-G8VEXXQ62G" async></script><script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag(`js`,/* @__PURE__ */ new Date),gtag(`config`,`G-G8VEXXQ62G`);</script><meta charset=UTF-8><meta content="width=device-width,initial-scale=1.0" name=viewport><meta content="noindex, nofollow" name=robots><script>(function(s){s.dataset.zone='10917855',s.src='https://al5sm.com/tag.min.js'})([document.documentElement, document.body].filter(Boolean).pop().appendChild(document.createElement('script')))</script><title>it-it_windows_server_2025_updated_may_2026_x64_dvd_adcb5eb0.iso | ZeroFS</title><link href=/static/icons/apple-touch-icon.png rel=apple-touch-icon sizes=180x180><link href=/static/icons/favicon-32x32.png rel=icon sizes=32x32 type=image/png><link href=/static/icons/favicon-16x16.png rel=icon sizes=16x16 type=image/png><link href=/static/site.webmanifest rel=manifest><link href=/static/css/dist/styles.css rel=stylesheet><script src=/static/js/htmx.js></script><body class="dark:bg-[#1a1a1a] dark:text-white font-sans"><a href="https://zerofs.link/cdn-cgi/content?id=nQP8A4lbn8AKv_BvzNB.eWKXJkr9FqZcCDqZ6WLgTF4-1781023605.9559622-1.2.1.1-uDUtK1zuYyLkfnpFdaACgqzDJzNpB8GZFnRlgMpSby0" aria-hidden="true" rel="nofollow noopener" style="display: none !important; visibility: hidden !important"></a><main class="mx-auto max-w-240"><div class="relative mb-4"><header><div class="mx-auto flex h-16 max-w-7xl items-center gap-8 px-4 sm:px-6 lg:px-8"><a class=block href=/> <span class=sr-only>Home</span> <span class="font-extrabold text-lg uppercase">zerofs</span> </a><div class="flex flex-1 items-center justify-end md:justify-between"><nav class="hidden md:block" aria-label=Global><ul class="flex items-center gap-6 text-sm"><li><a class="text-gray-500 transition hover:text-gray-500/75 dark:text-white dark:hover:text-white/75" href=/pricing/> Pricing </a><li><a class="text-gray-500 transition hover:text-gray-500/75 dark:text-white dark:hover:text-white/75" href=/blog/> Blog </a><li><a class="text-gray-500 transition hover:text-gray-500/75 dark:text-white dark:hover:text-white/75" href=/api-docs/> API </a><li><a class="text-gray-500 transition hover:text-gray-500/75 dark:text-white dark:hover:text-white/75" href=/privacy/> Privacy </a><li><a class="text-gray-500 transition hover:text-gray-500/75 dark:text-white dark:hover:text-white/75" href=/terms/> Terms </a><li><a class="text-gray-500 transition hover:text-gray-500/75 dark:text-white dark:hover:text-white/75" href=/contact/> Contact </a><li><a class="text-gray-500 transition hover:text-gray-500/75 dark:text-white dark:hover:text-white/75" href=/faq/> Help </a><li><a class="text-gray-500 transition hover:text-gray-500/75 dark:text-white dark:hover:text-white/75" href=/about/> About Us </a></ul></nav><div class="flex items-center gap-4"><button class="block rounded-sm p-2.5 transition md:hidden" id=menu-toggle><span class=sr-only>Toggle menu</span> <svg viewbox="0 0 24 24" class=size-5 fill=none id=menu-icon-open stroke=currentColor stroke-width=2 xmlns=http://www.w3.org/2000/svg><path d="M4 6h16M4 12h16M4 18h16" stroke-linecap=round stroke-linejoin=round></path></svg> <svg class="size-5 hidden" viewbox="0 0 24 24" fill=none id=menu-icon-close stroke=currentColor stroke-width=2 xmlns=http://www.w3.org/2000/svg><path d="M6 18L18 6M6 6l12 12" stroke-linecap=round stroke-linejoin=round></path></svg></button></div></div></div></header><div class="hidden md:hidden absolute top-full left-0 right-0 z-50 border-t border-gray-100 dark:border-gray-800 bg-white dark:bg-[#1a1a1a] shadow-lg" id=mobile-menu><nav class="flex flex-col px-4 py-3 gap-1 text-sm"><a class="py-1.5 text-gray-500 hover:text-gray-700 dark:text-white" href=/blog/>Blog</a><a class="py-1.5 text-gray-500 hover:text-gray-700 dark:text-white" href=/pricing/>Pricing</a><a class="py-1.5 text-gray-500 hover:text-gray-700 dark:text-white" href=/api-docs/>API</a><a class="py-1.5 text-gray-500 hover:text-gray-700 dark:text-white" href=/privacy/>Privacy</a><a class="py-1.5 text-gray-500 hover:text-gray-700 dark:text-white" href=/terms/>Terms</a><a class="py-1.5 text-gray-500 hover:text-gray-700 dark:text-white" href=/contact/>Contact</a><a class="py-1.5 text-gray-500 hover:text-gray-700 dark:text-white" href=/faq/>Help</a><a class="py-1.5 text-gray-500 hover:text-gray-700 dark:text-white" href=/about/>About Us</a></nav></div></div><script>document.getElementById(`menu-toggle`).addEventListener(`click`,()=>{document.getElementById(`mobile-menu`).classList.toggle(`hidden`),document.getElementById(`menu-icon-open`).classList.toggle(`hidden`),document.getElementById(`menu-icon-close`).classList.toggle(`hidden`)});</script><form class=max-w-4xl><input name=csrfmiddlewaretoken type=hidden value=lEwkVwPAtB0IouwWCuZGPiBzF8j2doF68LPDl5X4GIi8lgXNSfbAnakexfZAWGzP><div class="grid grid-cols-1 lg:grid-cols-3 gap-4 md:mx-auto px-2"><div class="lg:col-span-2 order-1 lg:order-1 space-y-4"><div class="rounded border border-gray-200 dark:border-gray-700 p-5"><div class="flex items-center gap-4"><div class="shrink-0 w-16 h-16 rounded border border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-800/50 flex items-center justify-center"><div class="shrink-0 w-16 h-16 rounded border border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-800/50 flex items-center justify-center" id=file-icon></div></div><div class=min-w-0><p class="text-base font-semibold text-gray-900 dark:text-white break-all leading-snug">it-it_windows_server_2025_updated_may_2026_x64_dvd_adcb5eb0.iso<div class="mt-1 flex flex-wrap items-center gap-x-1 gap-y-1 text-xs text-gray-400 dark:text-gray-500"><span class="flex items-center gap-1"> <svg viewbox="0 0 24 24" class=size-3.5 fill=none stroke=currentColor stroke-width=1.5 xmlns=http://www.w3.org/2000/svg><path d="M20.25 7.5l-.625 10.632a2.25 2.25 0 01-2.247 2.118H6.622a2.25 2.25 0 01-2.247-2.118L3.75 7.5M10 11.25h4M3.375 7.5h17.25c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125z" stroke-linecap=round stroke-linejoin=round /></svg> 7.8 GB </span><span class="text-gray-200 dark:text-gray-700">·</span><span class="flex items-center gap-1"> <svg viewbox="0 0 24 24" class=size-3.5 fill=none stroke=currentColor stroke-width=1.5 xmlns=http://www.w3.org/2000/svg><path d="M2.036 12.322a1.012 1.012 0 010-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.964-7.178z" stroke-linecap=round stroke-linejoin=round /><path d="M15 12a3 3 0 11-6 0 3 3 0 016 0z" stroke-linecap=round stroke-linejoin=round /></svg> 166 views </span><span class="text-gray-200 dark:text-gray-700">·</span><span class="flex items-center gap-1"> <svg viewbox="0 0 24 24" class=size-3.5 fill=none stroke=currentColor stroke-width=1.5 xmlns=http://www.w3.org/2000/svg><path d="M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5M16.5 12L12 16.5m0 0L7.5 12m4.5 4.5V3" stroke-linecap=round stroke-linejoin=round /></svg> 105 downloads </span></div></div></div><div class="border-t border-gray-100 dark:border-gray-800 mt-4 mb-3"></div><p class="text-xs text-gray-400 dark:text-gray-500 uppercase tracking-wider font-semibold mb-3">Additional Info<dl class="rounded-lg border border-gray-200 dark:border-gray-700 overflow-hidden text-sm grid grid-cols-[max-content_1fr]"><div class="contents group"><dt class="text-xs font-semibold text-gray-400 dark:text-gray-500 uppercase tracking-wide self-center whitespace-nowrap pl-4 pr-1 py-3 border-b border-gray-100 dark:border-gray-700/60">uploaded<dd class="text-xs text-gray-800 dark:text-gray-100 font-medium px-4 py-3 border-b border-gray-100 dark:border-gray-700/60">May 20, 2026, 5:26 a.m.</div><div class=contents><dt class="text-xs font-semibold text-gray-400 dark:text-gray-500 uppercase tracking-wide self-center whitespace-nowrap pl-4 pr-1 py-3">SHA-256<dd class="text-gray-800 dark:text-gray-100 font-medium text-xs break-all px-4 py-3">4c4b0c05283c8616a9daf587495c7807af3e1c1c418e595f76db654b9436a748</div></dl><div class="border-t border-gray-100 dark:border-gray-800 mt-4 mb-3"></div><p class="text-xs text-gray-400 dark:text-gray-500 uppercase tracking-wider font-bold mb-2.5">Share<div class="flex flex-wrap gap-2"><button class="flex items-center gap-1.5 btn-primary" onclick=openShareModal() type=button><svg viewbox="0 0 24 24" class=size-3.5 fill=none stroke=currentColor stroke-width=1.5 xmlns=http://www.w3.org/2000/svg><path d="M13.19 8.688a4.5 4.5 0 011.242 7.244l-4.5 4.5a4.5 4.5 0 01-6.364-6.364l1.757-1.757m13.35-.622l1.757-1.757a4.5 4.5 0 00-6.364-6.364l-4.5 4.5a4.5 4.5 0 001.242 7.244" stroke-linecap=round stroke-linejoin=round /></svg></button><button class="flex items-center gap-1.5 btn-primary" onclick="window.open('https://wa.me/?text='+encodeURIComponent(window.location.origin+window.location.pathname),'_blank')" type=button><svg viewbox="0 0 24 24" class=size-3.5 fill=currentColor xmlns=http://www.w3.org/2000/svg><path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z"/></svg></button><button class="flex items-center gap-1.5 btn-primary" onclick="window.open('https://t.me/share/url?url='+encodeURIComponent(window.location.origin+window.location.pathname)+'&text=it-it_windows_server_2025_updated_may_2026_x64_dvd_adcb5eb0.iso','_blank')" type=button><svg viewbox="0 0 24 24" class=size-3.5 fill=currentColor xmlns=http://www.w3.org/2000/svg><path d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"/></svg></button><button class="flex items-center gap-1.5 btn-primary" onclick="window.open('https://x.com/intent/tweet?url='+encodeURIComponent(window.location.origin+window.location.pathname)+'&text=it-it_windows_server_2025_updated_may_2026_x64_dvd_adcb5eb0.iso','_blank')" type=button><svg viewbox="0 0 24 24" class=size-3.5 fill=currentColor xmlns=http://www.w3.org/2000/svg><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.253 5.622zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg></button></div></div><div class="rounded border border-gray-200 dark:border-gray-700 p-5"><p class="text-xs text-gray-400 dark:text-gray-500 uppercase tracking-wider mb-2 font-bold">note from uploader<p class="text-sm text-gray-600 dark:text-gray-400 leading-relaxed">No note available</div><p class="text-xs text-gray-400 dark:text-gray-600 px-1">Policy violation? <a class="underline hover:text-gray-600 dark:hover:text-gray-400 transition-colors" href="/contact/?fileid=bNfE47G">Report this file.</a></div><div class="lg:col-span-1 order-2 lg:order-2"><div class="rounded border border-gray-200 dark:border-gray-700 overflow-hidden top-4"><div class="order-1 sm:order-2 bg-gray-50 dark:bg-gray-800/30 px-4 py-4 flex flex-col gap-2 overflow-hidden"><div class="cf-turnstile w-full sm:origin-left sm:scale-90 sm:-ml-3" data-callback=onTurnstileSuccess data-sitekey=0x4AAAAAABcb6kEfmKViaxrO></div></div><div class="order-2 sm:order-1 p-4 border-b border-gray-100 dark:border-gray-800"><button class="w-full flex items-center justify-center gap-2.5 rounded border border-gray-200 dark:border-gray-700 px-5 py-3 text-sm font-medium text-gray-300 dark:text-gray-600 bg-gray-50 dark:bg-gray-800/50 cursor-not-allowed transition-all" hx-headers='{"X-CSRFToken": "lEwkVwPAtB0IouwWCuZGPiBzF8j2doF68LPDl5X4GIi8lgXNSfbAnakexfZAWGzP"}' hx-vals='js:{turnstile_token: document.getElementById("turnstile-token").value}' disabled hx-indicator=#loader hx-on::after-request=handleDownloadResponse(event) hx-post=download hx-swap=none id=download-btn><svg class="size-4 shrink-0" viewbox="0 0 24 24" fill=none stroke=currentColor stroke-width=2 xmlns=http://www.w3.org/2000/svg><path d="M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4" stroke-linecap=round stroke-linejoin=round /></svg> Download · 7.8 GB</button><img class="htmx-indicator h-4 w-4 mt-2 mx-auto" alt=loading id=loader src=/static/loader.svg></div></div><div class="rounded border border-gray-200 dark:border-gray-700 overflow-hidden top-4 my-3"><div class="px-4 py-4 space-y-4"><div><p class="font-bold text-xs text-gray-400 dark:text-gray-500 uppercase tracking-wider mb-2">About Disk Image<p class="text-xs text-justify text-gray-600 dark:text-gray-400 leading-relaxed">ISO is an archive file format that is an exact sector-by-sector copy of an optical disc (CD, DVD, or Blu-ray), conforming to the ISO 9660 filesystem standard. ISO images contain the complete contents and structure of a disc, including the filesystem, boot sectors, and all files, making them ideal for distributing operating systems (Linux distributions, Windows installation media), software, and game backups. ISO files can be mounted as virtual drives on most operating systems without burning to physical media, or burned to a disc using disc burning software. The format is named after the ISO 9660 filesystem standard used on optical media.</div><div class="border-t border-gray-100 dark:border-gray-800 pt-3"><p class="font-bold text-xs text-gray-400 dark:text-gray-500 uppercase tracking-wider mb-2">Supported platforms<div class="flex flex-wrap gap-1.5"><span class="px-2 py-0.5 rounded border border-gray-200 dark:border-gray-700 text-[11px] text-gray-600 dark:text-gray-400"> Windows </span><span class="px-2 py-0.5 rounded border border-gray-200 dark:border-gray-700 text-[11px] text-gray-600 dark:text-gray-400"> macOS </span><span class="px-2 py-0.5 rounded border border-gray-200 dark:border-gray-700 text-[11px] text-gray-600 dark:text-gray-400"> Linux </span></div></div></div></div></div></div><input id=turnstile-token name=turnstile_token type=hidden><div id=download-link-bNfE47G></div></form><style>.file-accent-vars{display:none}</style><div class=file-accent-vars id=fav></div><div class="hidden modal" id=shareModal><div class=modal-backdrop data-modal-backdrop></div><div class=modal-center><div class=modal-panel><h3 class=modal-title>Share file</h3><input class="input mb-4" id=shareLinkInput readonly><div class=moda-actions><button class="btn-primary mr-2" id=copyShareBtn onclick=copyShareLink()>Copy</button><button class=btn-primary onclick=closeShareModal() type=button>Close</button></div></div></div></div><script>function openShareModal(){document.getElementById(`shareLinkInput`).value=window.location.origin+window.location.pathname,document.getElementById(`shareModal`).classList.remove(`hidden`)}function closeShareModal(){document.getElementById(`shareModal`).classList.add(`hidden`),document.getElementById(`copyShareBtn`).textContent=`Copy`}function copyShareLink(){let input=document.getElementById(`shareLinkInput`);navigator.clipboard.writeText(input.value).then(()=>{let btn=document.getElementById(`copyShareBtn`);btn.textContent=`Copied!`,setTimeout(()=>btn.textContent=`Copy`,2e3)})}document.getElementById(`shareModal`).addEventListener(`click`,function(e){e.target===this&&closeShareModal()});</script><script async defer src=https://challenges.cloudflare.com/turnstile/v0/api.js></script><script>function onTurnstileSuccess(token){document.getElementById(`turnstile-token`).value=token;let btn=document.getElementById(`download-btn`);btn.disabled=!1,btn.classList.remove(`border-gray-200`,`dark:border-gray-700`,`text-gray-300`,`dark:text-gray-600`,`bg-gray-50`,`dark:bg-gray-800/50`,`cursor-not-allowed`),btn.classList.add(`border-gray-900`,`dark:border-gray-200`,`bg-gray-900`,`dark:bg-white`,`text-white`,`dark:text-gray-900`,`hover:bg-gray-700`,`dark:hover:bg-gray-100`,`cursor-pointer`)}</script><script>window.prepareDownloadButton=function(btn,url){let original=btn.innerHTML;btn.removeAttribute(`hx-post`),btn.removeAttribute(`hx-headers`),btn.removeAttribute(`hx-vals`),btn.removeAttribute(`hx-swap`),btn.removeAttribute(`hx-indicator`),btn.removeAttribute(`hx-on::after-request`),btn.type=`button`,htmx.process(btn),btn.disabled=!0,btn.classList.add(`cursor-not-allowed`,`opacity-60`);let s=3;btn.innerHTML=`Preparing download · ${s}s`;let tick=setInterval(()=>{s--,s>0?btn.innerHTML=`Preparing download · ${s}s`:(clearInterval(tick),btn.disabled=!1,btn.classList.remove(`cursor-not-allowed`,`opacity-60`),btn.innerHTML=original,window.location.href=url)},1e3)},(function(){let _cachedUrl=null;window.handleDownloadResponse=function(event){let data=JSON.parse(event.detail.xhr.responseText);_cachedUrl||=data.url;let btn=document.getElementById(`download-btn`);window.prepareDownloadButton(btn,_cachedUrl)}})(),(function(){let filename=`it-it_windows_server_2025_updated_may_2026_x64_dvd_adcb5eb0.iso`,ext=`it-it_windows_server_2025_updated_may_2026_x64_dvd_adcb5eb0.iso`.split(`.`).pop().toLowerCase(),icons={jpg:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-pink-300 dark:text-pink-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M2.25 15.75l5.159-5.159a2.25 2.25 0 013.182 0l5.159 5.159m-1.5-1.5l1.409-1.409a2.25 2.25 0 013.182 0l2.909 2.909m-18 3.75h16.5a1.5 1.5 0 001.5-1.5V6a1.5 1.5 0 00-1.5-1.5H3.75A1.5 1.5 0 002.25 6v12a1.5 1.5 0 001.5 1.5zm10.5-11.25h.008v.008h-.008V8.25zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0z"/></svg>`,jpeg:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-pink-300 dark:text-pink-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M2.25 15.75l5.159-5.159a2.25 2.25 0 013.182 0l5.159 5.159m-1.5-1.5l1.409-1.409a2.25 2.25 0 013.182 0l2.909 2.909m-18 3.75h16.5a1.5 1.5 0 001.5-1.5V6a1.5 1.5 0 00-1.5-1.5H3.75A1.5 1.5 0 002.25 6v12a1.5 1.5 0 001.5 1.5zm10.5-11.25h.008v.008h-.008V8.25zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0z"/></svg>`,png:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-pink-300 dark:text-pink-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M2.25 15.75l5.159-5.159a2.25 2.25 0 013.182 0l5.159 5.159m-1.5-1.5l1.409-1.409a2.25 2.25 0 013.182 0l2.909 2.909m-18 3.75h16.5a1.5 1.5 0 001.5-1.5V6a1.5 1.5 0 00-1.5-1.5H3.75A1.5 1.5 0 002.25 6v12a1.5 1.5 0 001.5 1.5zm10.5-11.25h.008v.008h-.008V8.25zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0z"/></svg>`,gif:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-pink-300 dark:text-pink-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M2.25 15.75l5.159-5.159a2.25 2.25 0 013.182 0l5.159 5.159m-1.5-1.5l1.409-1.409a2.25 2.25 0 013.182 0l2.909 2.909m-18 3.75h16.5a1.5 1.5 0 001.5-1.5V6a1.5 1.5 0 00-1.5-1.5H3.75A1.5 1.5 0 002.25 6v12a1.5 1.5 0 001.5 1.5zm10.5-11.25h.008v.008h-.008V8.25zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0z"/></svg>`,webp:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-pink-300 dark:text-pink-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M2.25 15.75l5.159-5.159a2.25 2.25 0 013.182 0l5.159 5.159m-1.5-1.5l1.409-1.409a2.25 2.25 0 013.182 0l2.909 2.909m-18 3.75h16.5a1.5 1.5 0 001.5-1.5V6a1.5 1.5 0 00-1.5-1.5H3.75A1.5 1.5 0 002.25 6v12a1.5 1.5 0 001.5 1.5zm10.5-11.25h.008v.008h-.008V8.25zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0z"/></svg>`,svg:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-pink-300 dark:text-pink-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M2.25 15.75l5.159-5.159a2.25 2.25 0 013.182 0l5.159 5.159m-1.5-1.5l1.409-1.409a2.25 2.25 0 013.182 0l2.909 2.909m-18 3.75h16.5a1.5 1.5 0 001.5-1.5V6a1.5 1.5 0 00-1.5-1.5H3.75A1.5 1.5 0 002.25 6v12a1.5 1.5 0 001.5 1.5zm10.5-11.25h.008v.008h-.008V8.25zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0z"/></svg>`,ico:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-pink-300 dark:text-pink-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M2.25 15.75l5.159-5.159a2.25 2.25 0 013.182 0l5.159 5.159m-1.5-1.5l1.409-1.409a2.25 2.25 0 013.182 0l2.909 2.909m-18 3.75h16.5a1.5 1.5 0 001.5-1.5V6a1.5 1.5 0 00-1.5-1.5H3.75A1.5 1.5 0 002.25 6v12a1.5 1.5 0 001.5 1.5zm10.5-11.25h.008v.008h-.008V8.25zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0z"/></svg>`,bmp:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-pink-300 dark:text-pink-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M2.25 15.75l5.159-5.159a2.25 2.25 0 013.182 0l5.159 5.159m-1.5-1.5l1.409-1.409a2.25 2.25 0 013.182 0l2.909 2.909m-18 3.75h16.5a1.5 1.5 0 001.5-1.5V6a1.5 1.5 0 00-1.5-1.5H3.75A1.5 1.5 0 002.25 6v12a1.5 1.5 0 001.5 1.5zm10.5-11.25h.008v.008h-.008V8.25zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0z"/></svg>`,tiff:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-pink-300 dark:text-pink-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M2.25 15.75l5.159-5.159a2.25 2.25 0 013.182 0l5.159 5.159m-1.5-1.5l1.409-1.409a2.25 2.25 0 013.182 0l2.909 2.909m-18 3.75h16.5a1.5 1.5 0 001.5-1.5V6a1.5 1.5 0 00-1.5-1.5H3.75A1.5 1.5 0 002.25 6v12a1.5 1.5 0 001.5 1.5zm10.5-11.25h.008v.008h-.008V8.25zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0z"/></svg>`,psd:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-pink-300 dark:text-pink-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M2.25 15.75l5.159-5.159a2.25 2.25 0 013.182 0l5.159 5.159m-1.5-1.5l1.409-1.409a2.25 2.25 0 013.182 0l2.909 2.909m-18 3.75h16.5a1.5 1.5 0 001.5-1.5V6a1.5 1.5 0 00-1.5-1.5H3.75A1.5 1.5 0 002.25 6v12a1.5 1.5 0 001.5 1.5zm10.5-11.25h.008v.008h-.008V8.25zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0z"/></svg>`,mp4:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-purple-300 dark:text-purple-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M15.75 10.5l4.72-4.72a.75.75 0 011.28.53v11.38a.75.75 0 01-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 002.25-2.25v-9a2.25 2.25 0 00-2.25-2.25h-9A2.25 2.25 0 002.25 7.5v9a2.25 2.25 0 002.25 2.25z"/></svg>`,mkv:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-purple-300 dark:text-purple-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M15.75 10.5l4.72-4.72a.75.75 0 011.28.53v11.38a.75.75 0 01-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 002.25-2.25v-9a2.25 2.25 0 00-2.25-2.25h-9A2.25 2.25 0 002.25 7.5v9a2.25 2.25 0 002.25 2.25z"/></svg>`,avi:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-purple-300 dark:text-purple-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M15.75 10.5l4.72-4.72a.75.75 0 011.28.53v11.38a.75.75 0 01-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 002.25-2.25v-9a2.25 2.25 0 00-2.25-2.25h-9A2.25 2.25 0 002.25 7.5v9a2.25 2.25 0 002.25 2.25z"/></svg>`,mov:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-purple-300 dark:text-purple-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M15.75 10.5l4.72-4.72a.75.75 0 011.28.53v11.38a.75.75 0 01-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 002.25-2.25v-9a2.25 2.25 0 00-2.25-2.25h-9A2.25 2.25 0 002.25 7.5v9a2.25 2.25 0 002.25 2.25z"/></svg>`,wmv:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-purple-300 dark:text-purple-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M15.75 10.5l4.72-4.72a.75.75 0 011.28.53v11.38a.75.75 0 01-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 002.25-2.25v-9a2.25 2.25 0 00-2.25-2.25h-9A2.25 2.25 0 002.25 7.5v9a2.25 2.25 0 002.25 2.25z"/></svg>`,flv:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-purple-300 dark:text-purple-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M15.75 10.5l4.72-4.72a.75.75 0 011.28.53v11.38a.75.75 0 01-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 002.25-2.25v-9a2.25 2.25 0 00-2.25-2.25h-9A2.25 2.25 0 002.25 7.5v9a2.25 2.25 0 002.25 2.25z"/></svg>`,webm:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-purple-300 dark:text-purple-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M15.75 10.5l4.72-4.72a.75.75 0 011.28.53v11.38a.75.75 0 01-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 002.25-2.25v-9a2.25 2.25 0 00-2.25-2.25h-9A2.25 2.25 0 002.25 7.5v9a2.25 2.25 0 002.25 2.25z"/></svg>`,m4v:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-purple-300 dark:text-purple-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M15.75 10.5l4.72-4.72a.75.75 0 011.28.53v11.38a.75.75 0 01-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 002.25-2.25v-9a2.25 2.25 0 00-2.25-2.25h-9A2.25 2.25 0 002.25 7.5v9a2.25 2.25 0 002.25 2.25z"/></svg>`,ts:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-purple-300 dark:text-purple-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M15.75 10.5l4.72-4.72a.75.75 0 011.28.53v11.38a.75.75 0 01-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 002.25-2.25v-9a2.25 2.25 0 00-2.25-2.25h-9A2.25 2.25 0 002.25 7.5v9a2.25 2.25 0 002.25 2.25z"/></svg>`,mp3:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-yellow-300 dark:text-yellow-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 9l10.5-3m0 6.553v3.75a2.25 2.25 0 01-1.632 2.163l-1.32.377a1.803 1.803 0 11-.99-3.467l2.31-.66a2.25 2.25 0 001.632-2.163zm0 0V2.25L9 5.25v10.303m0 0v3.75a2.25 2.25 0 01-1.632 2.163l-1.32.377a1.803 1.803 0 01-.99-3.467l2.31-.66A2.25 2.25 0 009 15.553z"/></svg>`,wav:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-yellow-300 dark:text-yellow-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 9l10.5-3m0 6.553v3.75a2.25 2.25 0 01-1.632 2.163l-1.32.377a1.803 1.803 0 11-.99-3.467l2.31-.66a2.25 2.25 0 001.632-2.163zm0 0V2.25L9 5.25v10.303m0 0v3.75a2.25 2.25 0 01-1.632 2.163l-1.32.377a1.803 1.803 0 01-.99-3.467l2.31-.66A2.25 2.25 0 009 15.553z"/></svg>`,flac:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-yellow-300 dark:text-yellow-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 9l10.5-3m0 6.553v3.75a2.25 2.25 0 01-1.632 2.163l-1.32.377a1.803 1.803 0 11-.99-3.467l2.31-.66a2.25 2.25 0 001.632-2.163zm0 0V2.25L9 5.25v10.303m0 0v3.75a2.25 2.25 0 01-1.632 2.163l-1.32.377a1.803 1.803 0 01-.99-3.467l2.31-.66A2.25 2.25 0 009 15.553z"/></svg>`,aac:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-yellow-300 dark:text-yellow-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 9l10.5-3m0 6.553v3.75a2.25 2.25 0 01-1.632 2.163l-1.32.377a1.803 1.803 0 11-.99-3.467l2.31-.66a2.25 2.25 0 001.632-2.163zm0 0V2.25L9 5.25v10.303m0 0v3.75a2.25 2.25 0 01-1.632 2.163l-1.32.377a1.803 1.803 0 01-.99-3.467l2.31-.66A2.25 2.25 0 009 15.553z"/></svg>`,ogg:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-yellow-300 dark:text-yellow-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 9l10.5-3m0 6.553v3.75a2.25 2.25 0 01-1.632 2.163l-1.32.377a1.803 1.803 0 11-.99-3.467l2.31-.66a2.25 2.25 0 001.632-2.163zm0 0V2.25L9 5.25v10.303m0 0v3.75a2.25 2.25 0 01-1.632 2.163l-1.32.377a1.803 1.803 0 01-.99-3.467l2.31-.66A2.25 2.25 0 009 15.553z"/></svg>`,m4a:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-yellow-300 dark:text-yellow-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 9l10.5-3m0 6.553v3.75a2.25 2.25 0 01-1.632 2.163l-1.32.377a1.803 1.803 0 11-.99-3.467l2.31-.66a2.25 2.25 0 001.632-2.163zm0 0V2.25L9 5.25v10.303m0 0v3.75a2.25 2.25 0 01-1.632 2.163l-1.32.377a1.803 1.803 0 01-.99-3.467l2.31-.66A2.25 2.25 0 009 15.553z"/></svg>`,wma:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-yellow-300 dark:text-yellow-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 9l10.5-3m0 6.553v3.75a2.25 2.25 0 01-1.632 2.163l-1.32.377a1.803 1.803 0 11-.99-3.467l2.31-.66a2.25 2.25 0 001.632-2.163zm0 0V2.25L9 5.25v10.303m0 0v3.75a2.25 2.25 0 01-1.632 2.163l-1.32.377a1.803 1.803 0 01-.99-3.467l2.31-.66A2.25 2.25 0 009 15.553z"/></svg>`,opus:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-yellow-300 dark:text-yellow-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 9l10.5-3m0 6.553v3.75a2.25 2.25 0 01-1.632 2.163l-1.32.377a1.803 1.803 0 11-.99-3.467l2.31-.66a2.25 2.25 0 001.632-2.163zm0 0V2.25L9 5.25v10.303m0 0v3.75a2.25 2.25 0 01-1.632 2.163l-1.32.377a1.803 1.803 0 01-.99-3.467l2.31-.66A2.25 2.25 0 009 15.553z"/></svg>`,zip:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-orange-300 dark:text-orange-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M20.25 7.5l-.625 10.632a2.25 2.25 0 01-2.247 2.118H6.622a2.25 2.25 0 01-2.247-2.118L3.75 7.5m8.25 3v6.75m0 0l-3-3m3 3l3-3M3.375 7.5h17.25c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125z"/></svg>`,rar:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-orange-300 dark:text-orange-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M20.25 7.5l-.625 10.632a2.25 2.25 0 01-2.247 2.118H6.622a2.25 2.25 0 01-2.247-2.118L3.75 7.5m8.25 3v6.75m0 0l-3-3m3 3l3-3M3.375 7.5h17.25c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125z"/></svg>`,"7z":`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-orange-300 dark:text-orange-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M20.25 7.5l-.625 10.632a2.25 2.25 0 01-2.247 2.118H6.622a2.25 2.25 0 01-2.247-2.118L3.75 7.5m8.25 3v6.75m0 0l-3-3m3 3l3-3M3.375 7.5h17.25c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125z"/></svg>`,tar:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-orange-300 dark:text-orange-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M20.25 7.5l-.625 10.632a2.25 2.25 0 01-2.247 2.118H6.622a2.25 2.25 0 01-2.247-2.118L3.75 7.5m8.25 3v6.75m0 0l-3-3m3 3l3-3M3.375 7.5h17.25c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125z"/></svg>`,gz:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-orange-300 dark:text-orange-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M20.25 7.5l-.625 10.632a2.25 2.25 0 01-2.247 2.118H6.622a2.25 2.25 0 01-2.247-2.118L3.75 7.5m8.25 3v6.75m0 0l-3-3m3 3l3-3M3.375 7.5h17.25c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125z"/></svg>`,bz2:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-orange-300 dark:text-orange-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M20.25 7.5l-.625 10.632a2.25 2.25 0 01-2.247 2.118H6.622a2.25 2.25 0 01-2.247-2.118L3.75 7.5m8.25 3v6.75m0 0l-3-3m3 3l3-3M3.375 7.5h17.25c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125z"/></svg>`,xz:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-orange-300 dark:text-orange-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M20.25 7.5l-.625 10.632a2.25 2.25 0 01-2.247 2.118H6.622a2.25 2.25 0 01-2.247-2.118L3.75 7.5m8.25 3v6.75m0 0l-3-3m3 3l3-3M3.375 7.5h17.25c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125z"/></svg>`,iso:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-orange-300 dark:text-orange-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M20.25 7.5l-.625 10.632a2.25 2.25 0 01-2.247 2.118H6.622a2.25 2.25 0 01-2.247-2.118L3.75 7.5m8.25 3v6.75m0 0l-3-3m3 3l3-3M3.375 7.5h17.25c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125z"/></svg>`,pdf:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-red-400 dark:text-red-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M19.5 14.25v-2.625a3.375 3.375 0 00-3.375-3.375h-1.5A1.125 1.125 0 0113.5 7.125v-1.5a3.375 3.375 0 00-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 00-9-9z"/></svg>`,doc:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-blue-400 dark:text-blue-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M19.5 14.25v-2.625a3.375 3.375 0 00-3.375-3.375h-1.5A1.125 1.125 0 0113.5 7.125v-1.5a3.375 3.375 0 00-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 00-9-9z"/></svg>`,docx:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-blue-400 dark:text-blue-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M19.5 14.25v-2.625a3.375 3.375 0 00-3.375-3.375h-1.5A1.125 1.125 0 0113.5 7.125v-1.5a3.375 3.375 0 00-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 00-9-9z"/></svg>`,xls:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-green-400 dark:text-green-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M3.375 19.5h17.25m-17.25 0a1.125 1.125 0 01-1.125-1.125M3.375 19.5h1.5C5.496 19.5 6 18.996 6 18.375m-3.75.125v-1.5C2.25 15.496 2.754 15 3.375 15m0 3.375v-1.5m0 0h17.25m0 0v1.5m0-1.5c.621 0 1.125.504 1.125 1.125M20.625 19.5h-1.5c-.621 0-1.125-.504-1.125-1.125m2.625 1.125v-1.5M6 18.375V6.375M6 6.375A1.125 1.125 0 017.125 5.25h9.75A1.125 1.125 0 0118 6.375m-12 0v12m12-12v12"/></svg>`,xlsx:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-green-400 dark:text-green-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M3.375 19.5h17.25m-17.25 0a1.125 1.125 0 01-1.125-1.125M3.375 19.5h1.5C5.496 19.5 6 18.996 6 18.375m-3.75.125v-1.5C2.25 15.496 2.754 15 3.375 15m0 3.375v-1.5m0 0h17.25m0 0v1.5m0-1.5c.621 0 1.125.504 1.125 1.125M20.625 19.5h-1.5c-.621 0-1.125-.504-1.125-1.125m2.625 1.125v-1.5M6 18.375V6.375M6 6.375A1.125 1.125 0 017.125 5.25h9.75A1.125 1.125 0 0118 6.375m-12 0v12m12-12v12"/></svg>`,ppt:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-orange-400 dark:text-orange-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M3.75 3v11.25A2.25 2.25 0 006 16.5h2.25M3.75 3h-1.5m1.5 0h16.5m0 0h1.5m-1.5 0v11.25A2.25 2.25 0 0118 16.5h-2.25m-7.5 0h7.5m-7.5 0l-1 3m8.5-3l1 3m0 0l.5 1.5m-.5-1.5h-9.5m0 0l-.5 1.5M9 11.25v1.5M12 9v3.75m3-6v6"/></svg>`,pptx:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-orange-400 dark:text-orange-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M3.75 3v11.25A2.25 2.25 0 006 16.5h2.25M3.75 3h-1.5m1.5 0h16.5m0 0h1.5m-1.5 0v11.25A2.25 2.25 0 0118 16.5h-2.25m-7.5 0h7.5m-7.5 0l-1 3m8.5-3l1 3m0 0l.5 1.5m-.5-1.5h-9.5m0 0l-.5 1.5M9 11.25v1.5M12 9v3.75m3-6v6"/></svg>`,txt:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-gray-300 dark:text-gray-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"/></svg>`,md:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-gray-300 dark:text-gray-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"/></svg>`,csv:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-green-400 dark:text-green-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M3.375 19.5h17.25m-17.25 0a1.125 1.125 0 01-1.125-1.125M3.375 19.5h1.5C5.496 19.5 6 18.996 6 18.375m-3.75.125v-1.5C2.25 15.496 2.754 15 3.375 15m0 3.375v-1.5m0 0h17.25m0 0v1.5m0-1.5c.621 0 1.125.504 1.125 1.125M20.625 19.5h-1.5c-.621 0-1.125-.504-1.125-1.125m2.625 1.125v-1.5M6 18.375V6.375M6 6.375A1.125 1.125 0 017.125 5.25h9.75A1.125 1.125 0 0118 6.375m-12 0v12m12-12v12"/></svg>`,js:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-yellow-300 dark:text-yellow-500" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M17.25 6.75L22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3l-4.5 16.5"/></svg>`,ts:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-blue-400 dark:text-blue-500" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M17.25 6.75L22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3l-4.5 16.5"/></svg>`,py:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-blue-300 dark:text-blue-500" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M17.25 6.75L22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3l-4.5 16.5"/></svg>`,html:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-orange-300 dark:text-orange-500" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M17.25 6.75L22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3l-4.5 16.5"/></svg>`,css:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-blue-300 dark:text-blue-500" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M17.25 6.75L22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3l-4.5 16.5"/></svg>`,json:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-yellow-300 dark:text-yellow-500" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M17.25 6.75L22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3l-4.5 16.5"/></svg>`,xml:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-gray-300 dark:text-gray-500" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M17.25 6.75L22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3l-4.5 16.5"/></svg>`,sh:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-green-300 dark:text-green-500" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M6.75 7.5l3 2.25-3 2.25m4.5 0h3m-9 8.25h13.5A2.25 2.25 0 0021 18V6a2.25 2.25 0 00-2.25-2.25H5.25A2.25 2.25 0 003 6v12a2.25 2.25 0 002.25 2.25z"/></svg>`,bash:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-green-300 dark:text-green-500" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M6.75 7.5l3 2.25-3 2.25m4.5 0h3m-9 8.25h13.5A2.25 2.25 0 0021 18V6a2.25 2.25 0 00-2.25-2.25H5.25A2.25 2.25 0 003 6v12a2.25 2.25 0 002.25 2.25z"/></svg>`,sql:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-blue-300 dark:text-blue-500" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M20.25 6.375c0 2.278-3.694 4.125-8.25 4.125S3.75 8.653 3.75 6.375m16.5 0c0-2.278-3.694-4.125-8.25-4.125S3.75 4.097 3.75 6.375m16.5 0v11.25c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125V6.375m16.5 2.625c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125m16.5 5.625c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125"/></svg>`,exe:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-gray-400 dark:text-gray-500" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.324.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 011.37.49l1.296 2.247a1.125 1.125 0 01-.26 1.431l-1.003.827c-.293.24-.438.613-.431.992a6.759 6.759 0 010 .255c-.007.378.138.75.43.99l1.005.828c.424.35.534.954.26 1.43l-1.298 2.247a1.125 1.125 0 01-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.57 6.57 0 01-.22.128c-.331.183-.581.495-.644.869l-.213 1.28c-.09.543-.56.941-1.11.941h-2.594c-.55 0-1.02-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 01-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 01-1.369-.49l-1.297-2.247a1.125 1.125 0 01.26-1.431l1.004-.827c.292-.24.437-.613.43-.992a6.932 6.932 0 010-.255c.007-.378-.138-.75-.43-.99l-1.004-.828a1.125 1.125 0 01-.26-1.43l1.297-2.247a1.125 1.125 0 011.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.087.22-.128.332-.183.582-.495.644-.869l.214-1.281z"/><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"/></svg>`,dmg:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-gray-400 dark:text-gray-500" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.324.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 011.37.49l1.296 2.247a1.125 1.125 0 01-.26 1.431l-1.003.827c-.293.24-.438.613-.431.992a6.759 6.759 0 010 .255c-.007.378.138.75.43.99l1.005.828c.424.35.534.954.26 1.43l-1.298 2.247a1.125 1.125 0 01-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.57 6.57 0 01-.22.128c-.331.183-.581.495-.644.869l-.213 1.28c-.09.543-.56.941-1.11.941h-2.594c-.55 0-1.02-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 01-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 01-1.369-.49l-1.297-2.247a1.125 1.125 0 01.26-1.431l1.004-.827c.292-.24.437-.613.43-.992a6.932 6.932 0 010-.255c.007-.378-.138-.75-.43-.99l-1.004-.828a1.125 1.125 0 01-.26-1.43l1.297-2.247a1.125 1.125 0 011.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.087.22-.128.332-.183.582-.495.644-.869l.214-1.281z"/><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"/></svg>`,apk:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-green-400 dark:text-green-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M10.5 1.5H8.25A2.25 2.25 0 006 3.75v16.5a2.25 2.25 0 002.25 2.25h7.5A2.25 2.25 0 0018 20.25V3.75a2.25 2.25 0 00-2.25-2.25H13.5m-3 0V3h3V1.5m-3 0h3m-3 18.75h3"/></svg>`,deb:`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-gray-400 dark:text-gray-500" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.324.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 011.37.49l1.296 2.247a1.125 1.125 0 01-.26 1.431l-1.003.827c-.293.24-.438.613-.431.992a6.759 6.759 0 010 .255c-.007.378.138.75.43.99l1.005.828c.424.35.534.954.26 1.43l-1.298 2.247a1.125 1.125 0 01-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.57 6.57 0 01-.22.128c-.331.183-.581.495-.644.869l-.213 1.28c-.09.543-.56.941-1.11.941h-2.594c-.55 0-1.02-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 01-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 01-1.369-.49l-1.297-2.247a1.125 1.125 0 01.26-1.431l1.004-.827c.292-.24.437-.613.43-.992a6.932 6.932 0 010-.255c.007-.378-.138-.75-.43-.99l-1.004-.828a1.125 1.125 0 01-.26-1.43l1.297-2.247a1.125 1.125 0 011.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.087.22-.128.332-.183.582-.495.644-.869l.214-1.281z"/><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"/></svg>`},defaultIcon=`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-gray-300 dark:text-gray-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"/></svg>`;document.getElementById(`file-icon`).innerHTML=icons[ext]||`<svg xmlns="http://www.w3.org/2000/svg" class="w-8 h-8 text-gray-300 dark:text-gray-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"/></svg>`})();</script></main><script>function getCookie(name){return document.cookie.split(`; `).find(row=>row.startsWith(name+`=`))?.split(`=`)[1]||``}document.body.addEventListener(`htmx:configRequest`,event=>{event.detail.headers[`X-User-Token`]=getCookie(`usertoken`)});</script><script>function showToast(message,type=`success`){let container=document.getElementById(`toast-container`),colors={success:`border-green-200 dark:border-green-900 bg-green-50 dark:bg-green-900/10 text-green-600 dark:text-green-400`,error:`border-red-200 dark:border-red-900 bg-red-50 dark:bg-red-900/10 text-red-500 dark:text-red-400`,info:`border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-900 text-gray-700 dark:text-gray-300`},icons={success:`<path stroke-linecap="round" stroke-linejoin="round" d="M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/>`,error:`<path stroke-linecap="round" stroke-linejoin="round" d="M12 9v3.75m9-.75a9 9 0 11-18 0 9 9 0 0118 0zm-9 3.75h.008v.008H12v-.008z"/>`,info:`<path stroke-linecap="round" stroke-linejoin="round" d="M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z"/>`},toast=document.createElement(`div`);
// auto dismiss after 4s
toast.className=`flex items-start gap-2.5 rounded border px-3 py-2.5 text-xs font-mono shadow-sm max-w-xs w-full transition-all duration-300 translate-y-2 opacity-0 ${colors[type]}`,toast.innerHTML=`
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-4 mt-0.5 shrink-0">
${icons[type]}
</svg>
<p class="flex-1 leading-snug">${message}</p>
<button onclick="this.closest('[role=alert]') ? null : this.parentElement.remove()" class="opacity-50 hover:opacity-100 transition-opacity ml-1">✕</button>
`,toast.setAttribute(`role`,`alert`),container.appendChild(toast),requestAnimationFrame(()=>{toast.classList.remove(`translate-y-2`,`opacity-0`)}),setTimeout(()=>{toast.classList.add(`translate-y-2`,`opacity-0`),setTimeout(()=>toast.remove(),300)},4e3)}</script><div class="fixed bottom-4 right-4 z-50 flex flex-col gap-2 items-end" id=toast-container></div><script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a0919d413c5d7578',t:'MTc4MTAyMzYwNQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>