1"use strict";(globalThis.webpackChunkkkimdev=globalThis.webpackChunkkkimdev||[]).push([[249],{2640:(e,t,n)=>{n.d(t,{A:()=>p});n(6363);var a=n(3526),s=n(4123),r=n(7924),i=n(7259);function l(){return(0,i.jsx)(s.A,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function o(){return(0,i.jsx)(s.A,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function c(){return(0,i.jsx)(r.A,{children:(0,i.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function d(){return(0,i.jsx)(s.A,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function u(){return(0,i.jsx)(s.A,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}var m=n(7880),g=n(3313);function h({className:e}){return(0,i.jsx)(g.A,{type:"caution",title:(0,i.jsx)(d,{}),className:(0,a.A)(e,m.G.common.draftBanner),children:(0,i.jsx)(u,{})})}function f({className:e}){return(0,i.jsx)(g.A,{type:"caution",title:(0,i.jsx)(l,{}),className:(0,a.A)(e,m.G.common.unlistedBanner),children:(0,i.jsx)(o,{})})}function x(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(c,{}),(0,i.jsx)(f,{...e})]})}function p({metadata:e}){const{unlisted:t,frontMatter:n}=e;return(0,i.jsxs)(i.Fragment,{children:[(t||n.unlisted)&&(0,i.jsx)(x,{}),n.draft&&(0,i.jsx)(h,{})]})}},3726:(e,t,n)=>{n.r(t),n.d(t,{default:()=>j});n(6363);var a=n(3526),s=n(8923),r=n(7880),i=n(623),l=n(6713),o=n(7666),c=n(4123),d=n(8366),u=n(7259);function m(e){const{nextItem:t,prevItem:n}=e;return(0,u.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,c.T)({id:"theme.blog.post.paginator.navAriaLabel",message:"Blog post page navigation",description:"The ARIA label for the blog posts pagination"}),children:[n&&(0,u.jsx)(d.A,{...n,subLabel:(0,u.jsx)(c.A,{id:"theme.blog.post.paginator.newerPost",description:"The blog post button label to navigate to the newer/previous post",children:"Newer post"})}),t&&(0,u.jsx)(d.A,{...t,subLabel:(0,u.jsx)(c.A,{id:"theme.blog.post.paginator.olderPost",description:"The blog post button label to navigate to the older/next post",children:"Older post"}),isNext:!0})]})}function g(){const{assets:e,metadata:t}=(0,i.e7)(),{title:n,description:a,date:r,tags:l,authors:o,frontMatter:c}=t,{keywords:d}=c,m=e.image??c.image;return(0,u.jsxs)(s.be,{title:c.title_meta??n,description:a,keywords:d,image:m,children:[(0,u.jsx)("meta",{property:"og:type",content:"article"}),(0,u.jsx)("meta",{property:"article:published_time",content:r}),o.some(e=>e.url)&&(0,u.jsx)("meta",{property:"article:author",content:o.map(e=>e.url).filter(Boolean).join(",")}),l.length>0&&(0,u.jsx)("meta",{property:"article:tag",content:l.map(e=>e.label).join(",")})]})}var h=n(7924);function f(){const e=(0,i.J_)();return(0,u.jsx)(h.A,{children:(0,u.jsx)("script",{type:"application/ld+json",children:JSON.stringify(e)})})}var x=n(5342),p=n(2640);function v({sidebar:e,children:t}){const{metadata:n,toc:a}=(0,i.e7)(),{nextItem:s,prevItem:r,frontMatter:c}=n,{hide_table_of_contents:d,toc_min_heading_level:g,toc_max_heading_level:h}=c;return(0,u.jsxs)(l.A,{sidebar:e,toc:!d&&a.length>0?(0,u.jsx)(x.A,{toc:a,minHeadingLevel:g,maxHeadingLevel:h}):void 0,children:[(0,u.jsx)(p.A,{metadata:n}),(0,u.jsx)(o.A,{children:t}),(s||r)&&(0,u.jsx)(m,{nextItem:s,prevItem:r})]})}function j(e){const t=e.content;return(0,u.jsx)(i.in,{content:e.content,isBlogPostPage:!0,children:(0,u.jsxs)(s.e3,{className:(0,a.A)(r.G.wrapper.blogPages,r.G.page.blogPostPage),children:[(0,u.jsx)(g,{}),(0,u.jsx)(f,{}),(0,u.jsx)(v,{sidebar:e.sidebar,children:(0,u.jsx)(t,{})})]})})}},5009:(e,t,n)=>{n.d(t,{A:()=>f});var a=n(6363),s=n(1295);function r(e){const t=e.map(e=>({...e,parentIndex:-1,children:[]})),n=Array(7).fill(-1);t.forEach((e,t)=>{const a=n.slice(2,e.level);e.parentIndex=Math.max(...a),n[e.level]=t});const a=[];
1return t.forEach(e=>{const{parentIndex:n,...s}=e;n>=0?t[n].children.push(s):a.push(s)}),a}function i({toc:e,minHeadingLevel:t,maxHeadingLevel:n}){return e.flatMap(e=>{const a=i({toc:e.children,minHeadingLevel:t,maxHeadingLevel:n});return function(e){return e.level>=t&&e.level<=n}(e)?[{...e,children:a}]:a})}function l(e){const t=e.getBoundingClientRect();return t.top===t.bottom?l(e.parentNode):t}function o(e,{anchorTopOffset:t}){const n=e.find(e=>l(e).top>=t);if(n){return function(e){return e.top>0&&e.bottom<window.innerHeight/2}(l(n))?n:e[e.indexOf(n)-1]??null}return e[e.length-1]??null}function c(){const e=(0,a.useRef)(0),{navbar:{hideOnScroll:t}}=(0,s.p)();return(0,a.useEffect)(()=>{e.current=t?0:document.querySelector(".navbar").clientHeight},[t]),e}function d(e){const t=(0,a.useRef)(void 0),n=c();(0,a.useEffect)(()=>{if(!e)return()=>{};const{linkClassName:a,linkActiveClassName:s,minHeadingLevel:r,maxHeadingLevel:i}=e;function l(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(a),l=function({minHeadingLevel:e,maxHeadingLevel:t}){const n=[];for(let a=e;a<=t;a+=1)n.push(`h${a}
1.anchor`);return Array.from(document.querySelectorAll(n.join()))}({minHeadingLevel:r,maxHeadingLevel:i}),c=o(l,{anchorTopOffset:n.current}),d=e.find(e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e));e.forEach(e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(s),e.classList.add(s),t.current=e):e.classList.remove(s)}(e,e===d)})}return document.addEventListener("scroll",l),document.addEventListener("resize",l),l(),()=>{document.removeEventListener("scroll",l),document.removeEventListener("resize",l)}},[e,n])}var u=n(9166),m=n(7259);function g({toc:e,className:t,linkClassName:n,isChild:a}){return e.length?(0,m.jsx)("ul",{className:a?void 0:t,children:e.map(e=>(0,m.jsxs)("li",{children:[(0,m.jsx)(u.A,{to:`#${e.id}`,className:n??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,m.jsx)(g,{isChild:!0,toc:e.children,className:t,linkClassName:n})]},e.id))}):null}const h=a.memo(g);function f({toc:e,className:t="table-of-contents table-of-contents__left-border",linkClassName:n="table-of-contents__link",linkActiveClassName:l,minHeadingLevel:o,maxHeadingLevel:c,...u}){const g=(0,s.p)(),f=o??g.tableOfContents.minHeadingLevel,x=c??g.tableOfContents.maxHeadingLevel,p=function({toc:e,minHeadingLevel:t,maxHeadingLevel:n}){return(0,a.useMemo)(()=>i({toc:r(e),minHeadingLevel:t,maxHeadingLevel:n}),[e,t,n])}({toc:e,minHeadingLevel:f,maxHeadingLevel:x});return d((0,a.useMemo)(()=>{if(n&&l)return{linkClassName:n,linkActiveClassName:l,minHeadingLevel:f,maxHeadingLevel:x}},[n,l,f,x])),(0,m.jsx)(h,{toc:p,className:t,linkClassName:n,...u})}},5342:(e,t,n)=>{n.d(t,{A:()=>c});n(6363);var a=n(3526),s=n(5009);const r={tableOfContents:"tableOfContents_P0JP",docItemContainer:"docItemContainer_eLIF"};var i=n(7259);const l="table-of-contents__link toc-highlight",o="table-of-contents__link--active";function c({className:e,...t}){return(0,i.jsx)("div",{className:(0,a.A)(r.tableOfContents,"thin-scrollbar",e),children:(0,i.jsx)(s.A,{...t,linkClassName:l,linkActiveClassName:o})})}},6029:(e,t,n)=>{n.d(t,{A:()=>d});n(6363);var a=n(3526),s=n(4123),r=n(9166);const i={tag:"tag_AvNX",tagRegular:"tagRegular_BvWH",tagWithCount:"tagWithCount_v0a4"};var l=n(7259);function o({permalink:e,label:t,count:n,description:s}){return(0,l.jsxs)(r.A,{rel:"tag",href:e,title:s,className:(0,a.A)(i.tag,n?i.tagWithCount:i.tagRegular),children:[t,n&&(0,l.jsx)("span",{children:n})]})}const c={tags:"tags_PKdg",tag:"tag_UE17"};function d({tags:e}){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("b",{children:(0,l.jsx)(s.A,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,l.jsx)("ul",{className:(0,a.A)(c.tags,"padding--none","margin-left--sm"),children:e.map(e=>(0,l.jsx)("li",{className:c.tag,children:(0,l.jsx)(o,{...e})},e.permalink))})]})}},7666:(e,t,n)=>{n.d(t,{A:()=>F});var a=n(6363),s=n(3526),r=n(623),i=n(7259);function l({children:e,className:t}){return(0,i.jsx)("article",{className:t,children:e})}var o=n(9166);const c={title:"title_aCrY"};function d({className:e}){const{metadata:t,isBlogPostPage:n}=(0,r.e7)(),{permalink:a,title:l}=t,d=n?"h1":"h2";return(0,i.jsx)(d,{className:(0,s.A)(c.title,e),children:n?l:(0,i.jsx)(o.A,{to:a,children:l})})}var u=n(4123),m=n(2850);const g=["zero","one","two","few","many","other"];function h(e){return g.filter(t=>e.includes(t))}const f={locale:"en",pluralForms:h(["one","other"]),select:e=>1===e?"one":"other"};function x(){const{i18n:{currentLocale:e}}=(0,m.A)();return(0,a.useMemo)(()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:h(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),f}},[e])}function p(){const e=x();return{selectMessage:(t,n)=>function(e,t,n){const a=e.split("|");if(1===a.length)return a[0];a.length>n.pluralForms.length&&console.error(`For locale=${n.locale}, a maximum of ${n.pluralForms.length} plural forms are expected (${n.pluralForms.join(",")}), but the message contains ${a.length}: ${e}`);const s=n.select(t),r=n.pluralForms.indexOf(s);return a[Math.min(r,a.length-1)]}(n,t,e)}}var v=n(8213);const j={container:"container_qTaG"};function b({readingTime:e}){const t=function(){const{selectMessage:e}=p();return t=>{const n=Math.ceil(t);return e(n,(0,u.T)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:n}))}}();return(0,i.jsx)(i.Fragment,{children:t(e)})}function A({date:e,formattedDate:t}){return(0,i.jsx)("time",{dateTime:e,children:t})}function N(){return(0,i.jsx)(i.Fragment,{children:" \xb7 "})}function _({className:e}){const{metadata:t}=(0,r.e7)(),{date:n,readingTime:a}=t,l=(0,v.i)({day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});return(0,i.jsxs)("div",{className:(0,s.A)(j.container,"margin-vert--md",e),children:[(0,i.jsx)(A,{date:n,formattedDate:(o=n,l.format(new Date(o)))}),void 0!==a&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(N,{}),(0,i.jsx)(b,{readingTime:a})]})]});var o}var L=n(7939);const y={authorCol:"authorCol_o1NY",imageOnlyAuthorRow:"imageOnlyAuthorRow_IWVe",imageOnlyAuthorCol:"imageOnlyAuthorCol_wJdv"};function k({className:e}){const{metadata:{authors:t},assets:n}=(0,r.e7)();if(0===t.length)return null;const a=t.every(({name:e})=>!e),l=1===t.length;return(0,i.jsx)("div",{className:(0,s.A)("margin-top--md margin-bottom--sm",a?y.imageOnlyAuthorRow:"row",e),children:t.map((e,t)=>(0,i.jsx)("div",{className:(0,s.A)(!a&&(l?"col col--12":"col col--6"),a?y.imageOnlyAuthorCol:y.authorCol),children:(0,i.jsx)(L.A,{author:{...e,imageURL:n.authorsImageUrls[t]??e.imageURL}})},t))})}function C(){return(0,i.jsxs)("header",{children:[(0,i.jsx)(d,{}),(0,i.jsx)(_,{}),(0,i.jsx)(k,{})]})}var T=n(7592),w=n(4210);function H({children:e,className:t}){const{isBlogPostPage:n}=(0,r.e7)();return(0,i.jsx)("div",{id:n?T.LU:void 0,className:(0,s.A)("markdown",t),children:(0,i.jsx)(w.A,{children:e})})}var P=n(7880),I=n(6756),O=n(6029);function R(){return(0,i.jsx)("b",{children:(0,i.jsx)(u.A,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read more"})})}function B(e){const{blogPostTitle:t,...n}=e;return(0,i.jsx)(o.A,{"aria-label":(0,u.T)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t}),...n,children:(0,i.jsx)(R,{})})}function M(){const{metadata:e,isBlogPostPage:t}=(0,r.e7)(),{tags:n,title:a,editUrl:l,hasTruncateMarker:o,lastUpdatedBy:c,lastUpdatedAt:d}=e,u=!t&&o,m=n.length>0;if(!(m||u||l))return null;if(t){const e=!!(l||d||c);return(0,i.jsxs)("footer",{className:"docusaurus-mt-lg",children:[m&&(0,i.jsx)("div",{className:(0,s.A)("row","margin-top--sm",P.G.blog.blogFooterEditMetaRow),children:(0,i.jsx)("div",{className:"col",children:(0,i.jsx)(O.A,{tags:n})})}),e&&(0,i.jsx)(I.A,{className:(0,s.A)("margin-top--sm",P.G.blog.blogFooterEditMetaRow),editUrl:l,lastUpdatedAt:d,lastUpdatedBy:c})]})}return(0,i.jsxs)("footer",{className:"row docusaurus-mt-lg",children:[m&&(0,i.jsx)("div",{className:(0,s.A)("col",{"col--9":u}),children:(0,i.jsx)(O.A,{tags:n})}),u&&(0,i.jsx)("div",{className:(0,s.A)("col text--right",{"col--3":m}),children:(0,i.jsx)(B,{blogPostTitle:a,to:e.permalink})})]})}function F({children:e,className:t}){const n=function(){const{isBlogPostPage:e}=(0,r.e7)();return e?void 0:"margin-bottom--xl"}();return(0,i.jsxs)(l,{className:(0,s.A)(n,t),children:[(0,i.jsx)(C,{}),(0,i.jsx)(H,{children:e}),(0,i.jsx)(M,{})]})}},8366:(e,t,n)=>{n.d(t,{A:()=>i});n(6363);var a=n(3526),s=n(9166),r=n(7259);function i(e){const{permalink:t,title:n,subLabel:i,isNext:l}=e;return(0,r.jsxs)(s.A,{className:(0,a.A)("pagination-nav__link",l?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[i&&(0,r.jsx)("div",{className:"pagination-nav__sublabel",children:i}),(0,r.jsx)("div",{className:"pagination-nav__label",children:n})]})}}}]);
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.