https://deno.com/

Submitted URL:
https://deno.com/
Report Finished:

The outgoing links identified from the page

LinkText
https://fresh.deno.devFreshWeb framework designed for the edge
https://jsr.ioJSRTypeScript-first ESM package registry
https://jsr.io/@stdStandard Library
https://discord.gg/denoDiscord
https://github.com/denolandGitHub
https://twitter.com/deno_landX
https://www.youtube.com/c/deno_landYouTube
https://fosstodon.org/@deno_landMastodon
https://deno.land/x/stdstdDeno standard library
https://deno.land/x/std/wasistd/wasi

JavaScript Variables · 44 found

Global JavaScript variables loaded on the window object of a page, are variables declared outside of functions and accessible from anywhere in the code within the current scope

NameType
onbeforetoggleobject
documentPictureInPictureobject
onscrollendobject
dataLayerobject
gsapVersionsobject
Linearobject
Power0object
Quadobject
Power1object
Cubicobject

Console log messages · 2 found

Messages logged to the web console

TypeCategoryLog
warningother
URL
https://deno.com/scripts/gsap.min.js?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1
Text
GSAP target [object NodeList] not found. https://gsap.com
warningother
URL
https://deno.com/scripts/gsap.min.js?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1
Text
GSAP target not found. https://gsap.com

HTML

The raw HTML body of the page

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Deno, the next-generation JavaScript runtime</title><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/deserializer.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/chunk-Z47A3HLT.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/signals.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/chunk-XES35ZKO.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/chunk-P44X32AR.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/chunk-XYAFUHEC.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/chunk-2ECNM7B2.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/main.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/chunk-YUKDS75I.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/island-skiptomainlink.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/chunk-7C2XEWBN.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/island-hellobar.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/chunk-QW6FKADK.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/chunk-7HK5K2OH.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/island-navitemwithchildren.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/island-globalsearch.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/island-runtime_hero.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/chunk-YCLERTRK.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/chunk-FVG7UKL7.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/chunk-46T7VU3K.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/chunk-HAE5X4Y7.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/chunk-D3UFJR7T.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/chunk-CQYHK57E.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/island-installinstructions.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/island-animatedheadinggroup.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/island-interactivecodeexamples.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/chunk-PR7CXIA4.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/island-runtime_throughput.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/chunk-RU2JOPNI.js"><link rel="modulepreload" href="/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/island-testimonialcarousel.js"><script type="text/javascript" async="" src="https://www.googletagmanager.com/gtag/js?id=G-5HMZ6WRNXW&amp;l=dataLayer&amp;cx=c" nonce="b41772ab199b47ac8a0b52d408ac32d5"></script><script async="" src="https://www.googletagmanager.com/gtm.js?id=GTM-5B5TH8ZJ"></script><script nonce="b41772ab199b47ac8a0b52d408ac32d5">(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
        new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
        })(window,document,'script','dataLayer','GTM-5B5TH8ZJ');</script><link rel="preload" href="/fonts/inter/Inter-Regular.woff2" as="font" crossorigin="true"><link rel="preload" href="/fonts/inter/Inter-SemiBold.woff2" as="font" crossorigin="true"><link rel="icon" href="/favicon.ico" sizes="32x32"><link rel="icon" href="/logo.svg" type="image/svg+xml"><link rel="stylesheet" href="/styles/inter.css"><link rel="manifest" href="/site.webmanifest"><link rel="stylesheet" href="/styles/app.css"><link rel="stylesheet" href="/gfm.css"><style>.entry-children li:nth-child(1) a{animation-delay:calc(var(--delay-increment)*1)}.entry-children li:nth-child(2) a{animation-delay:calc(var(--delay-increment)*2)}.entry-children li:nth-child(3) a{animation-delay:calc(var(--delay-increment)*3)}.entry-children li:nth-child(4) a{animation-delay:calc(var(--delay-increment)*4)}.entry-children li:nth-child(5) a{animation-delay:calc(var(--delay-increment)*5)}.entry-children li:nth-child(6) a{animation-delay:calc(var(--delay-increment)*6)}.entry-children li:nth-child(7) a{animation-delay:calc(var(--delay-increment)*7)}.entry-children li:nth-child(8) a{animation-delay:calc(var(--delay-increment)*8)}.entry-children li:nth-child(9) a{animation-delay:calc(var(--delay-increment)*9)}</style><noscript><style>[data-component=heading-group].animate-in>*{opacity:1!important;}</style></noscript><meta name="twitter:card" content="summary_large_image"><meta name="twitter:site" content="@deno_land"><link rel="me" href="https://fosstodon.org/@deno_land"><meta name="twitter:title" content="Deno, the next-generation JavaScript runtime"><meta property="og:title" content="Deno, the next-generation JavaScript runtime"><meta property="og:description" content="Deno features improved security, performance, and developer experience compared to its predecessor. It's a great time to upgrade your Node.js project to run on Deno."><meta name="twitter:description" content="Deno features improved security, performance, and developer experience compared to its predecessor. It's a great time to upgrade your Node.js project to run on Deno."><meta name="description" content="Deno features improved security, performance, and developer experience compared to its predecessor. It's a great time to upgrade your Node.js project to run on Deno."><meta name="twitter:image" content="https://deno.com/og/image.jpg"><meta name="twitter:image:alt" content="A logo of a sauropod in the rain and the word Deno"><meta property="og:image" content="https://deno.com/og/image.jpg"><meta property="og:image:alt" content="A logo of a sauropod in the rain and the word Deno"><meta property="og:type" content="website"><meta property="og:site_name" content="Deno"><meta property="og:locale" content="en_US"><meta name="keywords" content="deno, denoland, development, javascript, typescript, webassembly, wasm"><script src="/scripts/gsap.min.js?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1" defer="" nonce="b41772ab199b47ac8a0b52d408ac32d5"></script><script src="/scripts/ScrollTrigger.min.js?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1" defer="" nonce="b41772ab199b47ac8a0b52d408ac32d5"></script><script src="/scripts/homepage.js?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1" type="module" nonce="b41772ab199b47ac8a0b52d408ac32d5"></script></head><body style="overflow: initial;"><div class="h-screen"><div class="min-h-screen grid grid-cols-1 " style="grid-template-rows:auto 1fr auto;"><a href="#main" class="absolute left-2 -top-full opacity-0 bg-white p-2 focus:top-2 focus:opacity-100 focus:z-[60] dark:bg-black dark:text-white)">Skip to main content</a><div><div class="grid grid-cols-1 overflow-hidden transition-all duration-500" style="grid-template-rows: 1fr;"><div class="text-left md:text-center overflow-hidden bg-runtime text-runtime-dark px-4 gap-2 flex items-center justify-between"><div class="font-bold my-4 flex flex-wrap justify-start md:justify-center gap-y-2 gap-x-4 items-center flex-grow"><div class="leading-tight">Deno 2 is finally here 🎉️</div><a href="https://deno.com/2" target="_blank" class="inline-block px-2 py-1 rounded-md border-2 border-runtime-dark transition-colors hover:text-runtime hover:bg-runtime-dark">Learn more<span aria-hidden="true"> -&gt;</span></a></div><button><div class="sr-only">Dismiss</div><span aria-hidden="true"><svg class="h-6 w-6 " stroke="currentColor" fill="none" viewBox="0 0 24 24"><path d="M6 18L18 6M6 6l12 12" strokeLinecap="round" strokeLinejoin="round" strokeWidth="2"></path></svg></span></button></div></div><header class="z-50 border-gray-300 border-b dark:border-0 dark:text-gray-50 relative dark:bg-black" style="--header-accent:var(--deploy);"><style>header{--content-width: 100vw;}@media (min-width: 1080px){header{--content-width:1080px}}[data-component=main-nav]:has(#menuToggle:checked) [data-component=nav-entries] { display: flex; }</style><div class="section-x-inset-xl py-6"><nav data-component="main-nav" class="grid grid-cols-1 justify-between items-center lg:flex lg:flex-row lg:gap-6 xl:gap-12 xl:text-lg"><input type="checkbox" id="menuToggle" class="hidden" autocomplete="off"><div class="flex flex-auto items-center justify-between lg:justify-start select-none w-full lg:w-auto gap-3 md:gap-6 lg:gap-8"><a href="/" class="flex items-center gap-4" aria-label="Landing Page" data-component="header-logo" data-current="true" aria-current="page"><svg width="100%" height="100%" viewBox="0 0 1025 331" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;" class="h-12 w-auto" data-component="logo"><path id="background" d="M28.829,227.937c-8.871,-19.143 -13.822,-40.465 -13.822,-62.935c-0,-5.815 0.332,-11.554 0.977,-17.197c0.655,-5.703 1.626,-11.299 2.893,-16.773c7.12,-30.704 23.68,-57.808 46.452,-78.082c19.127,-17.006 42.558,-29.14 68.244,-34.64c10.137,-2.165 20.651,-3.304 31.43,-3.304c3.778,0.004 7.583,0.149 11.411,0.441c18.154,1.386 35.309,5.956 50.959,13.121c12.625,5.786 24.31,13.274 34.762,22.169c26.253,22.364 44.562,53.517 50.651,88.476c1.455,8.379 2.213,16.996 2.213,25.789c-0.003,3.784 -0.149,7.595 -0.442,11.429c-1.106,14.489 -4.241,28.342 -9.104,41.302c-6.788,18.051 -16.959,34.452 -29.738,48.428c-16.621,16.971 -37.743,24.523 -55.384,24.209c-12.828,-0.229 -25.379,-5.333 -34.052,-12.801c-12.39,-10.669 -17.394,-22.865 -19.11,-36.474c-0.426,-3.383 -0.176,-12.601 1.585,-18.984c1.312,-4.758 4.64,-13.946 9.507,-17.965c-5.693,-2.452 -13.021,-7.792 -15.331,-10.355c-0.568,-0.63 -0.494,-1.617 0.014,-2.296c0.509,-0.678 1.4,-0.946 2.199,-0.659c4.895,1.68 10.856,3.337 17.142,4.389c8.267,1.382 18.548,3.122 28.963,3.634c25.395,1.247 51.921,-10.151 60.154,-32.83c8.232,-22.679 5.038,-45.111 -24.496,-58.566c-29.535,-13.456 -43.178,-29.455 -67.041,-39.104c-15.587,-6.303 -32.935,-2.561 -50.746,7.282c-47.974,26.512 -90.955,110.279 -71.142,187.887c0.283,1.062 -0.195,2.18 -1.158,2.709c-0.903,0.495 -2.013,0.354 -2.761,-0.331c-5.766,-6.336 -10.998,-13.166 -15.623,-20.421c-3.578,-5.614 -6.79,-11.475 -9.606,-17.548Z" style="fill: #000;"></path><path id="outline" d="M172.67,0.181c90.968,4.232 161.386,81.521 157.155,172.489c-4.232,90.968 -81.522,161.385 -172.489,157.153c-90.968,-4.231 -161.386,-81.52 -157.155,-172.487c4.232,-90.968 81.521,-161.386 172.489,-157.155Zm38.578,198.678c-10.415,-0.512 -20.696,-2.252 -28.963,-3.634c-6.286,-1.052 -12.247,-2.709 -17.142,-4.389c-0.799,-0.287 -1.69,-0.019 -2.199,0.659c-0.508,0.679 -0.582,1.666 -0.014,2.296c2.31,2.563 9.638,7.903 15.331,10.355c-4.867,4.019 -8.195,13.207 -9.507,17.965c-1.761,6.383 -2.011,15.601 -1.585,18.984c1.716,13.609 6.72,25.805 19.11,36.474c8.673,7.468 21.224,12.572 34.052,12.801c17.702,0.315 38.909,-7.29 55.556,-24.385c21.765,-23.861 36.023,-54.887 38.67,-89.554c6.303,-82.546 -55.596,-154.681 -138.143,-160.984c-82.545,-6.303 -154.68,55.597 -160.983,138.143c-3.264,42.749 11.764,82.706 38.481,112.17c0.744,0.809 1.944,1.006 2.907,0.477c0.963,-0.529 1.441,-1.647 1.158,-2.709c-19.813,-77.608 23.168,-161.375 71.142,-187.887c17.811,-9.843 35.159,-13.585 50.746,-7.282c23.863,9.649 37.506,25.648 67.041,39.104c29.534,13.455 32.728,35.887 24.496,58.566c-8.233,22.679 -34.759,34.077 -60.154,32.83Z" style="fill: transparent;"></path><path id="logotype" d="M694.596,164.68c-0,4.838 -0,11.794 -0.909,14.213l-103.727,0c4.837,17.542 18.749,28.431 37.8,28.431c15.728,0.302 27.219,-6.654 35.383,-16.636l25.705,23.894c-12.7,16.028 -34.171,27.822 -63.809,27.822c-43.243,-0 -75.904,-30.242 -75.904,-76.513c-0,-44.756 31.148,-75.907 73.184,-75.907c43.243,-0 72.277,31.453 72.277,74.696Zm-71.07,-39.918c-16.025,-0 -28.729,8.771 -33.265,25.706l65.02,-0c-3.932,-15.422 -14.515,-25.706 -31.755,-25.706Zm175.096,-34.778c31.758,-0 53.829,16.938 53.829,62.298l0,87.703l-39.615,-0l0,-77.724c0,-28.124 -9.976,-36.892 -28.427,-36.892c-19.953,0 -33.564,13.908 -33.564,40.221l-0,74.395l-39.617,-0l0,-147.582l39.617,-0l-0,19.055l0.602,0c12.095,-14.213 29.037,-21.474 47.175,-21.474Zm146.977,152.42c-46.871,-0 -78.324,-32.058 -78.324,-76.21c-0,-44.153 31.453,-76.21 78.324,-76.21c45.971,-0 78.628,30.849 78.628,76.21c0,45.36 -32.657,76.21 -78.628,76.21Zm-0,-35.386c21.469,0 38.411,-16.934 38.411,-40.824c-0,-24.192 -16.332,-40.825 -38.411,-40.825c-22.986,0 -38.404,17.539 -38.404,40.825c0,22.984 16.028,40.824 38.404,40.824Zm-540.473,32.967l0,-150.001l54.227,-0c47.449,-0 77.952,30.845 77.952,75.212c-0,44.154 -28.597,74.789 -77.316,74.789l-54.863,-0Zm38.976,-35.705l13.133,-0c22.878,-0 37.917,-17.535 37.917,-39.084c-0,-22.395 -15.251,-39.507 -34.952,-39.507l-16.098,-0l0,78.591Z" style="fill: #000;"></path><path id="eye" d="M159.634,78.772c8.092,-0.634 15.152,6.272 16.369,15.457c1.624,12.235 -2.867,24.874 -17.633,25.165c-12.614,0.252 -16.436,-12.469 -15.6,-20.175c0.83,-7.706 7.182,-19.687 16.864,-20.447Z" style="fill: #000;"></path><style>
        @keyframes blink {
          0%, 100% {
            transform: scaleY(1);
          }
          50% {
            transform: scaleY(0.15);
          }
        }
        [data-component="logo"]:hover,
        a:focus [data-component="logo"] {
          #eye {
            transform-origin: 50% 30%;
            animation: blink 0.15s cubic-bezier(0.5, 0, 0.5, 1);
          }
        }
        </style></svg></a><label tabindex="0" class="cursor-pointer lg:hidden touch-manipulation" for="menuToggle" onkeydown="if (event.code === 'Space' || event.code === 'Enter') { this.click(); event.preventDefault(); }"><svg width="21" height="14" viewBox="0 0 21 14" fill="none" xmlns="http://www.w3.org/2000/svg"><line x1="0.25" y1="1.4" x2="20.25" y2="1.4" stroke="currentColor" stroke-width="1.2"></line><line x1="0.25" y1="7.4" x2="20.25" y2="7.4" stroke="currentColor" stroke-width="1.2"></line><line x1="0.25" y1="13.4" x2="10.25" y2="13.4" stroke="currentColor" stroke-width="1.2"></line></svg><svg class="h-6 w-6 hidden" stroke="currentColor" fill="none" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path></svg></label></div><div class="hidden flex-col w-full mx-2 mt-5 gap-x-4 gap-y-4 lg:flex lg:flex-row lg:items-center lg:mx-0 lg:mt-0" data-component="nav-entries"><div class="flex flex-col leading-loose divide-incl-y lg:flex-row lg:gap-x-4 lg:select-none lg:divide-incl-y-0"><div class="z-10 dark:border-gray-700 grid grid-cols-1 transition-all duration-300" style="grid-template-rows: max-content 0fr;"><button id="Products" aria-expanded="false" class="rounded-md flex items-center justify-between px-1 my-3 lg:px-2 lg:my-0 hover:bg-azure3 dark:hover:bg-gray-5" data-current="true"><span>Products</span><div><svg class="transition-transform ml-2 duration-200 " width="14" height="14" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;fill:currentColor;"><g transform="matrix(6.12323e-17,-1,1,6.12323e-17,0,14)"><path d="M10.03,1.47C10.323,1.763 10.323,2.237 10.03,2.53L5.561,7L10.03,11.47C10.323,11.763 10.323,12.237 10.03,12.53C9.737,12.823 9.263,12.823 8.97,12.53L3.97,7.53C3.677,7.237 3.677,6.763 3.97,6.47L8.97,1.47C9.263,1.177 9.737,1.177 10.03,1.47Z"></path></g></svg></div></button><div class="lg:absolute z-10 lg:top-16 lg:pt-[5px] overflow-hidden"><div class="lg:grid lg:grid-cols-2
					
					lg:bg-azure3 lg:dark:bg-gray-6 lg:rounded-md lg:overflow-hidden"><div data-component="entry-children" class="lg:hidden
			
			entry-children w-full flex flex-col"><div id="category-Open Source" class="dark:text-runtime text-[0.625rem] uppercase font-bold lg:mx-5 lg:mt-3.5">Open Source</div><ul class="pb-2 pl-2 mb-3 space-y-1.5 lg:pl-0 lg:py-0 lg:-mt-px lg:mb-0 lg:space-y-0" aria-labelledby="category-Open Source"><li class="text-sm font-bold lg:top-1 lg:text-base lg:font-normal lg:flex"><a aria-current="page" class="py-2 lg:py-3.5 leading-none lg:pr-5
								 font-bold flex flex-wrap w-full whitespace-nowrap pl-1 lg:px-5
									transition-colors duration-200 hover:lg:bg-azure2 hover:lg:dark:bg-gray-5
									focus:lg:bg-azure2 focus:lg:dark:bg-gray-7 opacity-0 animate-header-nav-item-slide" href="/" data-current="true" tabindex="-1"><div class="w-full"><div class="w-max flex gap-4 items-center"><span class="absolute -left-2 lg:left-2.5 w-1 h-1 bg-current rounded-full"><span class="sr-only">Current path</span></span>Deno</div><div class="text-xs w-max mt-1 font-normal text-gray-500 dark:text-gray-400">Modern runtime for JavaScript and TypeScript</div></div></a></li><li class="text-sm font-bold lg:top-1 lg:text-base lg:font-normal lg:flex"><a aria-current="false" class="py-2 lg:py-3.5 leading-none lg:pr-5
								  flex flex-wrap w-full whitespace-nowrap pl-1 lg:px-5
									transition-colors duration-200 hover:lg:bg-azure2 hover:lg:dark:bg-gray-5
									focus:lg:bg-azure2 focus:lg:dark:bg-gray-7 opacity-0 animate-header-nav-item-slide" href="https://fresh.deno.dev" tabindex="-1"><div class="w-full"><div class="w-max flex gap-4 items-center">Fresh</div><div class="text-xs w-max mt-1 font-normal text-gray-500 dark:text-gray-400">Web framework designed for the edge</div></div></a></li><li class="text-sm font-bold lg:top-1 lg:text-base lg:font-normal lg:flex"><a aria-current="false" class="py-2 lg:py-3.5 leading-none lg:pr-5
								  flex flex-wrap w-full whitespace-nowrap pl-1 lg:px-5
									transition-colors duration-200 hover:lg:bg-azure2 hover:lg:dark:bg-gray-5
									focus:lg:bg-azure2 focus:lg:dark:bg-gray-7 opacity-0 animate-header-nav-item-slide" href="https://jsr.io" tabindex="-1"><div class="w-full"><div class="w-max flex gap-4 items-center">JSR</div><div class="text-xs w-max mt-1 font-normal text-gray-500 dark:text-gray-400">TypeScript-first ESM package registry</div></div></a></li></ul></div><div data-component="entry-children" class="lg:hidden
			lg:border-l lg:border-azure2 lg:dark:border-gray-5
			entry-children w-full flex flex-col"><div id="category-Commercial" class="dark:text-deploy text-[0.625rem] uppercase font-bold lg:mx-5 lg:mt-3.5">Commercial</div><ul class="pb-2 pl-2 mb-3 space-y-1.5 lg:pl-0 lg:py-0 lg:-mt-px lg:mb-0 lg:space-y-0" aria-labelledby="category-Commercial"><li class="text-sm font-bold lg:top-1 lg:text-base lg:font-normal lg:flex"><a aria-current="false" class="py-2 lg:py-3.5 leading-none 
								lg:pl-5  flex flex-wrap w-full whitespace-nowrap pl-1 lg:px-5
									transition-colors duration-200 hover:lg:bg-azure2 hover:lg:dark:bg-gray-5
									focus:lg:bg-azure2 focus:lg:dark:bg-gray-7 opacity-0 animate-header-nav-item-slide" href="/enterprise" tabindex="-1"><div class="w-full"><div class="w-max flex gap-4 items-center">Deno for Enterprise</div><div class="text-xs w-max mt-1 font-normal text-gray-500 dark:text-gray-400">Enterprise support for runtime projects</div></div></a></li><li class="text-sm font-bold lg:top-1 lg:text-base lg:font-normal lg:flex"><a aria-current="false" class="py-2 lg:py-3.5 leading-none 
								lg:pl-5  flex flex-wrap w-full whitespace-nowrap pl-1 lg:px-5
									transition-colors duration-200 hover:lg:bg-azure2 hover:lg:dark:bg-gray-5
									focus:lg:bg-azure2 focus:lg:dark:bg-gray-7 opacity-0 animate-header-nav-item-slide" href="/deploy" tabindex="-1"><div class="w-full"><div class="w-max flex gap-4 items-center">Deploy</div><div class="text-xs w-max mt-1 font-normal text-gray-500 dark:text-gray-400">Easy serverless hosting for your JavaScript projects</div></div></a></li><li class="text-sm font-bold lg:top-1 lg:text-base lg:font-normal lg:flex"><a aria-current="false" class="py-2 lg:py-3.5 leading-none 
								lg:pl-5  flex flex-wrap w-full whitespace-nowrap pl-1 lg:px-5
									transition-colors duration-200 hover:lg:bg-azure2 hover:lg:dark:bg-gray-5
									focus:lg:bg-azure2 focus:lg:dark:bg-gray-7 opacity-0 animate-header-nav-item-slide" href="/subhosting" tabindex="-1"><div class="w-full"><div class="w-max flex gap-4 items-center">Subhosting</div><div class="text-xs w-max mt-1 font-normal text-gray-500 dark:text-gray-400">Securely run untrusted code in a scalable sandbox</div></div></a></li></ul></div></div></div></div><div class="dark:border-gray-700"><a class="block w-full px-1 my-3 lg:w-auto lg:m-0 lg:px-2 lg:rounded-md lg:hover:bg-azure3 lg:hover:dark:bg-gray-5 " href="https://docs.deno.com" aria-current="false">Docs</a></div><div class="z-10 dark:border-gray-700 grid grid-cols-1 transition-all duration-300" style="grid-template-rows: max-content 0fr;"><button id="Modules" aria-expanded="false" class="rounded-md flex items-center justify-between px-1 my-3 lg:px-2 lg:my-0 hover:bg-azure3 dark:hover:bg-gray-5" data-current="false"><span>Modules</span><div><svg class="transition-transform ml-2 duration-200 " width="14" height="14" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;fill:currentColor;"><g transform="matrix(6.12323e-17,-1,1,6.12323e-17,0,14)"><path d="M10.03,1.47C10.323,1.763 10.323,2.237 10.03,2.53L5.561,7L10.03,11.47C10.323,11.763 10.323,12.237 10.03,12.53C9.737,12.823 9.263,12.823 8.97,12.53L3.97,7.53C3.677,7.237 3.677,6.763 3.97,6.47L8.97,1.47C9.263,1.177 9.737,1.177 10.03,1.47Z"></path></g></svg></div></button><div class="lg:absolute z-10 lg:top-16 lg:pt-[5px] overflow-hidden"><div class="
					
					lg:bg-azure3 lg:dark:bg-gray-6 lg:rounded-md lg:overflow-hidden"><div data-component="entry-children" class="lg:hidden
			
			entry-children w-full flex flex-col"><ul class="pb-2 pl-2 mb-3 space-y-1.5 lg:pl-0 lg:py-0 lg:-mt-px lg:mb-0 lg:space-y-0" aria-labelledby="category-undefined"><li class="text-sm font-bold lg:top-1 lg:text-base lg:font-normal lg:flex"><a aria-current="false" class="py-3 lg:py-4 
								  flex flex-wrap w-full whitespace-nowrap pl-1 lg:px-5
									transition-colors duration-200 hover:lg:bg-azure2 hover:lg:dark:bg-gray-5
									focus:lg:bg-azure2 focus:lg:dark:bg-gray-7 opacity-0 animate-header-nav-item-slide" href="https://jsr.io/@std" tabindex="-1"><div class="w-full"><div class="w-max flex gap-4 items-center">Standard Library</div></div></a></li><li class="text-sm font-bold lg:top-1 lg:text-base lg:font-normal lg:flex"><a aria-current="false" class="py-3 lg:py-4 
								  flex flex-wrap w-full whitespace-nowrap pl-1 lg:px-5
									transition-colors duration-200 hover:lg:bg-azure2 hover:lg:dark:bg-gray-5
									focus:lg:bg-azure2 focus:lg:dark:bg-gray-7 opacity-0 animate-header-nav-item-slide" href="https://jsr.io" tabindex="-1"><div class="w-full"><div class="w-max flex gap-4 items-center">JSR</div></div></a></li><li class="text-sm font-bold lg:top-1 lg:text-base lg:font-normal lg:flex"><a aria-current="false" class="py-3 lg:py-4 
								  flex flex-wrap w-full whitespace-nowrap pl-1 lg:px-5
									transition-colors duration-200 hover:lg:bg-azure2 hover:lg:dark:bg-gray-5
									focus:lg:bg-azure2 focus:lg:dark:bg-gray-7 opacity-0 animate-header-nav-item-slide" href="https://docs.deno.com/runtime/manual/node" tabindex="-1"><div class="w-full"><div class="w-max flex gap-4 items-center">Node.js &amp; npm</div></div></a></li><li class="text-sm font-bold lg:top-1 lg:text-base lg:font-normal lg:flex"><a aria-current="false" class="py-3 lg:py-4 
								  flex flex-wrap w-full whitespace-nowrap pl-1 lg:px-5
									transition-colors duration-200 hover:lg:bg-azure2 hover:lg:dark:bg-gray-5
									focus:lg:bg-azure2 focus:lg:dark:bg-gray-7 opacity-0 animate-header-nav-item-slide" href="/x" tabindex="-1"><div class="w-full"><div class="w-max flex gap-4 items-center">deno.land/x</div></div></a></li></ul></div></div></div></div><div class="z-10 dark:border-gray-700 grid grid-cols-1 transition-all duration-300" style="grid-template-rows: max-content 0fr;"><button id="Community" aria-expanded="false" class="rounded-md flex items-center justify-between px-1 my-3 lg:px-2 lg:my-0 hover:bg-azure3 dark:hover:bg-gray-5" data-current="false"><span>Community</span><div><svg class="transition-transform ml-2 duration-200 " width="14" height="14" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;fill:currentColor;"><g transform="matrix(6.12323e-17,-1,1,6.12323e-17,0,14)"><path d="M10.03,1.47C10.323,1.763 10.323,2.237 10.03,2.53L5.561,7L10.03,11.47C10.323,11.763 10.323,12.237 10.03,12.53C9.737,12.823 9.263,12.823 8.97,12.53L3.97,7.53C3.677,7.237 3.677,6.763 3.97,6.47L8.97,1.47C9.263,1.177 9.737,1.177 10.03,1.47Z"></path></g></svg></div></button><div class="lg:absolute z-10 lg:top-16 lg:pt-[5px] overflow-hidden"><div class="
					
					lg:bg-azure3 lg:dark:bg-gray-6 lg:rounded-md lg:overflow-hidden"><div data-component="entry-children" class="lg:hidden
			
			entry-children w-full flex flex-col"><ul class="pb-2 pl-2 mb-3 space-y-1.5 lg:pl-0 lg:py-0 lg:-mt-px lg:mb-0 lg:space-y-0" aria-labelledby="category-undefined"><li class="text-sm font-bold lg:top-1 lg:text-base lg:font-normal lg:flex"><a aria-current="false" class="py-3 lg:py-4 
								  flex flex-wrap w-full whitespace-nowrap pl-1 lg:px-5
									transition-colors duration-200 hover:lg:bg-azure2 hover:lg:dark:bg-gray-5
									focus:lg:bg-azure2 focus:lg:dark:bg-gray-7 opacity-0 animate-header-nav-item-slide" href="https://discord.gg/deno" tabindex="-1"><div class="w-full"><div class="w-max flex gap-4 items-center"><div class="flex justify-center items-center w-6 opacity-50"><svg class="w-6 h-6" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg" aria-label="Discord Logo"><g clip-path="url(#clip0_1993_195)"><path d="M11.8595 2.62936C10.9397 2.21264 9.96862 1.917 8.97117 1.75C8.83467 1.99146 8.71117 2.23988 8.60118 2.49424C7.5387 2.33581 6.45822 2.33581 5.39574 2.49424C5.28569 2.23991 5.16219 1.99149 5.02575 1.75C4.02766 1.91841 3.05598 2.21475 2.13524 2.63154C0.307332 5.30775 -0.188185 7.9175 0.0595735 10.4902C1.13004 11.2729 2.3282 11.8681 3.60197 12.25C3.88878 11.8683 4.14258 11.4633 4.36066 11.0394C3.94644 10.8863 3.54665 10.6974 3.16591 10.4749C3.26612 10.403 3.36412 10.3289 3.45882 10.257C4.56668 10.7726 5.77586 11.0399 7.00011 11.0399C8.22437 11.0399 9.43354 10.7726 10.5414 10.257C10.6372 10.3344 10.7352 10.4085 10.8343 10.4749C10.4528 10.6978 10.0523 10.887 9.63736 11.0405C9.85518 11.4642 10.109 11.8688 10.3961 12.25C11.6709 11.8696 12.87 11.2747 13.9406 10.4913C14.2314 7.50778 13.444 4.92201 11.8595 2.62936ZM4.67449 8.908C3.98407 8.908 3.41367 8.28798 3.41367 7.52522C3.41367 6.76245 3.96425 6.13699 4.67228 6.13699C5.38032 6.13699 5.94631 6.76245 5.9342 7.52522C5.92209 8.28798 5.37812 8.908 4.67449 8.908ZM9.32574 8.908C8.63422 8.908 8.06602 8.28798 8.06602 7.52522C8.06602 6.76245 8.6166 6.13699 9.32574 6.13699C10.0349 6.13699 10.5965 6.76245 10.5843 7.52522C10.5722 8.28798 10.0294 8.908 9.32574 8.908Z" fill="currentColor"></path></g><defs><clipPath id="clip0_1993_195"><rect width="14" height="14" fill="white"></rect></clipPath></defs></svg></div>Discord</div></div></a></li><li class="text-sm font-bold lg:top-1 lg:text-base lg:font-normal lg:flex"><a aria-current="false" class="py-3 lg:py-4 
								  flex flex-wrap w-full whitespace-nowrap pl-1 lg:px-5
									transition-colors duration-200 hover:lg:bg-azure2 hover:lg:dark:bg-gray-5
									focus:lg:bg-azure2 focus:lg:dark:bg-gray-7 opacity-0 animate-header-nav-item-slide" href="https://github.com/denoland" tabindex="-1"><div class="w-full"><div class="w-max flex gap-4 items-center"><div class="flex justify-center items-center w-6 opacity-50"><svg class="w-5 h-5" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg" aria-label="GitHub Logo"><g clip-path="url(#clip0_1989_191)"><path d="M7.00001 0C3.13391 0 0 3.21295 0 7.17755C0 10.3482 2.0055 13.0388 4.7873 13.9875C5.1373 14.0534 5.26471 13.832 5.26471 13.6414C5.26471 13.4716 5.25912 13.0195 5.25561 12.4212C3.3082 12.8547 2.8973 11.4589 2.8973 11.4589C2.5795 10.6291 2.1203 10.4084 2.1203 10.4084C1.48471 9.96418 2.16861 9.97279 2.16861 9.97279C2.87071 10.0229 3.24032 10.7122 3.24032 10.7122C3.86472 11.8085 4.87903 11.4918 5.27732 11.3084C5.34171 10.8448 5.52232 10.5288 5.72251 10.3497C4.16851 10.1684 2.534 9.55218 2.534 6.80211C2.534 6.01893 2.807 5.37764 3.2543 4.87605C3.1822 4.69476 2.94211 3.96463 3.32289 2.97722C3.32289 2.97722 3.91089 2.78376 5.24789 3.71238C5.77305 3.55992 6.37629 3.47184 6.99948 3.4709C7.59448 3.47377 8.19351 3.5533 8.7528 3.71238C10.0891 2.78376 10.6757 2.97649 10.6757 2.97649C11.0579 3.9646 10.8171 4.69475 10.7457 4.87603C11.1937 5.3776 11.4653 6.0189 11.4653 6.80208C11.4653 9.55931 9.82799 10.1662 8.26908 10.3439C8.52037 10.5653 8.74368 11.0031 8.74368 11.6731C8.74368 12.6318 8.73529 13.4064 8.73529 13.6414C8.73529 13.8335 8.86129 14.057 9.21689 13.9868C12.0205 13.0032 14 10.3285 14 7.18046C14 7.17943 14 7.17841 14 7.17738C14 3.21278 10.8654 0 7.00001 0Z" fill="currentColor"></path></g><defs><clipPath id="clip0_1989_191"><rect width="14" height="14" fill="white"></rect></clipPath></defs></svg></div>GitHub</div></div></a></li><li class="text-sm font-bold lg:top-1 lg:text-base lg:font-normal lg:flex"><a aria-current="false" class="py-3 lg:py-4 
								  flex flex-wrap w-full whitespace-nowrap pl-1 lg:px-5
									transition-colors duration-200 hover:lg:bg-azure2 hover:lg:dark:bg-gray-5
									focus:lg:bg-azure2 focus:lg:dark:bg-gray-7 opacity-0 animate-header-nav-item-slide" href="https://twitter.com/deno_land" tabindex="-1"><div class="w-full"><div class="w-max flex gap-4 items-center"><div class="flex justify-center items-center w-6 opacity-50"><svg width="300" height="300.251" class="w-4.5 h-4.5" viewBox="0 0 300 300.251" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-label="X logo" fill="currentColor"><path d="M178.57 127.15 290.27 0h-26.46l-97.03 110.38L89.34 0H0l117.13 166.93L0 300.25h26.46l102.4-116.59 81.8 116.59h89.34M36.01 19.54H76.66l187.13 262.13h-40.66"></path></svg></div>X</div></div></a></li><li class="text-sm font-bold lg:top-1 lg:text-base lg:font-normal lg:flex"><a aria-current="false" class="py-3 lg:py-4 
								  flex flex-wrap w-full whitespace-nowrap pl-1 lg:px-5
									transition-colors duration-200 hover:lg:bg-azure2 hover:lg:dark:bg-gray-5
									focus:lg:bg-azure2 focus:lg:dark:bg-gray-7 opacity-0 animate-header-nav-item-slide" href="https://www.youtube.com/c/deno_land" tabindex="-1"><div class="w-full"><div class="w-max flex gap-4 items-center"><div class="flex justify-center items-center w-6 opacity-50"><svg class="w-6 h-6" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg" aria-label="YouTube Logo"><path d="M7.03863 2.5H7.10538C7.72192 2.5024 10.8459 2.52643 11.6882 2.76826C11.9428 2.84207 12.1748 2.98593 12.3611 3.18548C12.5473 3.38502 12.6813 3.63326 12.7495 3.90537C12.8252 4.20967 12.8785 4.61247 12.9145 5.02807L12.922 5.11135L12.9385 5.31956L12.9445 5.40284C12.9932 6.13475 12.9992 6.82022 13 6.96997V7.03003C12.9992 7.18538 12.9925 7.9173 12.9385 8.67964L12.9325 8.76372L12.9257 8.84701C12.8882 9.30505 12.8327 9.7599 12.7495 10.0946C12.6815 10.3669 12.5476 10.6152 12.3613 10.8148C12.1751 11.0144 11.9429 11.1582 11.6882 11.2317C10.8181 11.4816 7.51116 11.4992 7.05288 11.5H6.94637C6.71461 11.5 5.75605 11.4952 4.75098 11.4584L4.62348 11.4536L4.55822 11.4504L4.42996 11.4447L4.30171 11.4391C3.46915 11.3999 2.67635 11.3366 2.31108 11.2309C2.05643 11.1574 1.82435 11.0138 1.63808 10.8143C1.45182 10.6149 1.3179 10.3667 1.24977 10.0946C1.16651 9.7607 1.11101 9.30505 1.0735 8.84701L1.0675 8.76292L1.0615 8.67964C1.02449 8.13703 1.00398 7.59328 1 7.04925L1 6.95075C1.0015 6.77858 1.0075 6.1836 1.048 5.52696L1.05325 5.44448L1.0555 5.40284L1.0615 5.31956L1.078 5.11135L1.08551 5.02807C1.12151 4.61247 1.17476 4.20887 1.25052 3.90537C1.31854 3.63315 1.4524 3.38479 1.63867 3.18522C1.82495 2.98564 2.05709 2.84185 2.31183 2.76826C2.6771 2.66416 3.4699 2.6001 4.30246 2.56006L4.42996 2.55445L4.55897 2.54965L4.62348 2.54725L4.75173 2.54164C5.46556 2.51712 6.17968 2.5035 6.89387 2.5008L7.03863 2.5ZM6 5.02807V9L9 7.03003L6 5.02807Z" fill="currentColor"></path></svg></div>YouTube</div></div></a></li><li class="text-sm font-bold lg:top-1 lg:text-base lg:font-normal lg:flex"><a aria-current="false" class="py-3 lg:py-4 
								  flex flex-wrap w-full whitespace-nowrap pl-1 lg:px-5
									transition-colors duration-200 hover:lg:bg-azure2 hover:lg:dark:bg-gray-5
									focus:lg:bg-azure2 focus:lg:dark:bg-gray-7 opacity-0 animate-header-nav-item-slide" href="https://fosstodon.org/@deno_land" tabindex="-1"><div class="w-full"><div class="w-max flex gap-4 items-center"><div class="flex justify-center items-center w-6 opacity-50"><svg class="w-6 h-6" width="14" height="14" viewBox="-10 -5 1034 1034" xmlns="http://www.w3.org/2000/svg" version="1.1"><path fill="currentColor" d="M499 112q-93 1 -166 11q-81 11 -128 33l-14 8q-16 10 -32 25q-22 21 -38 47q-21 33 -32 73q-14 47 -14 103v37q0 77 1 119q3 113 18 188q19 95 62 154q50 67 134 89q109 29 210 24q46 -3 88 -12q30 -7 55 -17l19 -8l-4 -75l-22 6q-28 6 -57 10q-41 6 -78 4q-53 -1 -80 -7
q-43 -8 -67 -30q-29 -25 -35 -72q-2 -14 -2 -29l25 6q31 6 65 10q48 7 93 9q42 2 92 -2q32 -2 88 -9t107 -30q49 -23 81.5 -54.5t38.5 -63.5q9 -45 13 -109q4 -46 5 -97v-41q0 -56 -14 -103q-11 -40 -32 -73q-16 -26 -38 -47q-15 -15 -32 -25q-12 -8 -14 -8
q-46 -22 -127 -33q-74 -10 -166 -11h-3zM367 267q73 0 109 56l24 39l24 -39q36 -56 109 -56q63 0 101 43t38 117v239h-95v-232q0 -74 -61 -74q-69 0 -69 88v127h-94v-127q0 -88 -69 -88q-61 0 -61 74v232h-95v-239q0 -74 38 -117t101 -43z"></path></svg></div>Mastodon</div></div></a></li></ul></div></div></div></div><div class="dark:border-gray-700"><a class="block w-full px-1 my-3 lg:w-auto lg:m-0 lg:px-2 lg:rounded-md lg:hover:bg-azure3 lg:hover:dark:bg-gray-5 " href="/blog" aria-current="false">Blog</a></div></div><div class="flex flex-col lg:flex-row grow gap-4 lg:items-center lg:justify-end"><div><button class="pl-4 bg-azure3 flex-grow w-full lg:max-w-[11rem] rounded text-default hover:bg-azure2 disabled:invisible dark:bg-gray-5 dark:text-gray-50"><div class="flex items-center pointer-events-none"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_2006_89)"><path d="M13.3008 12.1951L10.3537 9.24807C11.0632 8.30353 11.4463 7.15382 11.445 5.97248C11.445 2.95497 8.98999 0.5 5.97248 0.5C2.95497 0.5 0.5 2.95497 0.5 5.97248C0.5 8.98999 2.95497 11.445 5.97248 11.445C7.15382 11.4463 8.30353 11.0632 9.24807 10.3537L12.1951 13.3008C12.3443 13.4341 12.5389 13.5053 12.7389 13.4997C12.9389 13.4941 13.1292 13.4121 13.2707 13.2707C13.4121 13.1292 13.4941 12.9389 13.4997 12.7389C13.5053 12.5389 13.4341 12.3443 13.3008 12.1951ZM2.06357 5.97248C2.06357 5.19937 2.29282 4.44362 2.72234 3.8008C3.15185 3.15799 3.76234 2.65697 4.4766 2.36111C5.19086 2.06526 5.97682 1.98785 6.73507 2.13867C7.49333 2.2895 8.18983 2.66179 8.7365 3.20846C9.28317 3.75513 9.65546 4.45163 9.80629 5.20989C9.95711 5.96814 9.8797 6.7541 9.58385 7.46836C9.28799 8.18262 8.78697 8.79311 8.14416 9.22262C7.50134 9.65214 6.74559 9.88139 5.97248 9.88139C4.93615 9.88015 3.94263 9.46792 3.20983 8.73513C2.47704 8.00233 2.06481 7.00881 2.06357 5.97248Z" fill="currentColor"></path></g><defs><clipPath id="clip0_2006_89"><rect width="14" height="14" fill="white"></rect></clipPath></defs></svg><div class="ml-1.5 py-2.5 h-9 flex-auto text-sm leading-4 text-left">Search…</div><div class="mx-4 text-sm"><div>Ctrl+K</div></div></div></button><dialog class="bg-[#00000033] inset-0 fixed z-50 p-0 m-0 w-full h-screen border-none"><div class="w-full bg-white dark:bg-offblack dark:border-gray-5 dark:text-white h-screen flex flex-col overflow-hidden lg:mt-24 lg:mx-auto lg:rounded md:w-2/3 lg:max-h-[80vh] lg:border lg:border-gray-100 lg:dark:border-gray-5"><div class="pt-6 px-6 border-b border-gray-100 dark:border-gray-5"><div class="flex"><label class="px-4 h-10 w-full flex-shrink-1 rounded-md flex items-center placeholder:text-gray-400 border focus-within:outline"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_2006_89)"><path d="M13.3008 12.1951L10.3537 9.24807C11.0632 8.30353 11.4463 7.15382 11.445 5.97248C11.445 2.95497 8.98999 0.5 5.97248 0.5C2.95497 0.5 0.5 2.95497 0.5 5.97248C0.5 8.98999 2.95497 11.445 5.97248 11.445C7.15382 11.4463 8.30353 11.0632 9.24807 10.3537L12.1951 13.3008C12.3443 13.4341 12.5389 13.5053 12.7389 13.4997C12.9389 13.4941 13.1292 13.4121 13.2707 13.2707C13.4121 13.1292 13.4941 12.9389 13.4997 12.7389C13.5053 12.5389 13.4341 12.3443 13.3008 12.1951ZM2.06357 5.97248C2.06357 5.19937 2.29282 4.44362 2.72234 3.8008C3.15185 3.15799 3.76234 2.65697 4.4766 2.36111C5.19086 2.06526 5.97682 1.98785 6.73507 2.13867C7.49333 2.2895 8.18983 2.66179 8.7365 3.20846C9.28317 3.75513 9.65546 4.45163 9.80629 5.20989C9.95711 5.96814 9.8797 6.7541 9.58385 7.46836C9.28799 8.18262 8.78697 8.79311 8.14416 9.22262C7.50134 9.65214 6.74559 9.88139 5.97248 9.88139C4.93615 9.88015 3.94263 9.46792 3.20983 8.73513C2.47704 8.00233 2.06481 7.00881 2.06357 5.97248Z" fill="currentColor"></path></g><defs><clipPath id="clip0_2006_89"><rect width="14" height="14" fill="white"></rect></clipPath></defs></svg><input id="search-input" class="ml-1.5 py-3 leading-4 bg-transparent w-full placeholder:text-gray-400 outline-none" type="text" placeholder="Search manual and modules..." autofocus="true"></label><button class="lg:hidden ml-3 -mr-2 flex items-center"><svg class="h-6 w-6 " stroke="currentColor" fill="none" viewBox="0 0 24 24"><path strokeLinecap="round" strokeLinejoin="round" strokeWidth="2" d="M6 18L18 6M6 6l12 12"></path></svg></button></div><div class="flex gap-3 mt-2"><button class="-mb-px px-2.5 leading-none rounded-md"><div class="pt-2 border-b-2 border-black dark:border-white pb-1.5 text-default dark:text-white">All</div></button><button class="-mb-px px-2.5 leading-none rounded-md"><div class="pt-2 pb-2 text-gray-500 dark:text-gray-2">Manual</div></button><button class="-mb-px px-2.5 leading-none rounded-md"><div class="pt-2 pb-2 text-gray-500 dark:text-gray-2">Modules</div></button></div></div><div class="overflow-y-auto flex-grow-1"><div class="pt-3"><div class="mx-6 my-1 text-gray-400 text-sm leading-6 font-bold">Manual</div><div class="[&amp;>*]:flex [&amp;>*]:items-center [&amp;>*]:gap-4 [&amp;>*]:px-6 [&amp;>*]:py-1.5"><a href="/manual/introduction#introduction"><div class="p-1.5 rounded-full bg-gray-200 dark:bg-gray-5"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.33333 1H11.6667C12.0203 1 12.3594 1.14048 12.6095 1.39052C12.8595 1.64057 13 1.97971 13 2.33333V11.6667C13 12.0203 12.8595 12.3594 12.6095 12.6095C12.3594 12.8595 12.0203 13 11.6667 13H2.33333C1.97971 13 1.64057 12.8595 1.39052 12.6095C1.14048 12.3594 1 12.0203 1 11.6667V2.33333C1 1.97971 1.14048 1.64057 1.39052 1.39052C1.64057 1.14048 1.97971 1 2.33333 1ZM3.66667 3.66667V5H10.3333V3.66667H3.66667ZM3.66667 6.33333V7.66667H10.3333V6.33333H3.66667ZM3.66667 9V10.3333H8.33333V9H3.66667Z" fill="currentColor"></path></svg></div><div><div class="space-x-1"><span class="font-bold">Introduction</span></div><div class="text-sm text-gray-500 dark:text-gray-2 max-h-10 overflow-ellipsis overflow-hidden">Deno ( /ˈdiːnoʊ/ , pronounced  dee-no ) is a JavaScript, TypeScript, and WebAssembly runtime with secure defaults and a great developer experience.</div></div></a><a href="/manual/introduction#philosophy"><div class="p-1.5 rounded-full bg-gray-200 dark:bg-gray-5"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.33333 1H11.6667C12.0203 1 12.3594 1.14048 12.6095 1.39052C12.8595 1.64057 13 1.97971 13 2.33333V11.6667C13 12.0203 12.8595 12.3594 12.6095 12.6095C12.3594 12.8595 12.0203 13 11.6667 13H2.33333C1.97971 13 1.64057 12.8595 1.39052 12.6095C1.14048 12.3594 1 12.0203 1 11.6667V2.33333C1 1.97971 1.14048 1.64057 1.39052 1.39052C1.64057 1.14048 1.97971 1 2.33333 1ZM3.66667 3.66667V5H10.3333V3.66667H3.66667ZM3.66667 6.33333V7.66667H10.3333V6.33333H3.66667ZM3.66667 9V10.3333H8.33333V9H3.66667Z" fill="currentColor"></path></svg></div><div><div class="space-x-1"><span class="">Introduction</span><span> &gt; </span><span class="font-bold">Philosophy</span></div><div class="text-sm text-gray-500 dark:text-gray-2 max-h-10 overflow-ellipsis overflow-hidden">Deno aims to be a productive and secure scripting environment for the modern programmer.</div></div></a><a href="/manual/linking_to_external_code/integrity_checking#introduction"><div class="p-1.5 rounded-full bg-gray-200 dark:bg-gray-5"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.33333 1H11.6667C12.0203 1 12.3594 1.14048 12.6095 1.39052C12.8595 1.64057 13 1.97971 13 2.33333V11.6667C13 12.0203 12.8595 12.3594 12.6095 12.6095C12.3594 12.8595 12.0203 13 11.6667 13H2.33333C1.97971 13 1.64057 12.8595 1.39052 12.6095C1.14048 12.3594 1 12.0203 1 11.6667V2.33333C1 1.97971 1.14048 1.64057 1.39052 1.39052C1.64057 1.14048 1.97971 1 2.33333 1ZM3.66667 3.66667V5H10.3333V3.66667H3.66667ZM3.66667 6.33333V7.66667H10.3333V6.33333H3.66667ZM3.66667 9V10.3333H8.33333V9H3.66667Z" fill="currentColor"></path></svg></div><div><div class="space-x-1"><span class="">Linking to External Code</span><span> &gt; </span><span class="">Integrity Checking</span><span> &gt; </span><span class="">Integrity Checking &amp; Lock Files</span><span> &gt; </span><span class="font-bold">Introduction</span></div><div class="text-sm text-gray-500 dark:text-gray-2 max-h-10 overflow-ellipsis overflow-hidden">Let's say your module depends on remote module  https://some.url/a.ts . When you compile your module for the first time  a.ts  is retrieved, compiled and cached. It will remain this way until you run your module on a new machine (say in production) or reload the cache (through  deno cache --reload  for example). But what happens if the content in the remote url  https://some.url/a.ts  is changed? This could lead to your production module running with different dependency code than your local module. Deno's solution to avoid this is to use integrity checking and lock files.</div></div></a></div></div><div class="pt-3"><div class="mx-6 my-1 text-gray-400 text-sm leading-6 font-bold">Modules</div><div class="[&amp;>*]:flex [&amp;>*]:items-center [&amp;>*]:gap-4 [&amp;>*]:px-6 [&amp;>*]:py-1.5"><a href="https://deno.land/x/std" class="justify-between"><div class="flex items-center gap-4"><div class="p-1.5 rounded-full bg-gray-200 dark:bg-gray-5"><svg width="14" height="15" viewBox="0 0 14 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.66663 1.71973H13V7.05306H7.66663V1.71973ZM8.99996 3.05306H11.6666V5.71973H8.99996V3.05306Z" fill="currentColor"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M10.3333 13.7191V8.38574H6.33333V4.38574H1V13.7191H10.3333ZM5 5.71908H2.33333V8.38574H5V5.71908ZM2.33333 12.3857V9.71908H5V12.3857H2.33333ZM6.33333 12.3857V9.71908H9V12.3857H6.33333Z" fill="currentColor"></path></svg></div><div><div class="font-bold">std</div><div class="text-sm text-gray-500 dark:text-gray-2 max-h-10 overflow-ellipsis overflow-hidden">Deno standard library</div></div></div></a><a href="https://deno.land/x/std/wasi" class="justify-between"><div class="flex items-center gap-4"><div class="p-1.5 rounded-full bg-gray-200 dark:bg-gray-5"><svg width="14" height="15" viewBox="0 0 14 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.66663 1.71973H13V7.05306H7.66663V1.71973ZM8.99996 3.05306H11.6666V5.71973H8.99996V3.05306Z" fill="currentColor"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M10.3333 13.7191V8.38574H6.33333V4.38574H1V13.7191H10.3333ZM5 5.71908H2.33333V8.38574H5V5.71908ZM2.33333 12.3857V9.71908H5V12.3857H2.33333ZM6.33333 12.3857V9.71908H9V12.3857H6.33333Z" fill="currentColor"></path></svg></div><div><div class="font-bold">std/wasi</div><div class="text-sm text-gray-500 dark:text-gray-2 max-h-10 overflow-ellipsis overflow-hidden"></div></div></div></a><a href="https://deno.land/x/std/uuid" class="justify-between"><div class="flex items-center gap-4"><div class="p-1.5 rounded-full bg-gray-200 dark:bg-gray-5"><svg width="14" height="15" viewBox="0 0 14 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.66663 1.71973H13V7.05306H7.66663V1.71973ZM8.99996 3.05306H11.6666V5.71973H8.99996V3.05306Z" fill="currentColor"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M10.3333 13.7191V8.38574H6.33333V4.38574H1V13.7191H10.3333ZM5 5.71908H2.33333V8.38574H5V5.71908ZM2.33333 12.3857V9.71908H5V12.3857H2.33333ZM6.33333 12.3857V9.71908H9V12.3857H6.33333Z" fill="currentColor"></path></svg></div><div><div class="font-bold">std/uuid</div><div class="text-sm text-gray-500 dark:text-gray-2 max-h-10 overflow-ellipsis overflow-hidden">Generators and validators for UUIDs for versions v1, v4 and v5.</div></div></div></a><a href="https://deno.land/x/std/textproto" class="justify-between"><div class="flex items-center gap-4"><div class="p-1.5 rounded-full bg-gray-200 dark:bg-gray-5"><svg width="14" height="15" viewBox="0 0 14 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.66663 1.71973H13V7.05306H7.66663V1.71973ZM8.99996 3.05306H11.6666V5.71973H8.99996V3.05306Z" fill="currentColor"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M10.3333 13.7191V8.38574H6.33333V4.38574H1V13.7191H10.3333ZM5 5.71908H2.33333V8.38574H5V5.71908ZM2.33333 12.3857V9.71908H5V12.3857H2.33333ZM6.33333 12.3857V9.71908H9V12.3857H6.33333Z" fill="currentColor"></path></svg></div><div><div class="font-bold">std/textproto</div><div class="text-sm text-gray-500 dark:text-gray-2 max-h-10 overflow-ellipsis overflow-hidden">**Deprecated**. Use `TextLineStream` from `std/steams` for line-by-line text reading instead.</div></div></div></a><a href="https://deno.land/x/std/testing" class="justify-between"><div class="flex items-center gap-4"><div class="p-1.5 rounded-full bg-gray-200 dark:bg-gray-5"><svg width="14" height="15" viewBox="0 0 14 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.66663 1.71973H13V7.05306H7.66663V1.71973ZM8.99996 3.05306H11.6666V5.71973H8.99996V3.05306Z" fill="currentColor"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M10.3333 13.7191V8.38574H6.33333V4.38574H1V13.7191H10.3333ZM5 5.71908H2.33333V8.38574H5V5.71908ZM2.33333 12.3857V9.71908H5V12.3857H2.33333ZM6.33333 12.3857V9.71908H9V12.3857H6.33333Z" fill="currentColor"></path></svg></div><div><div class="font-bold">std/testing</div><div class="text-sm text-gray-500 dark:text-gray-2 max-h-10 overflow-ellipsis overflow-hidden"></div></div></div></a></div></div><div class="h-6"></div></div></div></dialog></div></div></div></nav></div></header></div><main tabindex="-1" id="main"><div><div class="dark:bg-black"><div class="flex flex-col items-center justify-center py-24 md:py-32 lg:py-36
        bg-gradient-to-b from-white to-[#ECF3FD] relative overflow-hidden max-lg:!pt-8"><div class="w-full flex flex-col items-center gap-24 md:gap-32 section-x-inset-xl"><div id="homepage-hero" class="w-full flex flex-col flex-wrap z-10 gap-8 focus:!outline-none focus-visible:!outline-none" tabindex="-1"><canvas class="inset-0 absolute w-full h-full pointer-events-none" width="790" height="728"></canvas><canvas class="absolute -left-[100vw] sr-only"></canvas><div class="grid gap-8 md:gap-16 grid-cols-1 sm:grid-cols-2 items-center"><div class="bg-transparent transition-transform origin-center duration-300 grid grid-cols-1 grid-rows-1 items-center [perspective:1000px] [transform-style:preserve-3d] ease-[cubic-bezier(0.77,0,0.175,1)]" style="transform: rotateY(0deg);"><div align="left" class="flex flex-col w-full gap-4 text-left items-start animate-in playing col-start-1 row-start-1" style="-webkit-backface-visibility: hidden; backface-visibility: hidden;" data-component="heading-group" animatein="true"><h1 as="h1" class="text-balance text-heading-2xl" data-component="heading" visualsize="2xl">Uncomplicate JavaScript</h1><div data-component="subhead" class="text-lg text-gray-4 dark:text-gray-3 max-w-prose text-balance ">Deno is the open-source JavaScript runtime for the modern web.</div><div class="flex flex-wrap mt-4 justify-start items-center gap-2 opacity-0 animate-slide-in-up motion-reduce:animate-fade-opacity-in animation-delay-700"><div class="flex items-center"><a href="https://docs.deno.com/runtime/manual" class="group inline-block w-full max-w-max rounded-full overflow-hidden bg-runtime hover:bg-transparent hover:animate-half-border-spin undefined" style="--outer-radius: 9999px; --border-size: 2px; --inner-radius: calc(var(--outer-radius) - var(--border-size)); background-image: conic-gradient(from var(--border-gradient-angle) at 0.5rem 150%, transparent, transparent 25%, black 25%, black 75%, transparent 75%, transparent); border-radius: var(--outer-radius); padding: var(--border-size);" tabindex="0"><div class="flex text-left items-center text-balance transition-color duration-200 bg-runtime py-4 px-6 gap-4 text-black" style="border-radius: var(--inner-radius);">Documentation<svg class="flex-none" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.96967 12.5303C3.67678 12.2374 3.67678 11.7626 3.96967 11.4697L8.43934 7L3.96967 2.53033C3.67678 2.23744 3.67678 1.76256 3.96967 1.46967C4.26256 1.17678 4.73744 1.17678 5.03033 1.46967L10.0303 6.46967C10.3232 6.76256 10.3232 7.23744 10.0303 7.53033L5.03033 12.5303C4.73744 12.8232 4.26256 12.8232 3.96967 12.5303Z" fill="currentColor"></path></svg></div></a></div><div class="flex items-center"><a href="https://github.com/denoland/deno/" class="group inline-block w-full max-w-max rounded-full overflow-hidden bg-gray-5 hover:bg-transparent hover:animate-half-border-spin undefined" style="--outer-radius: 9999px; --border-size: 2px; --inner-radius: calc(var(--outer-radius) - var(--border-size)); background-image: conic-gradient(from var(--border-gradient-angle) at 0.5rem 150%, transparent, transparent 25%, black 25%, black 75%, transparent 75%, transparent); border-radius: var(--outer-radius); padding: var(--border-size);" tabindex="0"><div class="flex text-left items-center text-balance transition-color duration-200 bg-gray-5 py-4 px-6 gap-4 text-white" style="border-radius: var(--inner-radius);"><svg class="flex-none w-6 h-6" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg" aria-label="GitHub Logo"><g clip-path="url(#clip0_1989_191)"><path d="M7.00001 0C3.13391 0 0 3.21295 0 7.17755C0 10.3482 2.0055 13.0388 4.7873 13.9875C5.1373 14.0534 5.26471 13.832 5.26471 13.6414C5.26471 13.4716 5.25912 13.0195 5.25561 12.4212C3.3082 12.8547 2.8973 11.4589 2.8973 11.4589C2.5795 10.6291 2.1203 10.4084 2.1203 10.4084C1.48471 9.96418 2.16861 9.97279 2.16861 9.97279C2.87071 10.0229 3.24032 10.7122 3.24032 10.7122C3.86472 11.8085 4.87903 11.4918 5.27732 11.3084C5.34171 10.8448 5.52232 10.5288 5.72251 10.3497C4.16851 10.1684 2.534 9.55218 2.534 6.80211C2.534 6.01893 2.807 5.37764 3.2543 4.87605C3.1822 4.69476 2.94211 3.96463 3.32289 2.97722C3.32289 2.97722 3.91089 2.78376 5.24789 3.71238C5.77305 3.55992 6.37629 3.47184 6.99948 3.4709C7.59448 3.47377 8.19351 3.5533 8.7528 3.71238C10.0891 2.78376 10.6757 2.97649 10.6757 2.97649C11.0579 3.9646 10.8171 4.69475 10.7457 4.87603C11.1937 5.3776 11.4653 6.0189 11.4653 6.80208C11.4653 9.55931 9.82799 10.1662 8.26908 10.3439C8.52037 10.5653 8.74368 11.0031 8.74368 11.6731C8.74368 12.6318 8.73529 13.4064 8.73529 13.6414C8.73529 13.8335 8.86129 14.057 9.21689 13.9868C12.0205 13.0032 14 10.3285 14 7.18046C14 7.17943 14 7.17841 14 7.17738C14 3.21278 10.8654 0 7.00001 0Z" fill="currentColor"></path></g><defs><clipPath id="clip0_1989_191"><rect width="14" height="14" fill="white"></rect></clipPath></defs></svg>GitHub<svg class="flex-none" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.96967 12.5303C3.67678 12.2374 3.67678 11.7626 3.96967 11.4697L8.43934 7L3.96967 2.53033C3.67678 2.23744 3.67678 1.76256 3.96967 1.46967C4.26256 1.17678 4.73744 1.17678 5.03033 1.46967L10.0303 6.46967C10.3232 6.76256 10.3232 7.23744 10.0303 7.53033L5.03033 12.5303C4.73744 12.8232 4.26256 12.8232 3.96967 12.5303Z" fill="currentColor"></path></svg></div></a></div></div></div><aside class="halftone min-h-full col-start-1 row-start-1 w-full rounded-lg p-4 py-8 xs:p-8 lg:p-12 top-0 left-0 transition-transform bg-[#ECF3FD] shadow-xl relative" style="transform: rotateY(180deg); -webkit-backface-visibility: hidden; backface-visibility: hidden;" aria-hidden="true" inert="" id="dressup-control-panel"><button class="size-8 flex items-center justify-center font-bold text-center text-xl leading-none absolute right-0 top-0 xs:top-1 xs:right-1 lg:top-2 lg:right-2" type="button"><span aria-hidden="true" class="h-[1.125em] lg:h-auto">×</span><span class="sr-only">Close</span></button><form action="" class="flex gap-6 flex-wrap flex-col h-full w-full max-w-3xl mx-auto"><div class="flex flex-col gap-2"><label class="font-semibold text-lg leading-none sr-only" id="headwear-label" for="headwear-select">Headwear</label><select name="headwear" id="headwear-select" class="flex-grow appearance-none px-3 py-2 border-2 border-black rounded bg-white"><option value="">(No headwear)</option><option value="party-hat" selected="">Party Hat</option><option value="headphones">Headphones</option><option value="cap">Cap</option><option value="backwards-cap">Backwards Cap</option><option value="crown">Crown</option><option value="astronaut-helmet">Astronaut Helmet</option><option value="tuque">Tuque</option><option value="headband">Headband</option><option value="top-hat">Top Hat</option><option value="bandana">Bandana</option><option value="flower">Flower</option><option value="hard-hat">Hard Hat</option><option value="witch-hat">Witch Hat</option></select><fieldset><div class="min-h-7 flex gap-[1px] w-full justify-between items-center xs:gap-0.5 xs:w-auto max-w-[17rem] focus:bg-white"><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="headwear-colors" value="#70ffaf" checked="" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 ring-2 ring-black" style="background-color: #70ffaf"><span class="sr-only leading-none">#70ffaf</span></div></label><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="headwear-colors" value="#ffdb1e" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 " style="background-color: #ffdb1e"><span class="sr-only leading-none">#ffdb1e</span></div></label><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="headwear-colors" value="#ff8a01" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 " style="background-color: #ff8a01"><span class="sr-only leading-none">#ff8a01</span></div></label><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="headwear-colors" value="#00a341" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 " style="background-color: #00a341"><span class="sr-only leading-none">#00a341</span></div></label><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="headwear-colors" value="#01c2ff" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 " style="background-color: #01c2ff"><span class="sr-only leading-none">#01c2ff</span></div></label><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="headwear-colors" value="#1d4ed8" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 " style="background-color: #1d4ed8"><span class="sr-only leading-none">#1d4ed8</span></div></label><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="headwear-colors" value="#613092" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 " style="background-color: #613092"><span class="sr-only leading-none">#613092</span></div></label><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="headwear-colors" value="#f472b6" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 " style="background-color: #f472b6"><span class="sr-only leading-none">#f472b6</span></div></label><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="headwear-colors" value="#dc2626" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 " style="background-color: #dc2626"><span class="sr-only leading-none">#dc2626</span></div></label><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="headwear-colors" value="#25272b" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 " style="background-color: #25272b"><span class="sr-only leading-none">#25272b</span></div></label></div></fieldset></div><div class="flex flex-col gap-2"><label class="font-semibold text-lg leading-none sr-only " id="neckwear-label" for="neckwear-select">Neckwear</label><select name="neckwear" id="neckwear-select" class="flex-grow appearance-none px-3 py-2 border-2 border-black rounded bg-white"><option value="">(No neckwear)</option><option value="bowtie" selected="">Bowtie</option><option value="necktie">Necktie</option><option value="scarf">Scarf</option><option value="necklace">Necklace</option><option value="css-necklace">CSS Necklace</option><option value="two-chain">Two Chain</option></select><fieldset><div class="min-h-7 flex gap-[1px] w-full justify-between items-center xs:gap-0.5 xs:w-auto max-w-[17rem] focus:bg-white"><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="neckwear-colors" value="#70ffaf" checked="" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 ring-2 ring-black" style="background-color: #70ffaf"><span class="sr-only leading-none">#70ffaf</span></div></label><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="neckwear-colors" value="#ffdb1e" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 " style="background-color: #ffdb1e"><span class="sr-only leading-none">#ffdb1e</span></div></label><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="neckwear-colors" value="#ff8a01" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 " style="background-color: #ff8a01"><span class="sr-only leading-none">#ff8a01</span></div></label><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="neckwear-colors" value="#00a341" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 " style="background-color: #00a341"><span class="sr-only leading-none">#00a341</span></div></label><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="neckwear-colors" value="#01c2ff" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 " style="background-color: #01c2ff"><span class="sr-only leading-none">#01c2ff</span></div></label><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="neckwear-colors" value="#1d4ed8" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 " style="background-color: #1d4ed8"><span class="sr-only leading-none">#1d4ed8</span></div></label><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="neckwear-colors" value="#613092" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 " style="background-color: #613092"><span class="sr-only leading-none">#613092</span></div></label><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="neckwear-colors" value="#f472b6" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 " style="background-color: #f472b6"><span class="sr-only leading-none">#f472b6</span></div></label><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="neckwear-colors" value="#dc2626" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 " style="background-color: #dc2626"><span class="sr-only leading-none">#dc2626</span></div></label><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="neckwear-colors" value="#25272b" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 " style="background-color: #25272b"><span class="sr-only leading-none">#25272b</span></div></label></div></fieldset></div><div class="flex flex-col gap-4"><fieldset class=""><legend class="font-semibold text-lg leading-none block mb-2 sr-only">Accessories</legend><div class="flex flex-wrap gap-x-4 gap-y-2 md:grid md:grid-cols-2 lg:grid-cols-3"><div class="relative"><input type="checkbox" name="accessory" value="balloons" checked="" id="checkbox-balloons"><label class="flex items-center gap-1 flex-wrap leading-none" for="checkbox-balloons">Balloons</label></div><div class="relative"><input type="checkbox" name="accessory" value="handlebars" id="checkbox-handlebars"><label class="flex items-center gap-1 flex-wrap leading-none" for="checkbox-handlebars">Handlebars</label></div><div class="relative"><input type="checkbox" name="accessory" value="mustache" id="checkbox-mustache"><label class="flex items-center gap-1 flex-wrap leading-none" for="checkbox-mustache">Mustache</label></div><div class="relative"><input type="checkbox" name="accessory" value="sunglasses" id="checkbox-sunglasses"><label class="flex items-center gap-1 flex-wrap leading-none" for="checkbox-sunglasses">Sunglasses</label></div><div class="relative"><input type="checkbox" name="accessory" value="glasses" id="checkbox-glasses"><label class="flex items-center gap-1 flex-wrap leading-none" for="checkbox-glasses">Glasses</label></div><div class="relative"><input type="checkbox" name="accessory" value="mascara" id="checkbox-mascara"><label class="flex items-center gap-1 flex-wrap leading-none" for="checkbox-mascara">Mascara</label></div><div class="relative"><input type="checkbox" name="accessory" value="eyelashes" id="checkbox-eyelashes"><label class="flex items-center gap-1 flex-wrap leading-none" for="checkbox-eyelashes">Eyelashes</label></div><div class="relative"><input type="checkbox" name="accessory" value="skateboard" id="checkbox-skateboard"><label class="flex items-center gap-1 flex-wrap leading-none" for="checkbox-skateboard">Skateboard</label></div><div class="relative"><input type="checkbox" name="accessory" value="tattoo" id="checkbox-tattoo"><label class="flex items-center gap-1 flex-wrap leading-none" for="checkbox-tattoo">Tattoo</label></div><div class="relative"><input type="checkbox" name="accessory" value="fangs" id="checkbox-fangs"><label class="flex items-center gap-1 flex-wrap leading-none" for="checkbox-fangs">Fangs</label></div><div class="relative"><input type="checkbox" name="accessory" value="ferris" id="checkbox-ferris"><label class="flex items-center gap-1 flex-wrap leading-none" for="checkbox-ferris">Ferris</label></div></div></fieldset><fieldset><div class="min-h-7 flex gap-[1px] w-full justify-between items-center xs:gap-0.5 xs:w-auto max-w-[17rem] focus:bg-white"><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="accessory-colors" value="#70ffaf" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 " style="background-color: #70ffaf"><span class="sr-only leading-none">#70ffaf</span></div></label><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="accessory-colors" value="#ffdb1e" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 " style="background-color: #ffdb1e"><span class="sr-only leading-none">#ffdb1e</span></div></label><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="accessory-colors" value="#ff8a01" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 " style="background-color: #ff8a01"><span class="sr-only leading-none">#ff8a01</span></div></label><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="accessory-colors" value="#00a341" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 " style="background-color: #00a341"><span class="sr-only leading-none">#00a341</span></div></label><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="accessory-colors" value="#01c2ff" checked="" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 ring-2 ring-black" style="background-color: #01c2ff"><span class="sr-only leading-none">#01c2ff</span></div></label><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="accessory-colors" value="#1d4ed8" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 " style="background-color: #1d4ed8"><span class="sr-only leading-none">#1d4ed8</span></div></label><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="accessory-colors" value="#613092" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 " style="background-color: #613092"><span class="sr-only leading-none">#613092</span></div></label><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="accessory-colors" value="#f472b6" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 " style="background-color: #f472b6"><span class="sr-only leading-none">#f472b6</span></div></label><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="accessory-colors" value="#dc2626" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 " style="background-color: #dc2626"><span class="sr-only leading-none">#dc2626</span></div></label><label class="leading-none aspect-square flex-grow flex-shrink"><input type="radio" name="accessory-colors" value="#25272b" class="sr-only peer"><div class="w-full h-full rounded-full inline-block border-2 border-offblack peer-focus-visible:scale-125 " style="background-color: #25272b"><span class="sr-only leading-none">#25272b</span></div></label></div></fieldset></div><div class="flex items-center justify-between gap-1 flex-wrap"><button type="button" class="border-2 border-offblack rounded-full flex-auto px-3 py-2 leading-none bg-white font-semibold hover:underline">Randomize all</button><button type="button" class="border-2 border-offblack rounded-full flex-auto px-3 py-2 leading-none bg-white font-semibold hover:underline">Clear all</button><button type="button" class="w-full border-2 border-offblack rounded-full px-6 py-4 leading-none bg-runtime font-semibold hover:underline">Save my dino <span aria-hidden="true">⤓</span></button></div></form></aside></div><svg id="my-dino" width="1000" height="1000" viewBox="0 0 500 500" version="1.1" xmlns="http://www.w3.org/2000/svg" style="
        --headwearColor: #70ffaf;
        --neckwearColor: #70ffaf;
        --accessoryColor: #01c2ff;
        fill-rule:evenodd;
        clip-rule:evenodd;
        stroke-linecap:round;
        stroke-linejoin:round;
        stroke-miterlimit:1;
        fill: var(--offblack);
        width: 100%;
        height: auto;
      " xmlSpace="preserve"><style>
            #accessories [id],
            #headwear [id],
            #neckwear [id] {
              display: none;
            }
            /* Need to specify a string for non-values, or the whole selector fails */
            #headwear #party-hat,
            #neckwear #bowtie {
              display: block !important;
            }
            @keyframes balloons {
              0%, 100% { transform: translateY(0px); }
              50% { transform: translateY(-10px); }
            }
            @keyframes button_bounce {
              85%, 90%, 95% {
                transform: translateY(-3px);
              }
              87.5%, 92.5% {
                transform: translateY(3px);
              }
              0%, 97.5%, 100% {
                transform: translateY(0px);
              }
            }
            #dressup-control-panel input[type="checkbox"] {
              opacity: 0;
              position: absolute;
              left: -100vw;
            }
            #dressup-control-panel input[type="checkbox"] + label:before {
              content: "";
              display: inline-block;
              width: 1em;
              height: 1em;
              border: 2px solid currentColor;
            }
            #dressup-control-panel input[type="checkbox"]:checked + label:before {
              background: var(--runtime);
            }
            #dressup-control-panel input[type="checkbox"]:checked + label:after {
              content: "";
              display: inline-block;
              width: calc(1em - 10px);
              height: calc(1em - 6px);
              border-bottom: 2px solid;
              border-right: 2px solid;
              transform: rotate(36deg);
              left: 5px;
              bottom: 4px;
              position: absolute;
            }
            #dressup-control-panel input[type="checkbox"]:focus + label:before,
            #dressup-control-panel input[type="radio"]:focus + span {
              outline: 2px solid var(--code-3);
              outline-offset: 2px;
            }
            #dressup-control-panel select{
              position: relative;
            }
            #dressup-control-panel select {
              background-image: url("data:image/svg+xml,%3Csvg%20width%3D%22137px%22%20height%3D%22224px%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20xml%3Aspace%3D%22preserve%22%20xmlns%3Aserif%3D%22http%3A%2F%2Fwww.serif.com%2F%22%20style%3D%22fill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3Bstroke-linejoin%3Around%3Bstroke-miterlimit%3A2%3B%22%3E%3Cg%20transform%3D%22matrix(0.741625%2C0%2C0%2C1%2C0%2C0)%22%3E%3Cpath%20d%3D%22M91.868%2C0L0%2C91.868L183.736%2C91.868L91.868%2C0Z%22%20style%3D%22fill%3Argb(35%2C31%2C32)%3B%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22matrix(-0.741625%2C-1.22465e-16%2C9.08229e-17%2C-1%2C136.264%2C223.736)%22%3E%3Cpath%20d%3D%22M91.868%2C0L0%2C91.868L183.736%2C91.868L91.868%2C0Z%22%20style%3D%22fill%3Argb(35%2C31%2C32)%3B%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
              background-size: 0.5em;
              background-position: right 0.5em top 50%;
              background-repeat: no-repeat;
            }
            #accessories #balloons{display: block !important;}</style><g id="dino"><g id="Body" transform="matrix(0.0686746,0.00359833,-0.00359833,0.0686746,-394.444,-415.147)"><path d="M9673.71,11429.5C9651.95,11428.1 9645.96,11428.9 9633.12,11438.1C9620.28,11447.2 9616.04,11465 9620.45,11480.7C9631.23,11519 9665.76,11691.2 9680.13,11786.2C9710.35,11985.9 9721.18,12157 9664.32,12207.8C9651.59,12214.8 9606.11,12240 9474.38,12255.9C9385.47,12266.6 9285.89,12269.5 9205.96,12268.6C9116.59,12267.5 9003.99,12268.4 8973.42,12166.4C8971.04,12158.4 8966.52,12133.3 8958.28,12095.8C8913.49,12095.9 8872.69,12096.6 8835.67,12097.1C8835.87,12098 8836.07,12098.8 8836.27,12099.7C8831.36,12099.6 8826.44,12099.5 8821.61,12099.4C8812.04,12098.9 8800.87,12098.3 8788.4,12097.7C8739.06,12098.2 8697.63,12097.8 8663.48,12094.6C8660.02,12094.6 8656.54,12094.6 8653.05,12094.6C8584.3,12088 8538.85,12074.8 8523.3,12060C8512.8,12036.2 8494.32,11984.1 8462.2,11905.1C8440.93,11860.6 8418.11,11807.3 8392.3,11744.1C8373.28,11703.7 8350.68,11658 8324.91,11610.2C8201.55,11403.5 8008.64,11229.9 7842.11,11087.7C7794.82,11051.4 7748.48,11011.9 7703.26,10969.5C7691.58,10959.3 7682.28,10950.4 7675.13,10942.6C7259.11,10537.1 6943.22,9888.09 6868.4,9255.65C6735.15,8129.2 7137.81,7483.78 7355.27,7196.35C7594.22,6880.53 7826.74,6944.36 7993.57,7037.58C8086.12,7089.31 8089.25,7106.03 8191.47,7151.31C8387.02,7237.93 8524.04,7256.09 8541.1,7425.97C8567.18,7685.65 8336.64,7853.31 8156.27,7876.8C8078.46,7886.93 7972.09,7898.53 7869.68,7892.27C7850.79,7891.11 7783.95,7894.44 7703.02,7876.35C7699.06,7875.46 7689.55,7906.2 7669.93,7956.96C7545.18,8279.7 7425.18,8701.49 7595,9202.38C7696.58,9501.98 7900.99,9728.12 8062.82,9797.79C8377.26,9933.17 8626.92,9749.97 8957.92,9589.61C9345.14,9402.02 10045.3,9338.37 10707.4,9685.04C11309.3,10000.2 11514,10493.2 12318.3,10503.7C12585.2,10507.2 12735.7,10464 12838.6,10422.1C13060.8,10331.7 13173.4,10186.6 13232,10147.8C13233.8,10146.8 13235.8,10146.7 13237.6,10147.6C13239.4,10148.4 13240.7,10150.1 13241,10152C13253.3,10273.8 13101.8,10672 12643.7,10945.1C12348.2,11121.2 11973.2,11207.4 11819.3,11238.1C11390.3,11323.7 11123.6,11295.8 11067.9,11288.3C11001.1,11283.1 10984.7,11339.4 10991.3,11362.6C11051.3,11573.2 11084,11682.6 11099.9,11830.2C11125.6,12067.9 11091.7,12101.1 11071.8,12117.1C11006.3,12170 10718.3,12192.2 10524.8,12171.7C10406.1,12159.2 10378.5,12116.1 10347.6,12039.1C10323.7,11979.8 10321.6,11977.9 10292.6,11926.7C10239.9,11934.5 10184,11940.6 10140.3,11940.4C10080.7,11945.2 10022.2,11938.7 10019.2,11934.1C10016.1,11929.2 10017.7,11931.6 10017,11930.2C9998.5,11894.7 9992.58,11857.1 9952.36,11771.9C9911.59,11689.1 9793.28,11502.9 9673.71,11429.5Z" style="fill:white;"></path></g><g id="Outline" transform="matrix(0.0576748,0.0306136,-0.0374402,0.0481791,106.809,-430.617)"><path d="M7578.54,11969.1C6882.77,11783.5 6085.09,11195.7 5563.26,10471.6C4820.7,9441.23 4694.11,8594.39 4715.75,8021.08C4741.26,7345.57 5245.34,7430.13 5400.94,7453.24C5477.93,7464.68 5484.58,7466.24 5648.32,7456.67C5812.36,7447.08 6020.5,7433.83 6176.36,7736.97C6332.49,8040.61 6217.64,8352.84 6046.94,8483.24C5955.11,8553.38 5875.74,8606.92 5778.28,8648.96C5778.04,8649.06 5747.65,8659.83 5707.06,8669.45C5784.86,9028.78 5921.71,9523.56 6377.36,9949.89C6587.08,10146.1 6870.37,10288.3 7037.12,10280.4C7332.8,10266.5 7419.64,9998.46 7609.37,9678.76C7888.34,9208.7 8618.29,8743.96 9597.71,8921.77C10218.4,9034.46 10639.8,9309.84 11286.2,8887.19C11679.5,8630.02 11634.4,8292.03 11704.6,8178.06C11749.1,8105.9 11868.7,8087.33 11958.9,8310.29C12050,8535.42 12128.6,9079.93 11801.2,9625.65C11665.4,9851.83 11475.7,10063.4 11280.6,10235C11043.2,10443.8 10848.5,10550.2 10740.4,10599.6C10738.9,10600.3 10737.9,10601.8 10737.7,10603.7C10737.6,10605.6 10738.4,10607.6 10739.8,10609.1C10763.4,10634 10784.1,10655.9 10788.2,10660.2C10872.6,10749.4 11005.8,10888.7 11139.7,11099.9C11271.7,11307.8 11274.3,11418.6 11160.3,11535.3C11037,11661.5 10771.8,11810.7 10649.7,11833.2C10496,11861.4 10400.4,11765.9 10332.3,11706.8C10332.2,11707.5 10332.2,11707.9 10332.2,11707.9C10328.7,11712.6 10298,11735.8 10294.9,11738.1C10224.3,11791.3 10136.7,11832.6 10079.3,11824.2C10004.7,11813.3 9964.28,11743.5 9831.08,11640.8C9790.69,11609.7 9764.57,11590.6 9743.7,11575.7C9742.11,11574.6 9740.2,11574.8 9739.23,11576.2C9738.26,11577.5 9738.53,11579.6 9739.86,11581.1C9850.43,11703.1 9957.78,11840.5 10018.5,11973.1C10038.8,12017.3 10079.1,12114.9 10053.6,12197.2C10052.7,12200.2 10039.2,12243.7 9975.86,12308.2C9846.93,12439.5 9597.54,12569.6 9534.47,12591.8C9377.47,12647.1 9269.77,12566.2 9218.81,12514C9167.21,12558.3 9125.55,12578.6 9123.57,12579.7C8865.52,12721.7 8793.19,12640.6 8761.23,12612.5C8699.78,12558.4 8528.68,12398.5 8332.94,12258.2C8324.16,12253.9 8313.59,12247 8300.83,12237C8292.25,12230.3 8283.27,12223.6 8273.92,12217.1C8266.7,12212.2 8259.47,12207.4 8252.21,12202.6C8115.33,12114.8 7911.62,12048.5 7713.57,12000.3C7673.39,11992.5 7632.78,11983.3 7591.79,11972.6C7586.96,11971.5 7582.55,11970.4 7578.54,11969.1ZM5584.67,8687.12C5479.72,8692.29 5404.57,8669.46 5364.89,8655.97C5353.12,8651.97 5352.38,8652.2 5344.65,8641.23C5343.48,8639.57 5336.65,8629.88 5337.62,8617.4C5338.59,8605.01 5338.82,8604.44 5347.94,8597.91C5359.22,8589.83 5360.67,8593.2 5375.45,8595.65C5556.02,8625.58 5691.85,8536.67 5720.39,8523.59C5814.06,8480.65 5900.3,8417.26 5962.37,8369.19C6106.27,8257.75 6206.1,7972.55 6024.57,7715.8C5905.82,7547.83 5774.51,7595.15 5550.04,7599.71C5432.69,7602.1 5419.73,7586.26 5306.93,7577.29C5103.62,7561.14 4860.63,7607.19 4843.94,8050.12C4828.75,8453.23 4869.79,9317.06 5674.87,10421.1C6236.96,11191.9 7141.75,11809.3 7845.89,11885.4C7850.07,11885.4 7854.87,11885.9 7860.43,11886.9C7865.09,11887.3 7869.74,11887.7 7874.38,11888.2C7902.25,11888.1 7931.16,11888.6 7960.81,11889.7C8264.87,11884 8365.92,11876.7 8459.99,11847C8554.07,11817.2 8670.68,11863 8698.89,11881.8C8727.1,11900.6 8878.79,11996.8 9022.12,12128.5C9180.48,12274 9281.89,12405.5 9299.89,12423.9C9389.07,12515 9487.3,12459.7 9566.35,12417.6C9637.03,12380 9722.6,12328.9 9794.06,12274.8C9899.94,12194.8 9924.46,12146.7 9931.35,12133.3C9950.17,12053.1 9836.13,11880.9 9687.64,11688.4C9617.02,11596.8 9481.48,11434.8 9448.65,11400.3C9435.21,11386.2 9428.03,11365.7 9433.7,11350C9439.38,11334.3 9444.16,11330.6 9464.08,11321.5C9568.03,11274.1 9631.81,11225.8 9700.47,11171.3C9721.58,11152.5 9741.78,11158.9 9755.87,11168C10028.5,11349.7 10119.6,11406.4 10303.2,11533.2C10367.4,11577.6 10368.1,11576.4 10427.7,11628.5C10501.9,11693.4 10552.4,11724.8 10664.2,11680.5C10846.5,11608.3 11085.6,11446.2 11110.8,11359.7C11118.4,11333.5 11127.9,11282.7 10960.2,11048.6C10856,10903.2 10760.5,10805.5 10579.2,10616.1C10559.2,10595.2 10539.2,10528.8 10601,10502C10654.5,10482.9 10905.4,10383 11229.5,10087.2C11345.8,9981.06 11622.1,9710.54 11773.8,9385.21C12008.9,8880.81 11898.5,8394.63 11813.3,8274.29C11811.8,8272.43 11809.7,8271.32 11807.6,8271.31C11805.5,8271.29 11803.8,8272.38 11802.9,8274.22C11775.1,8342.76 11765,8547.65 11625.3,8748.74C11560.6,8841.85 11454.9,8959.27 11218.6,9084.53C10506.6,9461.89 10025.9,9049.41 9305.24,9013.09C8512.6,8973.15 7937.19,9377.2 7712.08,9758.73C7519.65,10084.8 7412.54,10395.4 7053.97,10406.8C6869.43,10412.6 6551.94,10276.8 6279.8,10015.1C5824.8,9577.52 5672.39,9082.1 5584.67,8687.12ZM10199.8,11615.9C10200.5,11615.4 10200.8,11614.5 10200.7,11613.5C10200.6,11612.5 10200,11611.6 10199.2,11611C10157.4,11580.9 10073.2,11513.5 9998.83,11461.9C9922.15,11408.7 9753.5,11405.1 9888.88,11519.4C9889.83,11520.2 9890.67,11521 9891.39,11521.8C9999.81,11604.1 10029.6,11644.5 10071.2,11675.2C10072.6,11676.2 10069.8,11674.5 10075.5,11678.1C10081.2,11681.6 10142.9,11657.3 10194.3,11619.9C10196.2,11618.6 10198,11617.2 10199.8,11615.9ZM9138.84,12421C9029.9,12296.7 8935.01,12211.6 8858.88,12146.6C8596.28,11959.1 8269.18,11986.6 8362.11,12139.5C8523.72,12252.7 8651.79,12365 8682.66,12391.8C8764.45,12462.6 8815.29,12510.4 8840.02,12530.9C8874.2,12542.7 8965.94,12518 9084.45,12449.4C9095.8,12442.8 9117.48,12432 9138.84,12421ZM5059.32,7713.87C5109.51,7677.42 5189.4,7704.02 5241.85,7771.19C5311.73,7860.66 5343.33,7977.08 5247.54,8036.81C5165.73,8087.85 5079.03,8003.14 5047.24,7939.56C5015.42,7876 4999.27,7757.48 5059.32,7713.87Z"></path></g></g><g id="neckwear"><g id="two-chain" transform="matrix(1,0,0,1,0,-11.8538)"><g transform="matrix(0.846144,-0.0488904,0.0488904,0.846144,-16.327,48.5144)"><path d="M63.946,360L63.946,348.322L86.336,329.799C90.765,326.134 93.503,323.356 93.503,319.087C93.503,314.537 90.322,311.758 85.852,311.758C81.302,311.758 78.282,314.537 78.282,319.571L62.819,319.571C62.819,306.967 71.879,299.195 85.852,299.195C100.228,299.195 109.369,306.524 109.369,317.718C109.369,324.644 105.946,330.604 92.215,341.96L86.577,346.631L86.577,347.034L110.013,347.034L110.013,360L63.946,360Z" style="fill:var(--neckwearColor);"></path></g><g transform="matrix(1,0,0,1,-22.5,-7.1573)"><path d="M80.63,302.693L80.307,301.653L80.175,300.347L80.23,299.804L80.166,299.922L79.374,300.881L78.416,301.672L77.31,302.272L76.085,302.653L74.779,302.785L73.472,302.653L72.247,302.272L71.141,301.672L70.183,300.881L69.392,299.922L68.792,298.817L68.411,297.591L68.279,296.285L68.373,295.349L68.137,295.544L67.032,296.144L65.806,296.525L64.5,296.657L63.194,296.525L61.968,296.144L60.863,295.544L59.904,294.753L59.113,293.794L58.513,292.689L58.132,291.464L58,290.157L58.132,288.851L58.513,287.625L59.113,286.52L59.904,285.561L60.863,284.77L61.968,284.17L63.194,283.79L64.5,283.657L65.806,283.79L67.032,284.17L68.137,284.77L69.096,285.561L69.887,286.52L70.487,287.625L70.868,288.851L71,290.157L70.905,291.093L71.141,290.898L72.247,290.298L73.472,289.917L74.779,289.785L76.085,289.917L77.31,290.298L78.416,290.898L79.374,291.689L80.166,292.648L80.766,293.753L81.146,294.978L81.279,296.285L81.224,296.828L81.288,296.71L82.079,295.751L83.038,294.96L84.143,294.36L85.368,293.979L86.675,293.847L87.981,293.979L89.207,294.36L90.312,294.96L91.271,295.751L92.062,296.71L92.662,297.815L93.042,299.041L93.07,299.316C93.087,299.315 93.104,299.314 93.121,299.313L93.141,299.124L93.521,297.898L94.121,296.793L94.912,295.834L95.871,295.043L96.976,294.443L98.202,294.062L99.508,293.93L100.815,294.062L102.04,294.443L103.145,295.043L104.104,295.834L104.895,296.793L105.495,297.898L105.505,297.93L105.595,297.046L105.976,295.82L106.576,294.715L107.367,293.756L108.325,292.965L109.431,292.365L110.656,291.984L111.963,291.852L113.269,291.984L114.494,292.365L115.6,292.965L116.558,293.756L117.015,294.31L117,294.157L117.132,292.851L117.513,291.625L118.113,290.52L118.904,289.561L119.863,288.77L120.968,288.17L122.194,287.79L123.5,287.657L124.806,287.79L126.032,288.17L127.004,288.698L127,288.657L127.132,287.351L127.513,286.125L128.113,285.02L128.904,284.061L129.863,283.27L130.968,282.67L132.194,282.29L133.5,282.157L134.806,282.29L136.032,282.67L137.137,283.27L138.096,284.061L138.887,285.02L139.487,286.125L139.868,287.351L140,288.657L139.868,289.964L139.487,291.189L138.887,292.294L138.096,293.253L137.137,294.044L136.032,294.644L134.806,295.025L133.5,295.157L132.194,295.025L130.968,294.644L129.996,294.116L130,294.157L129.868,295.464L129.487,296.689L128.887,297.794L128.096,298.753L127.137,299.544L126.032,300.144L124.806,300.525L123.5,300.657L122.194,300.525L120.968,300.144L119.863,299.544L118.904,298.753L118.447,298.199L118.463,298.352L118.33,299.658L117.95,300.884L117.35,301.989L116.558,302.948L115.6,303.739L114.494,304.339L113.269,304.72L112.785,304.769C116.856,308.21 119.239,313.078 119.573,318.852C119.907,324.639 118.283,330.177 110.077,338.947L121.244,338.302L122.493,359.922L72.865,362.789L71.841,345.078L90.829,327.428L69.934,328.635L69.626,323.311C69.219,316.267 71.534,310.468 75.791,306.277C77.184,304.904 78.803,303.7 80.63,302.693ZM106,300.929L105.976,300.884L105.966,300.852L105.959,300.915C105.973,300.92 105.987,300.924 106,300.929ZM84.852,306.554C78.235,309.419 74.503,315.247 74.951,323.003L88.035,322.247C87.789,317.988 90.208,315.489 94.058,315.267C97.841,315.048 100.668,317.244 100.891,321.094C101.099,324.706 98.918,327.191 95.349,330.508L77.31,347.276L77.881,357.157L116.861,354.905L116.227,343.934L96.396,345.079L96.377,344.739L100.919,340.511C111.982,330.231 114.587,325.021 114.248,319.16C113.867,312.559 109.821,307.763 103.286,305.701L103.145,305.817L102.04,306.417L100.815,306.798L99.508,306.93L98.202,306.798L96.976,306.417L95.871,305.817L94.912,305.026L94.553,304.59C94.187,304.599 93.818,304.615 93.444,304.636C92.735,304.677 92.042,304.741 91.366,304.827L91.271,304.943L90.312,305.734L89.207,306.334L87.981,306.715L86.675,306.847L85.368,306.715L84.852,306.554ZM93.527,324.853C93.959,324.407 94.348,323.971 94.687,323.534C95.213,322.855 95.614,322.229 95.566,321.402C95.53,320.781 94.976,320.556 94.366,320.591C94.026,320.611 93.71,320.622 93.489,320.795C93.203,321.019 93.331,321.454 93.359,321.94L93.527,324.853Z"></path></g></g><g id="necklace" transform="matrix(1,0,0,1,0,-11.8538)"><g transform="matrix(1.17067,0,0,1.17067,-23.3651,-58.3717)"><path d="M123.688,302.323C122.429,300.832 120.793,299.668 118.927,298.979C118.9,298.792 118.887,298.601 118.887,298.407C118.887,296.201 120.678,294.41 122.884,294.41C125.09,294.41 126.881,296.201 126.881,298.407C126.881,300.338 125.509,301.95 123.688,302.323ZM114.989,305.112C117.5,305.112 119.539,307.151 119.539,309.663C119.539,312.175 117.5,314.214 114.989,314.214C112.477,314.214 110.438,312.175 110.438,309.663C110.438,307.151 112.477,305.112 114.989,305.112ZM101.195,316.011C103.615,316.011 105.579,317.975 105.579,320.395C105.579,322.814 103.615,324.779 101.195,324.779C98.776,324.779 96.811,322.814 96.811,320.395C96.811,317.975 98.776,316.011 101.195,316.011ZM86.49,321.076C87.621,321.904 88.357,323.241 88.357,324.749C88.357,327.26 86.318,329.298 83.808,329.298C81.297,329.298 79.259,327.26 79.259,324.749C79.259,323.732 79.593,322.792 80.158,322.034L80.159,322.025C80.973,320.901 82.296,320.169 83.789,320.169C84.803,320.169 85.739,320.507 86.49,321.076ZM63.437,311.805C61.156,313.098 59.365,315.173 58.423,317.671C56.663,317.152 55.385,315.485 55.385,313.529C55.385,311.164 57.254,309.22 59.586,309.22C61.315,309.22 62.789,310.289 63.437,311.805ZM73.206,320.643C72.765,321.807 72.51,323.062 72.478,324.373C71.679,325.491 70.39,326.221 68.927,326.221C66.484,326.221 64.525,324.184 64.525,321.706C64.525,319.227 66.484,317.191 68.927,317.191C71.01,317.191 72.741,318.671 73.206,320.643Z" style="fill:var(--neckwearColor);"></path></g><g transform="matrix(1.11728,0,0,1.11728,-18.6565,-41.0523)"><path d="M56.529,324.232C51.138,323.408 46.984,318.706 46.984,313.012C46.984,306.735 52.032,301.663 58.22,301.663C63.281,301.663 67.58,305.057 68.977,309.728C72.448,310.015 75.502,311.828 77.468,314.505C79.253,313.428 81.344,312.809 83.579,312.809C86.414,312.809 89.017,313.806 91.058,315.468C92.881,311.337 97.015,308.451 101.817,308.451C102.684,308.451 103.529,308.545 104.343,308.724C104.449,303.307 108.173,298.77 113.197,297.432C113.195,297.344 113.194,297.256 113.194,297.167C113.194,290.903 118.279,285.818 124.542,285.818C130.806,285.818 135.891,290.903 135.891,297.167C135.891,302.168 132.649,306.418 128.154,307.928C128.183,308.268 128.198,308.613 128.198,308.961C128.198,315.544 122.853,320.889 116.27,320.889C115.339,320.889 114.434,320.782 113.565,320.581C113.366,326.894 108.178,331.959 101.817,331.959C99.034,331.959 96.475,330.989 94.461,329.37C92.638,333.574 88.45,336.518 83.579,336.518C79.697,336.518 76.249,334.648 74.086,331.761C72.31,332.846 70.228,333.47 68.007,333.47C62.423,333.47 57.725,329.528 56.529,324.232ZM101.817,315.612C99.282,315.612 97.223,317.67 97.223,320.205C97.223,322.74 99.282,324.799 101.817,324.799C104.352,324.799 106.41,322.74 106.41,320.205C106.41,317.67 104.352,315.612 101.817,315.612ZM72.49,320.465C72.003,318.399 70.189,316.848 68.007,316.848C65.447,316.848 63.395,318.982 63.395,321.579C63.395,324.176 65.447,326.31 68.007,326.31C69.54,326.31 70.891,325.545 71.728,324.373C71.761,323 72.028,321.685 72.49,320.465ZM116.27,304.192C113.638,304.192 111.501,306.329 111.501,308.961C111.501,311.592 113.638,313.729 116.27,313.729C118.901,313.729 121.038,311.592 121.038,308.961C121.038,306.329 118.901,304.192 116.27,304.192ZM125.385,301.27C127.293,300.879 128.73,299.19 128.73,297.167C128.73,294.855 126.854,292.978 124.542,292.978C122.231,292.978 120.354,294.855 120.354,297.167C120.354,297.37 120.368,297.571 120.397,297.766C122.351,298.488 124.065,299.707 125.385,301.27ZM62.254,311.205C61.576,309.616 60.031,308.497 58.22,308.497C55.776,308.497 53.818,310.533 53.818,313.012C53.818,315.061 55.156,316.808 57.001,317.351C57.988,314.733 59.865,312.56 62.254,311.205ZM86.409,320.919C85.622,320.323 84.641,319.969 83.579,319.969C82.015,319.969 80.628,320.736 79.775,321.913C79.775,321.917 79.775,321.92 79.775,321.923C79.183,322.717 78.832,323.702 78.832,324.768C78.832,327.398 80.968,329.534 83.599,329.534C86.229,329.534 88.365,327.398 88.365,324.768C88.365,323.188 87.595,321.786 86.409,320.919Z"></path></g></g><g id="necktie" transform="matrix(1,0,0,1,0,-11.8538)"><g transform="matrix(1,0,0,1,-1,2)"><path d="M79.471,287.314C90.984,285.856 98.206,280.312 104.798,276.689C106.687,275.651 108.672,275.571 110.13,276.281C110.804,276.609 111.374,277.102 111.51,277.797C111.695,278.739 111.169,279.771 110.175,280.932C107.243,284.357 102.181,288.279 95.815,289.9C90.505,291.253 85.496,291.796 79.509,290.819C79.524,290.506 79.531,289.191 79.531,288.872C79.531,288.346 79.511,287.826 79.471,287.314ZM52.095,288.732C52.095,288.779 52.094,288.826 52.094,288.872C52.094,289.176 52.101,289.477 52.114,289.776C49.108,290.292 46.367,290.64 44.815,289.722C43.597,289.002 42.623,286.552 42.202,285.378C44.473,286.222 48.26,287.981 52.095,288.732ZM70.784,304.29C71.317,321.556 73.962,353.442 77.618,376.386C79.067,385.479 80.685,393.188 82.362,398.105C82.613,398.841 82.87,399.523 83.131,400.15C81.517,401.5 79.635,403.271 77.667,405.277C72.512,410.531 66.55,417.391 63.311,421.183C60.605,419.133 55.647,415.166 47.352,407.888C47.508,388.519 54.687,331.008 60.832,304.285C62.395,305.034 64.081,305.442 65.813,305.442C67.541,305.442 69.223,305.036 70.784,304.29ZM62.95,296.23C62.287,295.631 61.603,294.583 61.603,294.583C60.642,293.021 60.094,291.028 60.094,288.872C60.094,286.365 60.835,284.078 62.107,282.433C63.071,281.185 64.342,280.932 65.813,280.932C67.283,280.932 68.554,281.185 69.519,282.433C70.791,284.078 71.531,286.365 71.531,288.872C71.531,291.38 70.791,293.667 69.519,295.312C68.554,296.56 67.283,297.536 65.813,297.536C64.738,297.536 63.77,296.971 62.95,296.23Z" style="fill:var(--neckwearColor);"></path></g><g transform="matrix(1,0,0,1,-1,2)"><path d="M54.135,297.536C48.3,298.652 44.187,297.716 41.302,296.01C36.308,293.058 34.579,287.485 34.463,283.085C34.43,281.8 34.601,280.857 34.839,280.182L35.449,278.968L36.557,277.807L37.978,277.074L39.293,276.835L40.529,276.896C40.944,276.956 41.418,277.064 41.949,277.225C44.029,277.857 47.732,279.753 53.793,280.913C56.181,275.715 60.806,274.025 65.813,274.025C70.359,274.025 74.589,275.115 77.117,279.523C88.193,278.536 94.823,273.043 100.945,269.678C107.927,265.841 115.383,268.458 118.2,273.217C120.195,276.588 120.401,281.289 116.252,286.135C112.498,290.52 104.983,294.402 96.832,296.477C90.598,298.065 84.038,298.591 78.645,297.754C78.418,310.942 81.354,348.993 85.519,375.127C86.691,382.486 87.959,388.89 89.297,393.493C90.028,396.009 90.684,397.909 91.451,398.909C92.172,399.851 92.438,401.064 92.177,402.221C91.917,403.378 91.156,404.359 90.101,404.901C88.607,405.667 86.163,408.041 83.377,410.88C76.055,418.343 67.06,429.138 67.06,429.138C65.794,430.657 63.607,431.023 61.915,429.998C61.915,429.998 56.974,427.049 40.714,412.703C39.872,411.96 39.381,410.898 39.361,409.775C39.023,391.019 47.535,323.43 54.225,297.708C54.195,297.651 54.165,297.594 54.135,297.536ZM52.095,288.732C48.26,287.981 44.473,286.222 42.202,285.378C42.623,286.552 43.597,289.002 44.815,289.722C46.367,290.64 49.108,290.292 52.114,289.776C52.101,289.477 52.094,289.176 52.094,288.872C52.094,288.826 52.095,288.779 52.095,288.732ZM79.471,287.314C79.511,287.826 79.531,288.346 79.531,288.872C79.531,289.191 79.524,290.506 79.509,290.819C85.496,291.796 90.505,291.253 95.815,289.9C102.181,288.279 107.243,284.357 110.175,280.932C111.169,279.771 111.695,278.739 111.51,277.797C111.374,277.102 110.804,276.609 110.13,276.281C108.672,275.571 106.687,275.651 104.798,276.689C98.206,280.312 90.984,285.856 79.471,287.314ZM70.784,304.29C69.223,305.036 67.541,305.442 65.813,305.442C64.081,305.442 62.395,305.034 60.832,304.285C54.687,331.008 47.508,388.519 47.352,407.888C55.647,415.166 60.605,419.133 63.311,421.183C66.55,417.391 72.512,410.531 77.667,405.277C79.635,403.271 81.517,401.5 83.131,400.15C82.87,399.523 82.613,398.841 82.362,398.105C80.685,393.188 79.067,385.479 77.618,376.386C73.962,353.442 71.317,321.556 70.784,304.29ZM62.95,296.23C63.77,296.971 64.738,297.536 65.813,297.536C67.283,297.536 68.554,296.56 69.519,295.312C70.791,293.667 71.531,291.38 71.531,288.872C71.531,286.365 70.791,284.078 69.519,282.433C68.554,281.185 67.283,280.932 65.813,280.932C64.342,280.932 63.071,281.185 62.107,282.433C60.835,284.078 60.094,286.365 60.094,288.872C60.094,291.028 60.642,293.021 61.603,294.583C61.603,294.583 62.287,295.631 62.95,296.23Z"></path></g></g><g id="bowtie" transform="matrix(1,0,0,1,0,-11.8538)"><path d="M48.395,270.251C48.127,271.34 47.986,272.474 47.986,273.64C47.986,274.752 48.114,275.835 48.358,276.877L34.669,281.718C34.669,281.718 36.739,265.634 36.739,265.634L48.395,270.251ZM62.854,267.12C66.61,267.12 69.723,270.005 69.723,273.64C69.723,277.275 66.61,280.16 62.854,280.16C59.099,280.16 55.986,277.275 55.986,273.64C55.986,270.005 59.099,267.12 62.854,267.12ZM77.07,269.378L91.546,259.111L93.58,283.71L77.304,277.069C77.578,275.969 77.723,274.82 77.723,273.64C77.723,272.159 77.494,270.727 77.07,269.378Z" style="fill:var(--neckwearColor);"></path><path d="M52.38,283.941L31.205,291.428C29.895,291.892 28.439,291.642 27.358,290.769C26.277,289.896 25.727,288.525 25.904,287.147L29.461,259.509C29.618,258.285 30.333,257.202 31.396,256.575C32.46,255.947 33.753,255.846 34.901,256.301L52.464,263.258C55.14,260.702 58.802,259.12 62.854,259.12C66.61,259.12 70.03,260.478 72.64,262.712L92.64,248.528C93.812,247.696 95.339,247.558 96.642,248.164C97.945,248.77 98.822,250.029 98.94,251.461L102.09,289.546C102.204,290.932 101.591,292.278 100.469,293.101C99.348,293.923 97.88,294.104 96.592,293.579L73.221,284.044C70.548,286.587 66.895,288.16 62.854,288.16C58.759,288.16 55.063,286.545 52.38,283.941ZM48.395,270.251C43.821,268.44 36.739,265.634 36.739,265.634C36.739,265.634 34.669,281.718 34.669,281.718L48.358,276.877C48.114,275.835 47.986,274.752 47.986,273.64C47.986,272.474 48.127,271.34 48.395,270.251ZM77.07,269.378C77.494,270.727 77.723,272.159 77.723,273.64C77.723,274.82 77.578,275.969 77.304,277.069L93.58,283.71L91.546,259.111L77.07,269.378ZM62.854,267.12C59.099,267.12 55.986,270.005 55.986,273.64C55.986,277.275 59.099,280.16 62.854,280.16C66.61,280.16 69.723,277.275 69.723,273.64C69.723,270.005 66.61,267.12 62.854,267.12Z"></path></g><g id="css-necklace"><g transform="matrix(0.942812,0,0,0.988205,-11.8807,-6.34344)"><path d="M73.585,310L73.585,307.046L75.932,307.046L75.932,299.454L73.585,299.454L73.585,296.5L81.939,296.5L81.939,299.454L79.592,299.454L79.592,307.046L81.939,307.046L81.939,310L73.585,310ZM91.96,310.217L85.183,303.44C83.561,301.818 83.57,299.137 85.183,297.551C86.823,295.938 89.405,295.947 91.054,297.551L91.96,298.421L92.848,297.551C94.506,295.947 97.079,295.938 98.719,297.551C100.332,299.137 100.35,301.818 98.719,303.44L91.96,310.217ZM72.14,326.703C68.434,326.703 65.634,324.266 65.634,319.781C65.634,315.269 68.506,312.841 72.14,312.841C75.501,312.841 77.929,314.689 78.264,317.951L74.55,317.951C74.405,316.8 73.607,316.03 72.248,316.03C70.409,316.03 69.403,317.425 69.403,319.781C69.403,322.254 70.436,323.514 72.23,323.514C73.571,323.514 74.387,322.744 74.568,321.593L78.283,321.593C78.101,323.894 76.099,326.703 72.14,326.703ZM85.232,326.685C81.707,326.685 79.415,325.163 79.397,321.774L82.876,321.774C82.94,323.015 83.764,323.677 85.178,323.677C86.346,323.677 86.971,323.206 86.971,322.535C86.971,321.928 86.437,321.548 84.942,321.23L83.583,320.941C81.2,320.433 79.741,319.246 79.741,317.135C79.741,314.571 81.988,312.841 85.196,312.841C88.466,312.841 90.505,314.598 90.523,317.244L87.008,317.244C86.944,316.365 86.383,315.849 85.196,315.849C84.063,315.849 83.565,316.284 83.565,316.881C83.565,317.525 84.099,317.896 85.377,318.168L86.482,318.404C89.463,319.038 90.704,320.488 90.704,322.535C90.704,325.208 88.648,326.685 85.232,326.685ZM97.59,326.685C94.066,326.685 91.773,325.163 91.755,321.774L95.235,321.774C95.298,323.015 96.122,323.677 97.536,323.677C98.705,323.677 99.33,323.206 99.33,322.535C99.33,321.928 98.795,321.548 97.3,321.23L95.941,320.941C93.558,320.433 92.1,319.246 92.1,317.135C92.1,314.571 94.347,312.841 97.554,312.841C100.825,312.841 102.863,314.598 102.882,317.244L99.366,317.244C99.303,316.365 98.741,315.849 97.554,315.849C96.421,315.849 95.923,316.284 95.923,316.881C95.923,317.525 96.458,317.896 97.735,318.168L98.841,318.404C101.821,319.038 103.063,320.488 103.063,322.535C103.063,325.208 101.006,326.685 97.59,326.685Z" style="fill:var(--neckwearColor);"></path></g><g transform="matrix(1,0,0,1,-1.42109e-14,-1)"><path d="M54.259,285.31C52.208,284.642 50.262,283.819 48.445,282.861C41.097,278.987 35.789,272.892 33.795,265.916C33.289,264.147 34.315,262.301 36.084,261.795C37.853,261.289 39.699,262.315 40.205,264.084C41.733,269.43 45.923,273.995 51.555,276.964C65.616,284.377 88.318,281.706 105.255,257.11C106.298,255.594 108.375,255.211 109.89,256.255C111.406,257.298 111.789,259.375 110.745,260.89C102.09,273.46 92.063,280.884 82.168,284.51L82.839,284.877C83.269,285.173 83.68,285.518 84.063,285.912C87.035,288.975 87.084,294.155 84.091,297.275L81.59,299.903C83.567,300.163 85.182,300.933 86.393,301.995C88.089,303.481 89.1,305.578 89.117,308.132C89.122,308.843 88.937,309.535 88.591,310.141L88.827,310.634C89.128,311.476 89.288,312.394 89.288,313.387C89.288,314.398 89.126,315.315 88.839,316.14L88.244,317.442L87.409,318.607C85.91,320.319 83.467,321.488 80.129,321.488C77.761,321.488 75.786,320.908 74.273,319.906C72.816,320.883 70.878,321.488 68.477,321.488C65.873,321.488 63.744,320.787 62.181,319.594C60.655,320.749 58.648,321.506 56.133,321.506C53.217,321.506 50.685,320.431 48.854,318.5C47.154,316.708 46,314.102 46,310.665C46,307.209 47.176,304.596 48.889,302.802C50.144,301.488 51.718,300.576 53.497,300.127L53.497,298.081C53.497,296.515 54.397,295.158 55.709,294.502L55.709,294.157C54.397,293.501 53.497,292.145 53.497,290.578L53.497,287.659C53.497,286.781 53.779,285.97 54.259,285.31ZM74.82,301.215L81.193,294.518C82.73,292.915 82.713,290.265 81.193,288.698C79.647,287.104 77.221,287.113 75.657,288.698L74.82,289.557L73.966,288.698C72.411,287.113 69.977,287.104 68.431,288.698C66.91,290.265 66.902,292.915 68.431,294.518L74.82,301.215ZM80.129,317.488C83.349,317.488 85.288,316.029 85.288,313.387C85.288,311.364 84.118,309.931 81.307,309.305L80.265,309.072C79.061,308.803 78.557,308.436 78.557,307.8C78.557,307.209 79.027,306.78 80.094,306.78C81.213,306.78 81.743,307.29 81.803,308.158L85.117,308.158C85.1,305.544 83.178,303.807 80.094,303.807C77.07,303.807 74.952,305.517 74.952,308.051C74.952,310.137 76.327,311.31 78.574,311.811L79.855,312.098C81.265,312.411 81.769,312.787 81.769,313.387C81.769,314.05 81.179,314.515 80.077,314.515C78.745,314.515 77.967,313.862 77.908,312.635L74.627,312.635C74.644,315.984 76.806,317.488 80.129,317.488ZM57.497,301L65.372,301L65.372,298.081L63.16,298.081L63.16,290.578L65.372,290.578L65.372,287.659L57.497,287.659L57.497,290.578L59.709,290.578L59.709,298.081L57.497,298.081L57.497,301ZM68.477,317.488C71.697,317.488 73.636,316.029 73.636,313.387C73.636,311.364 72.466,309.931 69.656,309.305L68.614,309.072C67.409,308.803 66.905,308.436 66.905,307.8C66.905,307.209 67.375,306.78 68.443,306.78C69.562,306.78 70.091,307.29 70.151,308.158L73.466,308.158C73.448,305.544 71.526,303.807 68.443,303.807C65.419,303.807 63.3,305.517 63.3,308.051C63.3,310.137 64.676,311.31 66.922,311.811L68.204,312.098C69.613,312.411 70.117,312.787 70.117,313.387C70.117,314.05 69.528,314.515 68.426,314.515C67.093,314.515 66.316,313.862 66.256,312.635L62.976,312.635C62.993,315.984 65.154,317.488 68.477,317.488ZM56.133,317.506C59.866,317.506 61.754,314.73 61.925,312.456L58.423,312.456C58.252,313.593 57.483,314.354 56.219,314.354C54.527,314.354 53.554,313.11 53.554,310.665C53.554,308.338 54.502,306.959 56.236,306.959C57.517,306.959 58.269,307.72 58.406,308.857L61.908,308.857C61.592,305.634 59.302,303.807 56.133,303.807C52.708,303.807 50,306.207 50,310.665C50,315.097 52.64,317.506 56.133,317.506Z"></path></g></g><g id="scarf"><g transform="matrix(1,0,0,1,0.721681,-0.8865)"><path d="M153.513,362.759C143.477,366.167 137.919,372.036 126.401,377.275C126.401,377.275 121.98,375.06 98.553,347.927C85.165,332.422 78.637,310.646 75.098,291.92C69.27,293.458 63.395,294.435 57.768,294.691C37.179,295.627 32.071,281.983 28.909,270.803C25.746,259.623 31.33,246.83 35.318,250.887C39.051,254.684 52.128,256.109 65.623,254.952C63.176,249.134 71.039,242.185 84.349,241.82C87.604,241.731 91.629,243.23 96.046,245.831C96.437,245.522 96.807,245.205 97.155,244.88C108.031,234.73 122.892,251.98 118.788,264.891C130.851,277.455 141.471,292.141 144.204,300.693C149.71,317.919 179.436,320.926 195.075,331.698C179.696,337.506 177.08,353.624 165.457,372.601C162.978,369.084 158.617,365.985 153.513,362.759Z" style="fill:var(--neckwearColor);"></path></g><g transform="matrix(1,0,0,1,0.721681,-0.8865)"><path d="M72.56,295.963C67.62,297.088 62.684,297.804 57.919,298.021C48.678,298.441 42.244,296.137 37.59,292.546C30.776,287.288 27.779,279.056 25.701,271.71C23.124,262.601 25.846,252.616 29.117,249.037C29.769,248.324 30.458,247.796 31.141,247.438L32.014,247.064L32.996,246.834L34.318,246.821L35.614,247.147L36.754,247.755L37.695,248.55C38.538,249.407 40.089,249.976 42.042,250.498C45.822,251.509 50.937,252.004 56.547,252.01C58.271,252.011 60.04,251.966 61.833,251.873C62.566,245.31 70.726,238.859 84.257,238.488C87.439,238.401 91.327,239.602 95.586,241.817C101.963,236.446 109.284,237.912 114.85,242.839C120.41,247.761 123.904,256.246 122.435,263.929C134.349,276.625 144.65,291.139 147.379,299.678C149.862,307.446 158.05,311.71 167.136,315.545C177.421,319.885 188.976,323.451 196.96,328.949L196.966,328.953C197.105,329.049 197.237,329.156 197.361,329.272L209.96,341.142C211.299,342.404 211.362,344.515 210.1,345.854C208.838,347.193 206.727,347.256 205.388,345.994L194.375,335.618C192.051,336.731 190.086,338.151 188.354,339.828L201.141,345.792C202.808,346.57 203.53,348.555 202.753,350.222C201.975,351.89 199.99,352.612 198.323,351.834L184.01,345.158C183.631,345.727 183.261,346.311 182.897,346.909L196.896,356.036C198.437,357.04 198.872,359.107 197.868,360.648C196.863,362.189 194.796,362.625 193.255,361.62L179.662,352.759C178.881,354.277 178.099,355.853 177.296,357.479L188.153,363.647C189.752,364.556 190.313,366.592 189.405,368.192C188.496,369.791 186.459,370.352 184.86,369.444L174.321,363.457C173.697,364.684 173.05,365.933 172.373,367.2L184.387,373.131C186.036,373.946 186.714,375.946 185.9,377.596C185.086,379.246 183.085,379.924 181.435,379.109L169.099,373.019C168.837,373.458 168.57,373.899 168.299,374.342C167.713,375.299 166.685,375.897 165.564,375.933C164.443,375.969 163.378,375.439 162.732,374.522C161.179,372.318 158.763,370.335 155.903,368.331C155.005,367.702 154.065,367.074 153.092,366.444C152.831,366.543 152.572,366.643 152.316,366.745L161.754,377.048C162.997,378.405 162.904,380.515 161.548,381.758C160.191,383.001 158.081,382.908 156.838,381.551L146.067,369.793C144.884,370.466 143.725,371.171 142.559,371.897L149.005,380.346C150.121,381.809 149.839,383.902 148.377,385.018C146.914,386.134 144.821,385.853 143.705,384.39L136.88,375.445C135.715,376.152 134.502,376.865 133.214,377.575L141.825,387.598C143.024,388.993 142.865,391.1 141.469,392.298C140.074,393.497 137.967,393.338 136.769,391.942L126.986,380.556C126.793,380.591 126.597,380.608 126.401,380.608C125.879,380.608 125.369,380.486 124.908,380.255C124.908,380.255 124.899,380.251 124.88,380.241C124.67,380.133 124.473,380.004 124.291,379.855C122.402,378.491 115.588,372.758 96.03,350.105C83.071,335.097 76.349,314.35 72.56,295.963ZM63.78,258.423C61.323,258.594 58.894,258.679 56.541,258.676C50.265,258.67 44.548,258.069 40.32,256.938C37.52,256.189 35.306,255.156 33.796,253.98C33.407,254.57 32.856,255.476 32.561,256.279C31.259,259.831 30.742,265.039 32.116,269.896C33.833,275.966 36.032,282.923 41.662,287.267C45.304,290.077 50.387,291.69 57.616,291.361C68.12,290.884 79.519,287.801 89.753,283.237C80.935,272.68 72.362,264.449 68.222,262.114C66.302,261.031 64.83,259.777 63.78,258.423ZM94.055,288.554C89.206,290.81 84.088,292.762 78.897,294.301C82.448,311.839 88.777,331.504 101.076,345.748C116.745,363.896 124.197,371.009 126.866,373.374C134.866,369.492 140.022,365.39 146.304,362.212C143.978,360.78 141.587,359.292 139.219,357.706C128.716,350.672 118.77,341.73 115.754,327.93C113.087,315.73 103.84,301.047 94.055,288.554ZM101.946,245.683C103.188,246.539 104.445,247.461 105.711,248.443C109.069,251.048 112.511,254.063 115.911,257.324C115.161,253.658 113.065,250.162 110.431,247.83C107.967,245.649 104.885,244.521 101.946,245.683ZM180.345,338.839C182.586,335.936 185.114,333.454 188.171,331.464C179.238,326.811 167.761,323.556 158.496,318.928C150.113,314.74 143.491,309.409 141.029,301.708C137.293,290.02 118.249,266.608 101.625,253.71C95.038,248.6 88.97,245.028 84.44,245.152C77.273,245.349 71.866,247.528 69.462,250.548C68.76,251.43 68.349,252.357 68.572,253.286C68.848,254.434 69.889,255.401 71.496,256.307C76.536,259.15 87.866,269.992 98.588,283.535C109.28,297.039 119.359,313.205 122.267,326.507C124.888,338.499 133.801,346.054 142.929,352.167C151.137,357.664 159.538,362.128 164.874,367.014C164.892,366.982 164.911,366.951 164.929,366.92C166.755,363.684 168.352,360.551 169.837,357.562C169.89,357.433 169.952,357.306 170.023,357.181C170.03,357.168 170.038,357.155 170.046,357.142C172.118,352.961 173.979,349.067 175.956,345.571C177.288,343.214 178.675,341.029 180.192,339.038C180.242,338.97 180.293,338.904 180.345,338.839Z"></path></g></g></g><g id="headwear"><g id="headphones" transform="matrix(1,0,0,1,73,-22.3538)"><g transform="matrix(1.10811,0,0,1,-19.1622,11)"><path d="M74.598,104.044C74.896,104.015 75.197,104 75.5,104C78.648,104 81.532,105.588 83.892,108.161C84.5,108.824 85.074,109.55 85.61,110.333C85.809,110.623 86.582,111.613 86.02,111.245C84.819,110.459 81.008,108.269 79.11,107L74.598,104.044ZM18.146,109.5C18.165,109.5 18.185,109.5 18.204,109.5C21.084,109.539 23.72,111.012 25.884,113.371C29.628,117.452 31.97,124.076 31.97,131.5C31.97,138.924 29.628,145.548 25.884,149.629C23.691,152.019 21.014,153.5 18.088,153.5C15.163,153.5 12.486,152.019 10.293,149.629C6.548,145.548 4.207,138.924 4.207,131.5C4.207,124.076 6.548,117.452 10.293,113.371C12.486,110.981 15.163,109.5 18.088,109.5C18.108,109.5 18.127,109.5 18.146,109.5Z" style="fill:var(--headwearColor);"></path></g><g transform="matrix(1.10811,0,0,1,-19.1622,11)"><path d="M35.76,147.836C31.935,156.117 25.327,161.5 18.088,161.5C6.766,161.5 -3.012,148.331 -3.012,131.5C-3.012,116.376 4.884,104.208 14.701,101.896C16.458,76.01 37.715,67.923 50.252,68C62.896,68.077 79.548,78.429 81.228,97.094C87.929,99.696 93.511,106.741 96.084,116.02L87.676,114.044C86.655,111.772 85.376,109.779 83.892,108.161C81.532,105.588 78.648,104 75.5,104C73.339,104 71.303,104.748 69.475,106.049L63.187,101.404C66.297,98.413 69.944,96.521 73.816,96.093C71.663,83.038 59.432,76.056 50.212,76C40.387,75.94 23.644,82.03 21.945,102.015C31.543,104.598 39.189,116.618 39.189,131.5C39.189,135.685 38.584,139.644 37.502,143.23C36.624,145.765 35.917,147.495 35.76,147.836ZM18.146,109.5C18.127,109.5 18.108,109.5 18.088,109.5C15.163,109.5 12.486,110.981 10.293,113.371C6.548,117.452 4.207,124.076 4.207,131.5C4.207,138.924 6.548,145.548 10.293,149.629C12.486,152.019 15.163,153.5 18.088,153.5C21.014,153.5 23.691,152.019 25.884,149.629C29.628,145.548 31.97,138.924 31.97,131.5C31.97,124.076 29.628,117.452 25.884,113.371C23.72,111.012 21.084,109.539 18.204,109.5C18.185,109.5 18.165,109.5 18.146,109.5Z"></path></g></g><g id="crown" transform="matrix(1,0,0,1,0,-11.8538)"><g transform="matrix(1,0,0,1,2.99977,-5.10934)"><path d="M63.101,124.893C59.021,107.084 43.418,75.781 43.418,75.781C42.595,74.126 43.014,72.123 44.43,70.935C45.846,69.747 47.891,69.685 49.378,70.783L67.245,83.989L72.069,58.263C72.361,56.704 73.547,55.465 75.092,55.104C76.637,54.744 78.248,55.331 79.2,56.6L93.317,75.422L105.422,51.211C106.077,49.901 107.396,49.054 108.86,49.002C110.324,48.951 111.699,49.704 112.444,50.965L122.631,68.205L139.99,48.366C141.163,47.026 143.08,46.622 144.694,47.376C146.307,48.131 147.228,49.861 146.952,51.62C146.952,51.62 141.31,87.469 140.999,105.071C140.962,107.204 139.255,108.933 137.122,108.998C115.842,109.649 77.908,122.177 69.042,127.44C67.943,128.092 66.599,128.18 65.424,127.677C64.25,127.173 63.386,126.139 63.101,124.893Z" style="fill:var(--headwearColor);"></path></g><g transform="matrix(1,0,0,1,2.99977,-5.10934)"><path d="M63.101,124.893C59.021,107.084 43.418,75.781 43.418,75.781C42.595,74.126 43.014,72.123 44.43,70.935C45.846,69.747 47.891,69.685 49.378,70.783L67.245,83.989L72.069,58.263C72.361,56.704 73.547,55.465 75.092,55.104C76.637,54.744 78.248,55.331 79.2,56.6L93.317,75.422L105.422,51.211C106.077,49.901 107.396,49.054 108.86,49.002C110.324,48.951 111.699,49.704 112.444,50.965L122.631,68.205L139.99,48.366C141.163,47.026 143.08,46.622 144.694,47.376C146.307,48.131 147.228,49.861 146.952,51.62C146.952,51.62 141.31,87.469 140.999,105.071C140.962,107.204 139.255,108.933 137.122,108.998C115.842,109.649 77.908,122.177 69.042,127.44C67.943,128.092 66.599,128.18 65.424,127.677C64.25,127.173 63.386,126.139 63.101,124.893ZM69.614,118.241C82.894,112.348 113.123,102.852 133.127,101.217C133.657,90.244 135.578,74.808 137.091,63.828L125.01,77.634C124.165,78.6 122.908,79.101 121.63,78.983C120.352,78.864 119.209,78.14 118.556,77.035L109.293,61.358L97.578,84.789C96.958,86.029 95.74,86.859 94.359,86.984C92.979,87.108 91.632,86.509 90.8,85.4L78.256,68.674L73.931,91.737C73.678,93.091 72.745,94.219 71.463,94.723C70.181,95.227 68.73,95.035 67.622,94.217C67.622,94.217 57.32,86.602 57.321,86.603C61.535,95.995 66.699,108.313 69.614,118.241Z"></path></g></g><g id="bandana" transform="matrix(1,0,0,1,0,-11.8538)"><path d="M104.498,186.005C104.367,185.999 104.236,185.999 104.105,186.006C102.633,185.994 101.21,185.794 100.037,185.352C99.684,185.22 99.36,185.067 99.088,184.873C99.033,184.832 98.976,184.793 98.918,184.755C98.869,184.712 98.835,184.662 98.839,184.59C98.942,182.62 100.163,181.284 101.768,180.665C104.851,179.476 109.07,180.539 111.566,184.111C111.576,184.127 111.588,184.144 111.599,184.161C111.285,184.383 110.732,184.752 110.278,184.941C109.172,185.402 107.855,185.709 106.492,185.871C105.833,185.949 105.163,185.995 104.498,186.005ZM119.5,186C121.719,184.438 123.573,185.328 124.858,186.23C126.998,187.734 128.912,190.25 130.317,193.042C131.687,195.765 132.58,198.773 132.55,201.475C130.955,200.57 128.866,199.776 126.51,199.08C122.762,197.972 118.225,197.011 114.634,195.499C113.511,195.026 112.493,194.508 111.69,193.87C111.406,193.643 111.144,193.408 110.951,193.141C111.121,193.095 111.289,193.048 111.456,192.998C115.332,191.845 118.172,189.599 119.212,187.1L119.5,186ZM95.5,192.055C95.92,192.285 96.366,192.497 96.835,192.689C98.128,193.219 99.632,193.582 101.232,193.784C101.187,194.161 101.107,194.569 101.033,194.999C100.669,197.109 99.825,199.546 98.855,202.165C96.859,207.555 94.349,213.608 93.339,219.254C93.29,219.53 93.244,219.804 93.202,220.077C92.831,219.502 92.478,218.906 92.146,218.295C89.11,212.718 87.701,205.839 88.433,200.249C89.016,195.786 91.071,192.121 95.5,192.055ZM100.062,172.807C99.663,172.922 99.271,173.053 98.89,173.2C97.203,173.851 95.682,174.797 94.428,176.017C94.334,175.994 94.239,175.971 94.144,175.947C82.915,173.12 67.196,163.986 63.926,147.237C58.923,121.613 81.665,92.716 109.1,98.07C87.877,108.764 77.473,133.447 78.874,150.497C79.672,160.199 84.21,167.479 91.823,169.823C91.946,169.861 92.082,169.861 92.197,169.919C95.602,171.624 98.129,172.378 100.062,172.807Z" style="fill:var(--headwearColor);"></path><path d="M90.915,183.364C77.51,179.584 59.894,168.334 56.074,148.77C49.345,114.303 84.819,75.359 122.795,94.425C124.302,95.182 125.173,96.803 124.971,98.478C124.77,100.152 123.54,101.52 121.896,101.898C101.006,106.701 89.182,126.272 87.078,142.357C86.413,147.443 86.713,152.175 88.144,155.905C89.288,158.891 91.175,161.184 94.01,162.124C102.071,163.793 106.991,165.814 109.687,167.765C112.692,169.94 113.672,172.359 113.694,174.525C113.696,174.719 113.688,174.914 113.671,175.11C114.942,175.974 116.134,177.039 117.198,178.317C117.215,178.308 117.232,178.298 117.25,178.289C120.494,176.59 123.981,176.758 127.338,178.418C131.219,180.338 134.982,184.514 137.463,189.447C139.934,194.358 141.106,199.952 140.278,204.499C139.606,208.186 137.721,211.277 134.408,213.252C132.864,214.171 130.897,213.949 129.598,212.709C128.437,211.6 128.063,209.922 128.601,208.447C128.368,208.301 128.091,208.14 127.856,208.031C126.831,207.558 125.591,207.15 124.242,206.752C119.314,205.295 113.174,203.971 109.037,201.671C108.59,201.422 108.164,201.162 107.758,200.892C107.35,202.192 106.874,203.548 106.357,204.944C104.806,209.132 102.888,213.739 101.751,218.206C100.813,221.895 100.322,225.464 101.578,228.449C102.233,230.006 101.839,231.808 100.593,232.949C99.348,234.091 97.519,234.326 96.025,233.538C85.134,227.793 78.928,211.233 80.5,199.211C81.211,193.774 83.476,189.277 87.098,186.65C88.209,185.844 89.453,185.196 90.837,184.749C90.836,184.559 90.84,184.366 90.85,184.171C90.864,183.898 90.886,183.629 90.915,183.364ZM100.062,172.807C98.129,172.378 95.602,171.624 92.197,169.919C92.082,169.861 91.946,169.861 91.823,169.823C84.21,167.479 79.672,160.199 78.874,150.497C77.473,133.447 87.877,108.764 109.1,98.07C81.665,92.716 58.923,121.613 63.926,147.237C67.196,163.986 82.915,173.12 94.144,175.947C94.239,175.971 94.334,175.994 94.428,176.017C95.682,174.797 97.203,173.851 98.89,173.2C99.271,173.053 99.663,172.922 100.062,172.807ZM119.5,186L119.212,187.1C118.172,189.599 115.332,191.845 111.456,192.998C111.289,193.048 111.121,193.095 110.951,193.141C111.144,193.408 111.406,193.643 111.69,193.87C112.493,194.508 113.511,195.026 114.634,195.499C118.225,197.011 122.762,197.972 126.51,199.08C128.866,199.776 130.955,200.57 132.55,201.475C132.58,198.773 131.687,195.765 130.317,193.042C128.912,190.25 126.998,187.734 124.858,186.23C123.573,185.328 121.719,184.438 119.5,186ZM104.498,186.005C105.163,185.995 105.833,185.949 106.492,185.871C107.855,185.709 109.172,185.402 110.278,184.941C110.732,184.752 111.285,184.383 111.599,184.161C111.588,184.144 111.576,184.127 111.566,184.111C109.07,180.539 104.851,179.476 101.768,180.665C100.163,181.284 98.942,182.62 98.839,184.59C98.835,184.662 98.869,184.712 98.918,184.755C98.976,184.793 99.033,184.832 99.088,184.873C99.36,185.067 99.684,185.22 100.037,185.352C101.21,185.794 102.633,185.994 104.105,186.006C104.236,185.999 104.367,185.999 104.498,186.005ZM95.5,192.055C91.071,192.121 89.016,195.786 88.433,200.249C87.701,205.839 89.11,212.718 92.146,218.295C92.478,218.906 92.831,219.502 93.202,220.077C93.244,219.804 93.29,219.53 93.339,219.254C94.349,213.608 96.859,207.555 98.855,202.165C99.825,199.546 100.669,197.109 101.033,194.999C101.107,194.569 101.187,194.161 101.232,193.784C99.632,193.582 98.128,193.219 96.835,192.689C96.366,192.497 95.92,192.285 95.5,192.055Z"></path></g><g id="headband" transform="matrix(1,0,0,1,0,-11.8538)"><g transform="matrix(0.878176,0,0,0.878176,11.0571,7.29601)"><path d="M72.339,117.437C72.953,118.749 73.293,120.192 73.293,121.707C73.293,127.738 67.902,132.634 61.263,132.634C54.623,132.634 49.232,127.738 49.232,121.707C49.232,115.675 54.623,110.779 61.263,110.779C64.353,110.779 67.172,111.839 69.304,113.582C69.669,112.648 70.39,111.718 71.444,110.965C82.483,103.076 110.328,95.445 129.854,97.178C132.041,98.915 133.462,101.323 133.912,103.677C133.972,103.993 134.016,104.308 134.041,104.619C130.231,104.368 125.567,104.587 120.471,105.195C104.475,107.103 83.96,112.669 73.79,116.97C73.276,117.187 72.79,117.344 72.339,117.437ZM30.836,193.752C31.009,195.949 31.219,198.673 31.524,202.976C32.116,211.308 30.162,225.254 26.101,236.058C24.816,239.475 23.326,242.569 21.603,245.014C21.251,245.514 20.893,245.987 20.527,246.425C18.05,241.409 13.626,232.417 7.062,218.961C17.077,214.063 25.059,205.113 30.836,193.752ZM39.259,184.259C39.075,181.538 38.848,177.906 38.519,172.346C38.616,169.923 38.845,167.49 39.184,165.09C40.783,153.765 44.867,143.052 49.866,137.353C49.94,137.376 50.02,137.4 50.105,137.425C45.447,151.353 45.869,165.225 47.434,177.853C48.174,183.824 53.796,191.833 60.909,200.973C69.498,212.011 80.256,225.153 83.472,239.318C78.892,241.287 70.703,244.432 57.865,247.272C58.144,245.67 58.326,243.935 58.395,242.086C58.866,229.496 54.506,211.131 44.522,197.382C41.825,193.667 40.146,189.152 39.259,184.259Z" style="fill:var(--headwearColor);"></path></g><g transform="matrix(0.878176,0,0,0.878176,11.0571,7.29601)"><path d="M40.687,208.274C40.302,219.375 37.311,234.696 32.101,245.096C28.991,251.303 24.968,255.792 20.562,257.56C18.359,258.444 15.847,257.488 14.788,255.364C14.788,255.364 9.129,244.004 -3.247,218.604C-3.819,217.429 -3.859,216.064 -3.357,214.857C-2.854,213.65 -1.857,212.718 -0.619,212.296C14.853,207.034 24.679,190.615 29.482,170.953C29.599,168.568 29.83,166.18 30.163,163.816C32.122,149.94 37.613,136.994 43.817,130.47L45.296,129.243L46.469,128.693C45.321,126.583 44.677,124.205 44.677,121.707C44.677,113.287 51.993,106.224 61.263,106.224C61.895,106.224 62.518,106.257 63.13,106.321C63.958,105.334 64.959,104.402 66.148,103.553C78.607,94.65 110.372,85.853 132.021,88.24C132.738,88.319 133.425,88.566 134.027,88.963C142.46,94.516 145.18,105.468 141.401,111.952C140.401,113.668 138.404,114.539 136.465,114.102C131.634,113.015 123.604,113.743 114.863,115.209C101.093,117.519 85.655,121.851 77.384,125.341C75.637,132.064 69.159,137.189 61.263,137.189C60.807,137.189 60.356,137.172 59.91,137.139C54.457,150.737 54.946,164.405 56.475,176.733C56.682,178.406 57.552,180.254 58.743,182.319C60.978,186.193 64.359,190.574 68.098,195.379C78.268,208.447 90.76,224.447 93.105,241.399C93.383,243.403 92.305,245.35 90.459,246.179C86.59,247.915 74.897,253.577 51.647,257.814C49.787,258.153 47.91,257.307 46.932,255.689C45.954,254.071 46.077,252.016 47.242,250.527C49.189,248.037 49.611,242.948 49.207,236.862C48.629,228.142 45.875,217.525 40.687,208.274ZM39.259,184.259C40.146,189.152 41.825,193.667 44.522,197.382C54.506,211.131 58.866,229.496 58.395,242.086C58.326,243.935 58.144,245.67 57.865,247.272C70.703,244.432 78.892,241.287 83.472,239.318C80.256,225.153 69.498,212.011 60.909,200.973C53.796,191.833 48.174,183.824 47.434,177.853C45.869,165.225 45.447,151.353 50.105,137.425C50.02,137.4 49.94,137.376 49.866,137.353C44.867,143.052 40.783,153.765 39.184,165.09C38.845,167.49 38.616,169.923 38.519,172.346C38.848,177.906 39.075,181.538 39.259,184.259ZM59.959,115.431C56.528,115.946 53.787,118.463 53.787,121.707C53.787,125.352 57.249,128.079 61.263,128.079C63.518,128.079 65.6,127.218 66.991,125.816C65.38,125.148 64.015,124.131 62.929,122.92C61.163,120.95 60.087,118.278 59.959,115.431ZM30.836,193.752C25.059,205.113 17.077,214.063 7.062,218.961C13.626,232.417 18.05,241.409 20.527,246.425C20.893,245.987 21.251,245.514 21.603,245.014C23.326,242.569 24.816,239.475 26.101,236.058C30.162,225.254 32.116,211.308 31.524,202.976C31.219,198.673 31.009,195.949 30.836,193.752ZM71.444,110.965C69.033,112.688 68.365,115.336 69.713,116.84C70.538,117.76 71.997,117.728 73.79,116.97C83.96,112.669 104.475,107.103 120.471,105.195C125.567,104.587 130.231,104.368 134.041,104.619C134.016,104.308 133.972,103.993 133.912,103.677C133.462,101.323 132.041,98.915 129.854,97.178C110.328,95.445 82.483,103.076 71.444,110.965Z"></path></g></g><g id="backwards-cap" transform="matrix(1,0,0,1,0,-11.8538)"><g transform="matrix(1.15698,0,0,1.15698,-25.2597,-9.96639)"><path d="M50.72,116.859C50.69,116.865 50.66,116.871 50.63,116.876C49.615,117.055 48.81,116.821 48.376,116.118C48.121,115.705 48.12,115.169 48.304,114.613C48.655,113.558 49.571,112.529 51.017,111.562C59.744,105.727 76.26,99.22 76.26,99.22C77.855,98.589 78.747,96.883 78.354,95.212C74.314,78.046 92.46,62.02 115.037,59.263C126.004,57.923 132.277,66.026 135.909,73.699C139.069,80.376 138.613,88.04 139.056,93.327C123.546,93.095 112.703,94.54 101.899,96.919C90.241,99.486 60.351,111.996 53.944,115.871C53.096,116.384 51.427,116.719 50.72,116.859ZM101.046,89.655C101.13,90.663 101.652,91.584 102.473,92.174C103.295,92.764 104.334,92.965 105.316,92.724C113.1,90.81 123.544,89.591 130.736,90.12C131.698,90.191 132.647,89.857 133.352,89.197C134.056,88.538 134.453,87.614 134.447,86.649C134.413,81.687 132.897,78.003 130.669,75.368C127.266,71.342 122.068,69.683 117.04,70.006C112.069,70.324 106.921,72.627 103.815,77.297C101.803,80.321 100.604,84.378 101.046,89.655Z" style="fill:var(--headwearColor);"></path></g><g transform="matrix(1.15698,0,0,1.15698,-25.2597,-9.96639)"><path d="M46.334,123.485C45.075,122.759 44.06,121.755 43.356,120.613C41.14,117.021 41.42,111.104 48.038,106.678C55.019,102.011 66.726,96.913 71.939,94.736C69.187,75.078 87.276,56.446 113.334,53.263C127.931,51.48 136.461,60.528 141.295,70.741C145.77,80.197 145.188,91.407 145.302,96.796C145.322,97.744 144.952,98.658 144.278,99.325C143.605,99.992 142.687,100.353 141.74,100.324C124.783,99.808 114.544,101.215 103.386,103.672C100.901,104.219 97.55,105.281 93.774,106.642C93.697,106.918 93.585,107.188 93.437,107.445C93.437,107.445 88.57,115.88 85.573,120.399C85.065,121.165 84.251,121.944 83.087,122.612C81.426,123.568 78.793,124.413 75.638,125.023C69.031,126.298 59.955,126.684 53.92,126.015C50.735,125.662 48.279,124.917 47.003,124.067C46.751,123.899 46.527,123.703 46.334,123.485ZM50.72,116.859C51.427,116.719 53.096,116.384 53.944,115.871C60.351,111.996 90.241,99.486 101.899,96.919C112.703,94.54 123.546,93.095 139.056,93.327C138.613,88.04 139.069,80.376 135.909,73.699C132.277,66.026 126.004,57.923 115.037,59.263C92.46,62.02 74.314,78.046 78.354,95.212C78.747,96.883 77.855,98.589 76.26,99.22C76.26,99.22 59.744,105.727 51.017,111.562C49.571,112.529 48.655,113.558 48.304,114.613C48.12,115.169 48.121,115.705 48.376,116.118C48.81,116.821 49.615,117.055 50.63,116.876C50.66,116.871 50.69,116.865 50.72,116.859ZM101.046,89.655C100.604,84.378 101.803,80.321 103.815,77.297C106.921,72.627 112.069,70.324 117.04,70.006C122.068,69.683 127.266,71.342 130.669,75.368C132.897,78.003 134.413,81.687 134.447,86.649C134.453,87.614 134.056,88.538 133.352,89.197C132.647,89.857 131.698,90.191 130.736,90.12C123.544,89.591 113.1,90.81 105.316,92.724C104.334,92.965 103.295,92.764 102.473,92.174C101.652,91.584 101.13,90.663 101.046,89.655ZM108.071,85.048C114.224,83.857 121.191,83.098 127.063,83.087C126.699,81.791 126.13,80.709 125.389,79.832C123.43,77.515 120.377,76.72 117.482,76.906C114.531,77.095 111.416,78.354 109.572,81.127C108.85,82.213 108.334,83.516 108.071,85.048Z"></path></g></g><g id="cap" transform="matrix(1,0,0,1,0,-11.8538)"><g transform="matrix(1.12399,-0.0615048,0.0615048,1.12399,-21.1455,-3.91165)"><path d="M162.772,95.754C151.866,93.807 113.104,94.782 99.804,99.673C91.997,102.543 85.844,106.192 81.347,107.751C80.484,108.051 79.711,108.267 79.018,108.314C78.749,108.332 78.498,108.383 78.328,108.197C77.137,106.896 76.403,104.206 75.995,100.957C75.285,95.303 75.906,88.017 78.904,81.851C84.033,71.3 99.221,62.414 114.573,59.573C123.306,57.957 132.957,58.436 138.539,64.018C142.099,67.579 143.718,73.207 142.546,81.437C127.34,81.199 119.564,83.447 111.498,85.151C109.579,85.556 108.349,87.002 108.716,88.51C109.082,90.018 110.993,90.347 112.912,89.941C123.011,87.807 132.835,86.97 158.428,88.674C165.503,89.145 177.162,91.634 177.395,94.683C177.629,97.733 173.054,97.59 162.772,95.754Z" style="fill:var(--headwearColor);"></path></g><g transform="matrix(1.12399,-0.0615048,0.0615048,1.12399,-21.1455,-3.91165)"><path d="M122.98,102.299C114.657,103.117 107.261,104.503 102.256,106.343C92.895,109.786 85.817,114.248 81.087,115.188C77.679,115.866 75.06,115.151 73.087,112.997C71.224,110.963 70.469,106.974 69.83,101.892C68.971,95.053 69.774,86.249 73.399,78.793C79.307,66.64 95.597,55.857 113.28,52.585C124.37,50.532 136.475,51.904 143.564,58.993C148.269,63.698 151.035,70.938 149.688,81.649C152.492,81.768 155.514,81.934 158.785,82.152C167.562,82.736 173.494,84.768 176.944,87.063C180.18,89.216 181.581,91.799 181.795,94.042C182.049,96.71 180.844,99.352 177.797,101.195C177.552,101.343 176.286,102.298 176.286,102.298C175.315,103.016 173.638,103.831 171.444,104.614C161.157,108.287 137.701,112.453 137.701,112.453L134.873,111.737L122.98,102.299ZM162.772,95.754C173.054,97.59 177.629,97.733 177.395,94.683C177.162,91.634 165.503,89.145 158.428,88.674C132.835,86.97 123.011,87.807 112.912,89.941C110.993,90.347 109.082,90.018 108.716,88.51C108.349,87.002 109.579,85.556 111.498,85.151C119.564,83.447 127.34,81.199 142.546,81.437C143.718,73.207 142.099,67.579 138.539,64.018C132.957,58.436 123.306,57.957 114.573,59.573C99.221,62.414 84.033,71.3 78.904,81.851C75.906,88.017 75.285,95.303 75.995,100.957C76.403,104.206 77.137,106.896 78.328,108.197C78.498,108.383 78.749,108.332 79.018,108.314C79.711,108.267 80.484,108.051 81.347,107.751C85.844,106.192 91.997,102.543 99.804,99.673C113.104,94.782 151.866,93.807 162.772,95.754Z"></path></g></g><g id="tuque" transform="matrix(1,0,0,1,0,-11.8538)"><g transform="matrix(1.13855,0,0,1.13855,-14.3206,-13.4772)"><path d="M47.255,89.516C47.295,89.433 47.336,89.35 47.376,89.267C51.056,81.803 60.177,71.13 67.404,67.329C87.125,56.957 103.032,66.899 112.604,78.129C109.467,78.77 105.836,79.601 102.023,80.559C88.023,84.076 71.486,89.174 68.392,91.248C65.704,93.049 64.023,95.009 63,97.247C61.66,97.858 57.717,101.306 55.391,101.739C55.364,96.306 52.037,91.605 47.255,89.516ZM41.698,96.362C44.811,96.362 47.391,98.772 47.391,101.806C47.391,104.84 44.811,107.25 41.698,107.25C38.584,107.25 36.004,104.84 36.004,101.806C36.004,98.772 38.584,96.362 41.698,96.362ZM71.472,113.362C71.283,113.152 70.95,112.764 70.775,112.448C70.061,111.162 69.648,109.463 69.588,107.793C69.433,103.48 69.227,100.318 72.845,97.893C75.701,95.98 91.052,91.564 103.973,88.318C112.333,86.218 119.636,84.539 121.673,84.72C125.595,85.068 129.635,87.756 130.765,92.051C131.112,93.369 131.317,94.689 131.206,95.87C131.15,96.463 131.062,97.027 130.67,97.402C129.9,98.14 128.56,98.107 126.583,97.82C121.043,97.018 112.702,98.105 104.001,100.297C91.325,103.49 77.863,108.948 71.496,113.346C71.488,113.351 71.48,113.357 71.472,113.362Z" style="fill:var(--headwearColor);"></path></g><g transform="matrix(1.13855,0,0,1.13855,-14.3206,-13.4772)"><path d="M52.484,110.084C49.981,113.223 46.087,115.25 41.698,115.25C34.112,115.25 28.004,109.197 28.004,101.806C28.004,95.344 32.672,89.905 38.915,88.639C42.709,79.005 54.163,65.254 63.68,60.248C89.881,46.468 110.701,61.774 121.697,76.736C121.963,76.729 122.192,76.734 122.381,76.751C129.391,77.374 136.482,82.338 138.502,90.016C139.855,95.158 139.253,100.259 136.204,103.18C134.129,105.167 130.764,106.509 125.436,105.737C120.652,105.044 113.469,106.162 105.955,108.055C94.308,110.989 81.893,115.887 76.043,119.928C74.303,121.13 72.608,121.535 71.052,121.465L69.754,121.29L68.546,120.904C67.836,120.609 67.153,120.201 66.511,119.682C63.806,117.493 61.762,112.795 61.593,108.08C61.57,107.433 61.554,106.805 61.549,106.194C59.341,106.801 54.989,109.989 52.484,110.084ZM47.255,89.516C52.037,91.605 55.364,96.306 55.391,101.739C57.717,101.306 61.66,97.858 63,97.247C64.023,95.009 65.704,93.049 68.392,91.248C71.486,89.174 88.023,84.076 102.023,80.559C105.836,79.601 109.467,78.77 112.604,78.129C103.032,66.899 87.125,56.957 67.404,67.329C60.177,71.13 51.056,81.803 47.376,89.267C47.336,89.35 47.295,89.433 47.255,89.516ZM41.698,96.362C38.584,96.362 36.004,98.772 36.004,101.806C36.004,104.84 38.584,107.25 41.698,107.25C44.811,107.25 47.391,104.84 47.391,101.806C47.391,98.772 44.811,96.362 41.698,96.362ZM71.472,113.362C71.48,113.357 71.488,113.351 71.496,113.346C77.863,108.948 91.325,103.49 104.001,100.297C112.702,98.105 121.043,97.018 126.583,97.82C128.56,98.107 129.9,98.14 130.67,97.402C131.062,97.027 131.15,96.463 131.206,95.87C131.317,94.689 131.112,93.369 130.765,92.051C129.635,87.756 125.595,85.068 121.673,84.72C119.636,84.539 112.333,86.218 103.973,88.318C91.052,91.564 75.701,95.98 72.845,97.893C69.227,100.318 69.433,103.48 69.588,107.793C69.648,109.463 70.061,111.162 70.775,112.448C70.95,112.764 71.283,113.152 71.472,113.362Z"></path></g></g><g id="top-hat" transform="matrix(1,0,0,1,0,-11.8538)"><g transform="matrix(0.997338,0.0729197,-0.0729197,0.997338,8.55194,-1.45346)"><path d="M130.544,87.798C123.176,88.822 115.074,90.08 106.587,91.54C103.777,92.024 101.014,92.514 98.31,93.008C90.546,94.348 83.115,95.729 77.895,96.915C72.752,77.468 63.953,39.008 61.512,25.98C61.425,25.515 61.916,25.224 62.347,24.8C63.15,24.011 64.246,23.272 65.55,22.552C71.484,19.271 81.229,16.697 91.118,15.163C101.047,13.623 111.137,13.139 117.748,14.271C119.219,14.523 120.49,14.846 121.49,15.291C121.784,15.422 122.155,15.665 122.342,15.791C123.467,26.691 128.928,73.866 130.544,87.798Z" style="fill:var(--headwearColor);"></path></g><g transform="matrix(0.995259,-0.0972573,0.123169,1.26042,-2.53051,-34.1721)"><path d="M73.218,124.988C57.303,124.585 44.873,123.8 39.351,122.852C37.159,122.475 35.726,121.959 35.031,121.551L34.215,120.955L33.651,120.309L33.276,119.565L33.128,118.676L33.276,117.788L33.651,117.044L34.215,116.398L35.031,115.802C35.726,115.394 37.159,114.878 39.351,114.501C43.253,113.831 50.603,113.243 60.194,112.813C58.412,96.791 56.261,65.625 56.064,55.111C56.013,52.416 58.085,49.91 62.427,48.121C69.073,45.383 82.148,44.078 95.207,44.248C108.207,44.418 121.143,46.031 127.598,48.636C132.063,50.438 133.957,52.963 133.745,55.389C133.044,63.421 130.394,101.317 129.608,112.613C141.61,113.05 150.839,113.721 155.386,114.501C157.578,114.878 159.011,115.394 159.706,115.802L160.522,116.398L161.086,117.044L161.461,117.788L161.609,118.676L161.461,119.565L161.086,120.309L160.522,120.955L159.706,121.551C159.011,121.959 157.578,122.475 155.386,122.852C149.813,123.808 137.204,124.6 121.076,124.999C114.486,120.366 110.305,118.884 110.305,118.884C113.85,118.84 117.276,118.777 120.554,118.698C114.177,118.593 102.306,118.424 90.86,118.409C84.671,118.447 78.765,118.539 73.289,118.676C76.644,118.761 80.159,118.828 83.803,118.876C81.875,119.596 76.804,122.215 73.218,124.988ZM121.613,112.367C122.383,101.309 125,63.867 125.74,55.234C125.578,55.111 125.253,54.872 124.986,54.731C124.075,54.251 122.878,53.829 121.471,53.436C115.148,51.67 105.121,50.696 95.075,50.565C85.069,50.434 75.028,51.133 68.624,52.891C67.217,53.277 66.012,53.705 65.087,54.212C64.59,54.484 64.056,54.645 64.063,55.018C64.26,65.483 66.41,96.591 68.18,112.413C73.526,112.189 81.084,112.109 88.963,112.106C91.711,112.084 94.517,112.072 97.369,112.072C105.98,112.072 114.178,112.178 121.613,112.367Z"></path></g></g><g id="astronaut-helmet"><g transform="matrix(1,0,0,1,-0.869114,6.14139)"><path d="M41.991,169.692C46.986,171.76 54.612,174.115 63.921,176.346C90.768,182.778 131.954,188.514 162.545,184.999C162.019,186.956 161.395,188.755 160.705,190.237C160.217,191.285 159.883,192.195 159.335,192.531C158.981,192.748 158.337,192.85 157.505,193.021C155.413,193.45 152.509,193.779 149.073,194.023C135.095,195.017 112.662,194.522 98.691,192.217C82.233,189.501 58.62,184.522 46.143,179.784C43.936,178.946 41.578,177.639 40.493,177.012C40.813,174.861 41.358,172.389 41.991,169.692ZM164.116,176.07C134.285,180.166 92.734,174.337 65.94,167.917C56.101,165.56 48.302,163.18 43.992,161.15C44.454,159.063 44.895,156.915 45.27,154.736C45.978,150.629 45.628,145.858 44.959,140.521C44.076,133.483 42.653,125.324 43.321,116.321C44.405,101.732 53.003,77.039 75.334,63.722C97.777,50.338 129.429,53.523 147.895,63.788C156.338,68.481 162.524,76.554 166.364,83.457C143.959,69.153 118.949,69.351 101.995,73.275C81.505,78.018 67.498,92.082 62.601,108.781C57.605,125.819 63.039,139.366 81.395,153.439C87.603,158.199 96.787,161.07 106.994,162.683C121.296,164.943 137.65,164.847 149.612,165.155C154.419,165.279 158.471,165.458 161.289,165.934C161.986,166.052 162.891,166.319 163.21,166.416C163.666,167.019 163.818,167.976 163.993,169.054C164.324,171.098 164.333,173.533 164.116,176.07Z" style="fill:var(--headwearColor);"></path></g><g transform="matrix(1,0,0,1,-0.869114,6.14139)"><path d="M172.3,180.591C172.269,180.797 172.237,181.003 172.203,181.209C171.3,186.805 169.598,192.231 167.683,195.611C166.501,197.697 165.136,199.14 163.867,199.918C162.023,201.05 156.803,202.162 149.687,202.668C135.148,203.702 111.813,203.166 97.28,200.768C77.74,197.544 48.525,191.119 37.93,185.646C35.211,184.242 33.464,182.7 32.643,181.404L31.879,179.712L31.69,177.551C32.308,171.618 35.101,162.722 36.73,153.264C37.472,148.955 36.655,143.781 35.875,137.889C34.994,131.233 34.077,123.77 34.679,115.679C35.903,99.196 45.665,71.324 70.895,56.278C96.013,41.299 131.438,44.724 152.105,56.212C169.138,65.68 178.342,86.774 179.466,93.064C179.578,93.69 179.629,94.224 179.639,94.655L179.526,96.014C183.962,108.223 184.932,124.998 181.973,139.668C180.073,149.082 176.538,157.608 171.454,163.684C171.937,164.857 172.309,166.193 172.548,167.669C173.133,171.279 172.997,175.862 172.328,180.402C172.319,180.465 172.31,180.528 172.3,180.591ZM170.932,97.792C148.819,77.939 121.534,77.648 103.95,81.718C86.838,85.679 75.007,97.275 70.918,111.219C66.928,124.826 72.009,135.323 86.668,146.561C91.905,150.576 99.737,152.762 108.347,154.122C122.269,156.322 138.191,156.191 149.835,156.491C156.127,156.653 161.26,156.971 164.394,157.723C164.608,157.775 164.815,157.829 165.016,157.886C169.17,152.852 171.909,145.726 173.477,137.954C176.219,124.366 175.302,108.736 170.932,97.792ZM164.116,176.07C164.333,173.533 164.324,171.098 163.993,169.054C163.818,167.976 163.666,167.019 163.21,166.416C162.891,166.319 161.986,166.052 161.289,165.934C158.471,165.458 154.419,165.279 149.612,165.155C137.65,164.847 121.296,164.943 106.994,162.683C96.787,161.07 87.603,158.199 81.395,153.439C63.039,139.366 57.605,125.819 62.601,108.781C67.498,92.082 81.505,78.018 101.995,73.275C118.949,69.351 143.959,69.153 166.364,83.457C162.524,76.554 156.338,68.481 147.895,63.788C129.429,53.523 97.777,50.338 75.334,63.722C53.003,77.039 44.405,101.732 43.321,116.321C42.653,125.324 44.076,133.483 44.959,140.521C45.628,145.858 45.978,150.629 45.27,154.736C44.895,156.915 44.454,159.063 43.992,161.15C48.302,163.18 56.101,165.56 65.94,167.917C92.734,174.337 134.285,180.166 164.116,176.07ZM41.991,169.692C41.358,172.389 40.813,174.861 40.493,177.012C41.578,177.639 43.936,178.946 46.143,179.784C58.62,184.522 82.233,189.501 98.691,192.217C112.662,194.522 135.095,195.017 149.073,194.023C152.509,193.779 155.413,193.45 157.505,193.021C158.337,192.85 158.981,192.748 159.335,192.531C159.883,192.195 160.217,191.285 160.705,190.237C161.395,188.755 162.019,186.956 162.545,184.999C131.954,188.514 90.768,182.778 63.921,176.346C54.612,174.115 46.986,171.76 41.991,169.692Z"></path></g></g><g id="witch-hat"><g transform="matrix(0.540905,-0.146108,0.212814,0.787861,-9.55251,48.6082)"><path d="M120.049,84.072C120.604,83.589 121.042,83.036 121.33,82.428L163.781,-6.979L216.226,82.583C216.586,83.199 217.103,83.75 217.738,84.219C203.864,84.521 188.355,84.69 171.994,84.69C153.15,84.69 135.437,84.466 120.049,84.072Z" style="fill:var(--headwearColor);"></path></g><g transform="matrix(0.540905,-0.146108,0.212814,0.787861,-9.55251,48.6082)"><path d="M228.709,75.431C254.093,76.161 272.808,77.423 279.56,78.807C280.857,79.073 281.886,79.363 282.655,79.637L285.239,80.917L287.148,82.902L287.734,85L287.409,86.573L286.613,87.855L285.465,88.922L283.881,89.859C282.617,90.459 280.006,91.231 276.024,91.784C261.513,93.8 220.397,95.31 171.994,95.31C123.59,95.31 82.475,93.8 67.963,91.784C63.981,91.231 61.37,90.459 60.106,89.859L58.522,88.922L57.374,87.855L56.578,86.573L56.253,85L56.77,83.026L58.532,81.072L61.018,79.752C61.746,79.475 62.715,79.18 63.942,78.91C69.808,77.62 85.975,76.409 108.28,75.648L155.668,-24.157C156.677,-26.28 159.512,-27.743 162.762,-27.818C166.013,-27.893 168.984,-26.564 170.198,-24.492L228.709,75.431ZM120.049,84.072C135.437,84.466 153.15,84.69 171.994,84.69C188.355,84.69 203.864,84.521 217.738,84.219C217.103,83.75 216.586,83.199 216.226,82.583L163.781,-6.979L121.33,82.428C121.042,83.036 120.604,83.589 120.049,84.072Z"></path></g></g><g id="flower"><g transform="matrix(0.794152,0,0,0.794152,21.9643,9.78889)"><path d="M70.46,85.325C69.799,86.124 69.238,87.003 68.797,87.943C59.512,84.373 53.878,80.412 51.069,76.675C50.186,75.5 49.627,74.403 49.435,73.383C49.303,72.676 49.367,72.044 49.8,71.636C50.848,70.645 52.705,70.667 54.884,71.266C59.603,72.565 65.21,76.895 70.46,85.325ZM72.832,102.888C73.237,103.179 73.662,103.449 74.103,103.693C72.772,109.989 70.577,114.251 68.077,116.777C67.01,117.856 65.933,118.568 64.89,118.861C64.373,119.006 63.887,119.064 63.495,118.876C63.163,118.716 63.021,118.338 62.942,117.903C62.805,117.151 62.904,116.264 63.191,115.26C64.178,111.811 67.167,107.602 72.832,102.888ZM82.924,105.114C83.488,105.011 84.039,104.872 84.573,104.7C88.201,112.252 89.687,118.083 89.709,122.26C89.717,123.722 89.552,124.911 89.169,125.81C89.094,125.986 88.947,126.208 88.856,126.339C88.657,126.25 88.226,126.047 87.953,125.828C87.354,125.347 86.782,124.678 86.241,123.849C83.836,120.164 82.298,113.896 82.924,105.114ZM92.741,96.702C92.926,96.14 93.07,95.561 93.169,94.969C101.256,92.259 107.284,91.373 111.556,91.737C113.032,91.862 114.245,92.134 115.197,92.566C115.867,92.87 116.391,93.178 116.557,93.675C116.696,94.094 116.515,94.54 116.279,94.988C115.76,95.974 114.811,96.876 113.575,97.637C109.211,100.324 101.865,100.939 92.741,96.702ZM66.271,96.467C60.503,99.777 55.748,100.96 52.129,100.703C49.591,100.523 47.729,99.815 47.37,98.386C47.098,97.304 48.292,96.581 49.981,95.933C53.398,94.622 58.735,94.545 66.271,96.467ZM91.191,86.184C90.415,85.063 89.453,84.068 88.346,83.242C92.324,77.687 96.471,74.718 100.053,73.771C101.757,73.321 103.226,73.249 104.087,74C104.335,74.216 104.369,74.563 104.321,74.944C104.226,75.694 103.849,76.502 103.258,77.377C101.33,80.233 97.466,83.27 91.191,86.184ZM78.804,80.773C78.621,80.796 78.44,80.823 78.259,80.854C74.622,72.498 74.195,66.116 75.579,61.973C76.154,60.253 76.868,58.961 77.974,58.755C78.329,58.688 78.622,58.966 78.92,59.298C79.52,59.968 79.976,60.942 80.323,62.181C81.448,66.197 81.229,72.312 78.804,80.773ZM80.5,89.333C82.731,89.333 84.667,90.901 84.667,93C84.667,95.099 82.731,96.667 80.5,96.667C78.269,96.667 76.333,95.099 76.333,93C76.333,90.901 78.269,89.333 80.5,89.333Z" style="fill:var(--headwearColor);"></path></g><g transform="matrix(0.794152,0,0,0.794152,21.9643,9.78889)"><path d="M49.352,87.075C45.629,84.087 43.309,81.119 42.071,78.484C39.475,72.963 40.748,68.262 43.85,65.334C46.637,62.702 51.391,61.317 57.183,62.91C59.959,63.674 63.064,65.169 66.269,67.604C66.15,62.603 67.235,58.698 68.797,56.015C70.782,52.605 73.606,50.753 76.387,50.234C81.544,49.274 88.227,52.836 89.432,63.893C89.616,65.585 89.672,67.485 89.562,69.598C93.753,66.46 97.81,65.066 101.102,64.848C104.755,64.605 107.75,65.697 109.78,67.465C112.747,70.05 114.094,74.205 112.079,79.187C111.584,80.411 110.832,81.727 109.779,83.096C114.493,83.108 117.9,84.048 120.137,85.382C125.154,88.375 126.324,93.157 124.514,97.789C123.43,100.561 121.068,103.367 117.472,105.399C112.391,108.269 104.528,109.73 94.905,106.796C98.202,115.348 98.811,121.742 98.087,125.926C97.028,132.046 93.359,134.733 89.643,135.025C86.989,135.234 83.868,134.165 81.097,131.27C79.043,129.126 77.065,125.757 75.746,121.154C74.385,122.852 72.965,124.16 71.575,125.122C67.258,128.108 62.895,128.199 59.748,126.69C56.346,125.059 53.886,121.472 54.252,116.235C54.395,114.199 55.039,111.791 56.389,109.12C51.457,109.78 47.541,108.967 44.833,107.548C41.571,105.84 39.647,103.215 38.965,100.498C37.734,95.6 40.329,89.24 49.352,87.075ZM66.271,96.467C58.735,94.545 53.398,94.622 49.981,95.933C48.292,96.581 47.098,97.304 47.37,98.386C47.729,99.815 49.591,100.523 52.129,100.703C55.748,100.96 60.503,99.777 66.271,96.467ZM70.46,85.325C65.21,76.895 59.603,72.565 54.884,71.266C52.705,70.667 50.848,70.645 49.8,71.636C49.367,72.044 49.303,72.676 49.435,73.383C49.627,74.403 50.186,75.5 51.069,76.675C53.878,80.412 59.512,84.373 68.797,87.943C69.238,87.003 69.799,86.124 70.46,85.325ZM72.832,102.888C67.167,107.602 64.178,111.811 63.191,115.26C62.904,116.264 62.805,117.151 62.942,117.903C63.021,118.338 63.163,118.716 63.495,118.876C63.887,119.064 64.373,119.006 64.89,118.861C65.933,118.568 67.01,117.856 68.077,116.777C70.577,114.251 72.772,109.989 74.103,103.693C73.662,103.449 73.237,103.179 72.832,102.888ZM82.924,105.114C82.298,113.896 83.836,120.164 86.241,123.849C86.782,124.678 87.354,125.347 87.953,125.828C88.226,126.047 88.657,126.25 88.856,126.339C88.947,126.208 89.094,125.986 89.169,125.81C89.552,124.911 89.717,123.722 89.709,122.26C89.687,118.083 88.201,112.252 84.573,104.7C84.039,104.872 83.488,105.011 82.924,105.114ZM92.741,96.702C101.865,100.939 109.211,100.324 113.575,97.637C114.811,96.876 115.76,95.974 116.279,94.988C116.515,94.54 116.696,94.094 116.557,93.675C116.391,93.178 115.867,92.87 115.197,92.566C114.245,92.134 113.032,91.862 111.556,91.737C107.284,91.373 101.256,92.259 93.169,94.969C93.07,95.561 92.926,96.14 92.741,96.702ZM91.191,86.184C97.466,83.27 101.33,80.233 103.258,77.377C103.849,76.502 104.226,75.694 104.321,74.944C104.369,74.563 104.335,74.216 104.087,74C103.226,73.249 101.757,73.321 100.053,73.771C96.471,74.718 92.324,77.687 88.346,83.242C89.453,84.068 90.415,85.063 91.191,86.184ZM78.804,80.773C81.229,72.312 81.448,66.197 80.323,62.181C79.976,60.942 79.52,59.968 78.92,59.298C78.622,58.966 78.329,58.688 77.974,58.755C76.868,58.961 76.154,60.253 75.579,61.973C74.195,66.116 74.622,72.498 78.259,80.854C78.44,80.823 78.621,80.796 78.804,80.773ZM80.5,89.333C78.269,89.333 76.333,90.901 76.333,93C76.333,95.099 78.269,96.667 80.5,96.667C82.731,96.667 84.667,95.099 84.667,93C84.667,90.901 82.731,89.333 80.5,89.333Z"></path></g></g><g id="hard-hat"><g transform="matrix(0.918974,-0.0773502,0.0742301,0.924216,-5.5539,6.6347)"><path d="M135.927,61.445C134.345,63.957 133.324,66.978 133.117,70.308C132.51,80.041 139.12,88.064 147.348,88.603C147.913,88.64 148.475,88.641 149.032,88.607C149.203,88.622 149.375,88.628 149.548,88.622C154.594,88.471 160.185,88.108 164.474,88.856C166.556,89.219 168.489,89.497 168.412,91.492C168.388,92.108 167.881,92.543 167.307,93.025C166.001,94.121 164.121,95.025 161.87,95.846C153.79,98.793 141.436,100.275 129.772,100.842C122.405,101.2 106.436,102.511 92.911,101.044C86.759,100.377 81.131,99.196 77.347,96.857C74.754,95.254 73.332,92.967 74.084,89.644C78.563,69.845 90.328,56.985 110.594,54.275C120.332,52.973 128.936,55.371 135.106,60.705C135.385,60.946 135.659,61.193 135.927,61.445ZM96.392,80.047C97.861,76.647 101.494,73.602 105.81,71.695C110.217,69.748 115.417,68.991 120.119,70.617C122.228,71.346 124.528,70.237 125.253,68.143C125.978,66.049 124.855,63.757 122.746,63.028C116.1,60.73 108.735,61.597 102.506,64.349C96.187,67.142 91.118,71.872 88.967,76.85C88.088,78.885 89.037,81.253 91.086,82.135C93.135,83.017 95.512,82.082 96.392,80.047ZM148.966,62.643C152.857,62.898 155.348,67.143 155.061,71.745C154.774,76.347 151.776,80.233 147.885,79.978C143.995,79.723 141.503,75.478 141.79,70.876C142.077,66.274 145.076,62.388 148.966,62.643Z" style="fill:var(--headwearColor);"></path></g><g transform="matrix(0.918974,-0.0773502,0.0742301,0.924216,-5.5539,6.6347)"><path d="M161.639,79.933C164.428,80.089 167.004,80.44 169.108,81.137C174.237,82.836 177.3,86.15 177.079,91.857C176.928,95.766 174.299,99.385 169.224,102.054C160.92,106.422 145.083,108.737 130.228,109.459C119.329,109.988 90.622,112.207 76.118,105.904C71.385,103.847 67.988,100.894 66.332,97.136C65.16,94.476 64.797,91.364 65.622,87.72C70.967,64.09 85.22,48.959 109.406,45.725C121.895,44.055 132.869,47.362 140.782,54.203C141.287,54.639 141.78,55.09 142.26,55.556C144.487,54.413 146.963,53.852 149.504,54.018C157.732,54.557 164.342,62.58 163.735,72.313C163.56,75.11 162.812,77.69 161.639,79.933ZM135.927,61.445C135.659,61.193 135.385,60.946 135.106,60.705C128.936,55.371 120.332,52.973 110.594,54.275C90.328,56.985 78.563,69.845 74.084,89.644C73.332,92.967 74.754,95.254 77.347,96.857C81.131,99.196 86.759,100.377 92.911,101.044C106.436,102.511 122.405,101.2 129.772,100.842C141.436,100.275 153.79,98.793 161.87,95.846C164.121,95.025 166.001,94.121 167.307,93.025C167.881,92.543 168.388,92.108 168.412,91.492C168.489,89.497 166.556,89.219 164.474,88.856C160.185,88.108 154.594,88.471 149.548,88.622C149.375,88.628 149.203,88.622 149.032,88.607C148.475,88.641 147.913,88.64 147.348,88.603C139.12,88.064 132.51,80.041 133.117,70.308C133.324,66.978 134.345,63.957 135.927,61.445ZM96.392,80.047C95.512,82.082 93.135,83.017 91.086,82.135C89.037,81.253 88.088,78.885 88.967,76.85C91.118,71.872 96.187,67.142 102.506,64.349C108.735,61.597 116.1,60.73 122.746,63.028C124.855,63.757 125.978,66.049 125.253,68.143C124.528,70.237 122.228,71.346 120.119,70.617C115.417,68.991 110.217,69.748 105.81,71.695C101.494,73.602 97.861,76.647 96.392,80.047ZM148.966,62.643C145.076,62.388 142.077,66.274 141.79,70.876C141.503,75.478 143.995,79.723 147.885,79.978C151.776,80.233 154.774,76.347 155.061,71.745C155.348,67.143 152.857,62.898 148.966,62.643Z"></path></g></g><g id="party-hat"><path d="M74.413,101.83C76.153,93.499 81.069,85.598 86.383,80.247C89.594,77.014 92.862,74.637 95.654,74.085L105.258,82.088C94.45,84.659 83.231,91.629 74.413,101.83ZM67.762,81.359C67.766,81.349 67.769,81.339 67.773,81.329C70.078,74.784 73.602,69.059 77.4,65.433C78.83,64.068 80.253,62.988 81.651,62.416L88.782,68.358C86.128,69.827 83.357,71.941 80.706,74.61C76.411,78.935 72.37,84.68 69.575,91.029L67.762,81.359ZM75.132,56.984C74.037,57.736 72.946,58.625 71.876,59.647C69.552,61.865 67.29,64.724 65.264,68.033L60.98,45.191L75.132,56.984Z" style="fill:var(--headwearColor);"></path><path d="M45.343,39L40,39C37.792,39 36,37.208 36,35C36,32.792 37.792,31 40,31L47.526,31L41.672,22.219C40.447,20.382 40.944,17.896 42.781,16.672C44.618,15.447 47.104,15.944 48.328,17.781L55.063,27.882L60.711,19.723C61.968,17.908 64.462,17.455 66.277,18.711C68.092,19.968 68.545,22.462 67.289,24.277L64.335,28.543L74.03,26.119C76.172,25.584 78.345,26.888 78.881,29.03C79.416,31.172 78.112,33.345 75.97,33.881L67.971,35.88L81.486,41.286C83.535,42.106 84.534,44.436 83.714,46.486C82.894,48.535 80.564,49.534 78.514,48.714L76.957,48.091L84.314,54.221C85.229,54.54 86.001,55.185 86.48,56.027L117.561,81.927C118.869,83.018 119.344,84.817 118.743,86.411C118.142,88.005 116.598,89.043 114.895,88.999C100.394,88.618 83.23,99.734 73.482,116.969C72.655,118.432 71.002,119.221 69.344,118.946C67.687,118.67 66.378,117.389 66.069,115.737L54.977,56.583L53.881,60.97C53.345,63.112 51.172,64.416 49.03,63.881C46.888,63.345 45.584,61.172 46.119,59.03L49.284,46.373L42.828,52.828C41.267,54.389 38.733,54.389 37.172,52.828C35.611,51.267 35.611,48.733 37.172,47.172L45.343,39ZM75.132,56.984L60.98,45.191L65.264,68.033C67.29,64.724 69.552,61.865 71.876,59.647C72.946,58.625 74.037,57.736 75.132,56.984ZM67.762,81.359L69.575,91.029C72.37,84.68 76.411,78.935 80.706,74.61C83.357,71.941 86.128,69.827 88.782,68.358L81.651,62.416C80.253,62.988 78.83,64.068 77.4,65.433C73.602,69.059 70.078,74.784 67.773,81.329C67.769,81.339 67.766,81.349 67.762,81.359ZM74.413,101.83C83.231,91.629 94.45,84.659 105.258,82.088L95.654,74.085C92.862,74.637 89.594,77.014 86.383,80.247C81.069,85.598 76.153,93.499 74.413,101.83Z"></path></g></g><g id="accessories"><g id="balloons" style="animation: balloons 4s infinite cubic-bezier(0.43, 0, 0.58, 1)" class="motion-reduce:!animate-none"><g transform="matrix(1,0,0,1,-3.58218,53.1085)"><path d="M350.939,79.574C352.353,87.162 351.098,94.885 340.516,96.846C329.854,98.822 324.966,90.313 323.897,84.384C322.828,78.455 324.215,70.863 332.206,67.769C336.076,66.271 340.162,66.758 343.552,68.722C337.918,58.625 334.613,47.565 334.019,39.413C332.513,18.722 333.683,-13.583 357.76,-20C381.838,-26.417 410.573,-8.883 420,23.19C429.427,55.263 414.878,89.282 384.688,94.402C370.9,96.74 359.452,89.789 350.939,79.574ZM371.089,19.033C364.614,20.791 362.452,29.932 363.855,38.293C365.258,46.654 373.027,53.452 381.089,51.482C389.151,49.512 391.448,39.492 388.089,30.711C384.73,21.93 377.564,17.276 371.089,19.033ZM230.758,12.18C233.973,-1.512 255.197,-24.314 282.042,-20.985C308.887,-17.656 318.68,-1.65 318.245,13.259C317.811,28.168 307.448,40.175 302.392,44.885C297.337,49.595 279.954,59.45 271.111,62.307C262.269,65.163 261.565,71.6 267.942,72C274.68,72.422 298.868,69.541 311.232,72.122C323.596,74.703 323.881,93.712 310.71,98.244C297.539,102.775 248.281,97.896 238.056,94.623C227.831,91.35 218.532,76.23 226.711,63.059C234.89,49.888 256.448,44.518 269.979,38.002C283.51,31.486 292.828,11.701 281.72,4.153C270.613,-3.394 258.524,8.477 257.24,18.135C255.956,27.793 249.347,30.404 240.781,29.488C232.215,28.572 227.544,25.873 230.758,12.18Z" style="fill:var(--accessoryColor);"></path></g><g transform="matrix(1,0,0,1,2.01784,0.5)"><path d="M235.333,69.937C235.368,71.776 233.902,73.298 232.063,73.333C230.224,73.368 228.702,71.902 228.667,70.063C228.58,65.462 230.508,59.598 234.489,53.936C240.138,45.9 249.911,38.183 263.266,35.245C265.063,34.849 266.842,35.987 267.238,37.784C267.633,39.581 266.495,41.36 264.698,41.755C253.223,44.28 244.797,50.866 239.943,57.77C236.921,62.067 235.267,66.445 235.333,69.937ZM229.283,126.799C228.707,128.546 226.821,129.497 225.073,128.921C223.326,128.345 222.5,126.148 222.982,124C223.464,121.852 227.279,116.508 231.56,112.765C237.476,107.594 245.976,102.955 255.843,99.367C257.572,98.739 259.486,99.632 260.115,101.361C260.744,103.09 259.85,105.004 258.121,105.633C249.126,108.904 241.341,113.07 235.948,117.785C232.689,120.634 230.323,123.645 229.283,126.799ZM286.937,81.042C286.086,82.673 284.071,83.306 282.44,82.455C280.809,81.604 280.176,79.589 281.027,77.958C281.769,76.536 283.573,73.712 283.65,70.423C283.692,68.583 285.22,67.125 287.059,67.168C288.899,67.21 290.357,68.738 290.315,70.577C290.209,75.111 287.96,79.083 286.937,81.042ZM354.982,35.5C356.638,35.5 357.982,36.844 357.982,38.5C357.982,40.156 356.638,41.5 354.982,41.5C353.326,41.5 351.982,40.156 351.982,38.5C351.982,36.844 353.326,35.5 354.982,35.5ZM381.126,104.41C382.782,104.41 384.126,105.754 384.126,107.41C384.126,109.065 382.782,110.41 381.126,110.41C379.471,110.41 378.126,109.065 378.126,107.41C378.126,105.754 379.471,104.41 381.126,104.41ZM327.687,123.251C329.343,123.251 330.687,124.596 330.687,126.251C330.687,127.907 329.343,129.251 327.687,129.251C326.031,129.251 324.687,127.907 324.687,126.251C324.687,124.596 326.031,123.251 327.687,123.251ZM341.996,42.823C343.473,41.727 345.007,41.774 345.982,42.823C346.957,43.873 346.695,46.498 345.482,48C344.758,48.897 344.094,50.454 343.175,52.262C341.624,55.313 340.303,59.062 340.315,61.482C340.325,63.322 338.84,64.824 337,64.833C335.16,64.843 333.659,63.357 333.649,61.518C333.632,58.311 335.177,53.283 337.232,49.241C338.717,46.321 340.5,43.933 341.996,42.823ZM393.184,87.094C392.856,88.905 390.952,90.094 389.482,90C388.012,89.906 386.962,88.039 387.005,86.318C387.025,85.527 386.541,83.833 386.234,82.559C385.929,81.298 385.544,80.032 385.018,79.373C383.869,77.936 384.512,75.503 385.54,74.688C386.568,73.873 389.077,73.774 390.225,75.211C391.198,76.427 392.152,78.667 392.714,80.994C393.273,83.308 393.441,85.68 393.184,87.094Z" style="fill:white;"></path></g><g transform="matrix(1,0,0,1,0.367581,-5)"><path d="M274.761,164.471C256.972,163.521 238.067,160.999 232.074,159.081C218.644,154.782 206.355,134.95 217.097,117.65C220.942,111.459 227.189,106.601 234.456,102.67C243.824,97.603 254.936,94.053 263.137,90.104C269.413,87.081 274.571,80.408 275.795,74.259C276.299,71.724 276.148,69.219 274.024,67.776C271.116,65.8 268.088,66.552 265.695,68.244C262.653,70.394 260.326,73.909 259.899,77.122C259.133,82.879 256.895,86.86 253.911,89.592C249.636,93.507 243.439,95.007 236.123,94.225C229.591,93.527 224.83,91.494 222.029,87.68C219.437,84.151 218.05,78.427 220.318,68.765C221.822,62.362 226.536,54.156 233.85,46.981C244.522,36.513 260.595,28.236 278.913,30.507C310.57,34.433 321.472,53.981 320.959,71.562C320.462,88.635 308.777,102.477 302.987,107.871C298.945,111.637 287.629,118.478 278.145,123.033C288.168,122.544 300.76,122.059 308.645,123.705C311.615,124.325 314.15,125.54 316.234,127.184C318.274,124.062 321.379,121.391 325.849,119.66C326.737,119.317 327.634,119.042 328.535,118.833C325.598,111.312 323.853,103.952 323.42,98.005C322.449,84.664 322.688,66.848 328.484,53.225C332.884,42.883 340.308,34.808 352.094,31.667C379.118,24.465 411.866,43.421 422.446,79.418C433.05,115.496 415.812,153.324 381.853,159.083C379.799,159.432 377.788,159.612 375.82,159.636C358.454,171.02 346.798,188.93 346.632,205.021C346.464,221.44 350.744,233.376 359.191,251.003C370.9,261.399 381.416,272.262 389.157,283.079C393.806,289.576 397.454,296.068 399.8,302.441C404.439,306.911 408.112,310.149 409.808,311.382C410.701,312.031 410.899,313.283 410.25,314.176C409.602,315.069 408.35,315.267 407.457,314.618C406.35,313.814 404.426,312.179 401.949,309.915C402.11,310.708 402.248,311.498 402.363,312.285C405.525,316.112 408.524,318.91 411.426,320.164C412.439,320.602 412.906,321.78 412.468,322.793C412.03,323.807 410.852,324.274 409.839,323.836C407.574,322.857 405.218,321.043 402.773,318.577C402.756,319.453 402.706,320.324 402.623,321.19C402.518,322.289 401.541,323.096 400.442,322.991C399.343,322.886 398.537,321.909 398.641,320.81C398.861,318.507 398.821,316.171 398.543,313.807C395.864,310.499 393.086,306.583 390.213,302.274C387.703,298.508 385.101,294.441 382.397,290.239C372.599,279.526 362.67,267.233 357.837,257.375C357.437,256.559 357.044,255.755 356.66,254.963C355.852,254.091 355.036,253.239 354.212,252.408C353.446,251.636 352.695,250.832 351.959,249.999C344.499,243.617 336.649,237.444 328.806,231.604C313.182,219.971 297.67,205.115 287.149,190.117C281.057,181.433 276.641,172.685 274.761,164.471ZM369.53,159.174C363.165,158.149 357.33,155.481 352.102,151.67C351.682,152.521 351.191,153.336 350.625,154.108C348.128,157.509 344.154,160.328 337.781,161.509C335.163,161.995 332.779,162.054 330.616,161.775C329.111,168.284 329.389,178.729 331.294,190.421C334.11,207.704 340.558,227.693 350.667,241.929C345.192,229.029 342.494,218.455 342.633,204.979C342.796,189.074 353.292,171.38 369.53,159.174ZM326.747,160.855C323.56,159.718 320.984,157.778 318.964,155.462C316.606,158.591 313.269,161.163 308.929,162.656C304.531,164.169 296.533,164.895 287.162,164.854C284.511,164.842 281.743,164.776 278.919,164.665C280.819,172.109 284.924,179.979 290.424,187.82C300.717,202.494 315.908,217.014 331.194,228.396C335.207,231.384 339.221,234.459 343.184,237.604C335.145,223.683 329.839,206.366 327.346,191.065C325.348,178.804 325.187,167.829 326.747,160.855ZM391.549,294.194C389.901,291.277 388.006,288.345 385.904,285.407C382.865,281.161 379.391,276.91 375.58,272.684C379.103,277.79 382.467,282.977 385.688,287.975C387.664,290.127 389.633,292.212 391.549,294.194ZM322.337,148.758C324.887,152.908 329.435,156.276 336.566,154.954C347.227,152.979 348.421,145.155 346.957,137.513C345.165,128.159 336.247,122.783 328.257,125.877C324.43,127.359 322.117,129.872 320.864,132.741C319.5,135.862 319.39,139.403 319.947,142.493C320.301,144.456 321.074,146.703 322.337,148.758ZM276.297,61.375C276.789,61.634 277.281,61.929 277.771,62.262C288.878,69.809 279.56,89.594 266.029,96.11C252.498,102.627 230.94,107.996 222.761,121.167C214.582,134.339 223.881,149.458 234.106,152.731C244.332,156.004 293.589,160.884 306.76,156.352C319.931,151.821 319.646,132.812 307.282,130.231C295.015,127.67 271.108,130.5 264.154,130.118C264.078,130.145 264.031,130.161 264.029,130.161C263.361,130.131 261.493,130.085 260.632,130.753C259.771,131.421 258.853,131.616 258.476,131.272C258.099,130.928 258.07,130.408 258.132,129.728C258.195,129.049 258.575,128.306 259.647,127.297C259.696,127.251 259.654,127.16 259.63,127.096C259.42,126.535 258.837,125.968 258.476,125.328C258.124,124.704 257.742,124.225 258.132,123.705C258.523,123.185 258.459,123.235 261.492,123.506C262.748,122.334 264.638,121.23 267.162,120.415C276.004,117.558 293.387,107.704 298.443,102.994C303.498,98.283 313.861,86.276 314.295,71.367C314.73,56.459 304.938,40.452 278.093,37.123C251.248,33.794 230.023,56.596 226.809,70.289C223.594,83.982 228.266,86.681 236.831,87.596C245.397,88.512 252.006,85.902 253.29,76.244C254.328,68.435 262.429,59.18 271.364,59.91C271.706,58.482 272.091,57.897 272.106,57.847C272.295,57.222 272.715,57.288 272.937,58.074C273.056,58.498 273.214,58.951 273.437,59.507C273.567,59.832 273.74,60.118 273.886,60.386C273.932,60.4 273.978,60.414 274.023,60.428C274.808,59.355 275.858,58.14 276.348,58.548C276.52,58.691 276.417,59.106 276.406,59.153C276.252,59.774 276.249,60.609 276.297,61.375ZM335.552,118.509C344.035,119.657 351.597,126.302 353.505,136.259C354.052,139.117 354.248,141.98 353.992,144.701C361.435,150.816 370.433,154.258 380.738,152.511C410.928,147.391 425.477,113.371 416.05,81.298C406.623,49.225 377.889,31.692 353.811,38.109C329.733,44.525 328.563,76.831 330.069,97.521C330.502,103.47 332.379,110.967 335.552,118.509ZM382.314,106.525C380.988,107.993 379.264,109.071 377.139,109.59C369.077,111.56 361.308,104.762 359.905,96.402C358.502,88.041 360.664,78.899 367.139,77.142C373.614,75.384 380.78,80.039 384.139,88.82C385.586,92.603 385.984,96.617 385.322,100.117C385.814,100.208 386.285,100.324 386.712,100.471C389.004,101.262 388.942,102.125 388.798,102.67C388.653,103.216 386.865,103.569 386.292,103.562C385.719,103.556 385.922,103.458 384.648,103.606C385.112,104.029 385.522,104.484 385.928,105.038C386,105.136 387.38,106.941 386.919,107.5C386.459,108.059 384.874,107.423 384.341,107.299C383.807,107.174 383.717,107.069 382.314,106.525ZM368.885,83.576C367.737,83.887 367.314,85.13 366.897,86.389C366.033,89.001 365.964,92.223 366.48,95.298C367.254,99.913 371.107,104.202 375.556,103.114C377.176,102.718 378.073,101.378 378.54,99.832C379.316,97.263 379.034,94.133 377.912,91.202C376.783,88.25 375.105,85.925 373.074,84.552C371.755,83.661 370.299,83.192 368.885,83.576Z"></path></g></g><g transform="matrix(1,0,0,1,-0.5,-1)"><g id="fangs"><path d="M110.422,161.789C109.435,159.814 110.237,157.41 112.211,156.422C114.186,155.435 116.59,156.237 117.578,158.211C117.578,158.211 122.755,168.565 122.755,168.565L129.855,159.529C131.219,157.793 133.735,157.491 135.471,158.855C137.207,160.219 137.509,162.735 136.145,164.471L125.145,178.471C124.299,179.549 122.959,180.118 121.596,179.98C120.233,179.841 119.035,179.015 118.422,177.789L110.422,161.789ZM138.916,163.054C137.231,161.628 137.02,159.102 138.446,157.416C139.872,155.731 142.398,155.52 144.084,156.946C144.084,156.946 151.711,163.401 151.711,163.401L153.554,152.342C153.917,150.165 155.98,148.691 158.158,149.054C160.335,149.417 161.809,151.48 161.446,153.658L158.446,171.658C158.209,173.077 157.229,174.26 155.878,174.755C154.527,175.251 153.015,174.983 151.916,174.054L138.916,163.054Z"></path></g></g><g id="tattoo" transform="matrix(0.738999,0,0,0.738999,83.6812,79.8137)"><g transform="matrix(1,0,0,1,0,8.30411)"><path d="M261.543,320.517L259.104,321.597C256.917,322.565 255.927,325.126 256.896,327.313C257.864,329.5 260.425,330.49 262.612,329.521L267.579,327.323C269.211,334.308 263.081,345.461 240,360C186.187,308.687 237.771,306.834 240.97,323.78C245.981,317.547 254.997,317.511 261.543,320.517Z" style="fill:var(--accessoryColor);"></path></g><g transform="matrix(1,0,0,1,0,8.30411)"><path d="M283.834,319.828L275.579,323.78C275.888,324.713 276.123,325.686 276.278,326.696C276.957,331.101 276.14,336.585 272.196,342.865C267.985,349.569 259.576,357.912 244.619,367.333C241.26,369.449 236.892,369.012 234.019,366.272C227.395,359.956 222.248,354.242 218.299,349.127L214.668,350.847L216.283,361.341C216.647,363.705 215.023,365.919 212.659,366.283C210.295,366.647 208.081,365.023 207.717,362.659L206.495,354.718L204.401,355.71L205.321,367.668C205.504,370.052 203.717,372.137 201.332,372.321C198.948,372.504 196.863,370.717 196.679,368.332L195.715,355.795L185.184,350.934C183.013,349.932 182.063,347.356 183.066,345.184C184.068,343.013 186.644,342.063 188.816,343.066L199.976,348.216L201.767,347.368L197.121,343.239C195.334,341.65 195.172,338.909 196.761,337.121C198.35,335.334 201.091,335.172 202.879,336.761L210.277,343.337L213.256,341.926C208.64,334.533 206.861,328.733 206.704,324.507C206.531,319.841 207.868,316.21 209.931,313.421L211.813,311.3L213.947,309.599C215.333,308.67 216.879,307.931 218.55,307.4C221.998,306.305 226.045,306.115 230.038,306.874C234.579,307.738 238.893,309.847 242.235,312.821C248.453,310.073 255.771,309.609 261.87,311.411C265.366,312.445 268.427,314.145 270.833,316.403L278.895,312.545L272.504,310.087C270.18,309.193 269.019,306.581 269.913,304.258C270.807,301.934 273.419,300.773 275.742,301.667L293.334,308.433C294.47,308.87 295.382,309.748 295.861,310.868C296.34,311.988 296.346,313.253 295.878,314.378L289.112,330.616C288.155,332.914 285.512,334.002 283.214,333.045C280.916,332.087 279.827,329.444 280.785,327.146L283.834,319.828ZM261.543,320.517C254.997,317.511 245.981,317.547 240.97,323.78C237.771,306.834 186.187,308.687 240,360C263.081,345.461 269.211,334.308 267.579,327.323L262.612,329.521C260.425,330.49 257.864,329.5 256.896,327.313C255.927,325.126 256.917,322.565 259.104,321.597L261.543,320.517ZM249.682,331.678C249.404,331.571 248.573,331.292 248.074,331.522C247.852,331.625 247.967,331.95 247.937,332.376C247.936,332.388 247.936,332.401 247.935,332.415C248.15,332.515 248.505,332.675 248.744,332.756C249.596,333.047 250.504,333.301 251.348,333.637C253.174,334.364 254.727,335.45 255.711,337.167C256.368,338.311 256.805,339.768 256.74,341.716C256.479,349.56 248.819,352.568 240.818,348.942C239.004,348.12 238.199,345.98 239.021,344.166C239.843,342.352 241.983,341.547 243.797,342.369C245.236,343.021 246.671,343.334 247.896,343.177C248.802,343.061 249.492,342.519 249.527,341.476C249.537,341.172 249.558,340.932 249.451,340.758C249.255,340.439 248.847,340.403 248.494,340.271C247.703,339.978 246.866,339.752 246.094,339.475C244.245,338.81 242.716,337.824 241.766,336.33C241.061,335.222 240.603,333.805 240.738,331.872C240.95,328.84 242.163,327.024 243.568,325.889C245.642,324.212 248.498,324.01 250.715,324.484C251.577,324.668 252.324,324.938 252.853,325.187L254.374,326.232C255.759,327.664 255.72,329.95 254.289,331.335C253.017,332.564 251.072,332.672 249.682,331.678ZM226.887,330.98C226.417,331.047 225.95,331.137 225.49,331.253C223.317,331.8 221.109,330.48 220.562,328.307C220.015,326.134 221.335,323.926 223.508,323.379C227.968,322.256 232.854,322.745 237.1,323.631C239.293,324.089 240.702,326.241 240.245,328.434C239.787,330.627 237.635,332.037 235.441,331.579C235.34,331.558 235.238,331.537 235.136,331.516L236.603,343.263C236.881,345.486 235.302,347.517 233.078,347.794C230.855,348.072 228.825,346.492 228.547,344.269L226.887,330.98Z"></path></g></g><g transform="matrix(1,0,0,1,11.1725,29.5256)"><g id="handlebars"><path d="M149.656,115.57C149.781,112.64 149.37,112.052 151.601,110.739C154.184,109.219 158.199,107.056 162.783,106.799C163.225,106.774 165.491,106.648 168.242,107.874C173.995,110.438 176.386,114.938 180.497,116.204C184.668,117.488 187.899,115.822 188.333,111.559C188.7,107.956 186.993,106.154 186.963,106.111C185.667,104.273 183.181,103.104 181.186,103.077C179.774,103.057 179.811,103.348 179.69,103.341C179.463,103.328 179.249,103.198 179.023,103.186C179.203,102.838 179.087,102.782 179.268,102.433C179.309,102.353 179.412,102.353 179.479,102.304C179.542,102.259 179.597,102.201 179.656,102.15C182.646,99.639 187.552,99.998 190.293,102.904C195.547,108.474 194.17,121.454 184.537,123.258C179.864,124.133 176.043,122.22 174.8,121.629C170.755,119.706 168.975,117.916 164.265,117.412C162.435,117.216 159.54,116.494 154.156,117.762C152.717,118.101 152.654,118.472 151.325,117.737C151.312,117.73 149.657,115.579 149.656,115.57ZM149.656,115.57C149.656,115.579 147.71,117.73 147.695,117.737C146.132,118.472 146.058,118.101 144.366,117.762C138.038,116.494 134.634,117.216 132.483,117.412C126.947,117.916 124.854,119.706 120.099,121.629C118.638,122.22 114.146,124.133 108.653,123.258C97.329,121.454 95.71,108.474 101.887,102.904C105.109,99.998 110.876,99.639 114.39,102.15C114.46,102.201 114.525,102.259 114.598,102.304C114.677,102.353 114.798,102.353 114.846,102.433C115.059,102.782 114.923,102.838 115.135,103.186C114.869,103.198 114.617,103.328 114.351,103.341C114.209,103.348 114.251,103.057 112.592,103.077C110.247,103.104 107.325,104.273 105.801,106.111C105.765,106.154 103.759,107.956 104.19,111.559C104.7,115.822 108.499,117.488 113.402,116.204C118.234,114.938 121.045,110.438 127.808,107.874C131.042,106.648 133.705,106.774 134.225,106.799C139.614,107.056 144.333,109.219 147.371,110.739C149.993,112.052 149.51,112.64 149.656,115.57Z"></path></g></g><g transform="matrix(0.876821,0,0,0.93765,22.2786,-1.64522)"><g id="mustache"><path d="M106.617,172.776L121.141,149.912L111.181,182.495L127.059,149.912L124.363,182.495L132.495,149.912L136.357,187.192L140.58,149.912L148.36,182.495L146.651,149.912L158.288,180.948L152.331,147.062L169.925,179.209L159.98,145.568L178.465,174.415L165.076,143.068L188.588,163.934L169.577,147.062L185.45,169.96L158.288,151.885L162.519,177.899L142.53,158.079" style="fill:none;stroke:black;stroke-width:8.81px;"></path></g></g><g transform="matrix(0.81739,-0.576085,0.576085,0.81739,-40.8012,84.3509)"><g id="mascara"><path d="M106.084,97.15C104.737,98.096 101.125,96.04 100.482,94.76C99.839,93.481 95.789,100.304 100.437,104.042C100.437,104.042 107.43,96.205 106.084,97.15Z"></path></g></g><g transform="matrix(0.929694,0.368333,-0.368333,0.929694,43.9489,-31.7065)"><g id="eyelashes"><path d="M105.91,93.422C105.6,92.754 105.892,91.961 106.559,91.652C107.227,91.343 108.02,91.634 108.33,92.302C109,93.75 109.291,95.091 109.257,96.324C109.238,97.06 108.624,97.641 107.889,97.621C107.153,97.601 106.572,96.988 106.592,96.252C106.615,95.383 106.382,94.444 105.91,93.422ZM109.934,90.94C109.741,90.23 110.161,89.496 110.871,89.303C111.581,89.11 112.314,89.53 112.507,90.24C112.919,91.754 113.072,93.231 112.548,94.553C112.276,95.237 111.501,95.572 110.817,95.301C110.133,95.029 109.798,94.254 110.069,93.57C110.389,92.762 110.185,91.864 109.934,90.94ZM114.319,91.737C114.308,91.001 114.897,90.395 115.633,90.384C116.369,90.373 116.975,90.962 116.985,91.698C117.007,93.161 116.645,94.539 115.84,95.818C115.448,96.441 114.625,96.629 114.002,96.237C113.379,95.846 113.191,95.022 113.583,94.399C114.102,93.572 114.333,92.682 114.319,91.737Z"></path></g></g><g transform="matrix(1,0,0,1,0,-9.85382)"><g id="glasses"><path d="M80.073,104.867C68.736,106.29 63.898,106.952 55.411,108.556C53.336,108.948 52.02,110.67 51.618,112.462C51.385,113.506 51.434,114.612 52.022,115.453C52.702,116.426 54.031,116.839 55.907,116.795C58.114,116.743 59.948,118.492 60,120.699C60.052,122.906 58.303,124.74 56.096,124.792C50.78,124.918 47.394,122.795 45.465,120.037C43.62,117.398 43.078,113.989 43.812,110.714C44.861,106.028 48.5,101.72 53.926,100.695C62.912,98.997 69.158,98.166 80.588,96.74C80.905,96.701 81.217,96.7 81.522,96.733C81.706,96.28 81.902,95.874 82.109,95.519C82.352,95.101 82.612,94.731 82.882,94.408L83.969,93.364L84.927,92.772L86.067,92.359C93.3,90.602 109.339,89.645 120.166,90.387C125.51,90.753 129.706,91.691 131.573,92.837C132.413,93.353 133.217,94.128 133.896,95.186C137.677,93.484 141.22,93.677 144.093,94.91C144.124,94.856 144.155,94.804 144.186,94.753L145.333,93.389L146.556,92.604C150.493,90.816 158.259,89.784 163.915,90.541C166.964,90.95 169.455,91.94 170.936,93.231C172.505,94.6 173.784,97.598 173.911,101.655C174.125,108.478 171.665,118.828 167.637,124.649C166.381,126.464 163.887,126.918 162.071,125.662C160.256,124.405 159.802,121.912 161.059,120.096C163.796,116.141 165.514,109.515 165.863,104.303C165.998,102.284 165.558,99.607 165.47,99.103C164.525,98.474 162.824,98.393 160.982,98.308C157.585,98.15 153.662,98.585 151.026,99.444C150.939,101.349 150.708,107.508 151.106,112.169C151.294,114.368 149.661,116.307 147.461,116.495C145.262,116.683 143.323,115.05 143.135,112.85C142.856,109.592 142.674,106.386 142.669,103.621C141.608,102.083 139.113,101.35 136.475,102.839C136.333,102.919 136.188,102.99 136.04,103.051C136.139,104.378 136.16,105.806 136.091,107.308C135.774,114.245 133.628,122.868 129.236,129.73C124.509,137.117 117.28,142.497 107.168,142.353C97.007,142.209 90.053,136.388 85.721,128.643C81.725,121.498 80.051,112.698 80.057,105.927C80.057,105.569 80.062,105.215 80.073,104.867ZM88.928,99.914C88.686,100.898 88.058,103.666 88.057,105.934C88.052,111.536 89.397,118.826 92.703,124.738C95.675,130.052 100.31,134.255 107.281,134.354C114.3,134.454 119.217,130.545 122.498,125.418C126.114,119.768 127.838,112.655 128.1,106.942C128.204,104.656 128.078,102.607 127.701,101.008C127.576,100.476 127.272,99.775 127.163,99.531C125.804,98.852 123.026,98.602 119.618,98.368C110.026,97.711 96.025,98.429 88.928,99.914Z"></path></g></g><g id="sunglasses" transform="matrix(1,0,0,1,0,-11.8538)"><g transform="matrix(1,0,0,1,0,11.8538)"><path d="M163,106.643C163,106.643 160.37,104.992 159,104.279C157.63,103.566 155.08,102.342 154.083,101.873C153.086,101.405 151.621,100.731 150.98,100.42C150.582,95.759 150.939,91.495 151.026,89.59C153.662,88.731 157.585,88.296 160.982,88.454C162.824,88.539 164.525,88.62 165.47,89.249C165.558,89.753 166.06,92.435 165.863,94.449C165.438,98.792 165.181,101.261 163,106.643ZM88.928,90.06C96.025,88.575 110.026,87.857 119.618,88.514C123.026,88.748 125.804,88.998 127.163,89.677C127.272,89.921 127.576,90.623 127.701,91.155C128.078,92.753 128.204,94.802 128.1,97.088C127.838,102.801 126.114,109.914 122.498,115.564C119.217,120.691 114.3,124.6 107.281,124.5C100.31,124.402 95.675,120.198 92.703,114.884C89.397,108.972 88.052,101.682 88.057,96.08C88.058,93.812 88.686,91.044 88.928,90.06Z" style="fill:var(--accessoryColor);"></path></g><g transform="matrix(1,0,0,1,0,2)"><path d="M80.073,104.867C68.736,106.29 63.898,106.952 55.411,108.556C53.336,108.948 52.02,110.67 51.618,112.462C51.385,113.506 51.434,114.612 52.022,115.453C52.702,116.426 54.031,116.839 55.907,116.795C58.114,116.743 59.948,118.492 60,120.699C60.052,122.906 58.303,124.74 56.096,124.792C50.78,124.918 47.394,122.795 45.465,120.037C43.62,117.398 43.078,113.989 43.812,110.714C44.861,106.028 48.5,101.72 53.926,100.695C62.912,98.997 69.158,98.166 80.588,96.74C80.905,96.701 81.217,96.7 81.522,96.733C81.706,96.28 81.902,95.874 82.109,95.519C82.352,95.101 82.612,94.731 82.882,94.408L83.969,93.364L84.927,92.772L86.067,92.359C93.3,90.602 109.339,89.645 120.166,90.387C125.51,90.753 129.706,91.691 131.573,92.837C132.413,93.353 133.217,94.128 133.896,95.186C137.677,93.484 141.22,93.677 144.093,94.91C144.124,94.856 144.155,94.804 144.186,94.753L145.333,93.389L146.556,92.604C150.493,90.816 158.259,89.784 163.915,90.541C166.964,90.95 169.455,91.94 170.936,93.231C172.505,94.6 173.784,97.598 173.911,101.655C174.125,108.478 171.665,118.828 167.637,124.649C166.381,126.464 163.887,126.918 162.071,125.662C160.256,124.405 159.802,121.912 161.059,120.096C163.796,116.141 165.514,109.515 165.863,104.303C165.998,102.284 165.558,99.607 165.47,99.103C164.525,98.474 162.824,98.393 160.982,98.308C157.585,98.15 153.662,98.585 151.026,99.444C150.939,101.349 150.708,107.508 151.106,112.169C151.294,114.368 149.661,116.307 147.461,116.495C145.262,116.683 143.323,115.05 143.135,112.85C142.856,109.592 142.674,106.386 142.669,103.621C141.608,102.083 139.113,101.35 136.475,102.839C136.333,102.919 136.188,102.99 136.04,103.051C136.139,104.378 136.16,105.806 136.091,107.308C135.774,114.245 133.628,122.868 129.236,129.73C124.509,137.117 117.28,142.497 107.168,142.353C97.007,142.209 90.053,136.388 85.721,128.643C81.725,121.498 80.051,112.698 80.057,105.927C80.057,105.569 80.062,105.215 80.073,104.867ZM88.928,99.914C88.686,100.898 88.058,103.666 88.057,105.934C88.052,111.536 89.397,118.826 92.703,124.738C95.675,130.052 100.31,134.255 107.281,134.354C114.3,134.454 119.217,130.545 122.498,125.418C126.114,119.768 127.838,112.655 128.1,106.942C128.204,104.656 128.078,102.607 127.701,101.008C127.576,100.476 127.272,99.775 127.163,99.531C125.804,98.852 123.026,98.602 119.618,98.368C110.026,97.711 96.025,98.429 88.928,99.914Z"></path></g></g><g id="skateboard"><path d="M333.599,438.386C340.357,438.027 347.056,437.575 353.688,437C386.907,434.122 403.861,469.551 366.545,475.326C329.229,481.1 160.211,479.365 125.963,475.326C91.716,471.287 79.971,462.323 80,446.831C80.028,431.901 118.967,433.51 137.048,436.64C138.35,440.458 139.304,443.501 139.898,445.253C140.689,447.585 141.823,453.709 162.024,454.765C162.179,454.773 165.339,455.074 169.977,454.516C170.961,458.591 174.142,465.788 185.267,467.931C189.736,468.791 208.991,470.158 221.343,467.78C227.411,466.611 229.819,464.925 229.982,464.811C234.534,461.627 235.864,455.687 236.352,452.937C237.057,448.954 237.178,444.585 236.91,440.089C238.341,440.081 239.751,440.074 241.139,440.065C242.261,443.61 243.095,445.94 245.433,447.628C248.425,449.787 255.029,450.48 261.09,450.077C261.353,450.06 263.99,449.885 264.369,449.763C264.37,449.763 264.388,449.746 264.417,449.718C266.135,454.648 268.07,462.176 277.99,465.519C285.877,468.176 306.76,469.105 318.592,466.801C329.539,464.669 333.532,459.251 333.711,445.192C333.741,442.827 333.698,440.558 333.599,438.386ZM324.127,454.461C325.052,452.243 325.758,447.909 325.348,438.779C325.349,438.779 325.349,438.779 325.35,438.779C325.76,447.913 325.053,452.245 324.127,454.461ZM227.199,455.285C228.585,451.963 228.94,446.584 228.711,440.119C228.712,440.119 228.713,440.119 228.713,440.119C228.942,446.585 228.586,451.964 227.199,455.285ZM156.342,446.583C156.561,446.594 156.78,446.605 156.997,446.617C159.331,446.965 162.174,447.14 165.564,447.284C166.33,447.359 167.024,447.431 167.632,447.494C166.426,447.401 165.322,447.315 164.645,447.292C161.503,447.184 158.716,446.932 156.342,446.583ZM168.844,447.586C168.833,447.528 168.823,447.469 168.813,447.411C168.814,447.411 168.815,447.411 168.816,447.411C168.826,447.47 168.837,447.528 168.847,447.586C168.846,447.586 168.845,447.586 168.844,447.586ZM346.294,482.73C346.54,487.846 342.587,492.2 337.47,492.446C332.354,492.692 328.001,488.739 327.754,483.622L346.294,482.73ZM161.342,483.161C161.153,488.497 156.668,492.676 151.331,492.487C145.995,492.298 141.816,487.812 142.005,482.476L161.342,483.161Z" style="fill:var(--accessoryColor);"></path><path d="M324.861,432.129C334.396,431.727 343.82,431.163 353.113,430.358C367.332,429.126 378.982,433.998 386.081,440.802C391.511,446.007 394.367,452.406 394.374,458.505C394.384,468.314 387.22,478.872 367.564,481.914C363.886,482.483 358.938,482.98 352.97,483.41C352.855,491.762 346.247,498.698 337.791,499.105C329.313,499.513 322.054,493.21 321.167,484.875C320.261,484.902 319.347,484.927 318.425,484.952C314.351,491.545 303.509,491.68 299.507,485.354C257.003,486.037 205.141,485.544 167.945,484.34C167.151,492.897 159.792,499.457 151.095,499.149C142.281,498.837 135.336,491.584 135.332,482.834C132.171,482.618 129.409,482.391 127.103,482.156C121.524,487.984 109.919,486.229 106.968,478.824C81.656,472.774 73.305,461.653 73.333,446.818C73.347,439.509 78.41,433.892 87.448,430.912C101.773,426.188 127.541,427.957 140.284,430.458C141.114,430.621 142.043,430.776 143.064,430.922C143.331,431.599 143.595,432.251 143.856,432.879C144.519,434.792 145.081,436.478 145.56,437.934C142.977,437.657 140.766,437.347 139,437C121.957,433.655 80.029,431.339 80,446.831C79.971,462.323 91.716,471.287 125.963,475.326C160.211,479.365 329.229,481.1 366.545,475.326C403.861,469.551 386.907,434.122 353.688,437C344.366,437.808 334.912,438.375 325.348,438.779C325.325,438.278 325.299,437.762 325.27,437.231C325.172,435.47 325.036,433.786 324.861,432.129ZM250.448,439.996C250.299,439.997 250.149,439.999 250,440C243.53,440.055 236.305,440.101 228.711,440.119C228.636,438.005 228.499,435.774 228.315,433.461C235.384,433.44 242.14,433.397 248.267,433.347C249.302,436.397 249.684,438.241 250.448,439.996ZM161.342,483.161L142.005,482.476C141.816,487.812 145.995,492.298 151.331,492.487C156.668,492.676 161.153,488.497 161.342,483.161ZM346.294,482.73L327.754,483.622C328.001,488.739 332.354,492.692 337.47,492.446C342.587,492.2 346.54,487.846 346.294,482.73Z"></path></g><g transform="matrix(0.0846311,0.0113293,-0.0113293,0.0846311,249.677,247.909)"><g id="ferris"><g><g transform="matrix(1,0,0,1,566.335,287.622)"><path d="M-925.386,-35.728C-933.631,-29.57 -937.667,-24.432 -937.667,-24.432C-946.101,-16.873 -907.636,50.253 -878.046,93.9C-839.722,142.088 -828.515,183.554 -830.574,186.008C-832.012,186.892 -845.364,172.9 -864.771,150.343C-911.172,105.135 -999,19.59 -1016.02,-1.66C-1034.87,-26.54 -1022.12,-36.751 -1022.12,-36.751L-934.713,-129.29C-934.779,-130.042 -934.845,-130.794 -934.158,-131.612L-965.318,-175.88C-967.97,-180.196 -968.496,-186.214 -966.7,-191.676C-964.838,-196.387 -960.654,-200.543 -954.637,-201.069L-903.129,-210.124C-901.202,-214.082 -899.274,-218.041 -896.594,-222.065L-918.37,-271.701C-921.087,-276.769 -920.109,-282.919 -917.495,-287.695C-914.881,-292.472 -909.813,-295.189 -904.482,-294.897L-851.235,-292.734C-848.556,-296.758 -845.81,-300.03 -843.064,-303.302L-855.325,-356.803C-856.538,-362.003 -854.807,-368.218 -851.31,-371.556C-847.125,-375.712 -841.992,-377.677 -836.529,-375.881L-785.435,-363.676C-781.872,-366.261 -778.374,-369.599 -775.563,-372.119L-777.358,-427.294C-777.066,-432.625 -774.518,-438.153 -770.202,-440.805C-765.952,-444.209 -759.935,-444.735 -755.158,-442.121L-707.722,-419.743C-703.341,-421.642 -699.777,-424.227 -696.148,-426.061L-687.28,-480.652C-686.237,-486.049 -682.805,-490.139 -677.737,-492.857C-673.355,-494.756 -667.206,-493.778 -663.182,-491.098L-620.156,-458.48C-616.526,-460.314 -612.079,-461.461 -607.631,-462.608L-589.409,-514.228C-587.547,-518.938 -583.363,-523.094 -578.163,-524.307C-572.963,-525.52 -567.501,-523.724 -564.097,-519.474L-528.001,-479.428L-514.461,-480.613L-486.685,-527.005C-484.071,-531.781 -479.069,-535.251 -473.738,-534.959C-468.407,-534.668 -463.63,-532.054 -460.913,-526.986L-433.383,-480.884C-428.804,-480.527 -424.159,-479.418 -420.332,-478.994L-384.442,-519.275C-380.258,-523.431 -375.124,-525.396 -369.727,-524.352C-364.33,-523.308 -360.174,-519.124 -358.209,-513.99L-340.062,-462.52C-335.417,-461.411 -331.525,-460.235 -327.632,-459.06L-284.935,-490.84C-280.685,-494.244 -274.667,-494.77 -269.891,-492.156C-265.18,-490.295 -261.024,-486.11 -260.497,-480.093L-251.998,-426.263C-248.04,-424.335 -244.015,-421.655 -240.057,-419.728L-192.743,-442.059C-187.675,-444.776 -182.344,-444.484 -177.501,-441.118C-173.411,-437.686 -170.694,-432.618 -170.986,-427.287L-172.265,-372.601C-168.927,-369.104 -165.655,-366.358 -162.383,-363.612L-111.204,-376.428C-106.005,-377.64 -100.542,-375.845 -96.386,-371.66C-93.048,-368.163 -91.77,-362.211 -92.813,-356.814L-104.821,-303.464C-102.235,-299.9 -98.897,-296.402 -96.312,-292.839L-43.394,-294.436C-38.129,-294.897 -33.352,-292.283 -30.701,-287.967C-27.231,-282.965 -26.705,-276.947 -29.319,-272.171L-50.682,-221.792C-48.848,-218.163 -46.949,-213.781 -45.116,-210.152L7.219,-201.087C12.616,-200.043 16.706,-196.611 18.671,-191.477C20.636,-186.344 20.411,-180.26 16.979,-176.17L-13.251,-131.837C-12.922,-128.076 -11.907,-125.133 -10.891,-122.19L82.259,-53.785C82.259,-53.785 96.589,-45.943 82.212,-19.673C69.829,3.392 3.06,97.915 -32.793,147.287C-47.301,172.054 -57.334,187.333 -58.904,186.712C-61.292,185.405 -57.258,144.88 -29.191,93.157C-8.937,47.423 16.112,-21.469 6.493,-27.45C6.493,-27.45 3.879,-29.773 -1.072,-32.753C-1.958,-30.465 -3.106,-27.977 -4.575,-25.287C-13.82,-8.373 -60.074,58.028 -84.484,92.809C-94.973,110.59 -102.086,121.563 -102.703,120.53C-103.671,118.889 -96.121,85.752 -75.271,47.686C-62.585,21.071 -46.673,-16.775 -42.021,-35.482C-53.866,-25.136 -69.245,-15.342 -87.673,-6.246C-133.256,67.227 -223.212,102.012 -223.212,102.012C-363.764,262.071 -455.952,151.178 -455.952,151.178C-359.756,153.583 -311.926,80.368 -311.926,80.368C-415.871,52.845 -454.616,75.291 -454.616,75.291C-446.083,62.913 -437.723,52.136 -429.55,42.798C-457.176,43.628 -484.223,43.31 -510.512,42.074C-501.35,51.106 -492.015,61.765 -482.543,74.26C-482.543,74.26 -535.605,75.216 -627.39,86.928C-627.39,86.928 -573.132,137.84 -496.645,146.444C-496.645,146.444 -561.181,286.75 -697.423,112.025C-697.423,112.025 -748.624,110.344 -821.121,6.853C-840.027,-0.811 -856.597,-9.099 -870.497,-17.896C-862.509,1.573 -849.199,27.93 -838.055,47.825C-814.172,84.866 -805.572,117.333 -806.696,118.966C-807.41,119.995 -815.563,109.343 -827.589,92.05C-855.586,58.319 -908.631,-6.093 -919.221,-22.548C-922.52,-27.676 -924.398,-32.063 -925.386,-35.728ZM-670.014,23.253C-703.723,16.938 -734.76,9.66 -762.49,2.235C-745.444,27.898 -725.027,51.671 -705.071,58.963C-705.071,58.963 -692.203,40.015 -670.014,23.253ZM-145.531,-10.471C-185.78,4.308 -226.049,15.543 -265.879,23.82C-250.587,39.656 -242.184,54.982 -242.184,54.982L-215.195,48.569C-184.517,27.949 -161.992,7.648 -145.531,-10.471Z" style="fill:var(--accessoryColor);"></path></g><g transform="matrix(1,0,0,1,566.335,287.622)"><path d="M-1071.24,-87.084L-1023.95,-137.149C-1024.37,-137.791 -1024.79,-138.441 -1025.19,-139.097L-1033.95,-158.367L-1037.68,-177.224L-1037.42,-195.578L-1033.45,-213.622C-1033.03,-214.93 -1032.56,-216.224 -1032.05,-217.504L-1022.29,-235.569L-1007.23,-251.909L-988.497,-263.35L-990.249,-276.996L-987.208,-301.345L-979.138,-321.429L-964.685,-340.675L-945.806,-354.804L-925.849,-362.381L-925.93,-363.213L-922.855,-383.447L-914.882,-402.927L-900.268,-421.815L-877.678,-438.068L-855.906,-445.384L-844.845,-446.047L-843.625,-452.843L-833.878,-474.017L-822.876,-487.961L-810.999,-497.466L-792.489,-508.192L-769.002,-513.721L-750.258,-512.658L-749.846,-513.939L-738.987,-531.533L-725.41,-545.197L-710.941,-554.786C-709.224,-555.706 -707.47,-556.555 -705.683,-557.329L-686.113,-563.033L-661.118,-563.358L-643.985,-559.174L-632.686,-572.226L-615.711,-584.457L-594.126,-592.739L-570.774,-594.844L-547.87,-590.479L-531.12,-582.015L-518.96,-592.164L-496.899,-602.09L-469.901,-605.123L-450.012,-601.709L-430.125,-592.979L-416.721,-582.215L-401.035,-589.988L-379.208,-594.637L-356.385,-593.343L-333.257,-585.228L-314.881,-572.211L-303.711,-559.053L-283.734,-563.757L-259.644,-562.389L-239.383,-554.979L-225.998,-547.748L-209.658,-532.686L-197.387,-512.593L-180.837,-514.013L-157.195,-509.104L-137.392,-498.816C-135.648,-497.603 -133.96,-496.313 -132.333,-494.947L-119.653,-481.914L-109.463,-465.76L-102.865,-446.783L-81.769,-442.923L-62.42,-433.891L-46.53,-421.179C-46.2,-420.847 -45.873,-420.511 -45.55,-420.172L-33.699,-404.289L-26.677,-388.56L-22.35,-365.929L-22.606,-362.026L-3.652,-355.339L14.946,-342.176L27.982,-326.209L37.253,-308.435L42.273,-286.109L41.018,-263.367L59.4,-251.645L74.325,-235.372L84.297,-216.597L89.722,-193.867L88.561,-168.235L82.52,-149.518L78.744,-143.548L123.851,-110.423L123.724,-109.925L132.86,-102.924L144.056,-89.57L152.974,-72.461L158.133,-52.003L156.084,-16.982C156.084,-16.982 144.253,13.053 144.12,13.567C131.379,37.298 63.964,133.516 26.064,185.811C6.332,218.945 -10.749,238.571 -15.165,241.99L-32.147,251.785L-47.778,256.134L-68.268,256.362L-84.732,252.063C-87.442,250.992 -90.082,249.753 -92.638,248.354L-115.482,228.444L-124.86,211.293L-129.298,192.48C-129.477,190.772 -129.551,188.084 -129.426,184.525L-147.578,174.616L-163.03,156.563C-163.096,156.453 -163.162,156.342 -163.227,156.232L-164.97,151.774C-170.889,154.949 -176.221,157.638 -180.782,159.846C-251.305,235.517 -314.546,256.432 -362.604,258.658C-410.255,260.865 -447.631,244.555 -472.822,228.039C-494.482,248.478 -524.9,267.611 -563.995,269.783C-606.05,272.119 -666.656,256.413 -736.842,174.779C-742.634,172.585 -749.015,169.761 -755.921,166.133L-761.386,171.715C-760.76,174.839 -760.413,177.285 -760.289,178.965L-762.457,203.52L-776.745,231.176C-781.599,236.962 -787.355,241.927 -793.79,245.88L-810.059,253.224L-830.833,256.316L-846.887,254.451L-864.698,247.689C-869.716,244.984 -890.354,227.976 -915.928,198.607C-964.698,151.076 -1053.42,64.052 -1070.87,42.265C-1071.26,41.775 -1071.65,41.279 -1072.03,40.778L-1088.77,12.132L-1096.5,-21.383L-1095.11,-42.093L-1089.5,-60.484L-1083.23,-71.6C-1082.65,-72.673 -1082.05,-73.745 -1081.42,-74.817L-1080.84,-75.844L-1080.59,-76.122C-1078.16,-79.799 -1075.08,-83.46 -1071.24,-87.084L-1073.2,-85.002C-1075.51,-82.566 -1077.61,-79.996 -1079.5,-77.317L-1068.02,-89.963C-1069.15,-89.006 -1070.22,-88.046 -1071.24,-87.084ZM-996.425,29.168C-996.49,29.021 -996.555,28.874 -996.619,28.728C-1001.79,30.743 -1007.22,32.151 -1012.8,32.897C-1012.8,32.897 -1005.68,32.531 -996.425,29.168ZM64.866,-66.563C62.799,-69.65 60.484,-72.585 57.929,-75.33L64.866,-66.563ZM64.866,-66.563L-10.891,-122.19C-11.907,-125.133 -12.922,-128.076 -13.251,-131.837L16.979,-176.17C20.411,-180.26 20.636,-186.344 18.671,-191.477C16.706,-196.611 12.616,-200.043 7.219,-201.087L-45.116,-210.152C-46.949,-213.781 -48.848,-218.163 -50.682,-221.792L-29.319,-272.171C-26.705,-276.947 -27.231,-282.965 -30.701,-287.967C-33.352,-292.283 -38.129,-294.897 -43.394,-294.436L-96.312,-292.839C-98.897,-296.402 -102.235,-299.9 -104.821,-303.464L-92.813,-356.814C-91.77,-362.211 -93.048,-368.163 -96.386,-371.66C-100.542,-375.845 -106.005,-377.64 -111.204,-376.428L-162.383,-363.612C-165.655,-366.358 -168.927,-369.104 -172.265,-372.601L-170.986,-427.287C-170.694,-432.618 -173.411,-437.686 -177.501,-441.118C-182.344,-444.484 -187.675,-444.776 -192.743,-442.059L-240.057,-419.728C-244.015,-421.655 -248.04,-424.335 -251.998,-426.263L-260.497,-480.093C-261.024,-486.11 -265.18,-490.295 -269.891,-492.156C-274.667,-494.77 -280.685,-494.244 -284.935,-490.84L-327.632,-459.06C-331.525,-460.235 -335.417,-461.411 -340.062,-462.52L-358.209,-513.99C-360.174,-519.124 -364.33,-523.308 -369.727,-524.352C-375.124,-525.396 -380.258,-523.431 -384.442,-519.275L-420.332,-478.994C-424.159,-479.418 -428.804,-480.527 -433.383,-480.884L-460.913,-526.986C-463.63,-532.054 -468.407,-534.668 -473.738,-534.959C-479.069,-535.251 -484.071,-531.781 -486.685,-527.005L-514.461,-480.613L-528.001,-479.428L-564.097,-519.474C-567.501,-523.724 -572.963,-525.52 -578.163,-524.307C-583.363,-523.094 -587.547,-518.938 -589.409,-514.228L-607.631,-462.608C-612.079,-461.461 -616.526,-460.314 -620.156,-458.48L-663.182,-491.098C-667.206,-493.778 -673.355,-494.756 -677.737,-492.857C-682.805,-490.139 -686.237,-486.049 -687.28,-480.652L-696.148,-426.061C-699.777,-424.227 -703.341,-421.642 -707.722,-419.743L-755.158,-442.121C-759.935,-444.735 -765.952,-444.209 -770.202,-440.805C-774.518,-438.153 -777.066,-432.625 -777.358,-427.294L-775.563,-372.119C-778.374,-369.599 -781.872,-366.261 -785.435,-363.676L-836.529,-375.881C-841.992,-377.677 -847.125,-375.712 -851.31,-371.556C-854.807,-368.218 -856.538,-362.003 -855.325,-356.803L-843.064,-303.302C-845.81,-300.03 -848.556,-296.758 -851.235,-292.734L-904.482,-294.897C-909.813,-295.189 -914.881,-292.472 -917.495,-287.695C-920.109,-282.919 -921.087,-276.769 -918.37,-271.701L-896.594,-222.065C-899.274,-218.041 -901.202,-214.082 -903.129,-210.124L-954.637,-201.069C-960.654,-200.543 -964.838,-196.387 -966.7,-191.676C-968.496,-186.214 -967.97,-180.196 -965.318,-175.88L-934.158,-131.612C-934.845,-130.794 -934.779,-130.042 -934.713,-129.29L-1022.12,-36.751C-1022.12,-36.751 -1034.87,-26.54 -1016.02,-1.66C-999,19.59 -911.172,105.135 -864.771,150.343C-845.364,172.9 -832.012,186.892 -830.574,186.008C-828.515,183.554 -839.722,142.088 -878.046,93.9C-907.636,50.253 -946.101,-16.873 -937.667,-24.432C-937.667,-24.432 -933.631,-29.57 -925.386,-35.728C-924.398,-32.063 -922.52,-27.676 -919.221,-22.548C-908.631,-6.093 -855.586,58.319 -827.589,92.05C-815.563,109.343 -807.41,119.995 -806.696,118.966C-805.572,117.333 -814.172,84.866 -838.055,47.825C-849.199,27.93 -862.509,1.573 -870.497,-17.896C-856.597,-9.099 -840.027,-0.811 -821.121,6.853C-748.624,110.344 -697.423,112.025 -697.423,112.025C-693.453,117.116 -689.544,121.94 -685.696,126.508C-687.215,126.944 -671.921,142.059 -671.921,142.059C-553.114,269.212 -496.645,146.444 -496.645,146.444C-573.132,137.84 -627.39,86.928 -627.39,86.928C-535.605,75.216 -482.543,74.26 -482.543,74.26C-492.015,61.765 -501.35,51.106 -510.512,42.074C-510.174,42.09 -509.836,42.106 -509.498,42.121C-537.472,17.118 -576.99,5.372 -613.5,7.142C-635.629,8.214 -656.77,14.251 -673.335,25.832C-693.482,41.898 -705.071,58.963 -705.071,58.963C-725.027,51.671 -745.444,27.898 -762.49,2.235C-745.731,6.723 -727.764,11.156 -708.73,15.356C-685.901,-9 -651.709,-22.274 -615.012,-24.052C-561.043,-26.668 -502.082,-4.338 -468.691,40.696C-468.461,41.005 -468.245,41.321 -468.041,41.641C-467.873,41.314 -467.693,40.989 -467.5,40.669C-448.961,9.969 -403.869,-18.348 -355.189,-26.103C-310.163,-33.275 -262.682,-23.288 -230.489,15.698C-202.267,8.598 -173.894,-0.056 -145.531,-10.471C-161.992,7.648 -184.517,27.949 -215.195,48.569L-230.22,52.14C-230.485,52.206 -230.751,52.27 -231.017,52.329L-242.184,54.982C-242.184,54.982 -249.734,41.212 -263.544,26.29C-287.641,4.611 -319.833,-0.11 -350.276,4.739C-381.524,9.717 -411.404,24.472 -429.628,42.801C-429.602,42.8 -429.576,42.799 -429.55,42.798C-432.792,46.502 -436.064,50.433 -439.364,54.601C-439.851,55.335 -440.318,56.073 -440.765,56.813C-441.677,58.323 -442.805,59.624 -444.085,60.699C-447.565,65.295 -451.076,70.155 -454.616,75.291C-454.616,75.291 -415.871,52.845 -311.926,80.368C-311.926,80.368 -359.756,153.583 -455.952,151.178C-455.952,151.178 -363.764,262.071 -223.212,102.012C-223.212,102.012 -133.256,67.227 -87.673,-6.246C-69.245,-15.342 -53.866,-25.136 -42.021,-35.482C-46.673,-16.775 -62.585,21.071 -75.271,47.686C-96.121,85.752 -103.671,118.889 -102.703,120.53C-102.086,121.563 -94.973,110.59 -84.484,92.809C-60.074,58.028 -13.82,-8.373 -4.575,-25.287C-3.106,-27.977 -1.958,-30.465 -1.072,-32.753C3.879,-29.773 6.493,-27.45 6.493,-27.45C16.112,-21.469 -8.937,47.423 -29.191,93.157C-57.258,144.88 -61.292,185.405 -58.904,186.712C-57.334,187.333 -47.301,172.054 -32.793,147.287C3.06,97.915 69.829,3.392 82.212,-19.673C96.589,-45.943 82.259,-53.785 82.259,-53.785L64.884,-66.545C64.879,-66.552 64.871,-66.556 64.866,-66.563ZM-675.681,137.974C-678.878,134.95 -681.747,131.67 -684.274,128.187C-681.375,131.594 -678.51,134.854 -675.681,137.974ZM52.284,-80.752C49.584,-83.071 46.684,-85.205 43.595,-87.126L45.542,-85.559L52.284,-80.752ZM52.284,-80.752L52.137,-80.255L56.846,-76.468C55.397,-77.956 53.875,-79.386 52.284,-80.752Z"></path></g><g><g transform="matrix(1,0,0,1,174.977,221.59)"><path d="M0,-92.063C0,-92.063 43.486,-139.678 86.974,-92.063C86.974,-92.063 121.144,-28.571 86.974,3.171C86.974,3.171 31.062,47.615 0,3.171C0,3.171 -37.275,-31.75 0,-92.063" style="fill-rule:nonzero;"></path></g><g transform="matrix(1,0,0,1,225.323,147.189)"><path d="M0,0.002C0,18.543 -10.93,33.574 -24.408,33.574C-37.885,33.574 -48.814,18.543 -48.814,0.002C-48.814,-18.539 -37.885,-33.572 -24.408,-33.572C-10.93,-33.572 0,-18.539 0,0.002" style="fill:white;fill-rule:nonzero;"></path></g><g transform="matrix(1,0,0,1,-19.1147,214.964)"><path d="M0,-98.439C0,-98.439 74.596,-131.467 94.956,-57.748C94.956,-57.748 116.283,28.178 33.697,33.028C33.697,33.028 -71.613,12.745 0,-98.439" style="fill-rule:nonzero;"></path></g><g transform="matrix(1,0,0,1,18.3513,148.408)"><path d="M0,0C0,19.119 -11.27,34.627 -25.173,34.627C-39.071,34.627 -50.344,19.119 -50.344,0C-50.344,-19.124 -39.071,-34.627 -25.173,-34.627C-11.27,-34.627 0,-19.124 0,0" style="fill:white;fill-rule:nonzero;"></path></g></g></g></g></g></g></svg><div class="absolute -bottom-2 left-4 sm:left-[calc(75%-8rem)] xl:left-[calc(50vw+292px-8rem)] z-10 motion-reduce:!animate-none w-full sm:w-auto" style="animation: button_bounce 4s ease-in-out infinite;"><button class=" leading-tight w-[calc(100%-2rem)] sm:w-full md:w-64 border border-offblack border-b-0 p-6 pb-8 bg-runtime rounded-3xl rounded-b-none shadow-xl font-semibold text-lg transition-transform duration-200 ease-[cubic-bezier(0.77,0,0.175,1)] motion-reduce:!animate-none " tabindex="0">Make your own dino!</button></div></div></div></div></div><div class="pt-16 pb-8 text-center flex flex-col justify-center gap-8 border-y border-black relative overflow-clip"><div class="text-center mx-auto w-max max-w-full pb-20 md:pb-0"><style>@keyframes dino-peek {from{transform:translateY(8rem)}to{transform:translateY(0)}}}</style><h2 as="h2" class="text-balance text-heading-lg text-center mb-8" data-component="heading" visualsize="lg">Install Deno <span class="text-[75%] font-normal text-gray-3">v2.0.0</span></h2><div class="grid grid-cols-2 text-sm p-1 border rounded-full max-w-max mx-auto shadow-lg"><div class="relative"><div class="w-full absolute -z-10 rounded-full bg-black h-full row-start-1 transition-transform ease-[cubic-bezier(0,0.75,0.25,1)]" style="transform: translateX(100%);"></div><button class="row-start-1 px-2 xs:px-4 py-3 w-auto rounded-full transition-colors hover:text-gray-3 focus:text-gray-3 text-gray-4" aria-pressed="false">MacOS/Linux</button></div><div class="relative"><button class="row-start-1 px-2 xs:px-4 py-3 w-auto rounded-full transition-colors hover:text-gray-3 focus:text-gray-3 text-runtime" aria-pressed="true">Windows<span class="sr-only">(Currently selected)</span></button></div></div><pre class="relative w-full text-center leading-loose py-8 px-4 overflow-x-auto whitespace-pre-wrap text-balance">irm https://deno.land/install.ps1 | iex<style>@keyframes copy{from{background:var(--runtime)}</style><button class="transition-colors text-xl p-2 ml-4 border border-gray-3 rounded hover:bg-runtime "><div class="copy-btn-icon w-4 h-4 overflow-hidden" aria-hidden="true"><div class="flex flex-col h-8 transition-transform items-center justify-center duration-100 ease-in-out" style="transform: translateY(0rem);"><svg class="w-4 h-4" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_1855_77)"><path d="M0.5 1.8C0.5 1.08203 1.08203 0.5 1.8 0.5H8.3C9.01797 0.5 9.6 1.08203 9.6 1.8V4.4H12.2C12.918 4.4 13.5 4.98203 13.5 5.7V12.2C13.5 12.918 12.918 13.5 12.2 13.5H5.7C4.98203 13.5 4.4 12.918 4.4 12.2V9.6H1.8C1.08203 9.6 0.5 9.01797 0.5 8.3V1.8ZM5.7 9.6V12.2H12.2V5.7H9.6V8.3C9.6 9.01797 9.01797 9.6 8.3 9.6H5.7ZM8.3 8.3V1.8L1.8 1.8V8.3H8.3Z" fill="currentColor"></path></g><defs><clipPath id="clip0_1855_77"><rect width="14" height="14" fill="white"></rect></clipPath></defs></svg><svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-5 w-3 h-3"><path d="M11.8057 0.543502C11.5038 0.553812 11.2178 0.684424 11.0085 0.907558C8.76257 3.21505 6.71396 5.48484 4.54433 7.75003L1.88474 5.57322C1.76578 5.47565 1.62925 5.40307 1.48292 5.35961C1.3366 5.31614 1.18336 5.30264 1.03195 5.31989C0.880543 5.33714 0.73393 5.38478 0.600484 5.46012C0.467038 5.53546 0.349372 5.637 0.254205 5.75895C0.159038 5.88091 0.0882343 6.02088 0.0458351 6.17089C0.00343592 6.3209 -0.009728 6.478 0.00709526 6.63323C0.0410714 6.94672 0.195128 7.23353 0.435376 7.43057L3.91385 10.2835C4.13681 10.4658 4.41749 10.5575 4.70225 10.5411C4.98701 10.5246 5.25586 10.4012 5.45743 10.1943C7.95486 7.62847 10.1965 5.10349 12.6463 2.58661C12.8145 2.41989 12.9297 2.2049 12.9765 1.96988C13.0234 1.73485 12.9998 1.49078 12.9088 1.26976C12.8179 1.04873 12.6639 0.861076 12.467 0.731458C12.2701 0.60184 12.0395 0.536317 11.8057 0.543502Z" fill="currentColor"></path></svg></div></div><div class="sr-only">Copy command</div></button></pre><img src="/images/homepage/peeking.svg?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1" alt="" class="absolute -bottom-1 right-12 w-20 h-auto pointer-events-none motion-reduce:!animate-none" style="animation: dino-peek 1ms ease-out both; animation-timeline: view(); animation-range: 0% 40%;"></div></div><div class="bg-gray-0"><div id="homepage-social-section" class="flex flex-col items-center justify-center py-24 md:py-32 lg:py-36
        relative"><div class="w-full flex flex-col items-center gap-24 md:gap-32 section-x-inset-xl"><div class="flex flex-col w-full gap-16"><div class="grid grid-cols-1 items-center gap-8 md:gap-16 xl:gap-32  md:grid-cols-3/2 lg:grid-cols-3/2 "><div><div class="space-y-8"><div text="What is Deno?" color="runtime" class="text-sm bg-runtime dark:bg-runtime-dark dark:text-runtime py-1 px-2 rounded-sm max-w-max font-normal ml-0">What is Deno?</div><h2 as="h2" visualsize="xl" class="text-balance text-heading-xl" data-component="heading">Deno is the open-source JavaScript runtime for the modern web.</h2><div data-component="subhead" class="text-lg text-gray-4 dark:text-gray-3 max-w-prose text-balance ">Built on web standards with zero-config TypeScript, unmatched security, and a complete built-in toolchain.</div><div class="flex items-center"><a href="/" class="group inline-block w-full max-w-max rounded-full overflow-hidden bg-runtime hover:bg-transparent hover:animate-half-border-spin undefined" style="--outer-radius:9999px;--border-size:2px;--inner-radius:calc(var(--outer-radius) - var(--border-size));background-image:conic-gradient(from var(--border-gradient-angle) at 0.5rem 150%, transparent, transparent 25%, black 25%, black 75%, transparent 75%, transparent);border-radius:var(--outer-radius);padding:var(--border-size);" data-current="true" aria-current="page"><div class="flex text-left items-center text-balance transition-color duration-200 bg-runtime py-4 px-6 gap-4 text-black" style="border-radius:var(--inner-radius);">Get started<svg class="flex-none" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.96967 12.5303C3.67678 12.2374 3.67678 11.7626 3.96967 11.4697L8.43934 7L3.96967 2.53033C3.67678 2.23744 3.67678 1.76256 3.96967 1.46967C4.26256 1.17678 4.73744 1.17678 5.03033 1.46967L10.0303 6.46967C10.3232 6.76256 10.3232 7.23744 10.0303 7.53033L5.03033 12.5303C4.73744 12.8232 4.26256 12.8232 3.96967 12.5303Z" fill="currentColor"></path></svg></div></a></div></div></div><div class="w-full grid grid-cols-1 gap-4 items-start auto-rows-max bg-white dark:bg-offblack border border-gray-1 dark:border dark:border-gray-6 shadow-lg dark:shadow-none rounded-md p-6 sm:p-8"><ul class="w-full flex flex-col gap-16 p-4"><li><div text="Rating" class="text-sm bg-gray-1  py-1 px-2 rounded-sm max-w-max font-normal">Rating</div><div class="text-heading-2xl md:text-heading-lg mt-4">90k+</div><div class="text-gray-3">Stars on GitHub</div></li><li><div text="Community" class="text-sm bg-gray-1  py-1 px-2 rounded-sm max-w-max font-normal">Community</div><div class="text-heading-2xl md:text-heading-lg mt-4">200k+</div><div class="text-gray-3">Active Deno users</div></li><li><div text="Ecosystem" class="text-sm bg-gray-1  py-1 px-2 rounded-sm max-w-max font-normal">Ecosystem</div><div class="text-heading-2xl md:text-heading-lg mt-4">2M+</div><div class="text-gray-3">Community modules</div></li></ul></div></div><div class="border-y py-4"><ul showextendedlist="" class="mt-8 mb-8 grid grid-cols-2 auto-rows-fr justify-center items-center content-center text-white gap-6 w-max max-w-full mx-auto sm:grid-cols-3 lg:grid-cols-5 md:gap-x-16 "><li class="" style="animation: fadeIn 1ms linear both; animation-duration: 0.5s; animation-timeline: view(); animation-range: 3% 10%;" data-fresh-key="slack"><a class="block filter invert dark:invert-0 opacity-90 dark:opacity-40 dark:hover:opacity-70 dark:focus:opacity-70 transition-opacity" href="https://slack.com" target="_blank"><img class="mx-auto max-w-full w-28" src="/images/lp/companies/slack.svg?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1" alt="Slack" title="Slack" width="112" height="29"></a></li><li class="" style="animation: fadeIn 1ms linear both; animation-duration: 0.5s; animation-timeline: view(); animation-range: 6% 13%;" data-fresh-key="netlify"><a class="block filter invert dark:invert-0 opacity-90 dark:opacity-40 dark:hover:opacity-70 dark:focus:opacity-70 transition-opacity" href="https://netlify.com" target="_blank"><img class="mx-auto max-w-full w-32 -my-3 sm:my-0" src="/images/lp/companies/netlify.svg?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1" alt="Netlify" title="Netlify" width="160" height="66"></a></li><li class="" style="animation: fadeIn 1ms linear both; animation-duration: 0.5s; animation-timeline: view(); animation-range: 9% 16%;" data-fresh-key="github"><a class="block filter invert dark:invert-0 opacity-90 dark:opacity-40 dark:hover:opacity-70 dark:focus:opacity-70 transition-opacity" href="https://github.com" target="_blank"><img class="mx-auto max-w-full w-22" src="/images/lp/companies/github.svg?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1" alt="GitHub" title="GitHub" width="88" height="27"></a></li><li class="" style="animation: fadeIn 1ms linear both; animation-duration: 0.5s; animation-timeline: view(); animation-range: 12% 19%;" data-fresh-key="supabase"><a class="block filter invert dark:invert-0 opacity-90 dark:opacity-40 dark:hover:opacity-70 dark:focus:opacity-70 transition-opacity" href="https://supabase.com" target="_blank"><img class="mx-auto max-w-full w-40" src="/images/lp/companies/supabase.svg?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1" alt="Supabase" title="Supabase" width="160" height="31"></a></li><li class="" style="animation: fadeIn 1ms linear both; animation-duration: 0.5s; animation-timeline: view(); animation-range: 15% 22%;" data-fresh-key="spotify"><a class="block filter invert dark:invert-0 opacity-90 dark:opacity-40 dark:hover:opacity-70 dark:focus:opacity-70 transition-opacity" href="https://open.spotify.com/" target="_blank"><img class="mx-auto max-w-full w-32" src="/images/lp/companies/spotify.svg?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1" alt="Spotify" title="Spotify" width="180" height="54"></a></li><li class="" style="animation: fadeIn 1ms linear both; animation-duration: 0.5s; animation-timeline: view(); animation-range: 18% 25%;" data-fresh-key="salesforce"><a class="block filter invert dark:invert-0 opacity-90 dark:opacity-40 dark:hover:opacity-70 dark:focus:opacity-70 transition-opacity" href="https://salesforce.com" target="_blank"><img class="mx-auto max-w-full w-18" src="/images/lp/companies/salesforce.svg?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1" alt="Salesforce" title="Salesforce" width="72" height="50"></a></li><li class="" style="animation: fadeIn 1ms linear both; animation-duration: 0.5s; animation-timeline: view(); animation-range: 21% 28%;" data-fresh-key="stripe"><a class="block filter invert dark:invert-0 opacity-90 dark:opacity-40 dark:hover:opacity-70 dark:focus:opacity-70 transition-opacity" href="https://stripe.com" target="_blank"><img class="mx-auto max-w-full w-24" src="/images/lp/companies/stripe.svg?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1" alt="Stripe" title="Stripe" width="96" height="46"></a></li><li class="" style="animation: fadeIn 1ms linear both; animation-duration: 0.5s; animation-timeline: view(); animation-range: 24% 31%;" data-fresh-key="bank-of-america"><a class="block filter invert dark:invert-0 opacity-90 dark:opacity-40 dark:hover:opacity-70 dark:focus:opacity-70 transition-opacity" href="https://www.bankofamerica.com/" target="_blank"><img class="mx-auto max-w-full w-22 h-auto" src="/images/lp/companies/bank-of-america.svg?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1" alt="Bank of America" title="Bank of America" width="90" height="49"></a></li><li class="hidden sm:block" style="animation: fadeIn 1ms linear both; animation-duration: 0.5s; animation-timeline: view(); animation-range: 27% 34%;" data-fresh-key="tencent"><a class="block filter invert dark:invert-0 opacity-90 dark:opacity-40 dark:hover:opacity-70 dark:focus:opacity-70 transition-opacity" href="https://tencent.com" target="_blank"><img class="mx-auto max-w-full w-40" src="/images/lp/companies/tencent.svg?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1" alt="Tencent" title="Tencent" width="176" height="24"></a></li></ul></div><div class="max-w-max mx-auto mt-12 bg-transparent p-0 rounded-lg"><div class="absolute -left-0 bottom-0 md:bottom-48 w-24 lg:w-28 motion-reduce:!animate-none" style="animation:parallax_down 1ms linear both;animation-timeline:view();animation-range: 0% 100%"><img src="/images/homepage/side-peek.svg?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1" alt="" style="transform: rotateY(180deg);"></div><div class="w-full grid grid-cols-1 gap-4 items-start auto-rows-max bg-white dark:bg-offblack border border-gray-1 dark:border dark:border-gray-6 shadow-lg dark:shadow-none rounded-md p-6 sm:p-8"><div align="left" class="flex flex-col w-full gap-4 text-left items-start " data-component="heading-group"><div text="New" color="runtime" class="text-sm bg-runtime dark:bg-runtime-dark dark:text-runtime py-1 px-2 rounded-sm max-w-max font-normal inline-block tracking-wide">New</div><h3 as="h3" visualsize="lg" class="text-balance text-heading-lg" data-component="heading">Deno for enterprise</h3><div data-component="subhead" class="text-lg text-gray-4 dark:text-gray-3 max-w-prose text-balance text-base">Now offering enterprise support for the Deno runtime</div><div class="mt-2"><a href="/enterprise" class="group inline-block w-full max-w-max rounded-full overflow-hidden bg-runtime hover:bg-transparent hover:animate-half-border-spin mt-2" style="--outer-radius:9999px;--border-size:2px;--inner-radius:calc(var(--outer-radius) - var(--border-size));background-image:conic-gradient(from var(--border-gradient-angle) at 0.5rem 150%, transparent, transparent 25%, black 25%, black 75%, transparent 75%, transparent);border-radius:var(--outer-radius);padding:var(--border-size);"><div class="flex text-left items-center text-balance transition-color duration-200 bg-runtime py-4 px-6 gap-4 text-black" style="border-radius:var(--inner-radius);">Learn more<svg class="flex-none" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.96967 12.5303C3.67678 12.2374 3.67678 11.7626 3.96967 11.4697L8.43934 7L3.96967 2.53033C3.67678 2.23744 3.67678 1.76256 3.96967 1.46967C4.26256 1.17678 4.73744 1.17678 5.03033 1.46967L10.0303 6.46967C10.3232 6.76256 10.3232 7.23744 10.0303 7.53033L5.03033 12.5303C4.73744 12.8232 4.26256 12.8232 3.96967 12.5303Z" fill="currentColor"></path></svg></div></a></div></div></div></div></div></div></div><div id="why-deno" class="flex flex-col items-center justify-center py-24 md:py-32 lg:py-36
        "><div class="w-full flex flex-col items-center gap-24 md:gap-32 section-x-inset-xl"><div class="flex flex-col w-full gap-4 text-center items-center animate-in " data-component="heading-group" animatein="true"><h2 as="h2" visualsize="2xl" class="text-balance text-heading-2xl" data-component="heading">Native TypeScript support</h2><div data-component="subhead" class="text-lg text-gray-4 dark:text-gray-3 max-w-prose text-balance ">The Deno runtime natively supports TypeScript, JSX, and modern ECMAScript features with zero configuration.</div><div class="mt-4"><a href="https://docs.deno.com/runtime/manual/getting_started/first_steps#create-and-run-a-typescript-program" class="group inline-block w-full max-w-max rounded-full overflow-hidden bg-runtime hover:bg-transparent hover:animate-half-border-spin mt-4" style="--outer-radius:9999px;--border-size:2px;--inner-radius:calc(var(--outer-radius) - var(--border-size));background-image:conic-gradient(from var(--border-gradient-angle) at 0.5rem 150%, transparent, transparent 25%, black 25%, black 75%, transparent 75%, transparent);border-radius:var(--outer-radius);padding:var(--border-size);"><div class="flex text-left items-center text-balance transition-color duration-200 bg-runtime py-4 px-6 gap-4 text-black" style="border-radius:var(--inner-radius);">Learn about TypeScript in Deno<svg class="flex-none" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.96967 12.5303C3.67678 12.2374 3.67678 11.7626 3.96967 11.4697L8.43934 7L3.96967 2.53033C3.67678 2.23744 3.67678 1.76256 3.96967 1.46967C4.26256 1.17678 4.73744 1.17678 5.03033 1.46967L10.0303 6.46967C10.3232 6.76256 10.3232 7.23744 10.0303 7.53033L5.03033 12.5303C4.73744 12.8232 4.26256 12.8232 3.96967 12.5303Z" fill="currentColor"></path></svg></div></a></div></div><div class="grid grid-cols-1 items-center gap-8 md:gap-16 xl:gap-32  md:grid-cols-3/2 lg:grid-cols-3/2 "><div class="relative max-w-[calc(100%-3rem)] xl:max-w-none"><div class="rounded-lg border overflow-hidden w-full max-w-full md:min-h-[28rem] shadow-xl border-gray-1 bg-white" mode="light"><div class="flex items-stretch justify-start"><div class="border-b p-4 flex items-center border-gray-1"><img src="/images/icons/window-buttons.svg?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1" alt=""></div><div class="border-b border-l p-4 w-full border-gray-1"></div></div><div><div code="interface Person {
  name: string;
  age: number;
}

function greet(person: Person): string {
  return &quot;Hello, &quot; + person.name + &quot;!&quot;;
}

const alice: Person = {
  name: &quot;Alice&quot;,
  age: 36
};

console.log(greet(alice));" class="text-gray-50 text-base max-w-full rounded-md animate-fade-opacity-in" mode="light"><div class="highlight markdown-body" data-color-mode="light" data-dark-theme="light"><pre class="p-8 highlight text-base" style="--color-canvas-subtle: var(--white);"><code><span><span class="token keyword animate-fade-opacity-in opacity-0" style="animation-delay: 0s;">interface</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.008s;"> </span><span class="token class-name animate-fade-opacity-in opacity-0" style="animation-delay: 0.016s;">Person</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.024s;"> </span><span class="token punctuation animate-fade-opacity-in opacity-0" style="animation-delay: 0.032s;">{</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.04s;">
  name</span><span class="token operator animate-fade-opacity-in opacity-0" style="animation-delay: 0.048s;">:</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.056s;"> string</span><span class="token punctuation animate-fade-opacity-in opacity-0" style="animation-delay: 0.064s;">;</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.072s;">
  age</span><span class="token operator animate-fade-opacity-in opacity-0" style="animation-delay: 0.08s;">:</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.088s;"> number</span><span class="token punctuation animate-fade-opacity-in opacity-0" style="animation-delay: 0.096s;">;</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.104s;">
</span><span class="token punctuation animate-fade-opacity-in opacity-0" style="animation-delay: 0.112s;">}</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.12s;">

</span><span class="token keyword animate-fade-opacity-in opacity-0" style="animation-delay: 0.128s;">function</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.136s;"> </span><span class="token function animate-fade-opacity-in opacity-0" style="animation-delay: 0.144s;">greet</span><span class="token punctuation animate-fade-opacity-in opacity-0" style="animation-delay: 0.152s;">(</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.16s;">person</span><span class="token operator animate-fade-opacity-in opacity-0" style="animation-delay: 0.168s;">:</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.176s;"> </span><span class="token maybe-class-name animate-fade-opacity-in opacity-0" style="animation-delay: 0.184s;">Person</span><span class="token punctuation animate-fade-opacity-in opacity-0" style="animation-delay: 0.192s;">)</span><span class="token operator animate-fade-opacity-in opacity-0" style="animation-delay: 0.2s;">:</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.208s;"> string </span><span class="token punctuation animate-fade-opacity-in opacity-0" style="animation-delay: 0.216s;">{</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.224s;">
  </span><span class="token keyword control-flow animate-fade-opacity-in opacity-0" style="animation-delay: 0.232s;">return</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.24s;"> </span><span class="token string animate-fade-opacity-in opacity-0" style="animation-delay: 0.248s;">"Hello, "</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.256s;"> </span><span class="token operator animate-fade-opacity-in opacity-0" style="animation-delay: 0.264s;">+</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.272s;"> person</span><span class="token punctuation animate-fade-opacity-in opacity-0" style="animation-delay: 0.28s;">.</span><span class="token property-access animate-fade-opacity-in opacity-0" style="animation-delay: 0.288s;">name</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.296s;"> </span><span class="token operator animate-fade-opacity-in opacity-0" style="animation-delay: 0.304s;">+</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.312s;"> </span><span class="token string animate-fade-opacity-in opacity-0" style="animation-delay: 0.32s;">"!"</span><span class="token punctuation animate-fade-opacity-in opacity-0" style="animation-delay: 0.328s;">;</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.336s;">
</span><span class="token punctuation animate-fade-opacity-in opacity-0" style="animation-delay: 0.344s;">}</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.352s;">

</span><span class="token keyword animate-fade-opacity-in opacity-0" style="animation-delay: 0.36s;">const</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.368s;"> alice</span><span class="token operator animate-fade-opacity-in opacity-0" style="animation-delay: 0.376s;">:</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.384s;"> </span><span class="token maybe-class-name animate-fade-opacity-in opacity-0" style="animation-delay: 0.392s;">Person</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.4s;"> </span><span class="token operator animate-fade-opacity-in opacity-0" style="animation-delay: 0.408s;">=</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.416s;"> </span><span class="token punctuation animate-fade-opacity-in opacity-0" style="animation-delay: 0.424s;">{</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.432s;">
  name</span><span class="token operator animate-fade-opacity-in opacity-0" style="animation-delay: 0.44s;">:</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.448s;"> </span><span class="token string animate-fade-opacity-in opacity-0" style="animation-delay: 0.456s;">"Alice"</span><span class="token punctuation animate-fade-opacity-in opacity-0" style="animation-delay: 0.464s;">,</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.472s;">
  age</span><span class="token operator animate-fade-opacity-in opacity-0" style="animation-delay: 0.48s;">:</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.488s;"> </span><span class="token number animate-fade-opacity-in opacity-0" style="animation-delay: 0.496s;">36</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.504s;">
</span><span class="token punctuation animate-fade-opacity-in opacity-0" style="animation-delay: 0.512s;">}</span><span class="token punctuation animate-fade-opacity-in opacity-0" style="animation-delay: 0.52s;">;</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.528s;">

</span><span class="token console class-name animate-fade-opacity-in opacity-0" style="animation-delay: 0.536s;">console</span><span class="token punctuation animate-fade-opacity-in opacity-0" style="animation-delay: 0.544s;">.</span><span class="token method function property-access animate-fade-opacity-in opacity-0" style="animation-delay: 0.552s;">log</span><span class="token punctuation animate-fade-opacity-in opacity-0" style="animation-delay: 0.56s;">(</span><span class="token function animate-fade-opacity-in opacity-0" style="animation-delay: 0.568s;">greet</span><span class="token punctuation animate-fade-opacity-in opacity-0" style="animation-delay: 0.576s;">(</span><span class="token animate-fade-opacity-in opacity-0" style="animation-delay: 0.584s;">alice</span><span class="token punctuation animate-fade-opacity-in opacity-0" style="animation-delay: 0.592s;">)</span><span class="token punctuation animate-fade-opacity-in opacity-0" style="animation-delay: 0.6s;">)</span><span class="token punctuation animate-fade-opacity-in opacity-0" style="animation-delay: 0.608s;">;</span></span></code></pre></div></div></div></div><img src="/images/homepage/peek-behind.svg?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1" alt="" class="absolute bottom-24 -right-[3.4rem] w-24"><div class="absolute z-10 h-[7.5rem] w-2 bottom-24 -right-2 bg-gradient-to-r from-black to-transparent shadow-xl opacity-10"></div></div><div class="flex flex-col gap-4"><h3 as="h3" class="text-balance text-heading-lg mb-4" data-component="heading" visualsize="lg">Modern language features, built-in</h3><ul class="flex flex-col gap-6"><li class="border-b pb-6 transition-colors border-gray-3 dark:border-runtime"><button aria-expanded="true" class="text-left grid grid-cols-1 overflow-hidden transition-all" style="grid-template-rows: max-content 1fr;"><div class="font-bold transition-colors text-gray-4 dark:text-gray-2 dark:hover:text-white false">TypeScript without the hassle</div><div class="text-gray-4 dark:text-gray-2 overflow-hidden"><div class="mt-2"><p>Write type-safe code without complex build systems or external dependencies.</p></div></div></button></li><li class="border-b pb-6 transition-colors border-gray-3 dark:border-gray-6"><button aria-expanded="false" class="text-left grid grid-cols-1 overflow-hidden transition-all" style="grid-template-rows: max-content 0fr;"><div class="font-bold transition-colors text-gray-4 dark:text-gray-2 dark:hover:text-white dark:text-gray-2">Native support for JSX and TSX</div><div class="text-gray-4 dark:text-gray-2 overflow-hidden"><div class="mt-2"><p>Write code that generates HTML using modern JSX and TSX syntax.</p></div></div></button></li><li class="border-b pb-6 transition-colors border-gray-3 dark:border-gray-6"><button aria-expanded="false" class="text-left grid grid-cols-1 overflow-hidden transition-all" style="grid-template-rows: max-content 0fr;"><div class="font-bold transition-colors text-gray-4 dark:text-gray-2 dark:hover:text-white dark:text-gray-2">Bleeding edge ECMAScript features</div><div class="text-gray-4 dark:text-gray-2 overflow-hidden"><div class="mt-2"><p>Write the JavaScript of tomorrow, today! ESNext features like the Temporal API land in Deno first.</p></div></div></button></li></ul></div></div></div></div></div><div class="flex flex-col items-center justify-center py-24 md:py-32 lg:py-36
        bg-white-veil"><div class="w-full flex flex-col items-center gap-24 md:gap-32 section-x-inset-xl"><div class="flex flex-col w-full gap-4 text-center items-center animate-in " data-component="heading-group" animatein="true"><h2 as="h2" visualsize="2xl" class="text-balance text-heading-2xl" data-component="heading">Built on web standards</h2><div data-component="subhead" class="text-lg text-gray-4 dark:text-gray-3 max-w-prose text-balance ">Whenever possible, Deno implements web standard APIs on the server. Deno actively participates in <a href="https://tc39.es/" class="underline hover:text-gray-3 focus:text-gray-3">TC39</a> and <a href="https://wintercg.org/" class="underline hover:text-gray-3 focus:text-gray-3">WinterCG</a> to help move the web forward.</div></div><div class="flex flex-wrap md:flex-nowrap items-center gap-8 md:gap-16 xl:gap-32"><div align="left" class="flex flex-col w-full gap-4 text-left items-start order-last md:order-first !w-auto shrink" data-component="heading-group"><h3 as="h3" visualsize="xl" class="text-balance text-heading-xl" data-component="heading">Consistent code from browser to backend</h3><div data-component="subhead" class="text-lg text-gray-4 dark:text-gray-3 max-w-prose text-balance ">Deno prioritizes web standard APIs, maximizing code reuse between browser and server and future-proofing your code.</div><div class="mt-4"><a href="https://docs.deno.com/runtime/manual/runtime/web_platform_apis/" class="group inline-block w-full max-w-max rounded-full overflow-hidden bg-runtime hover:bg-transparent hover:animate-half-border-spin mt-4" style="--outer-radius:9999px;--border-size:2px;--inner-radius:calc(var(--outer-radius) - var(--border-size));background-image:conic-gradient(from var(--border-gradient-angle) at 0.5rem 150%, transparent, transparent 25%, black 25%, black 75%, transparent 75%, transparent);border-radius:var(--outer-radius);padding:var(--border-size);"><div class="flex text-left items-center text-balance transition-color duration-200 bg-runtime py-4 px-6 gap-4 text-black" style="border-radius:var(--inner-radius);">Web APIs in Deno<svg class="flex-none" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.96967 12.5303C3.67678 12.2374 3.67678 11.7626 3.96967 11.4697L8.43934 7L3.96967 2.53033C3.67678 2.23744 3.67678 1.76256 3.96967 1.46967C4.26256 1.17678 4.73744 1.17678 5.03033 1.46967L10.0303 6.46967C10.3232 6.76256 10.3232 7.23744 10.0303 7.53033L5.03033 12.5303C4.73744 12.8232 4.26256 12.8232 3.96967 12.5303Z" fill="currentColor"></path></svg></div></a></div></div><div class="w-full grid grid-cols-1 gap-4 items-start auto-rows-max bg-white dark:bg-offblack border border-gray-1 dark:border dark:border-gray-6 shadow-lg dark:shadow-none rounded-md p-6 sm:p-8 text-xs w-full max-w-max"><style>@keyframes ws_grow { 50% {transform: scale(1.2)} 15%, 0%, 100% {transform: scale(1)} }</style><div class="grid justify-center items-center grid-cols-1 grid-rows-1 justify-items-center overflow-clip lg:w-full relative"><div class="absolute inset-0 w-full h-full z-10" style="background: linear-gradient(to right, white, transparent 20%, transparent 80%, white)"></div><div class="flex flex-wrap gap-2 text-xs justify-center items-start font-mono w-[51em] max-h-[36rem] relative"><a href="#batteries-included" class="absolute bg-white p-3 left-24 -top-8 focus:top-2 transition-all">Skip past APIs list</a><a href="https://developer.mozilla.org/docs/Web/API/Worker" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">Worker</a><a href="https://developer.mozilla.org/docs/Web/API/MessageEvent" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">MessageEvent</a><a href="https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultController" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">WritableStreamDefaultController</a><a href="https://developer.mozilla.org/docs/Web/API/structuredClone" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">structuredClone</a><a href="https://developer.mozilla.org/docs/Web/API/DecompressionStream" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">DecompressionStream</a><a href="https://developer.mozilla.org/docs/Web/API/CompressionStream" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">CompressionStream</a><a href="https://developer.mozilla.org/docs/Web/API/setInterval" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">setInterval</a><a href="https://developer.mozilla.org/docs/Web/API/PromiseRejectionEvent" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">PromiseRejectionEvent</a><a href="https://developer.mozilla.org/docs/Web/API/clearInterval" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">clearInterval</a><a href="https://developer.mozilla.org/docs/Web/API/Blob" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">Blob</a><a href="https://developer.mozilla.org/docs/Web/API/fetch" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-offblack bg-code-5" style="animation: ws_grow 1ms ease-in-out both; animation-timeline: view(); animation-range: 10%, 20%;
                  ">fetch</a><a href="https://developer.mozilla.org/docs/Web/API/btoa" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">btoa</a><a href="https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-offblack bg-code-6" style="animation: ws_grow 1ms ease-in-out both; animation-timeline: view(); animation-range: 12%, 24%;
                  ">localStorage</a><a href="https://developer.mozilla.org/docs/Web/API/Navigator" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">Navigator</a><a href="https://developer.mozilla.org/docs/Web/API/clearTimeout" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">clearTimeout</a><a href="https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultController" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">ReadableStreamDefaultController</a><a href="https://developer.mozilla.org/en-US/docs/Web/API/Response/json" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">Response.json()</a><a href="https://developer.mozilla.org/docs/Web/API/EventTarget" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-offblack bg-code-1" style="animation: ws_grow 1ms ease-in-out both; animation-timeline: view(); animation-range: 17%, 34%;
                  ">EventTarget</a><a href="https://developer.mozilla.org/docs/Web/API/caches" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">caches</a><a href="https://developer.mozilla.org/docs/Web/API/CacheStorage" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">CacheStorage</a><a href="https://developer.mozilla.org/docs/Web/API/MessagePort" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">MessagePort</a><a href="https://developer.mozilla.org/docs/Web/API/Location" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-offblack bg-code-1" style="animation: ws_grow 1ms ease-in-out both; animation-timeline: view(); animation-range: 21%, 42%;
                  ">Location</a><a href="https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">DedicatedWorkerGlobalScope</a><a href="https://developer.mozilla.org/docs/Web/API/WebSocket" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">WebSocket</a><a href="https://developer.mozilla.org/docs/Web/API/queueMicrotask" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">queueMicrotask</a><a href="https://developer.mozilla.org/docs/Web/API/CryptoKey" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-offblack bg-code-1" style="animation: ws_grow 1ms ease-in-out both; animation-timeline: view(); animation-range: 25%, 50%;
                  ">CryptoKey</a><a href="https://developer.mozilla.org/docs/Web/API/ErrorEvent" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">ErrorEvent</a><a href="https://developer.mozilla.org/docs/Web/API/PerformanceMark" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">PerformanceMark</a><a href="https://developer.mozilla.org/docs/Web/API/WorkerNavigator" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">WorkerNavigator</a><a href="https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBRequest" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">ReadableStreamBYOBRequest</a><a href="https://developer.mozilla.org/docs/Web/API/TextDecoder" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">TextDecoder</a><a href="https://developer.mozilla.org/docs/Web/API/WorkerLocation" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-white bg-code-7" style="animation: ws_grow 1ms ease-in-out both; animation-timeline: view(); animation-range: 31%, 62%;
                  ">WorkerLocation</a><a href="https://developer.mozilla.org/docs/Web/API/TextEncoderStream" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">TextEncoderStream</a><a href="https://developer.mozilla.org/docs/Web/API/ReadableByteStreamController" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">ReadableByteStreamController</a><a href="https://developer.mozilla.org/docs/Web/API/TransformStream" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-white bg-code-7" style="animation: ws_grow 1ms ease-in-out both; animation-timeline: view(); animation-range: 34%, 68%;
                  ">TransformStream</a><a href="https://developer.mozilla.org/docs/Web/API/File" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">File</a><a href="https://developer.mozilla.org/docs/Web/API/CustomEvent" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">CustomEvent</a><a href="https://developer.mozilla.org/docs/Web/API/Event" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">Event</a><a href="https://developer.mozilla.org/docs/Web/API/performance_property" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">performance</a><a href="https://developer.mozilla.org/docs/Web/API/DOMException" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">DOMException</a><a href="https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">ReadableStreamBYOBReader</a><a href="https://developer.mozilla.org/docs/Web/API/crypto_property" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">crypto</a><a href="https://developer.mozilla.org/docs/Web/API/CloseEvent" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">CloseEvent</a><a href="https://developer.mozilla.org/docs/Web/API/URLPattern" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">URLPattern</a><a href="https://developer.mozilla.org/docs/Web/API/PerformanceEntry" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">PerformanceEntry</a><a href="https://developer.mozilla.org/docs/Web/API/console" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">console</a><a href="https://developer.mozilla.org/en-US/docs/Web/API/Window/close" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-offblack bg-code-6" style="animation: ws_grow 1ms ease-in-out both; animation-timeline: view(); animation-range: 46%, 92%;
                  ">globalThis.close()</a><a href="https://developer.mozilla.org/docs/Web/API/Crypto" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">Crypto</a><a href="https://developer.mozilla.org/docs/Web/API/Request" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">Request</a><a href="https://developer.mozilla.org/docs/Web/API/ReadableStream" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">ReadableStream</a><a href="https://developer.mozilla.org/docs/Web/API/Storage" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">Storage</a><a href="https://developer.mozilla.org/en-US/docs/WebAssembly" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-white bg-code-7" style="animation: ws_grow 1ms ease-in-out both; animation-timeline: view(); animation-range: 51%, 102%;
                  ">WebAssembly</a><a href="https://developer.mozilla.org/docs/Web/API/TextDecoderStream" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">TextDecoderStream</a><a href="https://developer.mozilla.org/docs/Web/API/URLSearchParams" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">URLSearchParams</a><a href="https://developer.mozilla.org/docs/Web/API/ProgressEvent" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">ProgressEvent</a><a href="https://developer.mozilla.org/docs/Web/API/FileReader" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">FileReader</a><a href="https://developer.mozilla.org/docs/Web/API/ByteLengthQueuingStrategy" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">ByteLengthQueuingStrategy</a><a href="https://developer.mozilla.org/docs/Web/API/BeforeUnloadEvent" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">BeforeUnloadEvent</a><a href="https://developer.mozilla.org/docs/Web/API/TextEncoder" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">TextEncoder</a><a href="https://developer.mozilla.org/docs/Web/API/atob" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">atob</a><a href="https://developer.mozilla.org/en-US/docs/Web/API/Window/alert" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-offblack bg-code-5" style="animation: ws_grow 1ms ease-in-out both; animation-timeline: view(); animation-range: 60%, 120%;
                  ">globalThis.alert()</a><a href="https://developer.mozilla.org/docs/Web/API/setTimeout" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">setTimeout</a><a href="https://developer.mozilla.org/docs/Web/API/Performance" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">Performance</a><a href="https://developer.mozilla.org/docs/Web/API/Headers" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">Headers</a><a href="https://developer.mozilla.org/docs/Web/API/WorkerGlobalScope" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">WorkerGlobalScope</a><a href="https://developer.mozilla.org/docs/Web/API/AbortSignal" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">AbortSignal</a><a href="https://developer.mozilla.org/docs/Web/API/FormData" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-offblack bg-code-1" style="animation: ws_grow 1ms ease-in-out both; animation-timeline: view(); animation-range: 66%, 132%;
                  ">FormData</a><a href="https://developer.mozilla.org/docs/Web/API/Response" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">Response</a><a href="https://developer.mozilla.org/docs/Web/API/MessageChannel" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">MessageChannel</a><a href="https://developer.mozilla.org/docs/Web/API/URL" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">URL</a><a href="https://developer.mozilla.org/docs/Web/API/BroadcastChannel" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">BroadcastChannel</a><a href="https://developer.mozilla.org/docs/Web/API/TransformStreamDefaultController" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">TransformStreamDefaultController</a><a href="https://developer.mozilla.org/docs/Web/API/SubtleCrypto" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">SubtleCrypto</a><a href="https://developer.mozilla.org/docs/Web/API/Cache" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">Cache</a><a href="https://developer.mozilla.org/docs/Web/API/WritableStream" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">WritableStream</a><a href="https://developer.mozilla.org/docs/Web/API/AbortController" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-white bg-code-7" style="animation: ws_grow 1ms ease-in-out both; animation-timeline: view(); animation-range: 75%, 150%;
                  ">AbortController</a><a href="https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultReader" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">ReadableStreamDefaultReader</a><a href="https://developer.mozilla.org/docs/Web/API/PerformanceMeasure" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">PerformanceMeasure</a><a href="https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter" class="block py-1 px-2 rounded-sm hover:text-offblack focus:text-offblack transition-colors motion-reduce:!animate-none text-gray-3 border border-gray-1" style="">WritableStreamDefaultWriter</a><div data-slide-reveal="true" class="w-[200%] h-full absolute top-0 right-0 bg-gradient-to-l from-offblack via-offblack hidden"></div></div></div></div></div></div></div><div class="flex flex-col items-center justify-center py-24 md:py-32 lg:py-36
        bg-gradient-to-t from-[#ecf3fd]"><div class="w-full flex flex-col items-center gap-24 md:gap-32 section-x-inset-xl"><div class="flex flex-col w-full gap-4 text-center items-center animate-in " data-component="heading-group" animatein="true"><h2 as="h2" visualsize="2xl" id="batteries-included" class="text-balance text-heading-2xl" data-component="heading">Batteries included</h2><p class="text-gray-2 pl-4 sm:pl-6">The essential tools you need to build, test, and deploy your applications are all included out of the box.</p></div><div class="grid grid-cols-1 lg:grid-cols-5 gap-6"><div class="w-full grid grid-cols-1 gap-4 items-start auto-rows-max bg-white dark:bg-offblack border border-gray-1 dark:border dark:border-gray-6 shadow-lg dark:shadow-none rounded-md p-6 sm:p-8 !pb-0 items-end lg:col-span-2" style="grid-template-rows: auto auto auto 1fr"><h3 as="h3" visualsize="md" class="text-balance text-heading-md mb-4" data-component="heading">Code linter</h3><p class="text-gray-4">Deno ships with a built-in code linter to help you avoid bugs and code rot.</p><a href="https://docs.deno.com/runtime/manual/tools/linter" class="font-bold inline-block hover:underline focus:underline">Learn more <span aria-hidden="true">›</span></a><div class="mt-16"><div class="border border-gray-1 rounded-lg p-6 sm:p-8 rounded-b-none border-b-0 text-center"><div class="text-gray-50 text-base max-w-full rounded-md leading-none -mt-[calc(3rem+1px)] sm:-mt-[calc(4rem+1px)] mb-8 border border-gray-1 shadow-lg" mode="light" lang="bash" code="$ deno lint --watch" data-animate-code="true"><div class="highlight markdown-body" data-color-mode="light" data-dark-theme="light"><pre class="p-8 highlight text-base" style="--color-canvas-subtle: var(--white);"><code><span></span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">$ deno lint </span><span class="token operator" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">--</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">watch</span></code></pre></div></div><img src="/images/homepage/code_lines.svg?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1" alt="" class="mx-auto"></div></div></div><div class="w-full grid grid-cols-1 gap-4 items-start auto-rows-max bg-white dark:bg-offblack border border-gray-1 dark:border dark:border-gray-6 shadow-lg dark:shadow-none rounded-md p-6 sm:p-8 !pb-0 items-end lg:col-span-3" style="grid-template-rows: auto auto auto 1fr"><h3 as="h3" visualsize="md" class="text-balance text-heading-md mb-4" data-component="heading">Test runner</h3><p class="text-gray-4">Deno provides a test runner and assertion libraries as a part of the runtime and standard library.</p><a href="https://docs.deno.com/runtime/manual/basics/testing/" class="font-bold inline-block  hover:underline focus:underline">Learn more <span aria-hidden="true">›</span></a><div class="mt-16"><div class="border border-gray-1 rounded-lg p-6 sm:p-8 rounded-b-none border-b-0 "><div class="text-gray-50 text-base max-w-full rounded-md leading-none -mt-[calc(3rem+1px)] sm:-mt-[calc(4rem+1px)] mb-8 border border-gray-1 shadow-lg" mode="light" code="// server_test.ts
Deno.test(&quot;1 + 2 = 3&quot;, () => {
  const x = 1 + 2;
  console.assert(x == 3);
});" data-animate-code="true"><div class="highlight markdown-body" data-color-mode="light" data-dark-theme="light"><pre class="p-8 highlight text-base" style="--color-canvas-subtle: var(--white);"><code><span><span class="token comment" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">// server_test.ts</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">
</span><span class="token maybe-class-name" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">Deno</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">.</span><span class="token method function property-access" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">test</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">(</span><span class="token string" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">"1 + 2 = 3"</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">,</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"> </span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">(</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">)</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"> </span><span class="token arrow operator" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">=&gt;</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"> </span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">{</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">
  </span><span class="token keyword" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">const</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"> x </span><span class="token operator" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">=</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"> </span><span class="token number" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">1</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"> </span><span class="token operator" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">+</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"> </span><span class="token number" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">2</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">;</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">
  </span><span class="token console class-name" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">console</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">.</span><span class="token method function property-access" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">assert</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">(</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">x </span><span class="token operator" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">==</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"> </span><span class="token number" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">3</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">)</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">;</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">
</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">}</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">)</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">;</span></span></code></pre></div></div><div class="-mx-6 sm:-mx-8 border-t"><div mode="light" code="$ deno test server_test.ts" lang="bash" class="text-gray-50 text-base max-w-full rounded-md text-center -mb-6 sm:-mb-8"><div class="highlight markdown-body" data-color-mode="light" data-dark-theme="light"><pre class="p-8 highlight text-base" style="--color-canvas-subtle: var(--white);"><code><span></span><span class="token">$ deno test server_test</span><span class="token punctuation">.</span><span class="token property-access">ts</span></code></pre></div></div></div></div></div></div><div class="w-full grid grid-cols-1 gap-4 items-start auto-rows-max bg-white dark:bg-offblack border border-gray-1 dark:border dark:border-gray-6 shadow-lg dark:shadow-none rounded-md p-6 sm:p-8 !pb-0 items-end lg:col-span-3" style="grid-template-rows: auto auto auto 1fr"><h3 as="h3" visualsize="md" class="text-balance text-heading-md mb-4" data-component="heading">Standalone executables</h3><p class="text-gray-4">Instantly create standalone executables from your Deno program. It even supports cross-compiling for other platforms!</p><a href="https://docs.deno.com/runtime/manual/tools/compiler" class="font-bold inline-block hover:underline focus:underline">Learn more <span aria-hidden="true">›</span></a><div class="mt-16"><div class="border border-gray-1 rounded-lg p-6 sm:p-8 rounded-b-none border-b-0 "><div class="text-gray-50 text-base max-w-full rounded-md leading-none -mt-[calc(3rem+1px)] sm:-mt-[calc(4rem+1px)] mb-8 border border-gray-1 shadow-lg" mode="light" code="Deno.serve(req => new Response(&quot;Hello!&quot;));" data-animate-code="true"><div class="highlight markdown-body" data-color-mode="light" data-dark-theme="light"><pre class="p-8 highlight text-base" style="--color-canvas-subtle: var(--white);"><code><span><span class="token maybe-class-name" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">Deno</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">.</span><span class="token method function property-access" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">serve</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">(</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">req </span><span class="token arrow operator" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">=&gt;</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"> </span><span class="token keyword" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">new</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"> </span><span class="token class-name" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">Response</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">(</span><span class="token string" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">"Hello!"</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">)</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">)</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">;</span></span></code></pre></div></div><div mode="light" code="$ deno compile --allow-net server.ts

Compile file:///tmp/server.ts to server
$ ./server
Listening on http://localhost:8000/" class="text-gray-50 text-base max-w-full rounded-md"><div class="highlight markdown-body" data-color-mode="light" data-dark-theme="light"><pre class="p-8 highlight text-base" style="--color-canvas-subtle: var(--white);"><code><span></span><span class="token">$ deno compile </span><span class="token operator">--</span><span class="token">allow</span><span class="token operator">-</span><span class="token">net server</span><span class="token punctuation">.</span><span class="token property-access">ts</span><span class="token">

</span><span class="token maybe-class-name">Compile</span><span class="token"> file</span><span class="token operator">:</span><span class="token operator">/</span><span class="token comment">//tmp/server.ts to server</span><span class="token">
$ </span><span class="token punctuation">.</span><span class="token operator">/</span><span class="token">server
</span><span class="token maybe-class-name">Listening</span><span class="token"> on http</span><span class="token operator">:</span><span class="token operator">/</span><span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">localhost:8000</span><span class="token regex-delimiter">/</span></span></code></pre></div></div></div></div></div><div class="w-full grid grid-cols-1 gap-4 items-start auto-rows-max bg-white dark:bg-offblack border border-gray-1 dark:border dark:border-gray-6 shadow-lg dark:shadow-none rounded-md p-6 sm:p-8 !pb-0 items-end lg:col-span-2" style="grid-template-rows: auto auto auto 1fr"><h3 as="h3" visualsize="md" class="text-balance text-heading-md mb-4" data-component="heading">Code formatter</h3><p class="text-gray-4">Deno's built-in code formatter (based on dprint) beautifies JavaScript, TypeScript, JSON, and Markdown.</p><a href="https://docs.deno.com/runtime/manual/tools/formatter" class="font-bold inline-block hover:underline focus:underline">Learn more <span aria-hidden="true">›</span></a><div class="mt-16"><div class="border border-gray-1 rounded-lg p-6 sm:p-8 rounded-b-none border-b-0 text-center"><div class="text-gray-50 text-base max-w-full rounded-md leading-none -mt-[calc(3rem+1px)] sm:-mt-[calc(4rem+1px)] mb-8 border border-gray-1 shadow-lg" mode="light" lang="bash" code="$ deno fmt --line-width=120" data-animate-code="true"><div class="highlight markdown-body" data-color-mode="light" data-dark-theme="light"><pre class="p-8 highlight text-base" style="--color-canvas-subtle: var(--white);"><code><span></span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">$ deno fmt </span><span class="token operator" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">--</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">line</span><span class="token operator" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">-</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">width</span><span class="token operator" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">=</span><span class="token number" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">120</span></code></pre></div></div><img src="/images/homepage/formatter_lines.svg?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1" alt="" class="mx-auto"></div></div></div></div></div></div><div class="flex flex-col items-center justify-center py-24 md:py-32 lg:py-36
        "><div class="w-full flex flex-col items-center gap-24 md:gap-32 section-x-inset-xl"><style>
@supports (animation-timeline: view()) {
  #security-demo {
    --duration: 0.35s;
    --delay: 0.5s;
  }

  #security-demo pre > code > div {
    position: relative;
  }

  #security-demo pre > code > div::before {
    content: '';
    width: 200%;
    height: 100%;
    position: absolute;
    left: -50%;
    background: linear-gradient(to right, transparent, var(--offblack) 15%);
    animation: code_slide linear both;
    animation-timeline: view();
    animation-range: 35vh 45vh;
    opacity: 1;
  }

  @keyframes code_slide {
    to {
      transform: translateX(100%);
    }
  }
}</style><div class="flex flex-col w-full gap-4 text-center items-center animate-in " data-component="heading-group" animatein="true"><h2 as="h2" visualsize="2xl" class="text-balance text-heading-2xl" data-component="heading">Secure by default</h2><div data-component="subhead" class="text-lg text-gray-4 dark:text-gray-3 max-w-prose text-balance ">A program run with Deno has no file, network, or environment access unless explicitly enabled.</div></div><div class="grid grid-cols-1 items-center gap-8 md:gap-16 xl:gap-32  md:grid-cols-2 lg:grid-cols-2 "><div align="left" class="flex flex-col w-full gap-4 text-left items-start " data-component="heading-group"><h3 as="h3" visualsize="lg" class="text-balance text-heading-lg" data-component="heading">Prevent supply chain attacks</h3><div data-component="subhead" class="text-lg text-gray-4 dark:text-gray-3 max-w-prose text-balance "><p class="mt-4">Stop worrying about npm modules introducing unexpected vulnerabilities. Deno restricts access to the file system, network, and system environment by default, so code can access only what you allow.</p></div><div class="mt-4"><a href="https://docs.deno.com/runtime/manual/basics/permissions" class="group inline-block w-full max-w-max rounded-full overflow-hidden bg-runtime hover:bg-transparent hover:animate-half-border-spin mt-4" style="--outer-radius:9999px;--border-size:2px;--inner-radius:calc(var(--outer-radius) - var(--border-size));background-image:conic-gradient(from var(--border-gradient-angle) at 0.5rem 150%, transparent, transparent 25%, black 25%, black 75%, transparent 75%, transparent);border-radius:var(--outer-radius);padding:var(--border-size);"><div class="flex text-left items-center text-balance transition-color duration-200 bg-runtime py-4 px-6 gap-4 text-black" style="border-radius:var(--inner-radius);">Security in Deno<svg class="flex-none" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.96967 12.5303C3.67678 12.2374 3.67678 11.7626 3.96967 11.4697L8.43934 7L3.96967 2.53033C3.67678 2.23744 3.67678 1.76256 3.96967 1.46967C4.26256 1.17678 4.73744 1.17678 5.03033 1.46967L10.0303 6.46967C10.3232 6.76256 10.3232 7.23744 10.0303 7.53033L5.03033 12.5303C4.73744 12.8232 4.26256 12.8232 3.96967 12.5303Z" fill="currentColor"></path></svg></div></a></div></div><div class="w-full grid grid-cols-1 gap-8" id="security-demo"><div class="space-y-2 overflow-clip"><h4 as="h4" visualsize="sm" class="text-balance text-heading-sm" data-component="heading">Other runtimes</h4><pre class="p-8 rounded-md highlight text-base bg-offblack text-white"><code><div>$ node <b>random.js</b></div><div class="h-[1em]"></div><div class="text-gray-2">Executing <b>random.js</b>...</div><div class="h-[0.5em]"></div><div class="h-[0.5em]"></div><div class="text-red-500 font-semibold">🚨 File system compromised!</div></code></pre></div><div class="space-y-2 overflow-clip"><h4 as="h4" visualsize="sm" class="text-balance text-heading-sm" data-component="heading">Deno</h4><pre class="p-8 rounded-md highlight text-base bg-offblack text-white"><code><div>$ deno <b>random.js</b></div><div class="h-[1em]"></div><div class="text-gray-2"><b>⚠️ Deno requests write access</b></div><div><b>Allow?</b> [y/n/A]</div><div class="h-[0.5em]"></div><div class="h-[0.5em]"></div><div>$ n</div><div class="h-0"></div><div class="text-runtime font-semibold">❌ Denied write access</div><div>Exited</div></code></pre></div></div></div></div></div><div class="flex flex-col items-center justify-center py-24 md:py-32 lg:py-36
        "><div class="w-full flex flex-col items-center gap-24 md:gap-32 section-x-inset-xl"><div class="w-full"><div class="flex flex-col w-full gap-4 text-center items-center animate-in " data-component="heading-group" animatein="true"><h2 as="h2" visualsize="2xl" class="text-balance text-heading-2xl" data-component="heading">Backwards compatible with Node.js</h2><div data-component="subhead" class="text-lg text-gray-4 dark:text-gray-3 max-w-prose text-balance ">Deno's Node.js compatibility layer means you can bring the best of the Node ecosystem with you to Deno.</div><div class="mt-4"><a href="https://docs.deno.com/runtime/manual/node/migrate" class="group inline-block w-full max-w-max rounded-full overflow-hidden bg-runtime hover:bg-transparent hover:animate-half-border-spin mt-4" style="--outer-radius:9999px;--border-size:2px;--inner-radius:calc(var(--outer-radius) - var(--border-size));background-image:conic-gradient(from var(--border-gradient-angle) at 0.5rem 150%, transparent, transparent 25%, black 25%, black 75%, transparent 75%, transparent);border-radius:var(--outer-radius);padding:var(--border-size);"><div class="flex text-left items-center text-balance transition-color duration-200 bg-runtime py-4 px-6 gap-4 text-black" style="border-radius:var(--inner-radius);">Migrate from Node.js to Deno<svg class="flex-none" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.96967 12.5303C3.67678 12.2374 3.67678 11.7626 3.96967 11.4697L8.43934 7L3.96967 2.53033C3.67678 2.23744 3.67678 1.76256 3.96967 1.46967C4.26256 1.17678 4.73744 1.17678 5.03033 1.46967L10.0303 6.46967C10.3232 6.76256 10.3232 7.23744 10.0303 7.53033L5.03033 12.5303C4.73744 12.8232 4.26256 12.8232 3.96967 12.5303Z" fill="currentColor"></path></svg></div></a></div></div></div><div class="grid grid-cols-1 items-center gap-8 md:gap-16 xl:gap-32  md:grid-cols-2 lg:grid-cols-3/2 "><div class="relative"><img src="/images/homepage/peek-around.svg?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1" alt="" class="w-full max-w-16 absolute -top-12 -left-4" style="transform: rotateY(180deg)"><div name="server.ts" mode="light" class="rounded-lg border overflow-hidden w-full max-w-full shadow-lg border-gray-1 bg-white" data-animate-code="true"><div class="flex items-stretch justify-start"><div class="border-b p-4 flex items-center border-gray-1"><img src="/images/icons/window-buttons.svg?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1" alt=""></div><div class="border-b border-l p-4 w-full border-gray-1">server.ts</div></div><div rounded="none" break="normal" code="import express from &quot;npm:express@4&quot;;

const app = express();

app.get(&quot;/&quot;, function (_req, res) {
  res.send(&quot;hello&quot;);
});

app.listen(3000, () => {
  console.log(&quot;Express listening on :3000&quot;);
});" mode="light" class="text-gray-50 text-base max-w-full rounded-none break-normal"><div class="highlight markdown-body" data-color-mode="light" data-dark-theme="light"><pre class="p-8 highlight text-base" style="--color-canvas-subtle: var(--white);"><code><span><span class="token keyword module" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">import</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"> </span><span class="token imports" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">express</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"> </span><span class="token keyword module" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">from</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"> </span><span class="token string" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">"npm:express@4"</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">;</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">

</span><span class="token keyword" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">const</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"> app </span><span class="token operator" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">=</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"> </span><span class="token function" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">express</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">(</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">)</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">;</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">

app</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">.</span><span class="token method function property-access" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">get</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">(</span><span class="token string" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">"/"</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">,</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"> </span><span class="token keyword" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">function</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"> </span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">(</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">_req</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">,</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"> res</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">)</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"> </span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">{</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">
  res</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">.</span><span class="token method function property-access" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">send</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">(</span><span class="token string" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">"hello"</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">)</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">;</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">
</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">}</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">)</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">;</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">

app</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">.</span><span class="token method function property-access" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">listen</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">(</span><span class="token number" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">3000</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">,</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"> </span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">(</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">)</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"> </span><span class="token arrow operator" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">=&gt;</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"> </span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">{</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">
  </span><span class="token console class-name" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">console</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">.</span><span class="token method function property-access" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">log</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">(</span><span class="token string" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">"Express listening on :3000"</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">)</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">;</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">
</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">}</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">)</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">;</span></span></code></pre></div></div><div class="text-gray-50 text-base max-w-full rounded-none break-normal border-t border-gray-1" rounded="none" break="normal" code="$ deno run --allow-net --allow-read --allow-env server.js" mode="light"><div class="highlight markdown-body" data-color-mode="light" data-dark-theme="light"><pre class="p-8 highlight text-base" style="--color-canvas-subtle: var(--white);"><code><span></span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">$ deno run </span><span class="token operator" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">--</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">allow</span><span class="token operator" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">-</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">net </span><span class="token operator" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">--</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">allow</span><span class="token operator" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">-</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">read </span><span class="token operator" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">--</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">allow</span><span class="token operator" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">-</span><span class="token" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">env server</span><span class="token punctuation" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">.</span><span class="token property-access" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;">js</span></code></pre></div></div></div><div class="h-22 w-22 rounded-full bg-white shadow-lg border border-gray-1 items-center justify-center flex mx-auto -mt-8 z-10 lg:absolute lg:top-48 lg:-right-[2.75rem]"><img class="w-full max-w-16" alt="" src="runtime/npm.png"></div></div><div align="left" class="flex flex-col w-full gap-4 text-left items-start " data-component="heading-group"><h3 as="h3" visualsize="xl" id="npm-modules" class="text-balance text-heading-xl" data-component="heading">Compatible with millions of npm modules</h3><div data-component="subhead" class="text-lg text-gray-4 dark:text-gray-3 max-w-prose text-balance ">Include modules from npm in your Deno projects using <code>npm:</code>specifiers.</div><div class="mt-4"><a href="https://docs.deno.com/runtime/manual/node" class="group inline-block w-full max-w-max rounded-full overflow-hidden bg-runtime hover:bg-transparent hover:animate-half-border-spin mt-4" style="--outer-radius:9999px;--border-size:2px;--inner-radius:calc(var(--outer-radius) - var(--border-size));background-image:conic-gradient(from var(--border-gradient-angle) at 0.5rem 150%, transparent, transparent 25%, black 25%, black 75%, transparent 75%, transparent);border-radius:var(--outer-radius);padding:var(--border-size);"><div class="flex text-left items-center text-balance transition-color duration-200 bg-runtime py-4 px-6 gap-4 text-black" style="border-radius:var(--inner-radius);">Node and npm support<svg class="flex-none" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.96967 12.5303C3.67678 12.2374 3.67678 11.7626 3.96967 11.4697L8.43934 7L3.96967 2.53033C3.67678 2.23744 3.67678 1.76256 3.96967 1.46967C4.26256 1.17678 4.73744 1.17678 5.03033 1.46967L10.0303 6.46967C10.3232 6.76256 10.3232 7.23744 10.0303 7.53033L5.03033 12.5303C4.73744 12.8232 4.26256 12.8232 3.96967 12.5303Z" fill="currentColor"></path></svg></div></a></div></div></div><div class="grid grid-cols-1 items-center gap-8 md:gap-16 xl:gap-32  md:grid-cols-2  lg:grid-cols-2/3 "><div align="left" class="flex flex-col w-full gap-4 text-left items-start " data-component="heading-group"><h3 as="h3" visualsize="xl" class="text-balance text-heading-xl" data-component="heading">High-performance networking</h3><div data-component="subhead" class="text-lg text-gray-4 dark:text-gray-3 max-w-prose text-balance ">Out of the box support for:<ul class="list-disc list-inside ml-3 mt-2"><li>HTTPS (encryption)</li><li>WebSocket</li><li>HTTP2</li><li>Automatic response body compression</li></ul></div><div class="mt-4"><a href="https://docs.deno.com/runtime/manual/runtime/http_server_apis/" class="group inline-block w-full max-w-max rounded-full overflow-hidden bg-runtime hover:bg-transparent hover:animate-half-border-spin mt-4" style="--outer-radius:9999px;--border-size:2px;--inner-radius:calc(var(--outer-radius) - var(--border-size));background-image:conic-gradient(from var(--border-gradient-angle) at 0.5rem 150%, transparent, transparent 25%, black 25%, black 75%, transparent 75%, transparent);border-radius:var(--outer-radius);padding:var(--border-size);"><div class="flex text-left items-center text-balance transition-color duration-200 bg-runtime py-4 px-6 gap-4 text-black" style="border-radius:var(--inner-radius);">View documentation<svg class="flex-none" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.96967 12.5303C3.67678 12.2374 3.67678 11.7626 3.96967 11.4697L8.43934 7L3.96967 2.53033C3.67678 2.23744 3.67678 1.76256 3.96967 1.46967C4.26256 1.17678 4.73744 1.17678 5.03033 1.46967L10.0303 6.46967C10.3232 6.76256 10.3232 7.23744 10.0303 7.53033L5.03033 12.5303C4.73744 12.8232 4.26256 12.8232 3.96967 12.5303Z" fill="currentColor"></path></svg></div></a></div></div><div class="flex flex-col gap-8"><div class="w-full grid grid-cols-1 gap-4 items-start auto-rows-max bg-white dark:bg-offblack border border-gray-1 dark:border dark:border-gray-6 shadow-lg dark:shadow-none rounded-md p-6 sm:p-8 !p-0 !gap-0 overflow-hidden"><div class="border-b p-6 sm:p-8 lg:p-16"><h4 as="h4" class="text-balance text-heading-md" data-component="heading" visualsize="md">Bigger is better</h4><p class="text-gray-2 mt-2">Throughput, requests per sec</p></div><div class="flex w-full justify-between items-end" style="min-height: 24rem; background-image: linear-gradient(to right, white, white calc(50% - 0.5px), var(--gray-1) calc(50% - 0.5px), var(--gray-1) calc(50% + 0.5px), white calc(50% + 0.5px), white;"><div class="w-full p-6 sm:p-8 lg:p-16"><div class="rounded-md flex items-center justify-center text-black bg-runtime" aria-labelledby="comparison-deno" style="height: 0px;"></div><div class="flex justify-between flex-wrap gap-1 items-center leading-none mt-4"><div id="comparison-deno" class="text-center font-bold">Deno</div><span class="px-2 py-1 rounded bg-runtime min-w-[8ch] text-center">0</span></div></div><div class="w-full p-6 sm:p-8 lg:p-16"><div class="rounded-md flex items-center justify-center bg-gray-5 text-white" style="height: 0px;" aria-labelledby="comparison-node"></div><div class="flex justify-between flex-wrap gap-1 items-center leading-none mt-4"><div id="comparison-node" class="text-center font-bold">Node</div><span class="px-2 py-1 rounded bg-offblack text-white min-w-[8ch] text-center">0</span></div></div></div></div></div></div></div></div><div class="flex flex-col items-center justify-center py-24 md:py-32 lg:py-36
        "><div class="w-full flex flex-col items-center gap-24 md:gap-32 section-x-inset-xl"><div><div class="flex flex-col w-full gap-4 text-center items-center animate-in " data-component="heading-group" animatein="true"><h2 as="h2" visualsize="2xl" class="text-balance text-heading-2xl" data-component="heading">Built for the cloud</h2><div data-component="subhead" class="text-lg text-gray-4 dark:text-gray-3 max-w-prose text-balance ">Whether you deploy with our lightning-fast Deno Deploy or on other cloud providers, Deno streamlines your experience.</div><h3 as="h3" visualsize="sm" class="text-balance text-heading-sm text-center mt-8" data-component="heading"><span aria-hidden="true">—</span> Deno runs on <span aria-hidden="true">—</span></h3></div><div class="flex justify-center"><ul class="flex flex-wrap justify-center items-center gap-x-4 gap-y-2 mt-6" data-animate-list="true"><li class="flex gap-4" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"><a href="https://hub.docker.com/r/denoland/deno" title="Docker"><img class="h-16 w-16 p-3 rounded-full bg-white shadow-lg border border-gray-0 hover:bg-gray-0 transition-colors" src="runtime/company/docker-light.svg" alt="Docker" width="23" height="23"><div class="sr-only">Official Docker image</div></a></li><li class="flex gap-4" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"><a href="https://github.com/hayd/deno-lambda" title="AWS Lambda distribution"><img class="h-16 w-16 p-3 rounded-full bg-white shadow-lg border border-gray-0 hover:bg-gray-0 transition-colors" src="runtime/company/aws-dark.svg" alt="AWS Lambda distribution" width="23" height="23"><div class="sr-only">hayd/deno-lambda</div></a></li><li class="flex gap-4" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"><a href="https://docs.deno.com/runtime/manual/advanced/deploying_deno/digital_ocean" title="DigitalOcean"><img class="h-16 w-16 p-3 rounded-full bg-white shadow-lg border border-gray-0 hover:bg-gray-0 transition-colors" src="runtime/company/digitalocean-light.svg" alt="DigitalOcean" width="23" height="23"><div class="sr-only">How to Deploy Deno to Digital Ocean</div></a></li><li class="flex gap-4" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"><a href="https://fly.io/docs/languages-and-frameworks/deno/" title="Fly.io"><img class="h-16 w-16 p-3 rounded-full bg-white shadow-lg border border-gray-0 hover:bg-gray-0 transition-colors" src="runtime/company/fly-io-light.svg" alt="Fly.io" width="23" height="23"><div class="sr-only">Run a Deno App - Fly.io Docs</div></a></li><li class="flex gap-4" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"><a href="https://github.com/skymethod/denoflare" title="Cloudflare"><img class="h-16 w-16 p-3 rounded-full bg-white shadow-lg border border-gray-0 hover:bg-gray-0 transition-colors" src="runtime/company/cloudflare-light.svg" alt="Cloudflare" width="23" height="23"><div class="sr-only">skymethod/denoflare</div></a></li><li class="flex gap-4" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"><a href="https://github.com/anthonychu/azure-functions-deno-worker" title="Azure"><img class="h-16 w-16 p-3 rounded-full bg-white shadow-lg border border-gray-0 hover:bg-gray-0 transition-colors" src="runtime/company/azure-light.svg" alt="Azure" width="23" height="23"><div class="sr-only">anthonychu/azure-functions-deno-worker</div></a></li><li class="flex gap-4" style="translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;"><a href="https://docs.deno.com/runtime/manual/advanced/deploying_deno/google_cloud_run" title="Google Cloud Run"><img class="h-16 w-16 p-3 rounded-full bg-white shadow-lg border border-gray-0 hover:bg-gray-0 transition-colors" src="runtime/company/gcloud-light.svg" alt="Google Cloud Run" width="23" height="23"><div class="sr-only">How to Deploy to Google Cloud Run</div></a></li></ul></div></div></div></div><div class="flex flex-col items-center justify-center py-24 md:py-32 lg:py-36
        dark"><div class="w-full flex flex-col items-center gap-24 md:gap-32 section-x-inset-xl"><div class="flex flex-col gap-16"><div class="flex flex-col w-full gap-4 text-center items-center mb-32" data-component="heading-group"><h3 as="h3" visualsize="xl" class="text-balance text-heading-xl text-center" data-component="heading">Go further with Deno cloud products</h3><div data-component="subhead" class="text-lg text-gray-4 dark:text-gray-3 max-w-prose text-balance ">Products built on Deno to help you deploy TypeScript and JavaScript easily and securely at any scale.</div></div><div class="grid grid-cols-1 items-center gap-8 md:gap-16 xl:gap-32  md:grid-cols-2 lg:grid-cols-2 items-stretch"><div brand="deploy" class="p-px bg-double-radial-gradient rounded-lg !rounded-md flex items-stretch" style="--from: var(--deploy); --to: var(--deploy-dark); undefined"><div class="w-full grid grid-cols-1 gap-4 items-start auto-rows-max bg-white dark:bg-offblack border border-gray-1 dark:border dark:border-gray-6 shadow-lg dark:shadow-none rounded-md p-6 sm:p-8 !bg-black content-between"><div class="space-y-4 mb-4"><img src="/images/homepage/deploy.svg?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1" class="w-full max-w-[10rem] mb-4 -ml-4 -mt-28 bg-black px-4" alt=""><div class="flex flex-col gap-2"><h4 as="h4" visualsize="lg" class="text-balance text-heading-lg" data-component="heading">Deno Deploy</h4><p class="text-gray-2">For developers looking for the simplest way to host web apps and APIs</p></div><ul class="flex flex-col justify-start lg:justify-center max-w-sm mt-2 lg:max-w-full text-gray-2" data-animate-list="true"><li class="grid gap-4 items-center justify-center text-gray-300 " style="grid-template-columns: 2.5rem 1fr; min-height: 4em; translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;" data-component="checklist-item"><span aria-hidden="true"><svg viewBox="0 0 32 32" width="100%" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-deploy"><title>Checkmark icon</title><circle cx="16" cy="16" r="16" fill="var(--deploy-dark)"></circle><path d="M9 16.9091L13.375 21L23 12" stroke="currentColor"></path></svg></span>Fully managed serverless solution</li><li class="grid gap-4 items-center justify-center text-gray-300 " style="grid-template-columns: 2.5rem 1fr; min-height: 4em; translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;" data-component="checklist-item"><span aria-hidden="true"><svg viewBox="0 0 32 32" width="100%" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-deploy"><title>Checkmark icon</title><circle cx="16" cy="16" r="16" fill="var(--deploy-dark)"></circle><path d="M9 16.9091L13.375 21L23 12" stroke="currentColor"></path></svg></span>Globally distributed</li><li class="grid gap-4 items-center justify-center text-gray-300 " style="grid-template-columns: 2.5rem 1fr; min-height: 4em; translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;" data-component="checklist-item"><span aria-hidden="true"><svg viewBox="0 0 32 32" width="100%" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-deploy"><title>Checkmark icon</title><circle cx="16" cy="16" r="16" fill="var(--deploy-dark)"></circle><path d="M9 16.9091L13.375 21L23 12" stroke="currentColor"></path></svg></span>Built-in key/value database, queues, cron, and more</li><li class="grid gap-4 items-center justify-center text-gray-300 " style="grid-template-columns: 2.5rem 1fr; min-height: 4em; translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;" data-component="checklist-item"><span aria-hidden="true"><svg viewBox="0 0 32 32" width="100%" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-deploy"><title>Checkmark icon</title><circle cx="16" cy="16" r="16" fill="var(--deploy-dark)"></circle><path d="M9 16.9091L13.375 21L23 12" stroke="currentColor"></path></svg></span>Integrated directly with GitHub</li></ul></div><div class="w-full flex gap-4 flex-wrap items-center mb-2 sm:flex-col sm:items-start lg:flex-row lg:items-center"><div class="flex items-center"><a href="https://dash.deno.com/" class="group inline-block w-full max-w-max rounded-full overflow-hidden bg-deploy hover:bg-transparent hover:animate-half-border-spin undefined" style="--outer-radius:9999px;--border-size:2px;--inner-radius:calc(var(--outer-radius) - var(--border-size));background-image:conic-gradient(from var(--border-gradient-angle) at 0.5rem 150%, transparent, transparent 25%, black 25%, black 75%, transparent 75%, transparent);border-radius:var(--outer-radius);padding:var(--border-size);"><div class="flex text-left items-center text-balance transition-color duration-200 bg-deploy py-4 px-6 gap-4 text-black" style="border-radius:var(--inner-radius);">Try Deploy<svg class="flex-none" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.96967 12.5303C3.67678 12.2374 3.67678 11.7626 3.96967 11.4697L8.43934 7L3.96967 2.53033C3.67678 2.23744 3.67678 1.76256 3.96967 1.46967C4.26256 1.17678 4.73744 1.17678 5.03033 1.46967L10.0303 6.46967C10.3232 6.76256 10.3232 7.23744 10.0303 7.53033L5.03033 12.5303C4.73744 12.8232 4.26256 12.8232 3.96967 12.5303Z" fill="currentColor"></path></svg></div></a></div><div class="flex items-center"><a href="/deploy" class="group inline-block w-full max-w-max rounded-full overflow-hidden bg-gray-5 hover:bg-transparent hover:animate-half-border-spin undefined" style="--outer-radius:9999px;--border-size:2px;--inner-radius:calc(var(--outer-radius) - var(--border-size));background-image:conic-gradient(from var(--border-gradient-angle) at 0.5rem 150%, transparent, transparent 25%, black 25%, black 75%, transparent 75%, transparent);border-radius:var(--outer-radius);padding:var(--border-size);"><div class="flex text-left items-center text-balance transition-color duration-200 bg-gray-5 py-4 px-6 gap-4 text-white" style="border-radius:var(--inner-radius);">Learn more<svg class="flex-none" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.96967 12.5303C3.67678 12.2374 3.67678 11.7626 3.96967 11.4697L8.43934 7L3.96967 2.53033C3.67678 2.23744 3.67678 1.76256 3.96967 1.46967C4.26256 1.17678 4.73744 1.17678 5.03033 1.46967L10.0303 6.46967C10.3232 6.76256 10.3232 7.23744 10.0303 7.53033L5.03033 12.5303C4.73744 12.8232 4.26256 12.8232 3.96967 12.5303Z" fill="currentColor"></path></svg></div></a></div></div></div></div><div class="p-px bg-double-radial-gradient rounded-lg !rounded-md flex items-stretch mt-24 md:mt-0" brand="subhosting" style="--from: var(--subhosting); --to: var(--subhosting-dark); undefined"><div class="w-full grid grid-cols-1 gap-4 items-start auto-rows-max bg-white dark:bg-offblack border border-gray-1 dark:border dark:border-gray-6 shadow-lg dark:shadow-none rounded-md p-6 sm:p-8 !bg-black content-between"><div class="space-y-4 mb-4"><img src="/images/homepage/subhosting.svg?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1" class="w-full max-w-[10rem] mb-4 -ml-4 -mt-28 bg-black px-4" alt=""><div class="flex flex-col gap-2"><h4 as="h4" visualsize="lg" class="text-balance text-heading-lg" data-component="heading">Deno Subhosting</h4><p class="text-gray-2">For SaaS companies looking to run user code securely</p></div><ul class="flex flex-col justify-start lg:justify-center max-w-sm mt-2 lg:max-w-full text-gray-2" data-animate-list="true"><li class="grid gap-4 items-center justify-center text-gray-300 " style="grid-template-columns: 2.5rem 1fr; min-height: 4em; translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;" data-component="checklist-item"><span aria-hidden="true"><svg viewBox="0 0 32 32" width="100%" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-subhosting"><title>Checkmark icon</title><circle cx="16" cy="16" r="16" fill="var(--subhosting-dark)"></circle><path d="M9 16.9091L13.375 21L23 12" stroke="currentColor"></path></svg></span>Secure sandboxed functions</li><li class="grid gap-4 items-center justify-center text-gray-300 " style="grid-template-columns: 2.5rem 1fr; min-height: 4em; translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;" data-component="checklist-item"><span aria-hidden="true"><svg viewBox="0 0 32 32" width="100%" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-subhosting"><title>Checkmark icon</title><circle cx="16" cy="16" r="16" fill="var(--subhosting-dark)"></circle><path d="M9 16.9091L13.375 21L23 12" stroke="currentColor"></path></svg></span>Automatic scaling and provisioning</li><li class="grid gap-4 items-center justify-center text-gray-300 " style="grid-template-columns: 2.5rem 1fr; min-height: 4em; translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;" data-component="checklist-item"><span aria-hidden="true"><svg viewBox="0 0 32 32" width="100%" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-subhosting"><title>Checkmark icon</title><circle cx="16" cy="16" r="16" fill="var(--subhosting-dark)"></circle><path d="M9 16.9091L13.375 21L23 12" stroke="currentColor"></path></svg></span>Globally distributed</li><li class="grid gap-4 items-center justify-center text-gray-300 " style="grid-template-columns: 2.5rem 1fr; min-height: 4em; translate: none; rotate: none; scale: none; transform: translate(0px, 1rem); opacity: 0;" data-component="checklist-item"><span aria-hidden="true"><svg viewBox="0 0 32 32" width="100%" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-subhosting"><title>Checkmark icon</title><circle cx="16" cy="16" r="16" fill="var(--subhosting-dark)"></circle><path d="M9 16.9091L13.375 21L23 12" stroke="currentColor"></path></svg></span>Manage via a simple API</li></ul></div><div class="w-full flex gap-4 flex-wrap items-center mb-2 sm:flex-col sm:items-start lg:flex-row lg:items-center"><div class="flex items-center"><a href="http://dash.deno.com/subhosting/new_auto" class="group inline-block w-full max-w-max rounded-full overflow-hidden bg-subhosting hover:bg-transparent hover:animate-half-border-spin undefined" style="--outer-radius:9999px;--border-size:2px;--inner-radius:calc(var(--outer-radius) - var(--border-size));background-image:conic-gradient(from var(--border-gradient-angle) at 0.5rem 150%, transparent, transparent 25%, black 25%, black 75%, transparent 75%, transparent);border-radius:var(--outer-radius);padding:var(--border-size);"><div class="flex text-left items-center text-balance transition-color duration-200 bg-subhosting py-4 px-6 gap-4 text-black" style="border-radius:var(--inner-radius);">Try Subhosting<svg class="flex-none" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.96967 12.5303C3.67678 12.2374 3.67678 11.7626 3.96967 11.4697L8.43934 7L3.96967 2.53033C3.67678 2.23744 3.67678 1.76256 3.96967 1.46967C4.26256 1.17678 4.73744 1.17678 5.03033 1.46967L10.0303 6.46967C10.3232 6.76256 10.3232 7.23744 10.0303 7.53033L5.03033 12.5303C4.73744 12.8232 4.26256 12.8232 3.96967 12.5303Z" fill="currentColor"></path></svg></div></a></div><div class="flex items-center"><a href="/subhosting" class="group inline-block w-full max-w-max rounded-full overflow-hidden bg-gray-5 hover:bg-transparent hover:animate-half-border-spin undefined" style="--outer-radius:9999px;--border-size:2px;--inner-radius:calc(var(--outer-radius) - var(--border-size));background-image:conic-gradient(from var(--border-gradient-angle) at 0.5rem 150%, transparent, transparent 25%, black 25%, black 75%, transparent 75%, transparent);border-radius:var(--outer-radius);padding:var(--border-size);"><div class="flex text-left items-center text-balance transition-color duration-200 bg-gray-5 py-4 px-6 gap-4 text-white" style="border-radius:var(--inner-radius);">Learn more<svg class="flex-none" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.96967 12.5303C3.67678 12.2374 3.67678 11.7626 3.96967 11.4697L8.43934 7L3.96967 2.53033C3.67678 2.23744 3.67678 1.76256 3.96967 1.46967C4.26256 1.17678 4.73744 1.17678 5.03033 1.46967L10.0303 6.46967C10.3232 6.76256 10.3232 7.23744 10.0303 7.53033L5.03033 12.5303C4.73744 12.8232 4.26256 12.8232 3.96967 12.5303Z" fill="currentColor"></path></svg></div></a></div></div></div></div></div></div></div></div><div class="flex flex-col items-center justify-center py-24 md:py-32 lg:py-36
        border-b" style="background: linear-gradient(to bottom, #BDDCFB16, #8DECB616, #DBB80016, transparent)"><div class="w-full flex flex-col items-center gap-24 md:gap-32 section-x-inset-xl"><div class="flex flex-col w-full gap-4 text-center items-center animate-in " data-component="heading-group" animatein="true"><img src="/runtime/fresh.svg?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1" class="w-full max-w-[8rem]" alt=""><h2 as="h2" visualsize="2xl" class="text-balance text-heading-2xl" data-component="heading">The <span class="text-fresh">Fresh</span>est web framework</h2><div data-component="subhead" class="text-lg text-gray-4 dark:text-gray-3 max-w-prose text-balance "><a href="https://fresh.deno.dev" class="underline">Fresh</a> is a server-rendered web framework for Deno, built with <a href="https://preactjs.com/" class="underline">Preact</a> for blazing speed and instant productivity.</div></div><div class="grid grid-cols-1 items-center gap-8 md:gap-16 xl:gap-32  md:grid-cols-2/3  lg:grid-cols-2/3 "><div align="left" class="flex flex-col w-full gap-4 text-left items-start " data-component="heading-group"><h3 as="h3" visualsize="lg" class="text-balance text-heading-lg" data-component="heading">Build fast sites fast</h3><div data-component="subhead" class="text-lg text-gray-4 dark:text-gray-3 max-w-prose text-balance ">Author routes as the JSX (or TSX) components you already know and love, and Fresh handles dynamic server-side rendering by default.</div></div><div mode="light" name="/routes/index.tsx" class="rounded-lg border overflow-hidden w-full max-w-full shadow-lg border-gray-1 bg-white"><div class="flex items-stretch justify-start"><div class="border-b p-4 flex items-center border-gray-1"><img src="/images/icons/window-buttons.svg?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1" alt=""></div><div class="border-b border-l p-4 w-full border-gray-1">/routes/index.tsx</div></div><div mode="light" code="export default function HomePage() {
  return (
    <div>
      <h1>HTML fresh from the server!</h1>
      <p>
        Delivered at
        {new Date().toLocaleTimeString()}
      </p>
    </div>
  );
}" language="jsx" class="text-gray-50 text-base max-w-full rounded-md"><div class="highlight markdown-body" data-color-mode="light" data-dark-theme="light"><pre class="p-8 highlight text-base" style="--color-canvas-subtle: var(--white);"><code><span><span class="token keyword module">export</span><span class="token"> </span><span class="token keyword module">default</span><span class="token"> </span><span class="token keyword">function</span><span class="token"> </span><span class="token function"><span class="token maybe-class-name">HomePage</span></span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token"> </span><span class="token punctuation">{</span><span class="token">
  </span><span class="token keyword control-flow">return</span><span class="token"> </span><span class="token punctuation">(</span><span class="token">
    </span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span><span class="token">div</span></span><span class="token punctuation">&gt;</span></span><span class="token plain-text">
      </span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span><span class="token">h1</span></span><span class="token punctuation">&gt;</span></span><span class="token plain-text">HTML fresh from the server!</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span><span class="token">h1</span></span><span class="token punctuation">&gt;</span></span><span class="token plain-text">
      </span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span><span class="token">p</span></span><span class="token punctuation">&gt;</span></span><span class="token plain-text">
        Delivered at
        </span><span class="token punctuation">{</span><span class="token keyword">new</span><span class="token"> </span><span class="token class-name">Date</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token method function property-access">toLocaleTimeString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">}</span><span class="token plain-text">
      </span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span><span class="token">p</span></span><span class="token punctuation">&gt;</span></span><span class="token plain-text">
    </span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span><span class="token">div</span></span><span class="token punctuation">&gt;</span></span><span class="token">
  </span><span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token">
</span><span class="token punctuation">}</span></span></code></pre></div></div></div></div><div class="grid grid-cols-1 items-center gap-8 md:gap-16 xl:gap-32 swap-on-mobile md:grid-cols-3/2 lg:grid-cols-3/2 "><div mode="light" name="/islands/Counter.tsx" class="rounded-lg border overflow-hidden w-full max-w-full shadow-lg border-gray-1 bg-white"><div class="flex items-stretch justify-start"><div class="border-b p-4 flex items-center border-gray-1"><img src="/images/icons/window-buttons.svg?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1" alt=""></div><div class="border-b border-l p-4 w-full border-gray-1">/islands/Counter.tsx</div></div><div mode="light" code="import { useSignal } from &quot;@preact/signals&quot;;

export default function Counter() {
  const count = useSignal<number>(0);

  return (
    <button onClick={() => count.value += 1}>
      The count is {count.value}
    </button>
  );
}
" language="jsx" class="text-gray-50 text-base max-w-full rounded-md"><div class="highlight markdown-body" data-color-mode="light" data-dark-theme="light"><pre class="p-8 highlight text-base" style="--color-canvas-subtle: var(--white);"><code><span><span class="token keyword module">import</span><span class="token"> </span><span class="token imports"><span class="token punctuation">{</span><span class="token"> useSignal </span><span class="token punctuation">}</span></span><span class="token"> </span><span class="token keyword module">from</span><span class="token"> </span><span class="token string">"@preact/signals"</span><span class="token punctuation">;</span><span class="token">

</span><span class="token keyword module">export</span><span class="token"> </span><span class="token keyword module">default</span><span class="token"> </span><span class="token keyword">function</span><span class="token"> </span><span class="token function"><span class="token maybe-class-name">Counter</span></span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token"> </span><span class="token punctuation">{</span><span class="token">
  </span><span class="token keyword">const</span><span class="token"> count </span><span class="token operator">=</span><span class="token"> useSignal</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span><span class="token">number</span></span><span class="token punctuation">&gt;</span></span><span class="token plain-text">(0);

  return (
    </span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span><span class="token">button</span></span><span class="token"> </span><span class="token attr-name">onClick</span><span class="token script language-javascript"><span class="token script-punctuation punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token"> </span><span class="token arrow operator">=&gt;</span><span class="token"> count</span><span class="token punctuation">.</span><span class="token property-access">value</span><span class="token"> </span><span class="token operator">+=</span><span class="token"> </span><span class="token number">1</span><span class="token punctuation">}</span></span><span class="token punctuation">&gt;</span></span><span class="token plain-text">
      The count is </span><span class="token punctuation">{</span><span class="token">count</span><span class="token punctuation">.</span><span class="token property-access">value</span><span class="token punctuation">}</span><span class="token plain-text">
    </span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span><span class="token">button</span></span><span class="token punctuation">&gt;</span></span><span class="token plain-text">
  );
}
</span></span></code></pre></div></div></div><div align="left" class="flex flex-col w-full gap-4 text-left items-start " data-component="heading-group"><h3 as="h3" visualsize="lg" class="text-balance text-heading-lg" data-component="heading">Ship less JavaScript</h3><div data-component="subhead" class="text-lg text-gray-4 dark:text-gray-3 max-w-prose text-balance ">Island-based architecture lets you opt in to only the JavaScript you need, for absolutely minimal runtime overhead.</div></div></div><div class="flex items-center"><a href="https://fresh.deno.dev/" class="group inline-block w-full max-w-max rounded-full overflow-hidden bg-fresh hover:bg-transparent hover:animate-half-border-spin undefined" style="--outer-radius:9999px;--border-size:2px;--inner-radius:calc(var(--outer-radius) - var(--border-size));background-image:conic-gradient(from var(--border-gradient-angle) at 0.5rem 150%, transparent, transparent 25%, black 25%, black 75%, transparent 75%, transparent);border-radius:var(--outer-radius);padding:var(--border-size);"><div class="flex text-left items-center text-balance transition-color duration-200 bg-fresh py-4 px-6 gap-4 text-black" style="border-radius:var(--inner-radius);">Learn more about Fresh<svg class="flex-none" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.96967 12.5303C3.67678 12.2374 3.67678 11.7626 3.96967 11.4697L8.43934 7L3.96967 2.53033C3.67678 2.23744 3.67678 1.76256 3.96967 1.46967C4.26256 1.17678 4.73744 1.17678 5.03033 1.46967L10.0303 6.46967C10.3232 6.76256 10.3232 7.23744 10.0303 7.53033L5.03033 12.5303C4.73744 12.8232 4.26256 12.8232 3.96967 12.5303Z" fill="currentColor"></path></svg></div></a></div></div></div><div class="flex flex-col items-center justify-center py-24 md:py-32 lg:py-36
        relative"><div class="w-full flex flex-col items-center gap-24 md:gap-32 section-x-inset-xl"><style>@keyframes fill-circle {0%,15%,100%{stroke-dasharray:101;stroke-dashOffset:101;}99.99%{stroke-dasharray:101;stroke-dashOffset:0;}}}</style><div class="w-full flex flex-col gap-4 overflow-hidden max-w-screen-lg"><h2 class="text-gray-2">Our vibrant community</h2><div class="grid max-w-none transition-transform duration-700 ease-in-out items-center justify-start override-duration-if-prefers-reduced-motion" style="grid-template-columns: repeat(7, 1fr); width: 700%; transform: translateX(0%);"><figure><blockquote class="w-full max-w-screen-lg mx-auto text-pullquote">“I know this was gonna happen! Deno is truly building the fastest, most secure and personalizable JS runtime!”</blockquote><figcaption class="text-gray-2 mt-8">Manu (Qwik)</figcaption></figure><figure><blockquote class="w-full max-w-screen-lg mx-auto text-pullquote">“Deno's security model is PERFECT for this type of script.

Running a script from a rando off the internet? It asks for read access to only the CWD and then asks for access to the file it wants to write to. 👏”</blockquote><figcaption class="text-gray-2 mt-8">Wes Bos</figcaption></figure><figure><blockquote class="w-full max-w-screen-lg mx-auto text-pullquote">“I really think Deno is the easiest and most capable JS runtime. URL imports are slept on.”</blockquote><figcaption class="text-gray-2 mt-8">Atalocke</figcaption></figure><figure><blockquote class="w-full max-w-screen-lg mx-auto text-pullquote">“npm packages in Deno 👀

That’s an exciting development for those of us building at the edge.”</blockquote><figcaption class="text-gray-2 mt-8">Jason Lengstorf</figcaption></figure><figure><blockquote class="w-full max-w-screen-lg mx-auto text-pullquote">“This Deno thing is fast, no doubt about it. #denoland”</blockquote><figcaption class="text-gray-2 mt-8">Poorly Funded Snob</figcaption></figure><figure><blockquote class="w-full max-w-screen-lg mx-auto text-pullquote">“Deno: I have to use the browser APIs cause they are everywhere, and everywhere is my target runtime (the web).

The runtime that tries to mirror browser APIs server side makes my life easiest.”</blockquote><figcaption class="text-gray-2 mt-8">Taylor Young</figcaption></figure><figure><blockquote class="w-full max-w-screen-lg mx-auto text-pullquote">“Deno is fantastic. I am using it to level up a bit in terms of JavaScript and TypeScript and it is the easiest way to get going. Their tooling is like 100x simpler than all the usual Node stacks.”</blockquote><figcaption class="text-gray-2 mt-8">Stefan Arentz</figcaption></figure></div><ul class="flex flex-wrap gap-6 md:gap-x-8 mt-4 px-4 py-5 justify-start"><li><button class="rounded-full w-14 h-14 flex items-center justify-center bg-cover aspect-square transition hover:opacity-100 focus:opacity-100 scale-125 opacity-100" style="background-image: url(&quot;/images/lp/tweets/aYixU-64_x96.jpg&quot;);"><span class="sr-only">Manu (Qwik)(active)</span><svg viewBox="0 0 50 50" class="absolute -rotate-90 w-[calc(100%+4px)]"><circle cx="25" cy="25" r="23" fill="none" pathLength="100" stroke-width="2px" stroke="var(--runtime)" vectorEffect="non-scaling-stroke"></circle></svg></button></li><li><button class="rounded-full w-14 h-14 flex items-center justify-center bg-cover aspect-square transition hover:opacity-100 focus:opacity-100 scale-100 opacity-60" style="background-image: url(&quot;/images/lp/tweets/7G9vGTca_x96.jpg&quot;);"><span class="sr-only">Wes Bos</span></button></li><li><button class="rounded-full w-14 h-14 flex items-center justify-center bg-cover aspect-square transition hover:opacity-100 focus:opacity-100 scale-100 opacity-60" style="background-image: url(&quot;/images/lp/tweets/Y1Z1Vg7B_x96.jpg&quot;);"><span class="sr-only">Atalocke</span></button></li><li><button class="rounded-full w-14 h-14 flex items-center justify-center bg-cover aspect-square transition hover:opacity-100 focus:opacity-100 scale-100 opacity-60" style="background-image: url(&quot;/images/lp/tweets/tB5HL_ES_x96.jpg&quot;);"><span class="sr-only">Jason Lengstorf</span></button></li><li><button class="rounded-full w-14 h-14 flex items-center justify-center bg-cover aspect-square transition hover:opacity-100 focus:opacity-100 scale-100 opacity-60" style="background-image: url(&quot;/images/lp/tweets/PStazP3l_x96.jpg&quot;);"><span class="sr-only">Poorly Funded Snob</span></button></li><li><button class="rounded-full w-14 h-14 flex items-center justify-center bg-cover aspect-square transition hover:opacity-100 focus:opacity-100 scale-100 opacity-60" style="background-image: url(&quot;/images/lp/tweets/kl_6DN15_x96.jpg&quot;);"><span class="sr-only">Taylor Young</span></button></li><li><button class="rounded-full w-14 h-14 flex items-center justify-center bg-cover aspect-square transition hover:opacity-100 focus:opacity-100 scale-100 opacity-60" style="background-image: url(&quot;/images/lp/tweets/HRpAWT-7_x96.jpg&quot;);"><span class="sr-only">Stefan Arentz</span></button></li></ul></div><img src="/images/homepage/side-peek.svg?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1" alt="" class="w-full max-w-24 sm:max-w-32 xl:max-w-36 ml-auto transform absolute -bottom-12 right-0 lg:bottom-24 motion-reduce:!animate-none" style="animation: parallax 1ms linear both; animation-timeline: view(); animation-range: 0% 100%"></div></div><div class="flex flex-col items-center justify-center py-24 md:py-32 lg:py-36
        "><div class="w-full flex flex-col items-center gap-24 md:gap-32 section-x-inset-xl"><div class="flex flex-col w-full gap-4 text-center items-center min-h-[40vh] justify-center " data-component="heading-group"><h2 as="h2" visualsize="2xl" class="text-balance text-heading-2xl" data-component="heading">Ready to get started with Deno?</h2><div class="flex flex-wrap gap-4 md:gap-6 justify-center items-center mt-4"><div class="flex items-center"><a href="https://docs.deno.com/runtime/manual" class="group inline-block w-full max-w-max rounded-full overflow-hidden bg-runtime hover:bg-transparent hover:animate-half-border-spin undefined" style="--outer-radius:9999px;--border-size:2px;--inner-radius:calc(var(--outer-radius) - var(--border-size));background-image:conic-gradient(from var(--border-gradient-angle) at 0.5rem 150%, transparent, transparent 25%, black 25%, black 75%, transparent 75%, transparent);border-radius:var(--outer-radius);padding:var(--border-size);"><div class="flex text-left items-center text-balance transition-color duration-200 bg-runtime py-4 px-6 gap-4 text-black" style="border-radius:var(--inner-radius);">Install now<svg class="flex-none" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.96967 12.5303C3.67678 12.2374 3.67678 11.7626 3.96967 11.4697L8.43934 7L3.96967 2.53033C3.67678 2.23744 3.67678 1.76256 3.96967 1.46967C4.26256 1.17678 4.73744 1.17678 5.03033 1.46967L10.0303 6.46967C10.3232 6.76256 10.3232 7.23744 10.0303 7.53033L5.03033 12.5303C4.73744 12.8232 4.26256 12.8232 3.96967 12.5303Z" fill="currentColor"></path></svg></div></a></div><div class="flex items-center"><a href="https://docs.deno.com" class="group inline-block w-full max-w-max rounded-full overflow-hidden bg-gray-5 hover:bg-transparent hover:animate-half-border-spin undefined" style="--outer-radius:9999px;--border-size:2px;--inner-radius:calc(var(--outer-radius) - var(--border-size));background-image:conic-gradient(from var(--border-gradient-angle) at 0.5rem 150%, transparent, transparent 25%, black 25%, black 75%, transparent 75%, transparent);border-radius:var(--outer-radius);padding:var(--border-size);"><div class="flex text-left items-center text-balance transition-color duration-200 bg-gray-5 py-4 px-6 gap-4 text-white" style="border-radius:var(--inner-radius);">Read the docs<svg class="flex-none" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.96967 12.5303C3.67678 12.2374 3.67678 11.7626 3.96967 11.4697L8.43934 7L3.96967 2.53033C3.67678 2.23744 3.67678 1.76256 3.96967 1.46967C4.26256 1.17678 4.73744 1.17678 5.03033 1.46967L10.0303 6.46967C10.3232 6.76256 10.3232 7.23744 10.0303 7.53033L5.03033 12.5303C4.73744 12.8232 4.26256 12.8232 3.96967 12.5303Z" fill="currentColor"></path></svg></div></a></div></div></div></div></div></div></div></main><footer class="border-t text-runtime text-sm flex justify-center bg-offblack border-gray-5"><div class="section-x-inset-2xl py-8 w-full"><div class="grid grid-cols-1 gap-8 w-full py-16 leading-tight lg:grid lg:grid-cols-footer lg:items-start lg:justify-between"><a href="/" class="flex items-center lg:max-w-10 overflow-hidden" data-current="true" aria-current="page"><img src="/logos/dark-transparent.svg?__frsh_c=8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1" class="h-10 w-auto max-w-none block" alt="Deno logo"></a><div class="grid grid-cols-2 gap-y-12 gap-x-4 sm:grid-cols-3 md:grid-cols-4 md:gap-x-6 lg:flex lg:justify-between"><div><h2 class="leading-tight font-bold" id="FooterLearn">Learn</h2><ul aria-labelledby="FooterLearn" class="text-gray-300 flex-col flex flex-wrap p-0 gap-3 m-0 mt-4"><li><a href="/learn/nodes-security-problem" class="block hover:underline">Node's Security Problem</a></li><li><a href="/learn/nodes-complexity-problem" class="block hover:underline">Node's Complexity Problem</a></li><li><a href="/blog/the-future-of-web-is-on-the-edge" class="block hover:underline">Edge is the Future</a></li></ul></div><div><h2 class="leading-tight font-bold" id="FooterWhy Deno?">Why Deno?</h2><ul aria-labelledby="FooterWhy Deno?" class="text-gray-300 flex-col flex flex-wrap p-0 gap-3 m-0 mt-4"><li><a href="https://docs.deno.com/runtime/manual/advanced/typescript/overview/" class="block hover:underline">TypeScript Support</a></li><li><a href="https://docs.deno.com/runtime/manual/runtime/web_platform_apis/" class="block hover:underline">Web Standard APIs</a></li><li><a href="https://docs.deno.com/runtime/manual/tools" class="block hover:underline">All-in-one Tooling</a></li><li><a href="https://docs.deno.com/runtime/manual/basics/permissions" class="block hover:underline">Secure-by-default</a></li></ul></div><div><h2 class="leading-tight font-bold" id="FooterUse Cases">Use Cases</h2><ul aria-labelledby="FooterUse Cases" class="text-gray-300 flex-col flex flex-wrap p-0 gap-3 m-0 mt-4"><li><a href="/learn/scripts-clis" class="block hover:underline">Scripts and CLIs</a></li><li><a href="/learn/api-servers" class="block hover:underline">API Servers</a></li><li><a href="/learn/websites-apps" class="block hover:underline">Sites and Apps</a></li><li><a href="/learn/modules" class="block hover:underline">Modules</a></li><li><a href="/learn/serverless-functions" class="block hover:underline">Serverless Functions</a></li></ul></div><div><h2 class="leading-tight font-bold" id="FooterProducts">Products</h2><ul aria-labelledby="FooterProducts" class="text-gray-300 flex-col flex flex-wrap p-0 gap-3 m-0 mt-4"><li><a href="/" class="block hover:underline" data-current="true" aria-current="page">Deno Runtime</a></li><li><a href="/deploy" class="block hover:underline">Deno Deploy</a></li><li><a href="/kv" class="block hover:underline">Deno KV</a></li><li><a href="/deploy/subhosting" class="block hover:underline">Deploy Subhosting</a></li><li><a href="https://fresh.deno.dev/" class="block hover:underline">Fresh</a></li><li><a href="/saaskit/" class="block hover:underline">SaaSKit</a></li></ul></div><div><h2 class="leading-tight font-bold" id="FooterSources">Sources</h2><ul aria-labelledby="FooterSources" class="text-gray-300 flex-col flex flex-wrap p-0 gap-3 m-0 mt-4"><li><a href="/manual" class="block hover:underline">Runtime Manual</a></li><li><a href="https://docs.deno.com/api/deno/" class="block hover:underline">Runtime API</a></li><li><a href="/deploy/docs" class="block hover:underline">Deploy Docs</a></li><li><a href="/std" class="block hover:underline">Standard Library</a></li><li><a href="/x" class="block hover:underline">Third-Party Modules</a></li><li><a href="https://examples.deno.land" class="block hover:underline">Examples</a></li></ul></div><div><h2 class="leading-tight font-bold" id="FooterCompany">Company</h2><ul aria-labelledby="FooterCompany" class="text-gray-300 flex-col flex flex-wrap p-0 gap-3 m-0 mt-4"><li><a href="/jobs" class="block hover:underline">Careers</a></li><li><a href="/blog" class="block hover:underline">Blog</a></li><li><a href="/deploy/pricing" class="block hover:underline">Pricing</a></li><li><a href="https://deno.news" class="block hover:underline">News</a></li><li><a href="https://merch.deno.com" class="block hover:underline">Merch</a></li><li><a href="https://docs.deno.com/deploy/manual/privacy-policy" class="block hover:underline">Privacy Policy</a></li></ul></div></div></div><div class="w-full text-center flex flex-col md:flex-row flex-wrap justify-between items-center gap-4 pt-8 mt-8 border-t border-gray-5"><div class="flex items-center justify-center gap-3 text-gray-300"><a href="https://github.com/denoland"><span class="sr-only">GitHub</span><svg class="w-5 h-5" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg" aria-label="GitHub Logo"><g clip-path="url(#clip0_1989_191)"><path d="M7.00001 0C3.13391 0 0 3.21295 0 7.17755C0 10.3482 2.0055 13.0388 4.7873 13.9875C5.1373 14.0534 5.26471 13.832 5.26471 13.6414C5.26471 13.4716 5.25912 13.0195 5.25561 12.4212C3.3082 12.8547 2.8973 11.4589 2.8973 11.4589C2.5795 10.6291 2.1203 10.4084 2.1203 10.4084C1.48471 9.96418 2.16861 9.97279 2.16861 9.97279C2.87071 10.0229 3.24032 10.7122 3.24032 10.7122C3.86472 11.8085 4.87903 11.4918 5.27732 11.3084C5.34171 10.8448 5.52232 10.5288 5.72251 10.3497C4.16851 10.1684 2.534 9.55218 2.534 6.80211C2.534 6.01893 2.807 5.37764 3.2543 4.87605C3.1822 4.69476 2.94211 3.96463 3.32289 2.97722C3.32289 2.97722 3.91089 2.78376 5.24789 3.71238C5.77305 3.55992 6.37629 3.47184 6.99948 3.4709C7.59448 3.47377 8.19351 3.5533 8.7528 3.71238C10.0891 2.78376 10.6757 2.97649 10.6757 2.97649C11.0579 3.9646 10.8171 4.69475 10.7457 4.87603C11.1937 5.3776 11.4653 6.0189 11.4653 6.80208C11.4653 9.55931 9.82799 10.1662 8.26908 10.3439C8.52037 10.5653 8.74368 11.0031 8.74368 11.6731C8.74368 12.6318 8.73529 13.4064 8.73529 13.6414C8.73529 13.8335 8.86129 14.057 9.21689 13.9868C12.0205 13.0032 14 10.3285 14 7.18046C14 7.17943 14 7.17841 14 7.17738C14 3.21278 10.8654 0 7.00001 0Z" fill="currentColor"></path></g><defs><clipPath id="clip0_1989_191"><rect width="14" height="14" fill="white"></rect></clipPath></defs></svg></a><a href="https://discord.gg/deno"><span class="sr-only">Discord</span><svg class="w-6 h-6" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg" aria-label="Discord Logo"><g clip-path="url(#clip0_1993_195)"><path d="M11.8595 2.62936C10.9397 2.21264 9.96862 1.917 8.97117 1.75C8.83467 1.99146 8.71117 2.23988 8.60118 2.49424C7.5387 2.33581 6.45822 2.33581 5.39574 2.49424C5.28569 2.23991 5.16219 1.99149 5.02575 1.75C4.02766 1.91841 3.05598 2.21475 2.13524 2.63154C0.307332 5.30775 -0.188185 7.9175 0.0595735 10.4902C1.13004 11.2729 2.3282 11.8681 3.60197 12.25C3.88878 11.8683 4.14258 11.4633 4.36066 11.0394C3.94644 10.8863 3.54665 10.6974 3.16591 10.4749C3.26612 10.403 3.36412 10.3289 3.45882 10.257C4.56668 10.7726 5.77586 11.0399 7.00011 11.0399C8.22437 11.0399 9.43354 10.7726 10.5414 10.257C10.6372 10.3344 10.7352 10.4085 10.8343 10.4749C10.4528 10.6978 10.0523 10.887 9.63736 11.0405C9.85518 11.4642 10.109 11.8688 10.3961 12.25C11.6709 11.8696 12.87 11.2747 13.9406 10.4913C14.2314 7.50778 13.444 4.92201 11.8595 2.62936ZM4.67449 8.908C3.98407 8.908 3.41367 8.28798 3.41367 7.52522C3.41367 6.76245 3.96425 6.13699 4.67228 6.13699C5.38032 6.13699 5.94631 6.76245 5.9342 7.52522C5.92209 8.28798 5.37812 8.908 4.67449 8.908ZM9.32574 8.908C8.63422 8.908 8.06602 8.28798 8.06602 7.52522C8.06602 6.76245 8.6166 6.13699 9.32574 6.13699C10.0349 6.13699 10.5965 6.76245 10.5843 7.52522C10.5722 8.28798 10.0294 8.908 9.32574 8.908Z" fill="currentColor"></path></g><defs><clipPath id="clip0_1993_195"><rect width="14" height="14" fill="white"></rect></clipPath></defs></svg></a><a href="https://twitter.com/deno_land"><span class="sr-only">Twitter or X or whatever</span><svg width="300" height="300.251" class="w-5 h-5" viewBox="0 0 300 300.251" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-label="X logo" fill="currentColor"><path d="M178.57 127.15 290.27 0h-26.46l-97.03 110.38L89.34 0H0l117.13 166.93L0 300.25h26.46l102.4-116.59 81.8 116.59h89.34M36.01 19.54H76.66l187.13 262.13h-40.66"></path></svg></a><a href="https://youtube.com/@deno_land"><span class="sr-only">YouTube</span><svg class="h-7 w-7" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg" aria-label="YouTube Logo"><path d="M7.03863 2.5H7.10538C7.72192 2.5024 10.8459 2.52643 11.6882 2.76826C11.9428 2.84207 12.1748 2.98593 12.3611 3.18548C12.5473 3.38502 12.6813 3.63326 12.7495 3.90537C12.8252 4.20967 12.8785 4.61247 12.9145 5.02807L12.922 5.11135L12.9385 5.31956L12.9445 5.40284C12.9932 6.13475 12.9992 6.82022 13 6.96997V7.03003C12.9992 7.18538 12.9925 7.9173 12.9385 8.67964L12.9325 8.76372L12.9257 8.84701C12.8882 9.30505 12.8327 9.7599 12.7495 10.0946C12.6815 10.3669 12.5476 10.6152 12.3613 10.8148C12.1751 11.0144 11.9429 11.1582 11.6882 11.2317C10.8181 11.4816 7.51116 11.4992 7.05288 11.5H6.94637C6.71461 11.5 5.75605 11.4952 4.75098 11.4584L4.62348 11.4536L4.55822 11.4504L4.42996 11.4447L4.30171 11.4391C3.46915 11.3999 2.67635 11.3366 2.31108 11.2309C2.05643 11.1574 1.82435 11.0138 1.63808 10.8143C1.45182 10.6149 1.3179 10.3667 1.24977 10.0946C1.16651 9.7607 1.11101 9.30505 1.0735 8.84701L1.0675 8.76292L1.0615 8.67964C1.02449 8.13703 1.00398 7.59328 1 7.04925L1 6.95075C1.0015 6.77858 1.0075 6.1836 1.048 5.52696L1.05325 5.44448L1.0555 5.40284L1.0615 5.31956L1.078 5.11135L1.08551 5.02807C1.12151 4.61247 1.17476 4.20887 1.25052 3.90537C1.31854 3.63315 1.4524 3.38479 1.63867 3.18522C1.82495 2.98564 2.05709 2.84185 2.31183 2.76826C2.6771 2.66416 3.4699 2.6001 4.30246 2.56006L4.42996 2.55445L4.55897 2.54965L4.62348 2.54725L4.75173 2.54164C5.46556 2.51712 6.17968 2.5035 6.89387 2.5008L7.03863 2.5ZM6 5.02807V9L9 7.03003L6 5.02807Z" fill="currentColor"></path></svg></a><a href="https://fosstodon.org/@deno_land"><span class="sr-only">Mastodon</span><svg class="h-6 w-6" width="14" height="14" viewBox="-10 -5 1034 1034" xmlns="http://www.w3.org/2000/svg" version="1.1"><path fill="currentColor" d="M499 112q-93 1 -166 11q-81 11 -128 33l-14 8q-16 10 -32 25q-22 21 -38 47q-21 33 -32 73q-14 47 -14 103v37q0 77 1 119q3 113 18 188q19 95 62 154q50 67 134 89q109 29 210 24q46 -3 88 -12q30 -7 55 -17l19 -8l-4 -75l-22 6q-28 6 -57 10q-41 6 -78 4q-53 -1 -80 -7 q-43 -8 -67 -30q-29 -25 -35 -72q-2 -14 -2 -29l25 6q31 6 65 10q48 7 93 9q42 2 92 -2q32 -2 88 -9t107 -30q49 -23 81.5 -54.5t38.5 -63.5q9 -45 13 -109q4 -46 5 -97v-41q0 -56 -14 -103q-11 -40 -32 -73q-16 -26 -38 -47q-15 -15 -32 -25q-12 -8 -14 -8 q-46 -22 -127 -33q-74 -10 -166 -11h-3zM367 267q73 0 109 56l24 39l24 -39q36 -56 109 -56q63 0 101 43t38 117v239h-95v-232q0 -74 -61 -74q-69 0 -69 88v127h-94v-127q0 -88 -69 -88q-61 0 -61 74v232h-95v-239q0 -74 38 -117t101 -43z"></path></svg></a></div><span class="block text-xs text-gray-400 leading-tight">Copyright © 2024 Deno Land Inc. <span class="whitespace-nowrap">All rights reserved.</span></span><a href="https://denostatus.com/" class="transition-colors shadow-md px-4 py-2 rounded-lg font-bold inline-flex items-center gap-2 text-base bg-gray-800 hover:bg-gray-700 text-gray-50"><div class="w-3 h-3 rounded-full bg-runtime"></div><span>All systems operational</span></a></div></div></footer></div></div><script id="__FRSH_STATE_3de5c64b-13c2-4b86-a304-65b3c1b3a8b3" type="application/json" nonce="b41772ab199b47ac8a0b52d408ac32d5">{"v":[[{},{"href":"https://deno.com/2","ctaText":"Learn more","text":"Deno 2 is finally here 🎉️"},{"entry":{"content":"Products","children":[{"href":"/","content":"Deno","subhead":"Modern runtime for JavaScript and TypeScript","category":"Open Source"},{"href":"https://fresh.deno.dev","content":"Fresh","subhead":"Web framework designed for the edge","category":"Open Source"},{"href":"https://jsr.io","content":"JSR","subhead":"TypeScript-first ESM package registry","category":"Open Source"},{"href":"/enterprise","content":"Deno for Enterprise","subhead":"Enterprise support for runtime projects","category":"Commercial"},{"href":"/deploy","content":"Deploy","subhead":"Easy serverless hosting for your JavaScript projects","category":"Commercial"},{"href":"/subhosting","content":"Subhosting","subhead":"Securely run untrusted code in a scalable sandbox","category":"Commercial"}]},"path":"/","activeNav":{"_f":"s","v":null}},{"entry":{"content":"Modules","children":[{"href":"https://jsr.io/@std","content":"Standard Library"},{"href":"https://jsr.io","content":"JSR"},{"href":"https://docs.deno.com/runtime/manual/node","content":"Node.js & npm"},{"href":"/x","content":"deno.land/x"}]},"path":"/","activeNav":0},{"entry":{"content":"Community","children":[{"href":"https://discord.gg/deno","content":"Discord","icon":"Discord"},{"href":"https://github.com/denoland","content":"GitHub","icon":"GitHub"},{"href":"https://twitter.com/deno_land","content":"X","icon":"X"},{"href":"https://www.youtube.com/c/deno_land","content":"YouTube","icon":"YouTube"},{"href":"https://fosstodon.org/@deno_land","content":"Mastodon","icon":"Mastodon"}]},"path":"/","activeNav":0},{},{},{"version":"v2.0.0"},{"animateIn":true,"children":null},{},{"animateIn":true,"children":null},{"animateIn":true,"children":null},{"animateIn":true,"children":null},{"animateIn":true,"children":null},{},{"animateIn":true,"children":null},{"animateIn":true,"children":null},{"testimonials":[{"author":"Manu (Qwik)","avatarSrc":"/images/lp/tweets/aYixU-64_x96.jpg","quote":"I know this was gonna happen! Deno is truly building the fastest, most secure and personalizable JS runtime!"},{"author":"Wes Bos","avatarSrc":"/images/lp/tweets/7G9vGTca_x96.jpg","quote":"Deno's security model is PERFECT for this type of script.\n\nRunning a script from a rando off the internet? It asks for read access to only the CWD and then asks for access to the file it wants to write to. 👏"},{"author":"Atalocke","avatarSrc":"/images/lp/tweets/Y1Z1Vg7B_x96.jpg","quote":"I really think Deno is the easiest and most capable JS runtime. URL imports are slept on."},{"author":"Jason Lengstorf","avatarSrc":"/images/lp/tweets/tB5HL_ES_x96.jpg","quote":"npm packages in Deno 👀\n\nThat’s an exciting development for those of us building at the edge."},{"author":"Poorly Funded Snob","avatarSrc":"/images/lp/tweets/PStazP3l_x96.jpg","quote":"This Deno thing is fast, no doubt about it. #denoland"},{"author":"Taylor Young","avatarSrc":"/images/lp/tweets/kl_6DN15_x96.jpg","quote":"Deno: I have to use the browser APIs cause they are everywhere, and everywhere is my target runtime (the web).\n\nThe runtime that tries to mirror browser APIs server side makes my life easiest."},{"author":"Stefan Arentz","avatarSrc":"/images/lp/tweets/HRpAWT-7_x96.jpg","quote":"Deno is fantastic. I am using it to level up a bit in terms of JavaScript and TypeScript and it is the easiest way to get going. Their tooling is like 100x simpler than all the usual Node stacks."}]}],[]],"r":[[["0","2","activeNav"],["0","3","activeNav"],["0","4","activeNav"]]]}</script><script type="module" nonce="b41772ab199b47ac8a0b52d408ac32d5">import { deserialize } from "/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/deserializer.js";import { signal } from "/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/signals.js";const ST = document.getElementById("__FRSH_STATE_3de5c64b-13c2-4b86-a304-65b3c1b3a8b3").textContent;const STATE = deserialize(ST, signal);import { revive } from "/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/main.js";import { SkipToMainLink as skiptomainlink_SkipToMainLink } from "/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/island-skiptomainlink.js";import { HelloBar as hellobar_HelloBar } from "/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/island-hellobar.js";import { NavItemWithChildren as navitemwithchildren_NavItemWithChildren } from "/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/island-navitemwithchildren.js";import { GlobalSearch as globalsearch_GlobalSearch } from "/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/island-globalsearch.js";import { Hero as runtime_hero_Hero } from "/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/island-runtime_hero.js";import { InstallInstructions as installinstructions_InstallInstructions } from "/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/island-installinstructions.js";import { AnimatedHeadingGroup as animatedheadinggroup_AnimatedHeadingGroup } from "/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/island-animatedheadinggroup.js";import { InteractiveCodeExamples as interactivecodeexamples_InteractiveCodeExamples } from "/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/island-interactivecodeexamples.js";import { Throughput as runtime_throughput_Throughput } from "/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/island-runtime_throughput.js";import testimonialcarousel_default from "/_frsh/js/8d4f94f1f8c1f0eb768e3892efb82d53a58d97a1/island-testimonialcarousel.js";const propsArr = typeof STATE !== "undefined" ? STATE[0] : [];revive({skiptomainlink_skiptomainlink:skiptomainlink_SkipToMainLink,hellobar_hellobar:hellobar_HelloBar,navitemwithchildren_navitemwithchildren:navitemwithchildren_NavItemWithChildren,globalsearch_globalsearch:globalsearch_GlobalSearch,runtime_hero_hero:runtime_hero_Hero,installinstructions_installinstructions:installinstructions_InstallInstructions,animatedheadinggroup_animatedheadinggroup:animatedheadinggroup_AnimatedHeadingGroup,interactivecodeexamples_interactivecodeexamples:interactivecodeexamples_InteractiveCodeExamples,runtime_throughput_throughput:runtime_throughput_Throughput,testimonialcarousel_default:testimonialcarousel_default,}, propsArr);</script></body></html>