1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8527],{81237:(e,s,t)=>{t.d(s,{S:()=>i});var n=t(6476),a=t(64482),r=t(42894),o=t(62238);function i(e,s){return void 0===s&&(s=null),s=null!=s?s:e,(0,a.N)(function(t,a){var i=[],c=0;t.subscribe((0,r._)(a,function(t){var r,d,l,u,p=null;c++%s==0&&i.push([]);try{for(var f=(0,n.Ju)(i),g=f.next();!g.done;g=f.next()){var m=g.value;m.push(t),e<=m.length&&(p=null!=p?p:[]).push(m)}}catch(e){r={error:e}}finally{try{g&&!g.done&&(d=f.return)&&d.call(f)}finally{if(r)throw r.error}}if(p)try{for(var h=(0,n.Ju)(p),y=h.next();!y.done;y=h.next()){var m=y.value;(0,o.o)(i,m),a.next(m)}}catch(e){l={error:e}}finally{try{y&&!y.done&&(u=h.return)&&u.call(h)}finally{if(l)throw l.error}}},function(){var e,s;try{for(var t=(0,n.Ju)(i),r=t.next();!r.done;r=t.next()){var o=r.value;a.next(o)}}catch(s){e={error:s}}finally{try{r&&!r.done&&(s=t.return)&&s.call(t)}finally{if(e)throw e.error}}a.complete()},void 0,function(){i=null}))})}},79749:(e,s,t)=>{t.d(s,{A:()=>c});let n={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};for(var a,r=new Uint8Array(16),o=[],i=0;i<256;++i)o.push((i+256).toString(16).slice(1));let c=function(e,s,t){if(n.randomUUID&&!s&&!e)return n.randomUUID();var i=(e=e||{}).random||(e.rng||function(){if(!a&&!(a="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)))throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return a(r)})();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,s){t=t||0;for(var c=0;c<16;++c)s[t+c]=i[c];return s}return function(e,s=0){return(o[e[s+0]]+o[e[s+1]]+o[e[s+2]]+o[e[s+3]]+"-"+o[e[s+4]]+o[e[s+5]]+"-"+o[e[s+6]]+o[e[s+7]]+"-"+o[e[s+8]]+o[e[s+9]]+"-"+o[e[s+10]]+o[e[s+11]]+o[e[s+12]]+o[e[s+13]]+o[e[s+14]]+o[e[s+15]]).toLowerCase()}(i)}},88527:(e,s,t)=>{t.r(s),t.d(s,{default:()=>X});var n=t(79749),a=t(8691),r=t(47289),o=t(8019),i=t(97752),c=t(59176),d=t(68072),l=t(31190),u=t(26019),p=t(30070),f=t(81237),g=t(16798),m=t(43591),h=t(40065),y=t(75341);let v=e=>({context:s})=>{let{count:t,include:n,exclude:a,responseType:r="message.received"}=e;return{count:t,domain:s.domain,from:s.connectTo,include:n?Array.isArray(n)?n:[n]:[],exclude:a?Array.isArray(a)?a:[a]:[],responseType:r,target:s.target,to:s.name}},b=e=>s=>{let{data:t}=s;return(!e.include.length||e.include.includes(t.type))&&(!e.exclude.length||!e.exclude.includes(t.type))&&t.domain===e.domain&&t.from===e.from&&t.to===e.to&&(!e.target||s.source===e.target)},k=e=>s=>({type:e,message:s}),T=(0,c.v)(()=>(0,d.R)(window,"message")),q=e=>(0,a.OX)(({input:s})=>T.pipe(e?(0,l.T)(e):(0,u.F)(),(0,p.p)(b(s)),(0,l.T)(k(s.responseType)),s.count?(0,u.F)((0,f.S)(s.count),(0,g.H)(e=>e),(0,m.s)(s.count)):(0,u.F)())),I="sanity/comlink",R="comlink/response",x="comlink/heartbeat",w="comlink/disconnect",D="comlink/handshake/syn",O="comlink/handshake/syn-ack",S="comlink/handshake/ack",A=e=>s=>s.pipe((0,m.s)(1),(0,l.T)(()=>{throw Error(e)})),E=()=>(0,r.mj)({types:{},actors:{listen:(0,a.OX)(({input:e})=>{let s=e.signal?(0,d.R)(e.signal,"abort").pipe(A(`Request ${e.requestId} aborted`)):h.w;return(0,d.R)(window,"message").pipe((0,p.p)(s=>s.data?.type===R&&s.data?.responseTo===e.requestId&&!!s.source&&e.sources.has(s.source)),(0,m.s)(e.sources.size),(0,y.Q)(s))})},actions:{"send message":({context:e},s)=>{let{sources:t,targetOrigin:n}=e,{message:a}=s;t.forEach(e=>{e.postMessage(a,{targetOrigin:n})})},"on success":(0,o.c)(({context:e})=>e.parentRef,({context:e,self:s})=>(e.response&&e.resolvable?.resolve(e.response),{type:"request.success",requestId:s.id,response:e.response,responseTo:e.responseTo})),"on fail":(0,o.c)(({context:e})=>e.parentRef,({context:e,self:s})=>(e.suppressWarnings||console.warn(`[@sanity/comlink] Received no response to message '${e.type}' on client '${e.from}' (ID: '${e.id}').`),e.resolvable?.reject(Error("No response received")),{type:"request.failed",requestId:s.id})),"on abort":(0,o.c)(({context:e})=>e.parentRef,({context:e,self:s})=>(e.resolvable?.reject(Error("Request aborted")),{type:"request.aborted",requestId:s.id}))},guards:{expectsResponse:({context:e})=>e.expectResponse},delays:{initialTimeout:0,responseTimeout:({context:e})=>e.responseTimeout??3e3}}).createMachine({context:({input:e})=>({channelId:e.channelId,data:e.data,domain:e.domain,expectResponse:e.expectResponse??!1,from:e.from,id:`msg-${(0,n.A)()}`,parentRef:e.parentRef,resolvable:e.resolvable,response:null,responseTimeout:e.responseTimeout,responseTo:e.responseTo,signal:e.signal,sources:e.sources instanceof Set?e.sources:new Set([e.sources]),suppressWarnings:e.suppressWarnings,targetOrigin:e.targetOrigin,to:e.to,type:e.type}),initial:"idle",on:{abort:".aborted"},states:{idle:{after:{initialTimeout:[{target:"sending"}]}},sending:{entry:{type:"send message",params:({context:e})=>{let{channelId:s,data:t,domain:n,from:a,id:r,responseTo:o,to:i,type:c}=e;return{message:{channelId:s,data:t,domain:n,from:a,id:r,to:i,type:c,responseTo:o}}}},always:[{guard:"expectsResponse",target:"awaiting"},"success"]},awaiting:{invoke:{id:"listen for response",src:"listen",input:({context:e})=>({requestId:e.id,sources:e.sources,signal:e.signal}),onError:"aborted"},after:{responseTimeout:"failed"},on:{message:{actions:(0,o.a)({response:({event:e})=>e.data.data,responseTo:({event:e})=>e.data.responseTo}),target:"success"}}},failed:{type:"final",entry:"on fail"},success:{type:"final",entry:"on success"},aborted:{type:"final",entry:"on abort"}},output:({context:e,self:s})=>({requestId:s.id,response:e.response,responseTo:e.responseTo})}),U=((0,a.SP)(({sendBack:e,input:s})=>{let t=()=>{e(s.event)};s.immediate&&t();let n=setInterval(t,s.interval);return()=>{clearInterval(n)}}),()=>(0,r.mj)({types:{},actors:{requestMachine:E(),listen:q()},actions:{"buffer incoming message":(0,o.a)({handshakeBuffer:({event:e,context:s})=>((0,r.DT)(e,"message.received"),[...s.handshakeBuffer,e])}),"buffer message":(0,o.b)(({enqueue:e})=>{e.assign({buffer:({event:e,context:s})=>((0,r.DT)(e,"post"),[...s.buffer,{data:e.data,resolvable:e.resolvable,options:e.options}])}),e.emit(({event:e})=>((0,r.DT)(e,"post"),{type:"_buffer.added",message:e.data}))}),"create request":(0,o.a)({requests:({context:e,event:s,self:t,spawn:a})=>{(0,r.DT)(s,"request");let o=(Array.isArray(s.data)?s.data:[s.data]).map(s=>a("requestMachine",{id:`req-${(0,n.A)()}`,input:{channelId:e.channelId,data:s.data,domain:e.domain,expectResponse:s.expectResponse,from:e.name,parentRef:t,resolvable:s.resolvable,responseTimeout:s.options?.responseTimeout,responseTo:s.responseTo,signal:s.options?.signal,sources:e.target,suppressWarnings:s.options?.suppressWarnings,targetOrigin:e.targetOrigin,to:e.connectTo,type:s.type}}));return[...e.requests,...o]}}),"emit heartbeat":(0,o.e)(()=>({type:"_heartbeat"})),"emit received message":(0,o.b)(({enqueue:e})=>{e.emit(({event:e})=>((0,r.DT)(e,"message.received"),{type:"_message",message:e.message.data})),e.emit(({event:e})=>((0,r.DT)(e,"message.received"),{type:e.message.data.type,message:e.message.data}))}),"emit status":(0,o.e)((e,s)=>({type:"_status",status:s.status})),"flush buffer":(0,o.b)(({enqueue:e})=>{e.raise(({context:e})=>({type:"request",data:e.buffer.map(({data:e,resolvable:s,options:t})=>({data:e.data,type:e.type,expectResponse:!!s,resolvable:s,options:t}))})),e.emit(({context:e})=>({type:"_buffer.flushed",messages:e.buffer.map(({data:e})=>e)}
1)),e.assign({buffer:[]})}),"flush handshake buffer":(0,o.b)(({context:e,enqueue:s})=>{e.handshakeBuffer.forEach(e=>s.raise(e)),s.assign({handshakeBuffer:[]})}),post:(0,i.O)(({event:e})=>((0,r.DT)(e,"post"),{type:"request",data:{data:e.data.data,expectResponse:!!e.resolvable,type:e.data.type,resolvable:e.resolvable,options:e.options}})),"remove request":(0,o.b)(({context:e,enqueue:s,event:t})=>{(0,r.DT)(t,["request.success","request.failed","request.aborted"]),(0,i.R)(t.requestId),s.assign({requests:e.requests.filter(({id:e})=>e!==t.requestId)})}),"send response":(0,i.O)(({event:e})=>((0,r.DT)(e,["message.received","heartbeat.received"]),{type:"request",data:{type:R,responseTo:e.message.data.id,data:void 0}})),"send handshake syn ack":(0,i.O)({type:"request",data:{type:O}}),"set connection config":(0,o.a)({channelId:({event:e})=>((0,r.DT)(e,"handshake.syn"),e.message.data.channelId),target:({event:e})=>((0,r.DT)(e,"handshake.syn"),e.message.source||void 0),targetOrigin:({event:e})=>((0,r.DT)(e,"handshake.syn"),e.message.origin)})},guards:{hasSource:({context:e})=>null!==e.target}}).createMachine({id:"node",context:({input:e})=>({buffer:[],channelId:null,connectTo:e.connectTo,domain:e.domain??I,handshakeBuffer:[],name:e.name,requests:[],target:void 0,targetOrigin:null}),invoke:{id:"listen for handshake syn",src:"listen",input:v({include:D,responseType:"handshake.syn"})},on:{"request.success":{actions:"remove request"},"request.failed":{actions:"remove request"},"request.aborted":{actions:"remove request"},"handshake.syn":{actions:"set connection config",target:".handshaking"}},initial:"idle",states:{idle:{entry:[{type:"emit status",params:{status:"idle"}}],on:{post:{actions:"buffer message"}}},handshaking:{guard:"hasSource",entry:["send handshake syn ack",{type:"emit status",params:{status:"handshaking"}}],invoke:[{id:"listen for handshake ack",src:"listen",input:v({include:S,count:1,responseType:"handshake.complete"}),onDone:"connected"},{id:"listen for disconnect",src:"listen",input:v({include:w,count:1,responseType:"disconnect"})},{id:"listen for messages",src:"listen",input:v({exclude:[w,D,S,x,R]})}],on:{request:{actions:"create request"},post:{actions:"buffer message"},"message.received":{actions:"buffer incoming message"},disconnect:{target:"idle"}}},connected:{entry:["flush handshake buffer","flush buffer",{type:"emit status",params:{status:"connected"}}],invoke:[{id:"listen for messages",src:"listen",input:v({exclude:[w,D,S,x,R]})},{id:"listen for heartbeat",src:"listen",input:v({include:x,responseType:"heartbeat.received"})},{id:"listen for disconnect",src:"listen",input:v({include:w,count:1,responseType:"disconnect"})}],on:{request:{actions:"create request"},post:{actions:"post"},disconnect:{target:"idle"},"message.received":{actions:["send response","emit received message"]},"heartbeat.received":{actions:["send response","emit heartbeat"]}}}}})),_=(e,s=U())=>{let t=(0,i.A)(s,{input:e}),n=()=>{t.stop()};return{actor:t,fetch:(e,s,n)=>{let{responseTimeout:a=1e4,signal:r,suppressWarnings:o}=n||{},i=Promise.withResolvers();return t.send({type:"post",data:{type:e,data:s},resolvable:i,options:{responseTimeout:a,signal:r,suppressWarnings:o}}),i.promise},machine:s,on:(e,s)=>{let{unsubscribe:n}=t.on(e,e=>{s(e.message.data)});return n},onStatus:(e,s)=>{let{unsubscribe:n}=t.on("_status",t=>{s&&t.status!==s||e(t.status)});return n},post:(e,s)=>{t.send({type:"post",data:{type:e,data:s}})},start:()=>(t.start(),n),stop:n}};var M=t(75828);let j=(0,M.createServerReference)("7f16c254e095386c345fc6c771b6b6f3537b23cbd2",M.callServer,void 0,M.findSourceMapURL,"setPerspectiveCookie");var C=t(76046),$=t(12115),B=t(84880),N=t(55086);let W={"handshake/syn":D,"handshake/syn-ack":O,"handshake/ack":S,"channel/response":R,"channel/heartbeat":x,"channel/disconnect":w,"overlay/focus":"visual-editing/focus","overlay/navigate":"visual-editing/navigate","overlay/toggle":"visual-editing/toggle","presentation/toggleOverlay":"presentation/toggle-overlay"},F={[D]:"handshake/syn",[O]:"handshake/syn-ack",[S]:"handshake/ack",[R]:"channel/response",[x]:"channel/heartbeat",[w]:"channel/disconnect","visual-editing/focus":"overlay/focus","visual-editing/navigate":"overlay/navigate","visual-editing/toggle":"overlay/toggle","presentation/toggle-overlay":"presentation/toggleOverlay"},J=e=>{let{data:s}=e;return s&&"object"==typeof s&&"domain"in s&&"type"in s&&"from"in s&&"to"in s&&
1("sanity/channels"===s.domain&&(s.domain=I),"overlays"===s.to&&(s.to="visual-editing"),"overlays"===s.from&&(s.from="visual-editing"),s.channelId=s.connectionId,delete s.connectionId,s.type=W[s.type]??s.type),e},P=e=>{let{channelId:s,...t}=e,n={...t,connectionId:s};return n.domain===I&&(n.domain="sanity/channels"),"visual-editing"===n.to&&(n.to="overlays"),"visual-editing"===n.from&&(n.from="overlays"),n.type=F[n.type]??n.type,"channel/response"===n.type&&n.responseTo&&!n.data&&(n.data={responseTo:n.responseTo}),("handshake/syn"===n.type||"handshake/syn-ack"===n.type||"handshake/ack"===n.type)&&(n.data={id:n.connectionId}),n},V=({context:e},s)=>{let{sources:t,targetOrigin:n}=e,a=P(s.message);t.forEach(e=>{e.postMessage(a,{targetOrigin:n})})},L=()=>({listen:q(J),requestMachine:E().provide({actions:{"send message":V}})});function X(e){let{draftModeEnabled:s,draftModePerspective:t}=e,n=(0,C.useRouter)(),a=(0,B.J)((e,a)=>{s&&e!==t&&j(e).then(()=>{a.aborted||n.refresh()}).catch(e=>console.error("Failed to set the preview perspective cookie",e))});return(0,$.useEffect)(()=>{let e;let s=_({name:"loaders",connectTo:"presentation"},U().provide({actors:L()}));s.on("loader/perspective",s=>{e?.abort(),e=new AbortController,a(s.perspective,e.signal)});let t=s.start();return(0,N.El)(s),()=>{t()}},[a]),null}X.displayName="PresentationComlink"}}]);
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.