pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}
/*!
  Theme: GitHub Dark Dimmed
  Description: Dark dimmed theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Colors taken from GitHub's CSS
*/.hljs{color:#adbac7;background:#22272e}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#f47067}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#dcbdfb}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#6cb6ff}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#96d0ff}.hljs-built_in,.hljs-symbol{color:#f69d50}.hljs-code,.hljs-comment,.hljs-formula{color:#768390}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#8ddb8c}.hljs-subst{color:#adbac7}.hljs-section{color:#316dca;font-weight:700}.hljs-bullet{color:#eac55f}.hljs-emphasis{color:#adbac7;font-style:italic}.hljs-strong{color:#adbac7;font-weight:700}.hljs-addition{color:#b4f1b4;background-color:#1b4721}.hljs-deletion{color:#ffd8d3;background-color:#78191b}:root{--brand-green:#008000;--deep-green:#004D00;--steel-gray:#4A4F55;--graphite:#1E1E1E;--industrial-silver:#D9DDE1;--engineering-blue:#0A84FF;--energy-orange:#FF7A00}html{font-size:16px}html[lang=ar-IQ]{font-size:15px}@media (min-width:48rem){html{font-size:16.5px}html[lang=ar-IQ]{font-size:15.5px}}@media (min-width:80rem){html{font-size:16.75px}html[lang=ar-IQ]{font-size:15.75px}}body{line-height:1.7}body,h1,h2,h3,h4,h5,h6{font-family:var(--font-site),sans-serif}h1,h2,h3,h4,h5,h6{font-weight:600}h1,h2{letter-spacing:-.02em;line-height:1.2}h3,h4{line-height:1.35}h3,h4,h5,h6{letter-spacing:-.01em}h5,h6{line-height:1.4}html[lang=ar-IQ] :is(h1,h2,h3,h4,h5,h6){font-weight:600!important;letter-spacing:normal}html[lang=ar-IQ] :is(h1,h2,h3){line-height:1.15}.brand-wordmark{font-family:var(--font-brand-display),sans-serif;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.brand-wordmark-reveal{animation:brandWordmarkReveal .9s cubic-bezier(.16,1,.3,1) both}html[dir=rtl] .brand-wordmark{font-family:var(--font-brand-display),sans-serif;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.gradient-text{background:linear-gradient(135deg,var(--brand-green),#4db84d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-text-bright{background:linear-gradient(135deg,var(--brand-green),var(--engineering-blue));background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass-effect{background:rgba(20,20,20,.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(74,79,85,.3)}.glass-effect-strong{background:rgba(12,12,12,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(74,79,85,.4)}.bg-grid-pattern{background-image:linear-gradient(rgba(74,79,85,.08) 1px,transparent 0),linear-gradient(90deg,rgba(74,79,85,.08) 1px,transparent 0);background-size:48px 48px}.bg-dot-pattern{background-image:radial-gradient(circle,rgba(74,79,85,.1) 1px,transparent 0);background-size:24px 24px}.header-tab{background:#0C0C0C;border:1px solid rgba(74,79,85,.35);border-top:none;border-radius:0 0 12px 12px;position:relative}.header-tab:after,.header-tab:before{content:"";position:absolute;top:0;width:12px;height:12px;background:transparent}.header-tab:before{inset-inline-start:-12px;border-start-end-radius:12px;box-shadow:6px 0 0 0 #0C0C0C;border-top:1px solid rgba(74,79,85,.35);border-inline-end:1px solid rgba(74,79,85,.35)}.header-tab:after,html[dir=rtl] .header-tab:before{box-shadow:-6px 0 0 0 #0C0C0C}.header-tab:after{inset-inline-end:-12px;border-end-start-radius:12px;border-top:1px solid rgba(74,79,85,.35);border-inline-start:1px solid rgba(74,79,85,.35)}html[dir=rtl] .header-tab:after{box-shadow:6px 0 0 0 #0C0C0C}.hero-bg{background:radial-gradient(ellipse 70% 50% at 20% 80%,rgba(0,128,0,.08) 0,transparent 60%),radial-gradient(ellipse 50% 40% at 80% 20%,rgba(10,132,255,.04) 0,transparent 50%),#0C0C0C}.industrial-line{height:1px;background:linear-gradient(90deg,transparent,rgba(74,79,85,.4),transparent)}.brand-logo-shell{isolation:isolate}.brand-logo-glow,.brand-logo-scan{position:absolute;inset:0;pointer-events:none}.brand-logo-glow{inset:16%;border-radius:999px;background:radial-gradient(circle,rgba(112,224,0,.26) 0,rgba(0,128,0,.12) 42%,transparent 75%);filter:blur(18px);opacity:.9;transform:scale(.92)}.brand-logo-svg{position:relative;z-index:1;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 16px rgba(112,224,0,.18))}.brand-logo-layer{transform-box:fill-box;transform-origin:center}.brand-logo-shell.is-animated .brand-logo-block-1{animation:logoAssemble1 1.2s cubic-bezier(.2,.8,.2,1) both,logoFloat1 3s ease-in-out 1.2s infinite alternate}.brand-logo-shell.is-animated .brand-logo-block-2{animation:logoAssemble2 1.2s cubic-bezier(.2,.8,.2,1) .15s both,logoFloat2 3s ease-in-out 1.35s infinite alternate}.brand-logo-shell.is-animated .brand-logo-block-3{animation:logoAssemble3 1.2s cubic-bezier(.2,.8,.2,1) .3s both,logoFloat3 3s ease-in-out 1.5s infinite alternate}.brand-logo-shell.is-animated .brand-logo-block-4{animation:logoAssemble4 1.2s cubic-bezier(.2,.8,.2,1) .45s both,logoFloat4 3s ease-in-out 1.65s infinite alternate}.brand-logo-shell.is-animated .brand-logo-glow{animation:brandLogoGlow 2.8s ease-in-out infinite}.brand-logo-shell.is-animated .brand-logo-scan{animation:brandLogoScan 2.8s linear infinite}.brand-logo-shell--loader:after,.brand-logo-shell--opener:after{content:"";position:absolute;inset:-14%;border:1px solid rgba(112,224,0,.18);border-radius:28%;z-index:0;animation:brandLogoFramePulse 2.8s ease-in-out infinite}.brand-logo-scan{z-index:2;background:linear-gradient(180deg,transparent,rgba(204,255,51,.08) 45%,rgba(204,255,51,.18) 50%,rgba(204,255,51,.08) 55%,transparent);mix-blend-mode:screen;opacity:0}.site-opener{opacity:0;overflow:hidden}.site-opener--enter{animation:siteOpenerEnter .7s ease-out forwards}.site-opener--exit{animation:siteOpenerExit .65s cubic-bezier(.7,0,.84,0) forwards}.site-opener-grid,.site-opener-orb{position:absolute;inset:0}.site-opener-grid{background-image:linear-gradient(rgba(74,79,85,.1) 1px,transparent 0),linear-gradient(90deg,rgba(74,79,85,.1) 1px,transparent 0);background-size:54px 54px;mask-image:radial-gradient(circle at center,black 38%,transparent 88%);opacity:.55}.site-opener-orb--left{background:radial-gradient(circle at 25% 50%,rgba(0,128,0,.2),transparent 28%)}.site-opener-orb--right{background:radial-gradient(circle at 75% 35%,rgba(10,132,255,.14),transparent 24%)}.site-opener-kicker{animation:brandWordmarkReveal 1s cubic-bezier(.16,1,.3,1) .18s both}.crosshair-corner:after,.crosshair-corner:before{content:"";position:absolute;background:rgba(0,128,0,.5)}.crosshair-corner:before{width:1px;height:16px}.crosshair-corner:after{width:16px;height:1px}.crosshair-tl:after,.crosshair-tl:before{top:0;inset-inline-start:0}.crosshair-tr:after,.crosshair-tr:before{top:0;inset-inline-end:0}.crosshair-bl:after,.crosshair-bl:before{bottom:0;inset-inline-start:0}.crosshair-br:after,.crosshair-br:before{bottom:0;inset-inline-end:0}@keyframes marquee-ltr{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes marquee-rtl{0%{transform:translateX(0)}to{transform:translateX(50%)}}.marquee-track{display:flex;animation:marquee-ltr 30s linear infinite;width:max-content}html[dir=rtl] .marquee-track{animation-name:marquee-rtl}.marquee-track-reverse{display:flex;animation:marquee-ltr 40s linear infinite reverse;width:max-content}html[dir=rtl] .marquee-track-reverse{animation-name:marquee-rtl;animation-direction:reverse}@keyframes logoAssemble1{0%{transform:translate3d(-300px,-200px,0) scale(.1) rotate(-60deg);opacity:0}60%{transform:translate3d(20px,10px,0) scale(1.05) rotate(5deg);opacity:1}to{transform:translateZ(0) scale(1) rotate(0deg);opacity:1}}@keyframes logoAssemble2{0%{transform:translate3d(0,-400px,0) scale(.1) rotate(45deg);opacity:0}60%{transform:translate3d(0,20px,0) scale(1.05) rotate(-5deg);opacity:1}to{transform:translateZ(0) scale(1) rotate(0deg);opacity:1}}@keyframes logoAssemble3{0%{transform:translate3d(300px,-200px,0) scale(.1) rotate(60deg);opacity:0}60%{transform:translate3d(-20px,10px,0) scale(1.05) rotate(-5deg);opacity:1}to{transform:translateZ(0) scale(1) rotate(0deg);opacity:1}}@keyframes logoAssemble4{0%{transform:translate3d(0,400px,0) scale(.1) rotate(-45deg);opacity:0}60%{transform:translate3d(0,-20px,0) scale(1.05) rotate(5deg);opacity:1}to{transform:translateZ(0) scale(1) rotate(0deg);opacity:1}}@keyframes logoFloat1{0%,to{transform:translateZ(0) rotate(0deg)}50%{transform:translate3d(-4px,-2px,0) rotate(-1deg)}}@keyframes logoFloat2{0%,to{transform:translateZ(0) rotate(0deg)}50%{transform:translate3d(0,-5px,0) rotate(1deg)}}@keyframes logoFloat3{0%,to{transform:translateZ(0) rotate(0deg)}50%{transform:translate3d(4px,-2px,0) rotate(1deg)}}@keyframes logoFloat4{0%,to{transform:translateZ(0) rotate(0deg)}50%{transform:translate3d(0,5px,0) rotate(-1deg)}}@keyframes brandLogoGlow{0%,to{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.04)}}@keyframes brandLogoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes brandLogoFramePulse{0%,to{opacity:.35;transform:scale(.96) rotate(0deg)}50%{opacity:.8;transform:scale(1.03) rotate(2deg)}}@keyframes brandLogoScan{0%{opacity:0;transform:translateY(-24%) scale(1.05)}20%{opacity:.85}60%{opacity:.45}to{opacity:0;transform:translateY(24%) scale(1.05)}}@keyframes brandWordmarkReveal{0%{opacity:0;transform:translateY(12px);letter-spacing:.18em}to{opacity:1;transform:translateY(0);letter-spacing:.08em}}@keyframes siteOpenerEnter{0%{opacity:0}to{opacity:1}}@keyframes siteOpenerExit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.04);visibility:hidden}}@media (prefers-reduced-motion:reduce){.brand-logo-block-1,.brand-logo-block-2,.brand-logo-block-3,.brand-logo-glow,.brand-logo-scan,.brand-logo-shell,.brand-wordmark-reveal,.site-opener--enter,.site-opener--exit,.site-opener-kicker{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.prose-dark{line-height:1.8}.prose-dark pre code.hljs,.prose-dark pre code[class*=language-]{background:transparent}.prose-dark pre{position:relative}.prose-dark pre>code[class*=language-]:before{content:attr(class);position:absolute;top:0;inset-inline-end:0;padding:.15em .5em;font-size:.7em;text-transform:uppercase;letter-spacing:.05em;color:rgba(232,234,236,.35);border-radius:0 .375rem 0 .25rem;background:rgba(74,79,85,.15);pointer-events:none}.prose-dark :not(pre)>code{font-family:SF Mono,Cascadia Code,Fira Code,Consolas,monospace}html[dir=rtl] .prose-dark{line-height:2}[dir=rtl] .chakra-drawer__content{direction:rtl}.heading-anchor .anchor-link{opacity:0;transition:opacity .15s ease;text-decoration:none}.heading-anchor:focus-within .anchor-link,.heading-anchor:hover .anchor-link{opacity:.6}.heading-anchor .anchor-link:hover{opacity:1}html{scroll-behavior:smooth}.reading-progress-bar{position:fixed;top:0;left:0;height:3px;z-index:9999;transition:width .1s linear}