mirror of
https://github.com/facebook/docusaurus.git
synced 2025-05-23 05:57:05 +02:00
4 lines
No EOL
35 KiB
JavaScript
4 lines
No EOL
35 KiB
JavaScript
"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[40577],{40577:(t,e,r)=>{r.d(e,{a:()=>d,b:()=>B,c:()=>o,d:()=>C,e:()=>v,f:()=>Y,g:()=>I,h:()=>P,i:()=>g,l:()=>h,p:()=>M,s:()=>S,u:()=>c});var a=r(99854),i=r(63294),n=r(76742),l=r(97312);let s={extension:(t,e,r)=>{a.l.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",e+"-extensionStart").attr("class","marker extension "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},composition:(t,e)=>{t.append("defs").append("marker").attr("id",e+"-compositionStart").attr("class","marker composition "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},aggregation:(t,e)=>{t.append("defs").append("marker").attr("id",e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},dependency:(t,e)=>{t.append("defs").append("marker").attr("id",e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},lollipop:(t,e)=>{t.append("defs").append("marker").attr("id",e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","white").attr("cx",6).attr("cy",7).attr("r",6)},point:(t,e)=>{t.append("marker").attr("id",e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",10).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},circle:(t,e)=>{t.append("marker").attr("id",e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},cross:(t,e)=>{t.append("marker").attr("id",e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},barb:(t,e)=>{t.append("defs").append("marker").attr("id",e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}},d=(t,e,r,a)=>{e.forEach(e=>{s[e](t,r,a)})},o=(t,e,r,n)=>{let l=t||"";if("object"==typeof l&&(l=l[0]),(0,a.n)((0,a.c)().flowchart.htmlLabels))return l=l.replace(/\\n|\n/g,"<br />"),a.l.info("vertexText"+l),function(t){var e;let r=(0,i.Ys)(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),a=r.append("xhtml:div"),n=t.label,l=t.isNode?"nodeLabel":"edgeLabel";return a.html('<span class="'+l+'" '+(t.labelStyle?'style="'+t.labelStyle+'"':"")+">"+n+"</span>"),(e=t.labelStyle)&&a.attr("style",e),a.style("display","inline-block"),a.style("white-space","nowrap"),a.attr("xmlns","http://www.w3.org/1999/xhtml"),r.node()}({isNode:n,label:(0,a.L)(l).replace(/fa[blrs]?:fa-[\w-]+/g,t=>`<i class='${t.replace(":"," ")}'></i>`),labelStyle:e.replace("fill:","color:")});{let t=document.createElementNS("http://www.w3.org/2000/svg","text");t.setAttribute("style",e.replace("color:","fill:"));for(let e of"string"==typeof l?l.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(l)?l:[]){let a=document.createElementNS("http://www.w3.org/2000/svg","tspan");a.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),a.setAttribute("dy","1em"),a.setAttribute("x","0"),r?a.setAttribute("class","title-row"):a.setAttribute("class","row"),a.textContent=e.trim(),t.appendChild(a)}return t}},h=async(t,e,r,l)=>{let s,d,h;let c=e.useHtmlLabels||(0,a.n)((0,a.c)().flowchart.htmlLabels);s=r||"node default";let p=t.insert("g").attr("class",s).attr("id",e.domId||e.id),g=p.insert("g").attr("class","label").attr("style",e.labelStyle);d=void 0===e.labelText?"":"string"==typeof e.labelText?e.labelText:e.labelText[0];let y=g.node(),f=(h="markdown"===e.labelType?(0,n.c)(g,(0,a.d)((0,a.L)(d),(0,a.c)()),{useHtmlLabels:c,width:e.width||(0,a.c)().flowchart.wrappingWidth,classes:"markdown-node-label"}):y.appendChild(o((0,a.d)((0,a.L)(d),(0,a.c)()),e.labelStyle,!1,l))).getBBox(),u=e.padding/2;if((0,a.n)((0,a.c)().flowchart.htmlLabels)){let t=h.children[0],e=(0,i.Ys)(h),r=t.getElementsByTagName("img");if(r){let t=""===d.replace(/<img[^>]*>/g,"").trim();await Promise.all([...r].map(e=>new Promise(r=>{function i(){if(e.style.display="flex",e.style.flexDirection="column",t){let t=(0,a.c)().fontSize?(0,a.c)().fontSize:window.getComputedStyle(document.body).fontSize;e.style.width=5*parseInt(t,10)+"px"}else e.style.width="100%";r(e)}setTimeout(()=>{e.complete&&i()}),e.addEventListener("error",i),e.addEventListener("load",i)})))}f=t.getBoundingClientRect(),e.attr("width",f.width),e.attr("height",f.height)}return c?g.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"):g.attr("transform","translate(0, "+-f.height/2+")"),e.centerLabel&&g.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),g.insert("rect",":first-child"),{shapeSvg:p,bbox:f,halfPadding:u,label:g}},c=(t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height};function p(t,e,r,a){return t.insert("polygon",":first-child").attr("points",a.map(function(t){return t.x+","+t.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}let g=(t,e)=>{var r,a,i=t.x,n=t.y,l=e.x-i,s=e.y-n,d=t.width/2,o=t.height/2;return Math.abs(s)*d>Math.abs(l)*o?(s<0&&(o=-o),r=0===s?0:o*l/s,a=o):(l<0&&(d=-d),r=d,a=0===l?0:d*s/l),{x:i+r,y:n+a}},y=function(t,e,r){var a,i,n,l,s,d,o;return a=t.x,i=t.y,n=a-r.x,s=Math.sqrt(e*e*(l=i-r.y)*l+e*e*n*n),d=Math.abs(e*e*n/s),r.x<a&&(d=-d),o=Math.abs(e*e*l/s),r.y<i&&(o=-o),{x:a+d,y:i+o}},f=function(t,e,r){var a=t.x,i=t.y,n=[],l=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;"function"==typeof e.forEach?e.forEach(function(t){l=Math.min(l,t.x),s=Math.min(s,t.y)}):(l=Math.min(l,e.x),s=Math.min(s,e.y));for(var d=a-t.width/2-l,o=i-t.height/2-s,h=0;h<e.length;h++){var c=e[h],p=e[h<e.length-1?h+1:0],g=function(t,e,r,a){var i,n,l,s,d,o,h,c,p,g,y,f,u;if(i=e.y-t.y,l=t.x-e.x,d=e.x*t.y-t.x*e.y,p=i*r.x+l*r.y+d,g=i*a.x+l*a.y+d,(0===p||0===g||!(p*g>0))&&(n=a.y-r.y,s=r.x-a.x,o=a.x*r.y-r.x*a.y,h=n*t.x+s*t.y+o,c=n*e.x+s*e.y+o,!(0!==h&&0!==c&&h*c>0)&&0!=(y=i*s-n*l)))return f=Math.abs(y/2),{x:(u=l*o-s*d)<0?(u-f)/y:(u+f)/y,y:(u=n*d-i*o)<0?(u-f)/y:(u+f)/y}}(t,r,{x:d+c.x,y:o+c.y},{x:d+p.x,y:o+p.y});g&&n.push(g)}return n.length?(n.length>1&&n.sort(function(t,e){var a=t.x-r.x,i=t.y-r.y,n=Math.sqrt(a*a+i*i),l=e.x-r.x,s=e.y-r.y,d=Math.sqrt(l*l+s*s);return n<d?-1:n===d?0:1}),n[0]):t},u=t=>t?" "+t:"",x=(t,e)=>`${e||"node default"}${u(t.classes)} ${u(t.class)}`,w=async(t,e)=>{let{shapeSvg:r,bbox:i}=await h(t,e,x(e,void 0),!0),n=i.width+e.padding+(i.height+e.padding),l=[{x:n/2,y:0},{x:n,y:-n/2},{x:n/2,y:-n},{x:0,y:-n/2}];a.l.info("Question main (Circle)");let s=p(r,n,n,l);return s.attr("style",e.style),c(e,s),e.intersect=function(t){return a.l.warn("Intersect called"),f(e,l,t)},r};function b(t,e,r,i){let n=[],l=t=>{n.push(t,0)},s=t=>{n.push(0,t)};e.includes("t")?(a.l.debug("add top border"),l(r)):s(r),e.includes("r")?(a.l.debug("add right border"),l(i)):s(i),e.includes("b")?(a.l.debug("add bottom border"),l(r)):s(r),e.includes("l")?(a.l.debug("add left border"),l(i)):s(i),t.attr("stroke-dasharray",n.join(" "))}let m=(t,e,r)=>{let a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),i=70,n=10;return"LR"===r&&(i=10,n=70),c(e,a.append("rect").attr("x",-1*i/2).attr("y",-1*n/2).attr("width",i).attr("height",n).attr("class","fork-join")),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(t){return g(e,t)},a},k={rhombus:w,question:w,rect:async(t,e)=>{let{shapeSvg:r,bbox:i,halfPadding:n}=await h(t,e,"node "+e.classes+" "+e.class,!0),l=r.insert("rect",":first-child"),s=i.width+e.padding,d=i.height+e.padding;if(l.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-n).attr("y",-i.height/2-n).attr("width",s).attr("height",d),e.props){let t=new Set(Object.keys(e.props));e.props.borders&&(b(l,e.props.borders,s,d),t.delete("borders")),t.forEach(t=>{a.l.warn(`Unknown node property ${t}`)})}return c(e,l),e.intersect=function(t){return g(e,t)},r},labelRect:async(t,e)=>{let{shapeSvg:r}=await h(t,e,"label",!0);a.l.trace("Classes = ",e.class);let i=r.insert("rect",":first-child");if(i.attr("width",0).attr("height",0),r.attr("class","label edgeLabel"),e.props){let t=new Set(Object.keys(e.props));e.props.borders&&(b(i,e.props.borders,0,0),t.delete("borders")),t.forEach(t=>{a.l.warn(`Unknown node property ${t}`)})}return c(e,i),e.intersect=function(t){return g(e,t)},r},rectWithTitle:(t,e)=>{let r;r=e.classes?"node "+e.classes:"node default";let n=t.insert("g").attr("class",r).attr("id",e.domId||e.id),l=n.insert("rect",":first-child"),s=n.insert("line"),d=n.insert("g").attr("class","label"),h=e.labelText.flat?e.labelText.flat():e.labelText,p="";p="object"==typeof h?h[0]:h,a.l.info("Label text abc79",p,h,"object"==typeof h);let y=d.node().appendChild(o(p,e.labelStyle,!0,!0)),f={width:0,height:0};if((0,a.n)((0,a.c)().flowchart.htmlLabels)){let t=y.children[0],e=(0,i.Ys)(y);f=t.getBoundingClientRect(),e.attr("width",f.width),e.attr("height",f.height)}a.l.info("Text 2",h);let u=h.slice(1,h.length),x=y.getBBox(),w=d.node().appendChild(o(u.join?u.join("<br/>"):u,e.labelStyle,!0,!0));if((0,a.n)((0,a.c)().flowchart.htmlLabels)){let t=w.children[0],e=(0,i.Ys)(w);f=t.getBoundingClientRect(),e.attr("width",f.width),e.attr("height",f.height)}let b=e.padding/2;return(0,i.Ys)(w).attr("transform","translate( "+(f.width>x.width?0:(x.width-f.width)/2)+", "+(x.height+b+5)+")"),(0,i.Ys)(y).attr("transform","translate( "+(f.width<x.width?0:-(x.width-f.width)/2)+", 0)"),f=d.node().getBBox(),d.attr("transform","translate("+-f.width/2+", "+(-f.height/2-b+3)+")"),l.attr("class","outer title-state").attr("x",-f.width/2-b).attr("y",-f.height/2-b).attr("width",f.width+e.padding).attr("height",f.height+e.padding),s.attr("class","divider").attr("x1",-f.width/2-b).attr("x2",f.width/2+b).attr("y1",-f.height/2-b+x.height+b).attr("y2",-f.height/2-b+x.height+b),c(e,l),e.intersect=function(t){return g(e,t)},n},choice:(t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);return r.insert("polygon",":first-child").attr("points",[{x:0,y:14},{x:14,y:0},{x:0,y:-14},{x:-14,y:0}].map(function(t){return t.x+","+t.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(t){return y(e,14,t)},r},circle:async(t,e)=>{let{shapeSvg:r,bbox:i,halfPadding:n}=await h(t,e,x(e,void 0),!0),l=r.insert("circle",":first-child");return l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",i.width/2+n).attr("width",i.width+e.padding).attr("height",i.height+e.padding),a.l.info("Circle main"),c(e,l),e.intersect=function(t){return a.l.info("Circle intersect",e,i.width/2+n,t),y(e,i.width/2+n,t)},r},doublecircle:async(t,e)=>{let{shapeSvg:r,bbox:i,halfPadding:n}=await h(t,e,x(e,void 0),!0),l=r.insert("g",":first-child"),s=l.insert("circle"),d=l.insert("circle");return l.attr("class",e.class),s.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",i.width/2+n+5).attr("width",i.width+e.padding+10).attr("height",i.height+e.padding+10),d.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",i.width/2+n).attr("width",i.width+e.padding).attr("height",i.height+e.padding),a.l.info("DoubleCircle main"),c(e,s),e.intersect=function(t){return a.l.info("DoubleCircle intersect",e,i.width/2+n+5,t),y(e,i.width/2+n+5,t)},r},stadium:async(t,e)=>{let{shapeSvg:r,bbox:a}=await h(t,e,x(e,void 0),!0),i=a.height+e.padding,n=a.width+i/4+e.padding,l=r.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-n/2).attr("y",-i/2).attr("width",n).attr("height",i);return c(e,l),e.intersect=function(t){return g(e,t)},r},hexagon:async(t,e)=>{let{shapeSvg:r,bbox:a}=await h(t,e,x(e,void 0),!0),i=a.height+e.padding,n=i/4,l=a.width+2*n+e.padding,s=[{x:n,y:0},{x:l-n,y:0},{x:l,y:-i/2},{x:l-n,y:-i},{x:n,y:-i},{x:0,y:-i/2}],d=p(r,l,i,s);return d.attr("style",e.style),c(e,d),e.intersect=function(t){return f(e,s,t)},r},rect_left_inv_arrow:async(t,e)=>{let{shapeSvg:r,bbox:a}=await h(t,e,x(e,void 0),!0),i=a.width+e.padding,n=a.height+e.padding,l=[{x:-n/2,y:0},{x:i,y:0},{x:i,y:-n},{x:-n/2,y:-n},{x:0,y:-n/2}];return p(r,i,n,l).attr("style",e.style),e.width=i+n,e.height=n,e.intersect=function(t){return f(e,l,t)},r},lean_right:async(t,e)=>{let{shapeSvg:r,bbox:a}=await h(t,e,x(e),!0),i=a.width+e.padding,n=a.height+e.padding,l=[{x:-2*n/6,y:0},{x:i-n/6,y:0},{x:i+2*n/6,y:-n},{x:n/6,y:-n}],s=p(r,i,n,l);return s.attr("style",e.style),c(e,s),e.intersect=function(t){return f(e,l,t)},r},lean_left:async(t,e)=>{let{shapeSvg:r,bbox:a}=await h(t,e,x(e,void 0),!0),i=a.width+e.padding,n=a.height+e.padding,l=[{x:2*n/6,y:0},{x:i+n/6,y:0},{x:i-2*n/6,y:-n},{x:-n/6,y:-n}],s=p(r,i,n,l);return s.attr("style",e.style),c(e,s),e.intersect=function(t){return f(e,l,t)},r},trapezoid:async(t,e)=>{let{shapeSvg:r,bbox:a}=await h(t,e,x(e,void 0),!0),i=a.width+e.padding,n=a.height+e.padding,l=[{x:-2*n/6,y:0},{x:i+2*n/6,y:0},{x:i-n/6,y:-n},{x:n/6,y:-n}],s=p(r,i,n,l);return s.attr("style",e.style),c(e,s),e.intersect=function(t){return f(e,l,t)},r},inv_trapezoid:async(t,e)=>{let{shapeSvg:r,bbox:a}=await h(t,e,x(e,void 0),!0),i=a.width+e.padding,n=a.height+e.padding,l=[{x:n/6,y:0},{x:i-n/6,y:0},{x:i+2*n/6,y:-n},{x:-2*n/6,y:-n}],s=p(r,i,n,l);return s.attr("style",e.style),c(e,s),e.intersect=function(t){return f(e,l,t)},r},rect_right_inv_arrow:async(t,e)=>{let{shapeSvg:r,bbox:a}=await h(t,e,x(e,void 0),!0),i=a.width+e.padding,n=a.height+e.padding,l=[{x:0,y:0},{x:i+n/2,y:0},{x:i,y:-n/2},{x:i+n/2,y:-n},{x:0,y:-n}],s=p(r,i,n,l);return s.attr("style",e.style),c(e,s),e.intersect=function(t){return f(e,l,t)},r},cylinder:async(t,e)=>{let{shapeSvg:r,bbox:a}=await h(t,e,x(e,void 0),!0),i=a.width+e.padding,n=i/2,l=n/(2.5+i/50),s=a.height+l+e.padding,d=r.attr("label-offset-y",l).insert("path",":first-child").attr("style",e.style).attr("d","M 0,"+l+" a "+n+","+l+" 0,0,0 "+i+" 0 a "+n+","+l+" 0,0,0 "+-i+" 0 l 0,"+s+" a "+n+","+l+" 0,0,0 "+i+" 0 l 0,"+-s).attr("transform","translate("+-i/2+","+-(s/2+l)+")");return c(e,d),e.intersect=function(t){let r=g(e,t),a=r.x-e.x;if(0!=n&&(Math.abs(a)<e.width/2||Math.abs(a)==e.width/2&&Math.abs(r.y-e.y)>e.height/2-l)){let i=l*l*(1-a*a/(n*n));0!=i&&(i=Math.sqrt(i)),i=l-i,t.y-e.y>0&&(i=-i),r.y+=i}return r},r},start:(t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),a=r.insert("circle",":first-child");return a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),c(e,a),e.intersect=function(t){return y(e,7,t)},r},end:(t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),a=r.insert("circle",":first-child"),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),a.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),c(e,i),e.intersect=function(t){return y(e,7,t)},r},note:async(t,e)=>{e.useHtmlLabels||(0,a.c)().flowchart.htmlLabels||(e.centerLabel=!0);let{shapeSvg:r,bbox:i,halfPadding:n}=await h(t,e,"node "+e.classes,!0);a.l.info("Classes = ",e.classes);let l=r.insert("rect",":first-child");return l.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-n).attr("y",-i.height/2-n).attr("width",i.width+e.padding).attr("height",i.height+e.padding),c(e,l),e.intersect=function(t){return g(e,t)},r},subroutine:async(t,e)=>{let{shapeSvg:r,bbox:a}=await h(t,e,x(e,void 0),!0),i=a.width+e.padding,n=a.height+e.padding,l=[{x:0,y:0},{x:i,y:0},{x:i,y:-n},{x:0,y:-n},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-n},{x:-8,y:-n},{x:-8,y:0}],s=p(r,i,n,l);return s.attr("style",e.style),c(e,s),e.intersect=function(t){return f(e,l,t)},r},fork:m,join:m,class_box:(t,e)=>{let r;let n=e.padding/2;r=e.classes?"node "+e.classes:"node default";let s=t.insert("g").attr("class",r).attr("id",e.domId||e.id),d=s.insert("rect",":first-child"),h=s.insert("line"),p=s.insert("line"),y=0,f=4,u=s.insert("g").attr("class","label"),x=0,w=e.classData.annotations&&e.classData.annotations[0],b=e.classData.annotations[0]?"\xab"+e.classData.annotations[0]+"\xbb":"",m=u.node().appendChild(o(b,e.labelStyle,!0,!0)),k=m.getBBox();if((0,a.n)((0,a.c)().flowchart.htmlLabels)){let t=m.children[0],e=(0,i.Ys)(m);k=t.getBoundingClientRect(),e.attr("width",k.width),e.attr("height",k.height)}e.classData.annotations[0]&&(f+=k.height+4,y+=k.width);let L=e.classData.label;void 0!==e.classData.type&&""!==e.classData.type&&((0,a.c)().flowchart.htmlLabels?L+="<"+e.classData.type+">":L+="<"+e.classData.type+">");let v=u.node().appendChild(o(L,e.labelStyle,!0,!0));(0,i.Ys)(v).attr("class","classTitle");let S=v.getBBox();if((0,a.n)((0,a.c)().flowchart.htmlLabels)){let t=v.children[0],e=(0,i.Ys)(v);S=t.getBoundingClientRect(),e.attr("width",S.width),e.attr("height",S.height)}f+=S.height+4,S.width>y&&(y=S.width);let B=[];e.classData.members.forEach(t=>{let r=(0,l.p)(t),n=r.displayText;(0,a.c)().flowchart.htmlLabels&&(n=n.replace(/</g,"<").replace(/>/g,">"));let s=u.node().appendChild(o(n,r.cssStyle?r.cssStyle:e.labelStyle,!0,!0)),d=s.getBBox();if((0,a.n)((0,a.c)().flowchart.htmlLabels)){let t=s.children[0],e=(0,i.Ys)(s);d=t.getBoundingClientRect(),e.attr("width",d.width),e.attr("height",d.height)}d.width>y&&(y=d.width),f+=d.height+4,B.push(s)}),f+=8;let M=[];if(e.classData.methods.forEach(t=>{let r=(0,l.p)(t),n=r.displayText;(0,a.c)().flowchart.htmlLabels&&(n=n.replace(/</g,"<").replace(/>/g,">"));let s=u.node().appendChild(o(n,r.cssStyle?r.cssStyle:e.labelStyle,!0,!0)),d=s.getBBox();if((0,a.n)((0,a.c)().flowchart.htmlLabels)){let t=s.children[0],e=(0,i.Ys)(s);d=t.getBoundingClientRect(),e.attr("width",d.width),e.attr("height",d.height)}d.width>y&&(y=d.width),f+=d.height+4,M.push(s)}),f+=8,w){let t=(y-k.width)/2;(0,i.Ys)(m).attr("transform","translate( "+(-1*y/2+t)+", "+-1*f/2+")"),x=k.height+4}let T=(y-S.width)/2;return(0,i.Ys)(v).attr("transform","translate( "+(-1*y/2+T)+", "+(-1*f/2+x)+")"),x+=S.height+4,h.attr("class","divider").attr("x1",-y/2-n).attr("x2",y/2+n).attr("y1",-f/2-n+8+x).attr("y2",-f/2-n+8+x),x+=8,B.forEach(t=>{(0,i.Ys)(t).attr("transform","translate( "+-y/2+", "+(-1*f/2+x+4)+")");let e=null==t?void 0:t.getBBox();x+=((null==e?void 0:e.height)??0)+4}),x+=8,p.attr("class","divider").attr("x1",-y/2-n).attr("x2",y/2+n).attr("y1",-f/2-n+8+x).attr("y2",-f/2-n+8+x),x+=8,M.forEach(t=>{(0,i.Ys)(t).attr("transform","translate( "+-y/2+", "+(-1*f/2+x)+")");let e=null==t?void 0:t.getBBox();x+=((null==e?void 0:e.height)??0)+4}),d.attr("class","outer title-state").attr("x",-y/2-n).attr("y",-(f/2)-n).attr("width",y+e.padding).attr("height",f+e.padding),c(e,d),e.intersect=function(t){return g(e,t)},s}},L={},v=async(t,e,r)=>{let i,n;if(e.link){let l;"sandbox"===(0,a.c)().securityLevel?l="_top":e.linkTarget&&(l=e.linkTarget||"_blank"),i=t.insert("svg:a").attr("xlink:href",e.link).attr("target",l),n=await k[e.shape](i,e,r)}else i=n=await k[e.shape](t,e,r);return e.tooltip&&n.attr("title",e.tooltip),e.class&&n.attr("class","node default "+e.class),L[e.id]=i,e.haveCallback&&L[e.id].attr("class",L[e.id].attr("class")+" clickable"),i},S=(t,e)=>{L[e.id]=t},B=()=>{L={}},M=t=>{let e=L[t.id];a.l.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let r=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+r-t.width/2)+", "+(t.y-t.height/2-8)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),r},T={},E={},C=()=>{T={},E={}},Y=(t,e)=>{let r;let l=(0,a.n)((0,a.c)().flowchart.htmlLabels),s="markdown"===e.labelType?(0,n.c)(t,e.label,{style:e.labelStyle,useHtmlLabels:l,addSvgBackground:!0}):o(e.label,e.labelStyle);a.l.info("abc82",e,e.labelType);let d=t.insert("g").attr("class","edgeLabel"),h=d.insert("g").attr("class","label");h.node().appendChild(s);let c=s.getBBox();if(l){let t=s.children[0],e=(0,i.Ys)(s);c=t.getBoundingClientRect(),e.attr("width",c.width),e.attr("height",c.height)}if(h.attr("transform","translate("+-c.width/2+", "+-c.height/2+")"),T[e.id]=d,e.width=c.width,e.height=c.height,e.startLabelLeft){let a=o(e.startLabelLeft,e.labelStyle),i=t.insert("g").attr("class","edgeTerminals"),n=i.insert("g").attr("class","inner");r=n.node().appendChild(a);let l=a.getBBox();n.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),E[e.id]||(E[e.id]={}),E[e.id].startLeft=i,N(r,e.startLabelLeft)}if(e.startLabelRight){let a=o(e.startLabelRight,e.labelStyle),i=t.insert("g").attr("class","edgeTerminals"),n=i.insert("g").attr("class","inner");r=i.node().appendChild(a),n.node().appendChild(a);let l=a.getBBox();n.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),E[e.id]||(E[e.id]={}),E[e.id].startRight=i,N(r,e.startLabelRight)}if(e.endLabelLeft){let a=o(e.endLabelLeft,e.labelStyle),i=t.insert("g").attr("class","edgeTerminals"),n=i.insert("g").attr("class","inner");r=n.node().appendChild(a);let l=a.getBBox();n.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),i.node().appendChild(a),E[e.id]||(E[e.id]={}),E[e.id].endLeft=i,N(r,e.endLabelLeft)}if(e.endLabelRight){let a=o(e.endLabelRight,e.labelStyle),i=t.insert("g").attr("class","edgeTerminals"),n=i.insert("g").attr("class","inner");r=n.node().appendChild(a);let l=a.getBBox();n.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),i.node().appendChild(a),E[e.id]||(E[e.id]={}),E[e.id].endRight=i,N(r,e.endLabelRight)}return s};function N(t,e){(0,a.c)().flowchart.htmlLabels&&t&&(t.style.width=9*e.length+"px",t.style.height="12px")}let P=(t,e)=>{a.l.info("Moving label abc78 ",t.id,t.label,T[t.id]);let r=e.updatedPath?e.updatedPath:e.originalPath;if(t.label){let i=T[t.id],n=t.x,l=t.y;if(r){let i=a.u.calcLabelPosition(r);a.l.info("Moving label "+t.label+" from (",n,",",l,") to (",i.x,",",i.y,") abc78"),e.updatedPath&&(n=i.x,l=i.y)}i.attr("transform","translate("+n+", "+l+")")}if(t.startLabelLeft){let e=E[t.id].startLeft,i=t.x,n=t.y;if(r){let e=a.u.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);i=e.x,n=e.y}e.attr("transform","translate("+i+", "+n+")")}if(t.startLabelRight){let e=E[t.id].startRight,i=t.x,n=t.y;if(r){let e=a.u.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);i=e.x,n=e.y}e.attr("transform","translate("+i+", "+n+")")}if(t.endLabelLeft){let e=E[t.id].endLeft,i=t.x,n=t.y;if(r){let e=a.u.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);i=e.x,n=e.y}e.attr("transform","translate("+i+", "+n+")")}if(t.endLabelRight){let e=E[t.id].endRight,i=t.x,n=t.y;if(r){let e=a.u.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);i=e.x,n=e.y}e.attr("transform","translate("+i+", "+n+")")}},_=(t,e)=>{let r=t.x,a=t.y,i=Math.abs(e.x-r),n=Math.abs(e.y-a),l=t.width/2,s=t.height/2;return i>=l||n>=s},H=(t,e,r)=>{a.l.warn(`intersection calc abc89:
|
|
outsidePoint: ${JSON.stringify(e)}
|
|
insidePoint : ${JSON.stringify(r)}
|
|
node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let i=t.x,n=t.y,l=Math.abs(i-r.x),s=t.width/2,d=r.x<e.x?s-l:s+l,o=t.height/2,h=Math.abs(e.y-r.y),c=Math.abs(e.x-r.x);if(Math.abs(n-e.y)*s>Math.abs(i-e.x)*o){let t=r.y<e.y?e.y-o-n:n-o-e.y;d=c*t/h;let i={x:r.x<e.x?r.x+d:r.x-c+d,y:r.y<e.y?r.y+h-t:r.y-h+t};return 0===d&&(i.x=e.x,i.y=e.y),0===c&&(i.x=e.x),0===h&&(i.y=e.y),a.l.warn(`abc89 topp/bott calc, Q ${h}, q ${t}, R ${c}, r ${d}`,i),i}{let t=h*(d=r.x<e.x?e.x-s-i:i-s-e.x)/c,n=r.x<e.x?r.x+c-d:r.x-c+d,l=r.y<e.y?r.y+t:r.y-t;return a.l.warn(`sides calc abc89, Q ${h}, q ${t}, R ${c}, r ${d}`,{_x:n,_y:l}),0===d&&(n=e.x,l=e.y),0===c&&(n=e.x),0===h&&(l=e.y),{x:n,y:l}}},R=(t,e)=>{a.l.warn("abc88 cutPathAtIntersect",t,e);let r=[],i=t[0],n=!1;return t.forEach(t=>{if(a.l.info("abc88 checking point",t,e),_(e,t)||n)a.l.warn("abc88 outside",t,i),i=t,n||r.push(t);else{let l=H(e,i,t);a.l.warn("abc88 inside",t,i,l),a.l.warn("abc88 intersection",l);let s=!1;r.forEach(t=>{s=s||t.x===l.x&&t.y===l.y}),r.some(t=>t.x===l.x&&t.y===l.y)?a.l.warn("abc88 no intersect",l,r):r.push(l),n=!0}}),a.l.warn("abc88 returning points",r),r},I=function(t,e,r,n,l,s){let d,o,h=r.points,c=!1,p=s.node(e.v);var g=s.node(e.w);a.l.info("abc88 InsertEdge: ",r),g.intersect&&p.intersect&&((h=h.slice(1,r.points.length-1)).unshift(p.intersect(h[0])),a.l.info("Last point",h[h.length-1],g,g.intersect(h[h.length-1])),h.push(g.intersect(h[h.length-1]))),r.toCluster&&(a.l.info("to cluster abc88",n[r.toCluster]),h=R(r.points,n[r.toCluster].node),c=!0),r.fromCluster&&(a.l.info("from cluster abc88",n[r.fromCluster]),h=R(h.reverse(),n[r.fromCluster].node).reverse(),c=!0);let y=h.filter(t=>!Number.isNaN(t.y));d=("graph"===l||"flowchart"===l)&&r.curve||i.$0Z;let f=(0,i.jvg)().x(function(t){return t.x}).y(function(t){return t.y}).curve(d);switch(r.thickness){case"normal":o="edge-thickness-normal";break;case"thick":case"invisible":o="edge-thickness-thick";break;default:o=""}switch(r.pattern){case"solid":o+=" edge-pattern-solid";break;case"dotted":o+=" edge-pattern-dotted";break;case"dashed":o+=" edge-pattern-dashed"}let u=t.append("path").attr("d",f(y)).attr("id",r.id).attr("class"," "+o+(r.classes?" "+r.classes:"")).attr("style",r.style),x="";switch(((0,a.c)().flowchart.arrowMarkerAbsolute||(0,a.c)().state.arrowMarkerAbsolute)&&(x=(x=(x=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),a.l.info("arrowTypeStart",r.arrowTypeStart),a.l.info("arrowTypeEnd",r.arrowTypeEnd),r.arrowTypeStart){case"arrow_cross":u.attr("marker-start","url("+x+"#"+l+"-crossStart)");break;case"arrow_point":u.attr("marker-start","url("+x+"#"+l+"-pointStart)");break;case"arrow_barb":u.attr("marker-start","url("+x+"#"+l+"-barbStart)");break;case"arrow_circle":u.attr("marker-start","url("+x+"#"+l+"-circleStart)");break;case"aggregation":u.attr("marker-start","url("+x+"#"+l+"-aggregationStart)");break;case"extension":u.attr("marker-start","url("+x+"#"+l+"-extensionStart)");break;case"composition":u.attr("marker-start","url("+x+"#"+l+"-compositionStart)");break;case"dependency":u.attr("marker-start","url("+x+"#"+l+"-dependencyStart)");break;case"lollipop":u.attr("marker-start","url("+x+"#"+l+"-lollipopStart)")}switch(r.arrowTypeEnd){case"arrow_cross":u.attr("marker-end","url("+x+"#"+l+"-crossEnd)");break;case"arrow_point":u.attr("marker-end","url("+x+"#"+l+"-pointEnd)");break;case"arrow_barb":u.attr("marker-end","url("+x+"#"+l+"-barbEnd)");break;case"arrow_circle":u.attr("marker-end","url("+x+"#"+l+"-circleEnd)");break;case"aggregation":u.attr("marker-end","url("+x+"#"+l+"-aggregationEnd)");break;case"extension":u.attr("marker-end","url("+x+"#"+l+"-extensionEnd)");break;case"composition":u.attr("marker-end","url("+x+"#"+l+"-compositionEnd)");break;case"dependency":u.attr("marker-end","url("+x+"#"+l+"-dependencyEnd)");break;case"lollipop":u.attr("marker-end","url("+x+"#"+l+"-lollipopEnd)")}let w={};return c&&(w.updatedPath=h),w.originalPath=r.points,w}},97312:(t,e,r)=>{r.d(e,{p:()=>s,s:()=>h});var a=r(63294),i=r(99854);let n=0,l=function(t){let e=t.id;return t.type&&(e+="<"+t.type+">"),e},s=function(t){let e="",r="",a="",n="",l=t.substring(0,1),s=t.substring(t.length-1,t.length);l.match(/[#+~-]/)&&(n=l);let d=/[\s\w)~]/;s.match(d)||(r=o(s));let h=""===n?0:1,c=""===r?t.length:t.length-1,p=(t=t.substring(h,c)).indexOf("("),g=t.indexOf(")");if(p>1&&g>p&&g<=t.length){let l=t.substring(0,p).trim(),s=t.substring(p+1,g);if(e=n+l+"("+(0,i.x)(s.trim())+")",g<t.length){let n=t.substring(g+1,g+2);""!==r||n.match(d)?a=t.substring(g+1).trim():(r=o(n),a=t.substring(g+2).trim()),""!==a&&(":"===a.charAt(0)&&(a=a.substring(1).trim()),e+=a=" : "+(0,i.x)(a))}}else e=n+(0,i.x)(t);return{displayText:e,cssStyle:r}},d=function(t,e,r,a){let i=s(e),n=t.append("tspan").attr("x",a.padding).text(i.displayText);""!==i.cssStyle&&n.attr("style",i.cssStyle),r||n.attr("dy",a.textHeight)},o=function(t){switch(t){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}},h={getClassTitleString:l,drawClass:function(t,e,r,a){let n;i.l.debug("Rendering class ",e,r);let s=e.id,o={id:s,label:e.id,width:0,height:0},h=t.append("g").attr("id",a.db.lookUpDomId(s)).attr("class","classGroup");n=e.link?h.append("svg:a").attr("xlink:href",e.link).attr("target",e.linkTarget).append("text").attr("y",r.textHeight+r.padding).attr("x",0):h.append("text").attr("y",r.textHeight+r.padding).attr("x",0);let c=!0;e.annotations.forEach(function(t){let e=n.append("tspan").text("\xab"+t+"\xbb");c||e.attr("dy",r.textHeight),c=!1});let p=l(e),g=n.append("tspan").text(p).attr("class","title");c||g.attr("dy",r.textHeight);let y=n.node().getBBox().height,f=h.append("line").attr("x1",0).attr("y1",r.padding+y+r.dividerMargin/2).attr("y2",r.padding+y+r.dividerMargin/2),u=h.append("text").attr("x",r.padding).attr("y",y+r.dividerMargin+r.textHeight).attr("fill","white").attr("class","classText");c=!0,e.members.forEach(function(t){d(u,t,c,r),c=!1});let x=u.node().getBBox(),w=h.append("line").attr("x1",0).attr("y1",r.padding+y+r.dividerMargin+x.height).attr("y2",r.padding+y+r.dividerMargin+x.height),b=h.append("text").attr("x",r.padding).attr("y",y+2*r.dividerMargin+x.height+r.textHeight).attr("fill","white").attr("class","classText");c=!0,e.methods.forEach(function(t){d(b,t,c,r),c=!1});let m=h.node().getBBox();var k=" ";e.cssClasses.length>0&&(k+=e.cssClasses.join(" "));let L=h.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",m.width+2*r.padding).attr("height",m.height+r.padding+.5*r.dividerMargin).attr("class",k).node().getBBox().width;return n.node().childNodes.forEach(function(t){t.setAttribute("x",(L-t.getBBox().width)/2)}),e.tooltip&&n.insert("title").text(e.tooltip),f.attr("x2",L),w.attr("x2",L),o.width=L,o.height=m.height+r.padding+.5*r.dividerMargin,o},drawEdge:function(t,e,r,l,s){let d,o,h,c,p,g;let y=function(t){switch(t){case s.db.relationType.AGGREGATION:return"aggregation";case s.db.relationType.EXTENSION:return"extension";case s.db.relationType.COMPOSITION:return"composition";case s.db.relationType.DEPENDENCY:return"dependency";case s.db.relationType.LOLLIPOP:return"lollipop"}};e.points=e.points.filter(t=>!Number.isNaN(t.y));let f=e.points,u=(0,a.jvg)().x(function(t){return t.x}).y(function(t){return t.y}).curve(a.$0Z),x=t.append("path").attr("d",u(f)).attr("id","edge"+n).attr("class","relation"),w="";l.arrowMarkerAbsolute&&(w=(w=(w=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),1==r.relation.lineType&&x.attr("class","relation dashed-line"),10==r.relation.lineType&&x.attr("class","relation dotted-line"),"none"!==r.relation.type1&&x.attr("marker-start","url("+w+"#"+y(r.relation.type1)+"Start)"),"none"!==r.relation.type2&&x.attr("marker-end","url("+w+"#"+y(r.relation.type2)+"End)");let b=e.points.length,m=i.u.calcLabelPosition(e.points);if(d=m.x,o=m.y,b%2!=0&&b>1){let t=i.u.calcCardinalityPosition("none"!==r.relation.type1,e.points,e.points[0]),a=i.u.calcCardinalityPosition("none"!==r.relation.type2,e.points,e.points[b-1]);i.l.debug("cardinality_1_point "+JSON.stringify(t)),i.l.debug("cardinality_2_point "+JSON.stringify(a)),h=t.x,c=t.y,p=a.x,g=a.y}if(void 0!==r.title){let e=t.append("g").attr("class","classLabel"),a=e.append("text").attr("class","label").attr("x",d).attr("y",o).attr("fill","red").attr("text-anchor","middle").text(r.title);window.label=a;let i=a.node().getBBox();e.insert("rect",":first-child").attr("class","box").attr("x",i.x-l.padding/2).attr("y",i.y-l.padding/2).attr("width",i.width+l.padding).attr("height",i.height+l.padding)}i.l.info("Rendering relation "+JSON.stringify(r)),void 0!==r.relationTitle1&&"none"!==r.relationTitle1&&t.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",h).attr("y",c).attr("fill","black").attr("font-size","6").text(r.relationTitle1),void 0!==r.relationTitle2&&"none"!==r.relationTitle2&&t.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",p).attr("y",g).attr("fill","black").attr("font-size","6").text(r.relationTitle2),n++},drawNote:function(t,e,r,a){i.l.debug("Rendering note ",e,r);let n=e.id,l={id:n,text:e.text,width:0,height:0},s=t.append("g").attr("id",n).attr("class","classGroup"),d=s.append("text").attr("y",r.textHeight+r.padding).attr("x",0),o=JSON.parse(`"${e.text}"`).split("\n");o.forEach(function(t){i.l.debug(`Adding line: ${t}`),d.append("tspan").text(t).attr("class","title").attr("dy",r.textHeight)});let h=s.node().getBBox(),c=s.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",h.width+2*r.padding).attr("height",h.height+o.length*r.textHeight+r.padding+.5*r.dividerMargin).node().getBBox().width;return d.node().childNodes.forEach(function(t){t.setAttribute("x",(c-t.getBBox().width)/2)}),l.width=c,l.height=h.height+o.length*r.textHeight+r.padding+.5*r.dividerMargin,l},parseMember:s}}}]); |