1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2280],{1604:()=>{},4873:(e,t,r)=>{"use strict";var s=r(12115).__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;t.c=function(e){return s.H.useMemoCache(e)}},15723:(e,t,r)=>{"use strict";r.d(t,{HtmlContent:()=>d});var s=r(95155),i=r(19749),o=r(79341),l=r(12115),n=r(96065);let a="blog-iso",c=`.${a}`;function d(e){let t,r,l,a,c=(0,i.c)(10),{html:d,transform:m,className:b}=e,h=d||"<div></div>";if(c[0]!==b||c[1]!==h||c[2]!==m){r=Symbol.for("react.early_return_sentinel");e:{let e=m?m(h):h;if((0,n.Ot)(e)){r=(0,s.jsx)(u,{html:e,className:b});break e}t=o.Ay.sanitize(e,{ADD_TAGS:["iframe"],ADD_ATTR:["allow","allowfullscreen","frameborder","scrolling","src","width","height"]})}c[0]=b,c[1]=h,c[2]=m,c[3]=t,c[4]=r}else t=c[3],r=c[4];if(r!==Symbol.for("react.early_return_sentinel"))return r;let f=t,p=b??"tiptap ProseMirror simple-editor";return c[5]!==f?(l={__html:f},c[5]=f,c[6]=l):l=c[6],c[7]!==p||c[8]!==l?(a=(0,s.jsx)("div",{className:p,dangerouslySetInnerHTML:l}),c[7]=p,c[8]=l,c[9]=a):a=c[9],a}function u({html:e,className:t}){let r=(0,l.useRef)(null),i=(0,l.useRef)("");return(0,l.useEffect)(()=>{let t=r.current;if(t&&e!==i.current){i.current=e;try{let r=new DOMParser().parseFromString(e,"text/html");r.querySelectorAll("script, link, meta, title, base").forEach(e=>e.remove()),r.querySelectorAll("*").forEach(e=>{Array.from(e.attributes).forEach(t=>{t.name.startsWith("on")&&e.removeAttribute(t.name)});let t=e.getAttribute("style");t&&/position\s*:\s*fixed/i.test(t)&&e.setAttribute("style",m(t))});let s=[];r.querySelectorAll("style").forEach(e=>{var t,r;let i=e.textContent||"";s.push((t=i,r=c,function e(t,r){let s="",i=0,o=t.length;for(;i<o;){let l="";for(;i<o&&/\s/.test(t[i]);)l+=t[i++];if(s+=l,i>=o)break;let n="",a=0;for(;i<o;){let e=t[i];if("("===e||"["===e)a++;else if(")"===e||"]"===e)a--;else if(0===a&&("{"===e||";"===e))break;n+=e,i++}if(i<o&&";"===t[i]){let e=n.trim().toLowerCase();e.startsWith("@import")||e.startsWith("@charset")||e.startsWith("@namespace")||(s+=n+";"),i++;continue}if(i>=o){s+=n;break}let c=0,d="";for(;i<o;){let e=t[i];if("{"===e)c++;else if("}"===e&&0==--c){d+=e,i++;break}d+=e,i++}let u=d.slice(1,-1),m=n.trim();if(m.startsWith("@")){let t=m.split(/[\s(]/)[0].toLowerCase();"@media"===t||"@supports"===t||"@container"===t||"@layer"===t||"@scope"===t?s+=n+"{"+e(u,r)+"}":s+=n+d}else s+=function(e,t){let r=[],s="",i=0;for(let t=0;t<e.length;t++){let o=e[t];if("("===o||"["===o?i++:(")"===o||"]"===o)&&i--,","===o&&0===i){r.push(s),s="";continue}s+=o}return r.push(s),r.map(e=>(function(e,t){let r=e.trim();return r?b.test(r)?" "+r.replace(b,t):" "+t+" "+r:e})(e,t)).join(",")}(n,r)+d}return s}(t.replace(/\/\*[\s\S]*?\*\//g,"").replace(/position\s*:\s*fixed/gi,"position: absolute"),r))),e.remove()});let i=document.createElement("div");i.className=a;let o="position: relative;",l=document.createElement("style");if(l.textContent=` 2${c} img, ${c} video, ${c} picture { display: block; max-width: 100%; height: auto; box-sizing: border-box; } 3${c} audio { display: block; width: 100%; box-sizing: border-box; } 4${c} iframe, ${c} embed, ${c} object, ${c} canvas { display: block; max-width: 100%; box-sizing: border-box; } 5${c} iframe { border: 0; } 6${c} svg { max-width: 100%; height: auto; } 7${c} pre { overflow-x: auto; max-width: 100%; } 8${c} *, ${c} *::before, ${c} *::after { box-sizing: border-box; } 9`,i.appendChild(l),s.length){let e=document.createElement("style");e.textContent=s.join("\n"),i.appendChild(e)}r.body.className&&(i.className=`${a} ${r.body.className}`);let n=r.body.getAttribute("style");n&&(o+=" "+m(n)),i.setAttribute("style",o);let d=r.body??r.documentElement;Array.from(d.childNodes).forEach(e=>{i.appendChild(e.cloneNode(!0))}),t.replaceChildren(i)}catch(t){console.error("Error rendering scoped HTML:",t);let e=r.current;if(e){let t=document.createElement("div");t.style.cssText="padding: 1rem; color: #d32f2f; background: #ffebee; border-radius: 4px;",t.textContent="Error rendering HTML content. Please check the HTML syntax.",e.replaceChildren(t)}}}},[e]),(0,s.jsx)("div",{ref:r,className:t})}
9function m(e){return e.replace(/position\s*:\s*fixed\s*;?/gi,"")}let b=/^(:root|html|body)(?=$|[\s.,>~+#:[])/},17202:()=>{},19749:(e,t,r)=>{"use strict";e.exports=r(4873)},30808:()=>{},46525:()=>{},50766:()=>{},55844:()=>{},57698:()=>{},73316:()=>{},73928:()=>{},87759:(e,t,r)=>{Promise.resolve().then(r.t.bind(r,73549,23)),Promise.resolve().then(r.t.bind(r,42402,23)),Promise.resolve().then(r.bind(r,15723)),Promise.resolve().then(r.t.bind(r,55844,23)),Promise.resolve().then(r.t.bind(r,30808,23)),Promise.resolve().then(r.t.bind(r,73928,23)),Promise.resolve().then(r.t.bind(r,50766,23)),Promise.resolve().then(r.t.bind(r,17202,23)),Promise.resolve().then(r.t.bind(r,1604,23)),Promise.resolve().then(r.t.bind(r,73316,23)),Promise.resolve().then(r.t.bind(r,46525,23)),Promise.resolve().then(r.t.bind(r,57698,23))},96065:(e,t,r)=>{"use strict";r.d(t,{I9:()=>l,Ot:()=>n,yF:()=>o});let s=/<!DOCTYPE\s+html|<html[\s>]|<head[\s>]|<body[\s>]/i,i=/<style[\s>]/i;function o(e){let t=e||"<div></div>";return(t=t.replace(/src="https:\/\/public\.tableau\.com\/views\/([^"]+)"/g,(e,t)=>{let r=t.split("?")[0];return`src="https://public.tableau.com/views/${r}?:embed=y&:showVizHome=no&:host_url=https%3A%2F%2Fpublic.tableau.com%2F&:embed_code_version=3&:tabs=no&:toolbar=yes&:animate_transition=yes&:display_static_image=no&:display_spinner=no&:display_overlay=yes&:display_count=yes&:loadOrderID=0"`})).replace(/<iframe([^>]*scrolling="no"[^>]*)>/g,'<iframe$1 allow="fullscreen">')}function l(e){return!!e&&s.test(e)}function n(e){return!!e&&(s.test(e)||i.test(e))}}},e=>{e.O(0,[8964,3441,2402,3549,9341,8441,9826,7358],()=>e(e.s=87759)),_N_E=e.O()}]);
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.