1;!function(){try { var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&((e._debugIds|| (e._debugIds={}))[n]="5ace08de-a484-0534-2ca6-55bc26aae6ff")}catch(e){}}(); 2(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,936133,e=>{"use strict";var t=e.i(843476),o=e.i(61703),s=e.i(618566);e.s(["DocsVersionDropdown",0,function({versionedOn:e,currentSlug:r,versions:a}){let i=(0,s.useRouter)(),n=a.find(e=>e.slug===r);return(0,t.jsxs)("label",{className:"flex items-center gap-8 text-base",htmlFor:"docs-version",children:[(0,t.jsx)("span",{className:"font-medium",children:e?(0,t.jsxs)(t.Fragment,{children:[e.href?(0,t.jsx)("a",{href:e.href,className:"underline decoration-1 underline-offset-[2px]",children:e.label}):e.label," ","version:"]}):"Version:"}),(0,t.jsx)(o.DocsSelect,{id:"docs-version",value:n?.path,onChange:e=>i.push(e.target.value),children:[...a].reverse().map(e=>(0,t.jsx)("option",{value:e.path,children:e.label},e.slug))})]})}])},43998,e=>{"use strict";var t=e.i(843476),o=e.i(515083),s=e.i(207670),r=e.i(271645),a=e.i(872637),i=e.i(940141);function n(e){return(0,i.GenIcon)({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"currentColor"},child:[{tag:"path",attr:{d:"M3 3H21C21.5523 3 22 3.44772 22 4V20C22 20.5523 21.5523 21 21 21H3C2.44772 21 2 20.5523 2 20V4C2 3.44772 2.44772 3 3 3ZM4 5V19H20V5H4ZM12 15H18V17H12V15ZM8.66685 12L5.83842 9.17157L7.25264 7.75736L11.4953 12L7.25264 16.2426L5.83842 14.8284L8.66685 12Z"},child:[]}]})(e)}function l({className:e,headings:i,selectedHeadingId:d,truncateSymbolReferencesFromStart:c=!1,symbolReferencePrefixToOmit:p,tocSymbolIcon:u}){let h=(0,o.getMaxHeadingLevel)(),g=i.some(e=>"symbol-reference"===e.type),m=(0,r.useMemo)(()=>(0,o.buildHeadingTree)(i,h),[i,h]),f=(0,o.useActiveHeader)(i,h);return(0,o.renderTocTree)({nodes:m,className:e,hasSymbolReferences:g,activeId:f,SymbolIcon:"braces"===u?a.PiBracketsCurlyBold:n,symbolIconClassName:"text-gray-400 dark:text-gray-500 group-hover:text-gray-700 dark:group-hover:text-gray-200",isNodeActive:e=>e.heading.id===f,renderLeadingMarker:e=>e.heading.id===d?(0,t.jsx)("span",{"aria-hidden":!0,className:"pointer-events-none absolute top-1/2 left-6 z-10 -translate-y-1/2 text-[10px] text-green-600 leading-none dark:text-green-200",children:"â¶"}):null,truncateSymbolReferencesFromStart:c,symbolReferencePrefixToOmit:p,getUlClassName:e=>(0,s.default)("w-full",{"pl-0":0===e,"pl-15":2===e}),getLiClassName:({node:e,index:t,nodes:o,parentLevel:r})=>{let a=2===r&&3===e.heading.level&&t===o.length-1,i=void 0===r&&3===e.heading.level&&(t===o.length-1||o[t+1]?.heading.level!==3);return(0,s.default)((a||i)&&"pb-10")},getLinkClassName:({node:e,isActive:t,depth:o})=>{let r=2===e.heading.level,a=Math.max(e.heading.level-2,0);return(0,s.default)("relative",{"py-2":0===a,"font-semibold":0===a,"pl-20":1===a,"font-medium":1===a,"pl-24":a>=2,"text-[15px]":g&&"symbol-reference"!==e.heading.type},t&&"font-semibold text-green-600 dark:text-green-200",0!==o&&"hover:bg-gray-50 dark:hover:bg-gray-700",!t&&"hover:text-black dark:hover:text-white",r&&"pt-10",0===o&&2===e.heading.level&&e.children.length>0&&"sticky top-0 z-[11] -ml-20 mb-8 border-border border-b bg-gray-25 px-20 pb-8 dark:bg-gray-800")}})}var d=e.i(322859);e.s(["default",0,function({headings:e,truncateSymbolReferencesFromStart:o=!1,symbolReferencePrefixToOmit:s,tocSymbolIcon:a}){let i=(0,r.useRef)(null),{inputRef:n,isInputFocused:c,query:p,filteredHeadings:u,selectedHeadingId:h,handleQueryChange:g,handleInputFocus:m,handleInputBlur:f,handleInputKeyDown:y}=function(e,t){let o=(0,r.useRef)(null),[s,a]=(0,r.useState)(!1),[i,n]=(0,r.useState)(""),[l,d]=(0,r.useState)(null),c=i.trim().toLowerCase(),p=(0,r.useMemo)(()=>{if(!c)return e;let t=new Set(e.filter(e=>(function(e,t){let o=0;for(let s of t){if(-1===(o=e.indexOf(s,o)))return!1;o+=1}return!0})(e.text.toLowerCase(),c)).map(e=>e.id)),o=new Set,s=null;for(let r of e){if(2===r.level){s=r.id;continue}r.level>2&&s&&t.has(r.id)&&o.add(s)}return e.filter(e=>t.has(e.id)||o.has(e.id))},[e,c]),u=(0,r.useMemo)(()=>p.filter(e=>2!==e.level),[p]),h=null===l?void 0:u[l]?.id;return(0,r.useEffect)(()=>
2{if(!s||!h)return;let e=t.current;if(!e)return;let o=`#${h}`,r=Array.from(e.querySelectorAll('a[href^="#"]')).find(e=>e.getAttribute("href")===o);if(!r)return;r.scrollIntoView({block:"nearest",behavior:"auto"});let a=e.getBoundingClientRect(),i=r.getBoundingClientRect(),n=a.top+function(e,t){let o=0;for(let s of e.querySelectorAll("a.sticky")){let e=s.getBoundingClientRect();e.top<=t&&e.bottom>t&&(o=Math.max(o,e.bottom-t))}return o}(e,a.top)+16-i.top;n>0&&(e.scrollTop-=n);let l=i.bottom-(a.bottom-16);l>0&&(e.scrollTop+=l)},[s,t,h]),(0,r.useEffect)(()=>{c&&d(e=>null===e||0===u.length?null:Math.min(e,u.length-1))},[c,u.length]),(0,r.useEffect)(()=>{let e=e=>{if("/"!==e.key||e.metaKey||e.ctrlKey||e.altKey||function(e){if(!e)return!1;if(e.isContentEditable)return!0;let t=e.tagName;return"INPUT"===t||"TEXTAREA"===t||"SELECT"===t||!!e.closest('[contenteditable="true"]')}(e.target))return;let t=o.current;t&&null!==t.offsetParent&&(e.preventDefault(),e.stopPropagation(),t.focus(),t.select())};return window.addEventListener("keydown",e,!0),()=>{window.removeEventListener("keydown",e,!0)}},[]),{inputRef:o,isInputFocused:s,query:i,normalizedQuery:c,filteredHeadings:p,selectedHeadingId:h,setIsInputFocused:a,handleQueryChange:function(e){n(e),d(null)},handleInputFocus:function(){a(!0),d(u.length>0?0:null)},handleInputBlur:function(){a(!1),d(null)},handleInputKeyDown:function(e){if("Escape"===e.key){if(!i){e.preventDefault(),o.current?.blur();return}e.preventDefault(),n(""),d(null);return}if(s&&u.length>0&&"ArrowDown"===e.key){e.preventDefault(),d(e=>null===e?0:(e+1)%u.length);return}if(s&&u.length>0&&"ArrowUp"===e.key){e.preventDefault(),d(e=>null===e?u.length-1:(e-1+u.length)%u.length);return}"Enter"===e.key&&(e.preventDefault(),function(e){if(!e)return;let t=document.getElementById(e);t&&(t.scrollIntoView({block:"start"}),window.history.replaceState(null,"",`#${e}`))}(h??u[0]?.id))}}}(e,i);return(0,t.jsxs)("div",{className:"flex h-full min-h-0 flex-1 flex-col",children:[(0,t.jsx)("div",{className:"pr-15",children:(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"sr-only",children:"Filter table of contents"}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("input",{ref:n,type:"text",value:p,onFocus:m,onBlur:f,onChange:e=>g(e.target.value),onKeyDown:y,placeholder:"Filter",className:"h-36 w-full rounded-none border border-border-input bg-background px-12 pr-52 text-sm focus-visible:border-green-600 focus-visible:outline-none dark:focus-visible:border-green-200"}),!c&&(0,t.jsx)("span",{className:"pointer-events-none absolute top-6 right-6 inline-flex h-[24px] w-[24px] items-center justify-center bg-gray-50 text-gray-300 text-sm dark:bg-gray-700 dark:text-gray-400",children:"/"})]})]})}),(0,t.jsx)("div",{ref:i,className:"min-h-0 min-w-0 flex-1 overflow-y-auto overscroll-contain [scrollbar-gutter:stable]",children:(0,t.jsxs)("div",{className:"pt-10 pr-15",children:[(0,t.jsx)(l,{className:"mb-24 px-0",headings:u,selectedHeadingId:h,truncateSymbolReferencesFromStart:o,symbolReferencePrefixToOmit:s,tocSymbolIcon:a}),(0,t.jsx)("div",{className:"mb-20",children:(0,t.jsx)(d.default,{})})]})})]})}],43998)},322859,e=>{"use strict";var t=e.i(843476),o=e.i(422023),s=e.i(940281),r=e.i(618566),a=e.i(271645);let i="mSZXSt8AXkus";e.s(["default",0,function(){let e=(0,s.useUserId)(),{isClient:n}=(0,o.useIsClient)(),l=(0,r.usePathname)();return((0,a.useEffect)(()=>{n&&(()=>{let e=` 3 /* Important - e.g. Webflow applies a box sizing that messes this up 4 certain elements look particularly bad without thise 5 */ 6 box-sizing: content-box; 7`,t=` 8@keyframes spin { 9 0% { transform: rotate(0deg); } 10 100% { transform: rotate(360deg); } 11} 12 13/* Safari */ 14@-webkit-keyframes spin { 15 0% { -webkit-transform: rotate(0deg); } 16 100% { -webkit-transform: rotate(360deg); } 17} 18`,o=` 19 position: absolute; 20 top: 50%; 21 left: 50%; 22 23 border: 6px solid #aaa; 24 border-radius: 50%; 25 border-top: 6px solid #fff; 26 width: 20px; 27 height: 20px; 28 -webkit-animation: spin 2s linear infinite; /* Safari */ 29 animation: spin 2s linear infinite; 30 31 /* Important - e.g. Webflow applies a box sizing that messes this up */ 32 box-sizing: content-box; 33`,s=t=>` 34@media(max-width: 480px) { 35 .fillout-embed-${t} { 36 width: 100vw !important; 37 height: 100vh !important; 38 } 39 40 .fillout-embed-${t} .fillout-embed-iframe-container { 41 max-width: 100vw; 42 transition: unset; 43 44 /* we make the iframe container full width on small screens, but not 45 full height, because we do want to leave room for the X icon (for us we 46 don"t want to overlay it on top of logos or back buttons) */ 47 width: 100% !important; 48 49 /* we leave some wiggle room here (the icon is ~24px) */ 50 height: calc(100vh - 40px) !important; 51 margin-top: 40px !important; 52 } 53 54 .fillout-embed-${t} .fillout-embed-iframe-container iframe { 55 border-radius: 0; 56 } 57 58 /* on small devices we position the X above the form, and no right padding */ 59 .fillout-embed-${t} .fillout-embed-${t}-close-icon { 60 color: #fff !important; 61 62 position: absolute; 63 top: -38px !important; 64 right: 20px !important; 65 left: unset !important; 66 67 width: 24px; 68 height: 24px; 69 cursor: pointer; 70 71 background: #171717; 72 border-radius: 50%; 73 padding: 6px 6px 6px 6px; 74 75 ${e} 76 } 77
78 .fillout-embed-slider .fillout-embed-iframe-container iframe {} 79} 80 `,r=` 81 position: fixed; 82 top: 0; 83 left: 0; 84 width: 100%; 85 height: 100%; 86 background: rgba(0, 0, 0, .65); 87 transition: opacity .25s ease-in-out; 88 z-index: 10000000000000; 89 display: flex; 90 align-items: center; 91 justify-content: center; 92`,a=` 93${t} 94 95.fillout-embed-popup { 96 ${r} 97} 98 99.fillout-embed-popup .fillout-embed-iframe-container { 100 position: relative; 101 transition: opacity .25s ease-in-out; 102 min-width: 360px; 103 min-height: 360px 104} 105 106.fillout-embed-popup .fillout-embed-iframe-container iframe { 107 width: 100%; 108 height: 100%; 109 border: none; 110 overflow: hidden; 111 border-radius: 10px; 112} 113 114.fillout-embed-popup .fillout-embed-popup-close-icon { 115 position: absolute; 116 width: 24px; 117 height: 24px; 118 text-align: center; 119 cursor: pointer; 120 transition: opacity .5s ease-in-out; 121 text-decoration: none; 122 color: #fff !important; 123 top: -15px; 124 right: -15px; 125 background: #171717; 126 border-radius: 50%; 127 padding: 6px 6px 6px 6px; 128 129 ${e} 130} 131 132.fillout-embed-popup .fillout-embed-popup-close-icon:hover { 133 transform: scale(1.05); 134} 135 136.fillout-embed-popup .fillout-embed-loading { 137 ${o} 138} 139 140${s("popup")} 141`,i=` 142${t} 143 144.fillout-embed-slider { 145 ${r} 146} 147 148.fillout-embed-slider .fillout-embed-iframe-container { 149 position: absolute; 150 top: 0px; 151 152 /* slides in from the right always at the moment, can add a feature for 153 left transition later */ 154 transition: transform .35s ease-in-out; 155 156 height: 100%; 157 opacity: 1; 158} 159 160.fillout-embed-slider .fillout-embed-iframe-container iframe { 161 width: 100%; 162 height: 100%; 163 border: none; 164 overflow: hidden; 165 border-radius: 0px; 166} 167 168.fillout-embed-slider .fillout-embed-slider-close-icon { 169 /* for sliders, the close icon is a little tab with an "X" in it centered 170 vertically on the edge of the slider (unless on mobile, where we copy 171 the styling of popup) */ 172 position: absolute !important; 173 width: 24px; 174 height: 24px; 175 text-align: center; 176 cursor: pointer; 177 transition: opacity .5s ease-in-out; 178 text-decoration: none; 179 color: #fff !important; 180 181 top: 50%; 182 background: #0d0d0d; 183 184 padding: 20px 4px 20px 4px; 185 186 ${e} 187} 188 189.fillout-embed-slider .fillout-embed-slider-close-icon:hover { 190 transform: scaleY(1.05); 191} 192 193.fillout-embed-slider .fillout-embed-loading { 194 ${o} 195} 196 197${s("slider")} 198`,n=` 199${t} 200 201.fillout-embed-standard { 202 /* This will take up the full size of whatever div you"re inserting the 203 * iframe into. That div will grow in size depending on how large theh 204 * iframe is.*/ 205 width: 100%; 206 height: 100%; 207} 208 209.fillout-embed-standard .fillout-embed-iframe-container { 210 position: relative; 211 transition: opacity .25s ease-in-out; 212 width: 100%; 213 height: 100%; 214} 215 216.fillout-embed-standard .fillout-embed-iframe-container iframe { 217 width: 100%; 218 height: 100%; 219 border: none; 220 overflow: hidden; 221 border-radius: 10px; 222} 223 224.fillout-embed-standard .fillout-embed-loading { 225 ${o} 226} 227`,l=` 228<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> 229 <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" /> 230</svg> 231`,d=()=>{let e=Math.floor(Math.random()*(0x51dac2079fff+1))+1e13;return`${e}`},c=e=>{let t="left"===e.dataset.filloutSliderDirection?"left":"right",o=e.dataset.filloutButtonSize||"medium";return{initialized:void 0!==e.dataset.filloutInitialized,inheritParameters:void 0!==e.dataset.filloutInheritParameters,dynamicResize:void 0!==e.dataset.filloutDynamicResize,flowPublicIdentifier:e.dataset.filloutId||"",buttonText:e.dataset.filloutButtonText,buttonFloat:e.dataset.filloutButtonFloat,buttonColor:"#ffffff",buttonSize:o,sliderDirection:t,domain:e.dataset.filloutDomain||""}},p=(e,t,o,s)=>{let r="https://forms.fillout.com";e&&(r="localhost:3000"===e?`http://${e}`:`https://${e}`);let a=new URL(`${r}/t/${t}`);if(o)for(let[e,t]of new URL(window.location.href).searchParams.entries())a.searchParams.append(e,t);for(let e of s.attributes)e.name.startsWith("data-")&&!e.name.startsWith("data-fillout")&&a.searchParams.append(e.name.slice(5),e.value);return a},u=(e,t)=>
231{let{flowPublicIdentifier:o,initialized:s,inheritParameters:r,sliderDirection:a,domain:i}=c(e);if(s)return;let n=document.createElement("div");n.className=`fillout-embed-${t}`,n.style.opacity="0";let u=document.createElement("div");u.className="fillout-embed-loading",u.style.display="block",n.appendChild(u);let h=document.createElement("div");h.className="fillout-embed-iframe-container",h.style.opacity="1",n.appendChild(h);let g=document.createElement("iframe");g.src=p(i,o,r,e).toString(),g.allow="microphone; camera; geolocation",g.style.border="0px",g.title=`${o}`;let m=document.createElement("a");m.className=`fillout-embed-${t}-close-icon`,m.innerHTML=l,m.style.opacity="0",h.appendChild(m),g.addEventListener("load",()=>{u&&(u.style.display="none"),m&&(m.style.opacity="1"),"slider"===t&&(h.style.transform="translateX(0)")},!0),h.appendChild(g),"popup"===t?(h.style.width="500px",h.style.height="calc(100% - 80px)"):"slider"===t&&(h.style.width="300px","left"===a?(h.style.left="0px",h.style.transform="translateX(-100%)",m.style.right="-32px",m.style.borderTopRightRadius="15px",m.style.borderBottomRightRadius="15px"):(h.style.right="0px",h.style.transform="translateX(100%)",m.style.left="-32px",m.style.borderTopLeftRadius="15px",m.style.borderBottomLeftRadius="15px"));let f=()=>{"popup"===t?n.style.opacity="0":"slider"===t&&("left"===a?h.style.transform="translateX(-100%)":h.style.transform="translateX(100%)"),setTimeout(()=>{u.style.display="block",m.style.opacity="0",n.remove()},"popup"===t?250:350)};n.onclick=()=>{f()},m.onclick=()=>{f()},((e,t)=>{if("DIV"!==e.tagName){e.onclick=t;return}let{buttonText:o,buttonColor:s,buttonFloat:r,buttonSize:a}=c(e),i=document.createElement("button");i.innerText=o||"Open form",Object.assign(i.style,Object.assign(Object.assign({cursor:"pointer"},"small"===a?{padding:"10px 12px 10px 12px",fontSize:"14px"}:"large"===a?{padding:"12px 14px 12px 14px",fontSize:"20px"}:{padding:"10px 14px 10px 14px",fontSize:"18px"}),{display:"inline-block",maxWidth:"100%",whitespace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",textDecoration:"none",fontWeight:"normal",textAlign:"center",margin:"0"})),r&&Object.assign(i.style,{"bottom-right":{position:"fixed",bottom:"32px",right:"32px",zIndex:"9999999"},"bottom-left":{position:"fixed",bottom:"32px",left:"32px",zIndex:"9999999"}}[r]);let n=d(),l=`fillout-embed-popup-button-${n}`;i.className=l;let p=document.createElement("style");p.textContent=` 232 .${l} { 233 background-color: ${s}; 234 border: 1px solid #c3c3c3; 235 color: #0d0d0d; 236 font-family: "NeueMontreal", sans-serif; 237 min-width: 140px; 238 padding: 10px 14px 10px 14px; 239 } 240 241 .dark .${l} { 242 background-color: #0d0d0d; 243 border: 1px solid #4d4d4d; 244 color: white; 245 font-family: "NeueMontreal", sans-serif; 246 min-width: 140px; 247 } 248 249 .${l}:hover { 250 background-color: #f6f6f6; 251 } 252 253 .dark .${l}:hover { 254 background-color: #141414; 255 } 256 `,document.head.appendChild(p),i.onclick=t,e.appendChild(i)})(e,()=>{document.body.appendChild(n),n.style.opacity="1"}),e.setAttribute("data-fillout-initialized","true")},h=(e,t)=>{let{initialized:o,flowPublicIdentifier:s,inheritParameters:r,dynamicResize:a,domain:i}=c(e);if(o)return;let n=document.createElement("div");n.className="fillout-embed-standard",n.style.opacity="0";let l=document.createElement("div");l.className="fillout-embed-loading",l.style.display="block",n.appendChild(l),e.style.position="relative";let u=document.createElement("div");u.className="fillout-embed-iframe-container",u.style.opacity="1",n.appendChild(u);let h=document.createElement("iframe"),g=p(i,s,r,e),m=d();g.searchParams.append("fillout-embed-id",`${m}`),a&&(g.searchParams.append("fillout-embed-dynamic-resize","true"),e.style.transition="height 150ms ease",window.addEventListener("message",t=>{if(t.origin!==new URL(g.toString()).origin||t.data.embedId!==m)return;let o=t.data.size;e.style.height=`${o}px`},!1)),h.src=g.toString(),h.allow="microphone; camera; geolocation",h.style.border="0px",t&&(h.style.borderRadius="0px"),h.title=`${s}`,h.addEventListener("load",()=>{l&&(l.style.display="none")}
256,!0),u.appendChild(h),e.appendChild(n),n.style.opacity="1",e.setAttribute("data-fillout-initialized","true")},g=window.__filloutPopupsInitialized,m=document.querySelectorAll('[data-fillout-embed-type="popup"]');if(m.length>0){if(!g){let e=document.createElement("style");e.innerHTML=a,document.head.appendChild(e),window.__filloutPopupEmbedsInitialized=!0}m.forEach(e=>{e instanceof HTMLElement&&u(e,"popup")})}let f=window.__filloutSlidersInitialized,y=document.querySelectorAll('[data-fillout-embed-type="slider"]');if(y.length>0){if(!f){let e=document.createElement("style");e.innerHTML=i,document.head.appendChild(e),window.__filloutSlidersInitialized=!0}y.forEach(e=>{e instanceof HTMLElement&&u(e,"slider")})}let b=window.__filloutStandardInitialized,v=document.querySelectorAll('[data-fillout-embed-type="standard"]');if(v.length>0){if(!b){let e=document.createElement("style");e.innerHTML=n,document.head.appendChild(e),window.__filloutStandardInitialized=!0}v.forEach(e=>{e instanceof HTMLElement&&h(e,!1)})}let w=window.__filloutFullScreenInitialized,x=document.querySelectorAll('[data-fillout-embed-type="fullscreen"]');if(x.length>0){if(!w){let e=document.createElement("style");e.innerHTML=n,document.head.appendChild(e),window.__filloutFullScreenInitialized=!0}x.forEach(e=>{e instanceof HTMLElement&&h(e,!0)})}})()},[n,l]),i&&n)?(0,t.jsx)("div",{"data-fillout-id":i,"data-fillout-embed-type":"slider","data-fillout-button-text":"Did this page help?","data-fillout-button-size":"small","data-fillout-slider-direction":"right","data-fillout-inherit-parameters":!0,"data-currentpage":l,"data-userid":e,"data-domain":location.hostname}):null}],322859)},61806,e=>{"use strict";var t=e.i(843476),o=e.i(961173),s=e.i(207670),r=e.i(556273),a=e.i(271645);function i(e,t){return{type:"element",tagName:"pre",properties:{},children:[{type:"element",tagName:"code",properties:{className:[`language-${t}`]},children:[{type:"text",value:e}]}]}}e.s(["default",0,({children:e})=>{let[n,l]=(0,a.useState)(""),{deployUrl:d,markdownCode:c,htmlCode:p}=(0,a.useMemo)(()=>{let e=encodeURIComponent(n.trim()),t=e.length>0?`https://render.com/deploy?repo=${e}`:"https://render.com/deploy",o=`[](${t})`,s=`<a href="${t}"> 257 <img src="https://render.com/images/deploy-to-render-button.svg" alt="Deploy to Render"> 258</a>`;return{deployUrl:t,markdownCode:o,htmlCode:s}},[n]);return(0,t.jsxs)("div",{className:"my-12",children:[(0,t.jsx)("input",{type:"url",autoComplete:"off",spellCheck:"false",value:n,placeholder:"Repo URL",className:(0,s.default)("w-full appearance-none rounded-none border-1 bg-background px-12 py-12 text-body-sm leading-none","text-text-primary placeholder-gray-500 focus:border-purple-500 focus:outline-none dark:border-gray-600 dark:placeholder-gray-500 dark:focus:border-purple-500"),onChange:e=>l(e.target.value)}),e,(0,t.jsx)("div",{className:"my-32 min-h-[44px]",children:(0,t.jsx)(r.default,{href:d})}),(0,t.jsx)("h3",{id:"markdown",children:"Markdown"}),(0,t.jsx)(o.default,{node:i(c,"markdown")}),(0,t.jsxs)("div",{className:"mt-50",children:[(0,t.jsx)("h3",{id:"html",children:"HTML"}),(0,t.jsx)(o.default,{node:i(p,"html")})]})]})}])},233686,e=>{"use strict";var t=e.i(843476),o=e.i(207670),s=e.i(271645);e.s(["ExpandableCode",0,function({children:e}
258){let[r,a]=(0,s.useState)(!1);return(0,t.jsxs)("div",{className:"expandable-code relative my-20",children:[(0,t.jsxs)("div",{className:(0,o.default)("relative overflow-hidden transition-all duration-300",!r&&"max-h-[400px]"),children:[e,!r&&(0,t.jsx)("div",{className:"pointer-events-none absolute right-0 bottom-0 left-0 h-[180px] bg-gradient-to-t from-gray-25 to-transparent dark:from-gray-800","aria-hidden":"true"})]}),!r&&(0,t.jsx)("button",{onClick:()=>a(!0),className:(0,o.default)("absolute bottom-10 left-1/2 z-10 -translate-x-1/2","rounded-none border border-gray-100 bg-background px-20 py-10","text-body-md text-text-primary transition-colors","hover:bg-gray-100","dark:border-gray-600 dark:hover:bg-gray-800","focus:outline-none focus:ring-2 focus:ring-purple-600"),"aria-label":"Expand code block",children:"Show all"})]})}])},256352,e=>{"use strict";var t=e.i(843476),o=e.i(271645);let s=(0,o.createContext)(null);e.s(["GlossaryProvider",0,function({children:e}){let r=(0,o.useRef)(new Map),a=(0,o.useCallback)((e,t)=>{r.current.set(e,t)},[]),i=(0,o.useCallback)(e=>{r.current.delete(e)},[]),n=(0,o.useCallback)(e=>{r.current.forEach((t,o)=>{o!==e&&t()})},[]);return(0,t.jsx)(s.Provider,{value:{registerTooltip:a,unregisterTooltip:i,closeOtherTooltips:n},children:e})},"useGlossaryContext",0,function(){let e=(0,o.useContext)(s);if(!e)throw Error("useGlossaryContext must be used within GlossaryProvider");return e}])},404398,e=>{"use strict";var t=e.i(843476),o=e.i(895668);let s=[{term:"service type",definition:"When you deploy code on Render, you select a **service type** based on the capabilities you need.\n\nFor example, you create a **web service** to host a dynamic web app at a public URL.",aliases:["service types"],article:"service-types"},{term:"static site",definition:"Deploy this **service type** to host a static website (HTML/CSS/JS) over a global CDN at a public URL.",aliases:["static sites"],article:"static-sites"},{term:"web service",definition:"Deploy this **service type** to host a dynamic application at a public URL.\n\n
258Ideal for full-stack web apps and API servers.",aliases:["web services"],article:"web-services"},{term:"background worker",definition:"Deploy this **service type** to continuously run code that does not receive incoming requests.\n\nIdeal for processing jobs from a queue.",aliases:["background workers","worker","workers"],article:"background-workers"},{term:"private service",definition:"Deploy this **service type** to host a dynamic application that is not internet-reachable.\n\nIdeal for internal apps that only your other Render services can access.",aliases:["private services"],article:"private-services"},{term:"cron job",definition:"Deploy this **service type** to execute a command or script on a predefined schedule.\n\nIdeal for intermittent tasks like sending email digests or generating reports.",aliases:["cron jobs"],article:"cronjobs"},{term:"Render Postgres",definition:"Fully managed PostgreSQL databases that support point-in-time recovery, read replicas, high availability, and more.",aliases:["postgresql","postgres"],article:"postgresql"},{term:"Render Key Value",definition:"Fully managed, Redis®-compatible storage ideal for use as a job queue or shared cache.",aliases:["key value"],article:"key-value"},{term:"instance",definition:"A containerized environment that runs your service's code on Render.\n\nYou can select from a range of **compute plans** with different CPU and RAM specs.",aliases:["instances"]},{term:"instance count",definition:"The number of individual **instances** currently running for a given service. Can be scaled manually or automatically based on resource usage.",article:"scaling"},{term:"compute plan",definition:"Specifies the CPU and RAM available to your service's **instances**.\n\nCommon compute plans for a new web service include:\n\n- **`free`**: 0.1 CPU / 512 MB RAM\n- **`0.5c-512mb`**: 0.5 CPU / 512 MB RAM\n- **`1c-2g`**: 1 CPU / 2 GB RAM\n\nCompute plans were previously known as **instance types**.",aliases:["compute plans","instance type","instance types"],article:"compute-plans"},{term:"pre-deploy command",definition:"If set for a service, Render runs this command just before each of its deploys.\n\nIdeal for database migrations and other tasks that should always precede service startup.",aliases:["predeploy command","pre-deploy commands"],article:"deploys#pre-deploy-command"},{term:"environment variable",definition:"Config values you can apply to a service to customize its behavior at build and runtime, such as `NODE_VERSION` or `OPENAI_API_KEY`.\n\nRender sets some environment variables for your service by [default](/environment-variables).",aliases:["environment variables"],article:"configure-environment-variables"},{term:"start command",definition:"The command that Render runs to start your built service in a newly deployed **instance**.\n\nCommon examples include `npm start` for Node.js and `gunicorn your_application.wsgi` for Python.",article:"deploys#start-command"},{term:"build command",definition:"The command that Render runs to build your service from source.\n\nCommon examples include `npm install` for Node.js and `pip install -r requirements.txt` for Python.",aliases:["build commands"],article:"deploys#build-command"},{term:"region",definition:"Each Render service runs in one of the following regions: **Oregon**, **Ohio**, **Virginia**, **Frankfurt**, or **Singapore**.\n\nServices in the same region can communicate over their **private network**.",article:"regions"},{term:"persistent disk",definition:"A high-performance SSD that you can attach to a service to preserve filesystem changes across deploys and restarts.\n\nDisables [zero-downtime deploys](/deploys#zero-downtime-deploys) for the service.",aliases:["persistent disks"],article:"disks"},{term:"outbound bandwidth",definition:"The amount of network traffic you send to destinations outside of Render (HTTP responses, third-party API calls, and so on).\n\nYour workspace receives a monthly included amount of outbound bandwidth. If you exceed this amount, Render bills you for a supplementary amount.",article:"outbound-bandwidth"},{term:"pipeline minutes",definition:"The amount of time Render spends running **build commands** and **pre-deploy commands** for your services.\n\nYour workspace receives a monthly included amount of pipeline minutes. If you exceed this amount, Render bills you for a supplementary amount.",aliases:["build pipeline minutes"],article:"build-pipeline"},{term:"Render Workflows",definition:"Define collections of long-running **tasks** that execute across distributed compute.\n\nIdeal for agents, ETL pipelines, and background jobs.",aliases:["workflow","workflows"],article:"workflows"},{term:"task",definition:"A function you can execute on its own compute as part of a **workflow**.\n\nEach execution of a task is called a **run**.",aliases:["tasks"],article:"workflows-defining"},{term:"task run",definition:"A single execution of a workflow **task**.\n\nA run spins up in its own **instance**, executes, returns a value, and is deprovisioned.",aliases:["run","runs","task runs"],article:"workflows-running"},{term:"run chaining",definition:"Triggering a new **task run** directly from an in-progress run.\n\nAll runs in a chain belong to the same **workflow**.",aliases:["chaining runs","chained runs","chaining","chain","chains","chained","chained run"],article:"workflows-defining#chaining-task-runs"},{term:"private network",definition:"Your Render services in the same **region** can reach each other without traversing the public internet, enabling faster and safer communication.",aliases:["private networks","private networking"],article:"private-network"},{term:"primary workspace",definition:"The original workspace that was upgraded to the **Scale** plan. Your primary workspace manages the billing for the organization."}
258,{term:"Render Blueprints",definition:"Render's infrastructure-as-code model.\n\nConfigure multiple related services and datastores in a single YAML file. Render automatically syncs any changes you push.",aliases:["blueprints","blueprint"],article:"infrastructure-as-code"},{term:"environment group",definition:"A collection of environment variables and/or secret files that you can link to any number of different services.\n\nHelpful for distributing configuration across a [multi-service architecture](/multi-service-architecture) using a single source of truth.",aliases:["environment groups"],article:"configure-environment-variables#environment-groups"},{term:"organization",definition:"Teams with a **Scale** plan or higher can manage multiple workspaces under a single unified org.\n\nOrgs provide administrative features like SAML SSO and per-workspace access controls.",aliases:["organizations","org","orgs"],article:"organizations"},{term:"Git provider",definition:"Render integrates with:\n\n- GitHub\n- GitLab\n- Bitbucket\n- Cursor Origin (beta)",article:"git-provider"},{term:"failover",definition:"The process of swapping a Render Postgres primary database for its high availability standby, most commonly because the primary becomes unavailable.\n\nThe failover process completes in a few seconds.",aliases:["HA failover"],article:"postgresql-high-availability#failover"}],r=function(){let e=new Map;for(let t of s)if(e.set(t.term.toLowerCase(),t),t.aliases)for(let o of t.aliases)e.set(o.toLowerCase(),t);return e}();var a=e.i(271645),i=e.i(174080),n=e.i(918789);let l=JSON.parse('[{"slug":"api","path":"/docs/api"},{"slug":"audit-logs","path":"/docs/audit-logs"},{"slug":"background-workers","path":"/docs/background-workers"},{"slug":"backup-postgresql-to-s3","path":"/docs/backup-postgresql-to-s3"},{"slug":"blueprint-spec","path":"/docs/blueprint-spec"},{"slug":"build-pipeline","path":"/docs/build-pipeline"},{"slug":"build-reuse","path":"/docs/build-reuse"},{"slug":"bun-version","path":"/docs/bun-version"},{"slug":"certifications-compliance","path":"/docs/certifications-compliance"},{"slug":"cli-reference","path":"/docs/cli-reference"},{"slug":"cli","path":"/docs/cli"},{"slug":"community","path":"/docs/community"},{"slug":"compute-plans-update","path":"/docs/compute-plans-update"},{"slug":"compute-plans","path":"/docs/compute-plans"},{"slug":"configure-cloudflare-dns","path":"/docs/configure-cloudflare-dns"},{"slug":"configure-environment-variables","path":"/docs/configure-environment-variables"},{"slug":"configure-namecheap-dns","path":"/docs/configure-namecheap-dns"},{"slug":"configure-other-dns","path":"/docs/configure-other-dns"},{"slug":"connect-to-mongodb-atlas","path":"/docs/connect-to-mongodb-atlas"},{"slug":"connecting-to-redis-with-ioredis","path":"/docs/connecting-to-redis-with-ioredis"},{"slug":"credits","path":"/docs/credits"},{"slug":"cronjobs","path":"/docs/cronjobs"},{"slug":"custom-domains","path":"/docs/custom-domains"},{"slug":"datadog","path":"/docs/datadog"},{"slug":"ddos-protection","path":"/docs/ddos-protection"},{"slug":"dedicated-ips","path":"/docs/dedicated-ips"},{"slug":"deploy-ackee","path":"/docs/deploy-ackee"},{"slug":"deploy-actix-todo","path":"/docs/deploy-actix-todo"},{"slug":"deploy-adminer","path":"/docs/deploy-adminer"},{"slug":"deploy-astro","path":"/docs/deploy-astro"},{"slug":"deploy-beego","path":"/docs/deploy-beego"},{"slug":"deploy-blitz","path":"/docs/deploy-blitz"},{"slug":"deploy-bun-docker","path":"/docs/deploy-bun-docker"},{"slug":"deploy-celery","path":"/docs/deploy-celery"},{"slug":"deploy-clickhouse","path":"/docs/deploy-clickhouse"},{"slug":"deploy-create-react-app","path":"/docs/deploy-create-react-app"},{"slug":"deploy-django","path":"/docs/deploy-django"},{"slug":"deploy-docusaurus","path":"/docs/deploy-docusaurus"},{"slug":"deploy-elasticsearch","path":"/docs/deploy-elasticsearch"},{"slug":"deploy-elixir-cluster","path":"/docs/deploy-elixir-cluster"},{"slug":"deploy-elysiajs","path":"/docs/deploy-elysiajs"},{"slug":"deploy-fastapi","path":"/docs/deploy-fastapi"},{"slug":"deploy-fathom-analytics","path":"/docs/deploy-fathom-analytics"},{"slug":"deploy-flask","path":"/docs/deploy-flask"},{"slug":"deploy-forem","path":"/docs/deploy-forem"},{"slug":"deploy-gatsby","path":"/docs/deploy-gatsby"},{"slug":"deploy-ghost","path":"/docs/deploy-ghost"},{"slug":"deploy-go-gin","path":"/docs/deploy-go-gin"},{"slug":"deploy-go-nethttp","path":"/docs/deploy-go-nethttp"},{"slug":"deploy-goatcounter","path":"/docs/deploy-goatcounter"},{"slug":"deploy-gotify","path":"/docs/deploy-gotify"},{"slug":"deploy-hasura-graphql","path":"/docs/deploy-hasura-graphql"},{"slug":"deploy-hooks","path":"/docs/deploy-hooks"},{"slug":"deploy-hugo","path":"/docs/deploy-hugo"},{"slug":"deploy-jekyll","path":"/docs/deploy-jekyll"},{"slug":"deploy-matomo","path":"/docs/deploy-matomo"},{"slug":"deploy-mattermost","path":"/docs/deploy-mattermost"},{"slug":"deploy-metabase","path":"/docs/deploy-metabase"},{"slug":"deploy-minio","path":"/docs/deploy-minio"},{"slug":"deploy-mongodb","path":"/docs/deploy-mongodb"},{"slug":"deploy-mysql","path":"/docs/deploy-mysql"},{"slug":"deploy-n8n","path":"/docs/deploy-n8n"},{"slug":"deploy-nextjs-app","path":"/docs/deploy-nextjs-app"},{"slug":"deploy-node-express-app","path":"/docs/deploy-node-express-app"},{"slug":"deploy-node-fastify-app","path":"/docs/deploy-node-fastify-app"},{"slug":"deploy-node-hapi-app","path":"/docs/deploy-node-hapi-app"},{"slug":"deploy-nuxtjs","path":"/docs/deploy-nuxtjs"},{"slug":"deploy-open-web-analytics","path":"/docs/deploy-open-web-analytics"},{"slug":"deploy-openclaw","path":"/docs/deploy-openclaw"},{"slug":"deploy-paradedb","path":"/docs/deploy-paradedb"},{"slug":"deploy-pgweb","path":"/docs/deploy-pgweb"},{"slug":"deploy-phoenix-distillery","path":"/docs/deploy-phoenix-distillery"},{"slug":"deploy-phoenix","path":"/docs/deploy-phoenix"},{"slug":"deploy-php-laravel-docker","path":"/docs/deploy-php-laravel-docker"},{"slug":"deploy-prisma-orm","path":"/docs/deploy-prisma-orm"},{"slug":"deploy-prometheus","path":"/docs/deploy-prometheus"},{"slug":"deploy-puppeteer-node","path":"/docs/deploy-puppeteer-node"},{"slug":"deploy-rabbitmq","path":"/docs/deploy-rabbitmq"},{"slug":"deploy-rails-6-7","path":"/docs/deploy-rails-6-7"},{"slug":"deploy-rails-8","path":"/docs/deploy-rails-8"},{"slug":"deploy-rails-sidekiq","path":"/docs/deploy-rails-sidekiq"},{"slug":"deploy-redash","path":"/docs/deploy-redash"},{"slug":"deploy-redwood","path":"/docs/deploy-redwood"},{"slug":"deploy-remix","path":"/docs/deploy-remix"},{"slug":"deploy-retool","path":"/docs/deploy-retool"},{"slug":"deploy-rocket-rust","path":"/docs/deploy-rocket-rust"},{"slug":"deploy-rust-graphql","path":"/docs/deploy-rust-graphql"},{"slug":"deploy-shopify-app","path":"/docs/deploy-shopify-app"},{"slug":"deploy-shynet","path":"/docs/deploy-shynet"},{"slug":"deploy-sidekiq-worker","path":"/docs/deploy-sidekiq-worker"},{"slug":"deploy-strapi","path":"/docs/deploy-strapi"},{"slug":"deploy-svelte","path":"/docs/deploy-svelte"},{"slug":"deploy-sveltekit","path":"/docs/deploy-sveltekit"},{"slug":"deploy-temporal","path":"/docs/deploy-temporal"},{"slug":"deploy-to-render","path":"/docs/deploy-to-render"},{"slug":"deploy-vue-js","path":"/docs/deploy-vue-js"},{"slug":"deploy-webdis-docker","path":"/docs/deploy-webdis-docker"},{"slug":"deploy-wordpress","path":"/docs/deploy-wordpress"},{"slug":"deploy-zulip","path":"/docs/deploy-zulip"},{"slug":"deploying-an-image","path":"/docs/deploying-an-image"},{"slug":"deploys","path":"/docs/deploys"},{"slug":"disks","path":"/docs/disks"},{"slug":"docker-secrets","path":"/docs/docker-secrets"},{"slug":"docker","path":"/docs/docker"},{"slug":"elixir-erlang-versions","path":"/docs/elixir-erlang-versions"},{"slug":"environment-variables","path":"/docs/environment-variables"},{"slug":"faq","path":"/docs/faq"},{"slug":"formspree","path":"/docs/formspree"},{"slug":"free","path":"/docs/free"},{"slug":"from-github-pages","path":"/docs/from-github-pages"},{"slug":"git-provider","path":"/docs/git-provider"},{"slug":"health-checks","path":"/docs/health-checks"},{"slug":"hipaa-best-practices","path":"/docs/hipaa-best-practices"},{"slug":"hipaa-compliance","path":"/docs/hipaa-compliance"},{"slug":"inbound-ip-rules","path":"/docs/inbound-ip-rules"}
258,{"slug":"infrastructure-as-code","path":"/docs/infrastructure-as-code"},{"slug":"key-value","path":"/docs/key-value"},{"slug":"language-support","path":"/docs/language-support"},{"slug":"llm-support","path":"/docs/llm-support"},{"slug":"log-streams","path":"/docs/log-streams"},{"slug":"logging","path":"/docs/logging"},{"slug":"login-settings","path":"/docs/login-settings"},{"slug":"maintenance-mode","path":"/docs/maintenance-mode"},{"slug":"mcp-server","path":"/docs/mcp-server"},{"slug":"metrics-streams-reference","path":"/docs/metrics-streams-reference"},{"slug":"metrics-streams","path":"/docs/metrics-streams"},{"slug":"migrate-from-heroku","path":"/docs/migrate-from-heroku"},{"slug":"migrate-from-railway","path":"/docs/migrate-from-railway"},{"slug":"migrate-mongodb-graphql-to-render","path":"/docs/migrate-mongodb-graphql-to-render"},{"slug":"migrate-mongodb-static-hosting-to-render","path":"/docs/migrate-mongodb-static-hosting-to-render"},{"slug":"monorepo-support","path":"/docs/monorepo-support"},{"slug":"multi-service-architecture","path":"/docs/multi-service-architecture"},{"slug":"native-runtimes","path":"/docs/native-runtimes"},{"slug":"node-version","path":"/docs/node-version"},{"slug":"notifications","path":"/docs/notifications"},{"slug":"oidc","path":"/docs/oidc"},{"slug":"okta","path":"/docs/okta"},{"slug":"one-off-jobs","path":"/docs/one-off-jobs"},{"slug":"organizations","path":"/docs/organizations"},{"slug":"outbound-bandwidth","path":"/docs/outbound-bandwidth"},{"slug":"outbound-connection-resets","path":"/docs/outbound-connection-resets"},{"slug":"outbound-ip-addresses","path":"/docs/outbound-ip-addresses"},{"slug":"penetration-testing","path":"/docs/penetration-testing"},{"slug":"platform-features-by-plan","path":"/docs/platform-features-by-plan"},{"slug":"platform-maintenance","path":"/docs/platform-maintenance"},{"slug":"poetry-version","path":"/docs/poetry-version"},{"slug":"postgresql-apps","path":"/docs/postgresql-apps"},{"slug":"postgresql-backups","path":"/docs/postgresql-backups"},{"slug":"postgresql-connection-pooling","path":"/docs/postgresql-connection-pooling"},{"slug":"postgresql-creating-connecting","path":"/docs/postgresql-creating-connecting"},{"slug":"postgresql-credentials","path":"/docs/postgresql-credentials"},{"slug":"postgresql-extensions","path":"/docs/postgresql-extensions"},{"slug":"postgresql-high-availability","path":"/docs/postgresql-high-availability"},{"slug":"postgresql-legacy-instance-types","path":"/docs/postgresql-legacy-instance-types"},{"slug":"postgresql-logical-replication","path":"/docs/postgresql-logical-replication"},{"slug":"postgresql-performance-troubleshooting","path":"/docs/postgresql-performance-troubleshooting"},{"slug":"postgresql-pg-repack","path":"/docs/postgresql-pg-repack"},{"slug":"postgresql-read-replicas","path":"/docs/postgresql-read-replicas"},{"slug":"postgresql-upgrading","path":"/docs/postgresql-upgrading"},{"slug":"postgresql","path":"/docs/postgresql"},{"slug":"preview-environments","path":"/docs/preview-environments"},{"slug":"private-link","path":"/docs/private-link"},{"slug":"private-network","path":"/docs/private-network"},{"slug":"private-services","path":"/docs/private-services"},{"slug":"projects","path":"/docs/projects"},{"slug":"python-version","path":"/docs/python-version"},{"slug":"quotaguard","path":"/docs/quotaguard"},{"slug":"rails-caching-redis","path":"/docs/rails-caching-redis"},{"slug":"redirects-rewrites","path":"/docs/redirects-rewrites"},{"slug":"regions","path":"/docs/regions"},{"slug":"render-dashboard","path":"/docs/render-dashboard"},{"slug":"render-vs-heroku-comparison","path":"/docs/render-vs-heroku-comparison"},{"slug":"render-vs-vercel-comparison","path":"/docs/render-vs-vercel-comparison"},{"slug":"rollbacks","path":"/docs/rollbacks"},{"slug":"ruby-version","path":"/docs/ruby-version"},{"slug":"rust-toolchain","path":"/docs/rust-toolchain"},{"slug":"saml-sso","path":"/docs/saml-sso"},{"slug":"sandboxes-ea","path":"/docs/sandboxes-ea"},{"slug":"scaling","path":"/docs/scaling"},{"slug":"service-metrics","path":"/docs/service-metrics"},{"slug":"service-previews","path":"/docs/service-previews"},{"slug":"service-types","path":"/docs/service-types"},{"slug":"shared-responsibility-model","path":"/docs/shared-responsibility-model"},{"slug":"ssh","path":"/docs/ssh"},{"slug":"static-site-headers","path":"/docs/static-site-headers"},{"slug":"static-sites","path":"/docs/static-sites"},{"slug":"team-members","path":"/docs/team-members"},{"slug":"terraform-provider","path":"/docs/terraform-provider"},{"slug":"tls","path":"/docs/tls"},{"slug":"troubleshooting-deploys","path":"/docs/troubleshooting-deploys"},{"slug":"troubleshooting-python-deploys","path":"/docs/troubleshooting-python-deploys"},{"slug":"tutorial-rag-chatbot","path":"/docs/tutorial-rag-chatbot"},{"slug":"uptime-best-practices","path":"/docs/uptime-best-practices"},{"slug":"uv-version","path":"/docs/uv-version"},{"slug":"valkey-faq","path":"/docs/valkey-faq"},{"slug":"web-service-caching","path":"/docs/web-service-caching"},{"slug":"web-services","path":"/docs/web-services"},{"slug":"webhooks","path":"/docs/webhooks"},{"slug":"websocket","path":"/docs/websocket"},{"slug":"workflows-limits","path":"/docs/workflows-limits"},{"slug":"workflows-local-development","path":"/docs/workflows-local-development"},{"slug":"workflows-running","path":"/docs/workflows-running"},{"slug":"workflows-tutorial","path":"/docs/workflows-tutorial"},{"slug":"workflows","path":"/docs/workflows"},{"slug":"your-first-deploy","path":"/docs/your-first-deploy"},{"slug":"workflows-sdk-python/v0","path":"/docs/workflows-sdk-python/v0"},{"slug":"workflows-sdk-python/v1","path":"/docs/workflows-sdk-python/v1"},{"slug":"workflows-sdk-python","path":"/docs/workflows-sdk-python"},{"slug":"workflows-sdk-typescript/v0","path":"/docs/workflows-sdk-typescript/v0"},{"slug":"workflows-sdk-typescript/v1","path":"/docs/workflows-sdk-typescript/v1"},{"slug":"workflows-sdk-typescript","path":"/docs/workflows-sdk-typescript"},{"slug":"workflows-defining/v0","path":"/docs/workflows-defining/v0"},{"slug":"workflows-defining/v1","path":"/docs/workflows-defining/v1"},{"slug":"workflows-defining","path":"/docs/workflows-defining"}]');var d=e.i(247167);function c(){return"true"===d.default.env.RENDER?new URL("true"===d.default.env.IS_PULL_REQUEST?d.default.env.RENDER_EXTERNAL_URL||"https://render.com":d.default.env.PUBLIC_URL??"https://render.com"):new URL("https://render.com")}let p=c(),u=c();u.pathname="/docs/";let h=/\/$/,g=/^\/|\/$/,m=/^docs\//,f=/^docs-preview\//,y=null,b=0;var v=e.i(522016);function w({className:e,href:o,children:s,...r}){let a=o.startsWith("http"),i=o,n={};if(a?(n.target="_blank",n.rel="noreferrer"):i=function(e,t){try{if(e.startsWith("#")||e.startsWith("mailto:"))return e;let o=new URL(e,p);if(o.origin!==p.origin)return e;let s=o.pathname.replace(g,"").replace(m,"").replace(f,"");if(""===s||"docs"===s)return new URL("",u).pathname.replace(h,"")+o.search+o.hash;y&&b===t.length||(y=new Map(t.map(e=>[e.slug,e])),b=t.length);let r=y.get(s);if(!r)return e;return r.path+o.search+o.hash}catch(t){return console.error(`Error parsing URL "${e}": ${t}`),e}}(o,l),!a&&i.startsWith("#"))return(0,t.jsx)("a",{className:e,href:i,...r,children:s});if(!a&&function(e){try{let t=new URL(e,p),o=t.pathname.replace(h,"")||"/";return"/docs"===o&&t.hash.length>0}catch{return!1}}(i))return(0,t.jsx)("a",{className:e,href:i,...n,...r,children:s});let d=a?"a":v.default;return(0,t.jsx)(d,{className:e,href:i,...n,...r,children:s})}var x=e.i(256352);e.s(["GlossaryTermClient",0,function({children:e,initialEntry:s,articleData:l}){let d=(0,x.useGlossaryContext)(),c=(0,a.useId)(),p=`glossary-tooltip-${c}`,[u,h]=(0,a.useState)(!1),[g,m]=(0,a.useState)(s),[f,y]=(0,a.useState)({top:0,left:0}),b=(0,a.useRef)(null),v=(0,a.useRef)(null),k=(0,a.useRef)(null),j=(0,a.useRef)(null),C=(0,a.useRef)(!1),R=(0,a.useRef)(!1),E=(0,a.useRef)(!1);(0,a.useEffect)(()=>{m(s)},[s]),(0,a.useEffect)(()=>{u||m(s)},[u,s]);let N=(0,a.useMemo)(()=>g.article&&l[g.article]||null,[g.article,l]);(0,a.useEffect)(()=>(d.registerTooltip(c,()=>{h(!1)}),()=>{d.unregisterTooltip(c)}),[d,c]);let L=(0,a.useCallback)(()=>
258{if(!b.current)return;let e=b.current.getBoundingClientRect(),t=window.innerWidth,o=v.current?.offsetHeight||200,s=Number.parseFloat(window.getComputedStyle(document.documentElement).getPropertyValue("--nav-bar-height")),r=Number.isFinite(s)?s:0,a=e.top-o-4<r?e.bottom+4:e.top-o-4,i=e.left;t<640&&(i=Math.max(16,(t-(v.current?.offsetWidth||300))/2)),y({top:a,left:i})},[]),S=(0,a.useCallback)(()=>{k.current&&(clearTimeout(k.current),k.current=null),j.current&&(clearTimeout(j.current),j.current=null)},[]),T=()=>{if(E.current){E.current=!1;return}d.closeOtherTooltips(c),C.current=!0,S(),j.current=setTimeout(()=>{h(!0),setTimeout(L,0)},150)},q=()=>{C.current=!1,j.current&&(clearTimeout(j.current),j.current=null),k.current=setTimeout(()=>{R.current||C.current||h(!1)},100)};return(0,a.useEffect)(()=>{if(!u)return;let e=e=>{"Escape"===e.key&&(E.current=!0,h(!1),b.current?.focus())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[u]),(0,a.useEffect)(()=>{if(!u)return;let e=e=>{b.current?.contains(e.target)||v.current?.contains(e.target)||(k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{C.current||R.current||h(!1)},200))},t=setTimeout(()=>{document.addEventListener("mousemove",e)},300);return()=>{clearTimeout(t),document.removeEventListener("mousemove",e)}},[u]),(0,a.useEffect)(()=>{if(!u)return;let e=e=>{b.current?.contains(e.target)||v.current?.contains(e.target)||h(!1)},t=setTimeout(()=>{document.addEventListener("mousedown",e),document.addEventListener("touchstart",e)},100);return()=>{clearTimeout(t),document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e)}},[u]),(0,a.useEffect)(()=>{if(!u)return;let e=()=>{L()};return window.addEventListener("scroll",e,!0),window.addEventListener("resize",e),()=>{window.removeEventListener("scroll",e,!0),window.removeEventListener("resize",e)}},[u,L]),(0,a.useEffect)(()=>{if(!u||!v.current)return;let e=requestAnimationFrame(()=>{L()});return()=>{cancelAnimationFrame(e)}},[u,L]),(0,a.useEffect)(()=>()=>{S()},[S]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{ref:b,className:"cursor-help whitespace-nowrap text-gray-600 underline decoration-1 decoration-dashed underline-offset-[3px] hover:text-gray-700 focus:text-gray-700 focus:outline-none dark:text-gray-100 dark:focus:text-white dark:hover:text-white",onMouseEnter:T,onMouseLeave:q,onClick:()=>{S(),u?(C.current=!1,h(!1)):(h(!0),setTimeout(L,0))},onFocus:T,onBlur:q,tabIndex:0,role:"button","aria-label":`Show definition for ${g.term}`,"aria-describedby":u?p:void 0,"aria-expanded":u,children:e}),u&&(0,i.createPortal)((0,t.jsxs)("div",{ref:v,id:p,className:"pointer-events-auto fixed z-20 flex w-max max-w-[300px] animate-fadeIn flex-col gap-6 border border-gray-300 bg-white px-16 py-12 text-gray-900 dark:border-gray-700 dark:bg-gray-800 dark:text-white",style:{top:`${f.top}px`,left:`${f.left}px`},role:"tooltip","aria-live":"polite",onMouseEnter:()=>{R.current=!0,S()},onMouseLeave:()=>{R.current=!1,k.current=setTimeout(()=>{C.current||h(!1)},100)},children:[(0,t.jsx)("strong",{className:"!text-[18px] !font-medium block tracking-[0.02em]",children:g.term}),(0,t.jsx)("div",{className:"glossary-tooltip-content font-normal text-[14px] leading-[1.4]",children:(0,t.jsx)(n.default,{components:{p:({children:e})=>(0,t.jsx)("p",{className:"m-0 [&+p]:mt-8 [ol+&]:mt-8 [ul+&]:mt-8",children:e}),strong:({children:e})=>{let o=String(e),s=r.get(o.toLowerCase());return s&&s.term!==g.term?(0,t.jsx)("strong",{className:"cursor-help font-normal text-gray-600 underline decoration-1 decoration-dashed underline-offset-[2px] hover:text-gray-700 dark:text-gray-100 dark:hover:text-white",onClick:e=>{let t;e.stopPropagation(),(t=r.get(o.toLowerCase()))&&(m(t),setTimeout(L,0))},role:"button",tabIndex:0,"aria-label":`Show definition for ${o}`,children:e}):(0,t.jsx)("strong",{className:"font-semibold",children:e})},em:({children:e})=>(0,t.jsx)("em",{className:"italic",children:e}),code:({children:e})=>(0,t.jsx)("code",{className:"rounded-[5px] bg-gray-50 px-[4px] py-[2px] font-mono text-[13px] text-gray-900 dark:bg-gray-700 dark:text-gray-100",children:e}),a:({href:e,children:o,...s})=>(0,t.jsx)(w,{href:e??"",className:"underline decoration-1 underline-offset-[2px]",...s,children:o}),ul:({children:e})=>(0,t.jsx)("ul",{className:"mt-8 mb-0 list-square pl-15",children:e}),ol:({children:e})=>(0,t.jsx)("ol",{className:"mt-8 mb-0 list-decimal pl-15",children:e}),li:({children:e})=>(0,t.jsx)("li",{className:"my-4",children:e})},children:g.definition})}),N&&(0,t.jsxs)("a",{href:N.href,target:"_blank",rel:"noopener noreferrer",className:"glossary-article-link !no-underline !decoration-none hover:!no-underline [&::after]:!hidden [&::after]:!content-none mt-10 flex w-fit cursor-pointer items-center gap-6 border border-gray-300 bg-white px-8 py-4 font-normal text-[13px] text-gray-900 transition-colors duration-150 hover:bg-gray-50 dark:border-gray-600 dark:bg-gray-900 dark:text-white dark:hover:bg-gray-800",style:{fontFamily:'"NeueMontreal", sans-serif',textDecoration:"none"},children:[(0,t.jsx)(o.DocumentIcon,{className:"size-16 shrink-0"}),(0,t.jsx)("span",{children:N.title})]})]}),document.body)]})}],404398)},705474,e=>{"use strict";var t=e.i(843476),o=e.i(76227),s=e.i(359793),r=e.i(532181),a=e.i(772328),i=e.i(271645);e.s(["default",0,function({bars:e,labelSuffix:n,primaryBarClassName:l,secondaryBarClassName:d,connectorClassName:c,rootConnectorClassName:p,valueSuffix:u,showChildValues:h,barClassName:g,animationSpeed:m,primaryLabelClassName:f,labelClassName:y,valueClassName:b,rootConnectorStartX:v}){let w=(0,a.useReducedMotion)(),[x,k]=(0,i.useState)(!0),{activationCount:j,isActive:C}=(0,o.useTabSwitcherItemActivation)(),R=(0,i.useRef)(null),[E,N]=(0,i.useState)([]),[L,S]=(0,i.useState)(!1),T=e[0]?.time??1,q=!w&&x,$=.3/(m&&m>0?m:1);(0,i.useEffect)(()=>{k("function"==typeof window.CSS?.supports&&window.CSS.supports("clip-path","inset(0 0 0 0)"))},[]);let I=(0,i.useMemo)(()=>{let t=e.map(e=>e.id).join("|");return`${t}-${j}`},[j,e]);return(0,i.useLayoutEffect)(()=>
258{if(!C)return;let t=R.current;if(!t)return;let o=()=>{let o=new Map;for(let e of Array.from(t.querySelectorAll("[data-workflows-bar-id]"))){let t=e.getAttribute("data-workflows-bar-id");t&&o.set(t,e)}let s=t.getBoundingClientRect(),r=[];for(let t of e){if(!t.parentId)continue;let e=o.get(t.id),a=o.get(t.parentId);if(!e||!a)continue;let i=e.getBoundingClientRect(),n=a.getBoundingClientRect(),l=i.left-s.left,d=l-8,c=n.top-s.top+n.height/2,p=i.top-s.top+i.height/2;r.push({key:`${t.parentId}-${t.id}`,d:`M ${d} ${c} V ${p} H ${l}`,delay:q?(t.offset??0)/T*$:0,strokeWidth:1.5})}let a=e.find(e=>!e.parentId)??e[0];if(a){let e=o.get(a.id);if(e){let t=e.getBoundingClientRect(),o=t.left-s.left,i=t.top-s.top+t.height/2,n=Math.max(v??0,-16);r.push({key:`root-entry-${a.id}`,d:`M ${n} ${i} H ${o}`,delay:0,strokeWidth:3})}}N(r),S(!0)},s=()=>{window.requestAnimationFrame(o)};o(),window.addEventListener("resize",s);let r="function"==typeof ResizeObserver?new ResizeObserver(s):null;return r?.observe(t),()=>{window.removeEventListener("resize",s),r?.disconnect()}},[C,e,T,$,q,v]),(0,t.jsxs)("div",{ref:R,className:"relative",children:[C&&L&&E.length>0&&(0,t.jsx)("svg",{className:"pointer-events-none absolute inset-0 z-0 h-full w-full overflow-visible","aria-hidden":"true",preserveAspectRatio:"none",children:E.map(e=>(0,t.jsx)(r.motion.path,{d:e.d,className:e.key.startsWith("root-entry-")?p??c??"fill-none stroke-gray-500 dark:stroke-gray-300":c??"fill-none stroke-gray-400 dark:stroke-gray-300",strokeWidth:e.strokeWidth??1.5,strokeLinecap:"round",initial:q?{opacity:0}:{opacity:1},animate:{opacity:1},transition:q?{delay:e.delay,duration:.06,ease:"linear"}:{duration:0}},`${e.key}-${I}`))}),(0,t.jsx)(s.default,{bars:e,animationKey:I,className:"relative z-[1]",barClassName:g,animationSpeed:m,primaryLabelClassName:f,labelClassName:y,valueClassName:b,labelSuffix:n??"",primaryBarClassName:l,secondaryBarClassName:d,valueSuffix:u,showChildValues:h})]})}])}]); 259 260//# debugId=5ace08de-a484-0534-2ca6-55bc26aae6ff
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.